<content>
- learning rate decay
- ํ์ต์ด ์งํ๋ ์๋ก learning rate๋ฅผ ์ค์ด๋ ๋ฐฉ๋ฒ
- problem of local optima
- ์ค์ ๋ก local optima์ ๋ฌธ์ ๋ณด๋ค plateau์ ๋ฌธ์ ๊ฐ ๋ ์ฌ๊ฐํ๋ค.
- hyperparameter tuning process
- hyperparameter์ ์ฐ์ ์์
- appropriate scale of hyperparameter search
- linear scale๋ณด๋ค๋ log scale๋ก ํ์
- re-test hyperparameter occasionally
1. Learning rate decay
- ์ผ๋ฐ์ ์ผ๋ก ํ์ต์ด ์งํ๋ ์๋ก learning rate๋ฅผ ์ค์ฌ์ค๋ค. (์ด๊ธฐ์๋ ํฐ step, ๊ฐ์๋ก ์์ step)
- ํ์์์ ๊ณ ๋ คํ๋ ๋ ๊ฐ์ง๊ฐ ์๋๋ฐ, ๊ทธ๊ฒ์ ๋ฐ๋ก exploitation๊ณผ exploration์ด๋ค.
- ํ์ต ์ด๊ธฐ์๋ exploration์ ์ํด ๋น๊ต์ ํฐ learning rate๋ฅผ ์๋ํ๊ณ ,
- ํ์ต ํ๊ธฐ์๋ exploitation์ ์ํด ๋น๊ต์ ์์ learning rate๋ฅผ ์ด์ฉํ๋ค.
- $$ \alpha = \frac{1}{1+decayRate*epochNum}\alpha_0 $$
- ์ฌ๊ธฐ์ alpha_0๋ ์ด๊ธฐ learning rate๋ฅผ ์๋ฏธํ๋ค.
- ์์ ๊ณต์์ ๋ฐ๋ฅด๋ฉด epochNum์ด ์ปค์ง์๋ก alpha๊ฐ์ด ์์์ง๊ฒ ๋๋ค.
- ์์ ๊ณต์ ์ธ์๋ ๋ค์ํ learning rate decay ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋ค.
2. Problem of local optima
- ๊ณ ์ฐจ์์ ๊ณต๊ฐ์์๋ ์๊ฐ๋ณด๋ค local optima์ ๋น ์ง๊ธฐ๋ ์ฝ์ง ์๋ค ๐
local optima์ธ ์ง์ ์ ๋ชจ๋ parameter์ ๋ํด convexํ๊ฑฐ๋, concave ํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. - ๋๋ถ๋ถ์ ๊ธฐ์ธ๊ธฐ๊ฐ 0์ธ ์ง์ ์ local optima๋ณด๋ค๋ saddle point์ด๋ค.
- ๊ณ ์ฐจ์์์๋ local optima์ ๋ฌธ์ ๋ณด๋ค problem of plateau๊ฐ ๋ ์ฌ๊ฐํ๋ค.
- problem of plateau๋ ๊ธฐ์ธ๊ธฐ๊ฐ 0์ ๊ทผ์ ํ ๊ธด ๊ตฌ๊ฐ์ ๋งํ๋ฉฐ, ์ด ๊ตฌ๊ฐ์ ๋น ์ง๋ฉด ํ์ต์๊ฐ์ด ๊ธธ์ด์ง๋ค.
์ด๋ฐ ๊ฒฝ์ฐ Adam Optimizer์ ์ฌ์ฉ์ด ๋์์ด ๋๊ธฐ๋ ํ๋ค.
3. Tuning process
- hyperparameter tuning์ ์ค์๋ (๋๋ต์ )
- 1. alpha (learning rate)
- 2. # hidden units, mini-batch size
- 3. # layers, learning rate decay
- 4. beta1, beta2, epsilon (Adam optimizer)
- hidden units์ ์ ์ ์๋ฅผ ์๋ฏธํ๊ณ , layer์ ์๋ ์ ์ ๊ตฌ๋ถ๋ฌ์ง ์ ๋๋ฅผ ๋ํ๋ธ๋ค.
- ๊ทธ๋ ๋ค๋ฉด hyperpameter tunning์ ์ด๋ป๊ฒ ์งํํด์ผ ํ ๊น?
- grid search๋ณด๋ค๋ random search๋ฅผ ์ด์ฉํ๋ผ.
- ํ๋์ hyperparameter์ ๋ํด grid seach๋ random search๋ณด๋ค ์ฃผ๋ ์ ๋ณด๊ฐ ์ ๋ค.
- coarse to fine
- ์ฑ๋ฅ์ด ์ข๊ฒ ๋์จ hyper-parameter ์์ญ์ ์ข ๋ ์ธ๋ฐํ ํ์ํ๋ผ.
- grid search๋ณด๋ค๋ random search๋ฅผ ์ด์ฉํ๋ผ.
4. Appropriate scale to pick hyperparameter
- ๋ง์ฝ learning rate๋ฅผ 0.0001๋ถํฐ 1๊น์ง ํ์ํ๋ค๊ณ ํ์.
์ด ๋ linear ํ๊ฒ searchํ๋ค๋ฉด ๊ฑฐ์ ๋๋ค์์ random sample์ด 0.1๊ณผ 1 ์ฌ์ด์ ์ํ๊ณ ,
0.0001๋ถํฐ 0.1 ์ฌ์ด์ ๊ฐ์ ๊ฑฐ์ ๋ฝํ์ง ์์ ๊ฒ์ด๋ค. - ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด linear scale๋ก parameter๋ฅผ ํ์ํ๋ ๊ฒ์ด ์๋๋ผ, log scale๋ก ํ์ํด์ผ ํ๋ค.
- log_10(0.0001) = -4, log_10(1) = 0 ์ด๋ฏ๋ก [-4, 0] ๊ตฌ๊ฐ์ ๊ฐ์ randomํ๊ฒ ๋ฝ๊ณ ์ด ๊ฐ์ 10^(random) ์ทจํ ๊ฐ์ ํ์ํ๋ ๊ฒ์ด๋ค. ์ด๋ฐ ์์ผ๋ก samplingํ์ฌ ํ์ดํผ๋ผ๋ง๋ฏธํฐ ํ๋์ ์งํํ๋ค๋ฉด ์ข ๋ ๊ท ์ผํ ๋ถํฌ๋ก ํ์ํ ์ ์๋ค.
5. Re-test hyperparameter occasionally
- 1. panda approach
- ํ๋์ ๋ชจ๋ธ์ ํ๋ฃจ์ฉ baby sitting
- ์ปดํจํ ์ฑ๋ฅ ์ฌ๊ฑด์ด ์ ๋๋ ๊ฒฝ์ฐ ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ํ์ต ์งํ
- 2. cavier approach
- ๋ณ๋ ฌ์ ์ผ๋ก ์ฌ๋ฌ๊ฐ์ ๋ชจ๋ธ์ ํ์ต
- ์ปดํจํ ์ฑ๋ฅ ์ฌ๊ฑด์ด ๋๋ค๋ฉด ์๋ํด๋ณด์
'๐ > Coursera_DL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
WEEK5 : Machine Learning Strategy (0) | 2020.12.20 |
---|---|
WEEK4 : batch normalization (๋ฐฐ์น ์ ๊ทํ) (0) | 2020.12.19 |
WEEK4 : Optimizer (์ต์ ํ ์๊ณ ๋ฆฌ์ฆ) (0) | 2020.12.19 |
WEEK3 : weight initialization (๊ฐ์ค์น ์ด๊ธฐํ) (0) | 2020.12.19 |
WEEK3 : normalizing input (์ ๋ ฅ ์ ๊ทํ) (0) | 2020.12.19 |