[๋ถ์คํธ์บ ํ AI Tech]WEEK 03_DAY 12
๐ฑ ๊ฐ๋ณํ์ต
[3] Optimization
1. Important Concepts in Optimization
1) Generalization(์ผ๋ฐํ)
- Generalization gap(training error์ test error ์ฌ์ด์ ์ฐจ)๋ฅผ ์ค์ด๋ ๊ฒ์ด ๋ชฉ์
- ํ์ต์ ํตํด training error๊ฐ ์ค์ด 0์ด ๋์ด๋ test error๊ฐ ์ปค์ง ์ ์๊ธฐ ๋๋ฌธ์ ์ผ๋ฐํ ์ฑ๋ฅ์ ๋์ด๋ ๊ฒ์ด ์ค์
2) Underfitting vs. Overfitting
- Overfitting(๊ณผ์ ํฉ)์ training error๋ณด๋ค test error๊ฐ ์ปค์ training data์ ์ง๋์น๊ฒ fitting ๋ ์ํ
- Underfitting๊ณผ Overfitting ์ฌ์ด์ balanced ๋ชจ๋ธ์ ๋ง๋๋ ๊ฒ์ด ์ค์
3) Cross-Validation
- traing data๋ฅผ train, valid, test๋ก ๋๋์ด์ ์ฌ์ฉ
- valid๋ train์ ํ์ต์ด ์ผ๋ง๋ ์ ๋์๋์ง ํ๋จํ๊ธฐ ์ํด ์ฌ์ฉ
4) Bias and Variance
- Bias : ์ผ๋ง๋ mean(ํ๊ท )์ ๊ฐ๊น์ด์ง
- Variance : ์ผ๋ง๋ ์ผ๊ด์ ์ธ์ง
5) Bootstrapping
- Bagging(Boostrapping aggregating) : ๋ฐ์ดํฐ๋ฅผ ์ํ๋งํ ํ ๊ฐ๋ณ ๋ชจ๋ธ ํ์ต
- Boosting : ๋ถ๋ฅํ๊ธฐ ์ด๋ ค์ด ์ํ์ ๊ฐ์ค์น๋ฅผ ๋์ด ํ์ตํจ
2. Practical Gradient Descent Methods
1) Gradient Descenet Methods
- Stochastic Gradient Descent(SGD) : ๋จ์ผ ์ํ๋ก๋ถํฐ ๊ณ์ฐํ gradient๋ก ์ ๋ฐ์ดํธ
- Mini-batch Gradient Descent : ์ผ๋ถ ๋ฐ์ดํฐ๋ก๋ถํฐ ๊ณ์ฐํ gradient๋ก ์ ๋ฐ์ดํธ
- Batch Gradient Descent : ์ ์ฒด ๋ฐ์ดํฐ๋ก๋ถํฐ ๊ณ์ฐํ gradient๋ก ์ ๋ฐ์ดํธ
2) Batch-size Matters
- Small batch-size๋ Flat Minimum์ ๊ฐ์ ธ์ด
- Large batch-size๋ Sharp Minimum์ ๊ฐ์ ธ์ด
- training function์์ ์ ๋์ํ๋ฉด testing fuction์์๋ ์ ๋๋ ๊ฒ์ด generalization
3) Gradient Descent
- learning rate(η) ์ก๊ธฐ๊ฐ ์ด๋ ต๋ค๋ ๋จ์ ์ด ์์
4) Momentum
- momentum(β)๊ฐ ํฌํจ๋ gradient ์ฌ์ฉ
- momentum์ ํ ๋ฒ ํ๋ฅธ ๋ฐฉํฅ์ ์ด๋ ์ ๋ ์ ์ง์์ผ์ค์ ํ์ต์ ์ ๋ฆฌํจ
5) Nesterov Accelerated Gradient
- Lookahead gradient๋ฅผ ์ฌ์ฉ
6) Adagrad
- ์ง๊ธ๊น์ง์ gradient๊ฐ ์ผ๋ง๋ ๋ณํ๋์ง(sum of gradient squares)๋ฅผ ์ฌ์ฉ
- G๊ฐ ๊ณ์ ์ปค์ง๋ฉด ํ์ต์ด ๋ฉ์ถ๋ ํ์ ๋ฐ์
7) Adadelta
- learning rate ์์ด ๊ณ์ ์ปค์ง๋ G๋ฅผ ๋ง๊ธฐ ์ํด์ ๊ณ ์
8) RMSprop
- step ์ฌ์ด์ฆ๋ฅผ ์ด์ฉํ์ฌ gradient ๊ณ์ฐ
9) Adam
- ์ ์ ํ learning rate๋ฅผ ์ฌ์ฉ
- ์ด์ gradient ์ ๋ณด์ธ momentum์ ์ด์ฉ
3. Regularization
1) Early Stopping : generalization gap์ด ์ฆ๊ฐํ์ง ์๋ ๊ตฌ๊ฐ์์ ํ์ต์ ์ข ๋ฃํจ
2) Parameter Norm Penalty : parameter๊ฐ ์ปค์ง์ง ์๊ฒ ๋ชจ๋ธ ๋ณต์ก๋๋ฅผ ๋ฎ์ถ๋ ๋ฐฉ๋ฒ
3) Data Augmentation : ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ์ฌ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํฅ์์ํค๋ ๋ฐฉ๋ฒ
- label์ด ๋ณํ์ง ์๋ ์ ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณต
- ์) MNIST์์ flip, rotate ๋ฑ augmentation ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ง ์์์ผ ํจ
4) Noise Robustness : input์ด๋ weight์ noise๋ฅผ ๋ถ์ฌํ์ฌ ๊ฐ์ธํ ๋ชจ๋ธ์ ๋ง๋๋ ๋ฐฉ๋ฒ
5) Label Smoothing : ๋ฐ์ดํฐ๋ฅผ ๋ฝ์์ ์๋ ๋ฐฉ๋ฒ
6) Dropout : ์ผ๋ถ ๋ ธ๋์ ๊ฐ์ค์น๋ฅผ 0์ผ๋ก ๋ง๋๋ ๋ฐฉ๋ฒ
7) Batch Normalization
๐ฑ ์ค๋์ ํ๊ณ
๊ธฐ๋ณธ ๊ณผ์ ๋ฅผ ํด๊ฒฐํ๊ณ optimizer ๊ฐ์๋ฅผ ๋ค์๋ค! ๊ฐ์ ๋ด์ฉ์ด ๊ทธ๋ ๊ฒ ๊ธด ๊ฑด ์๋๋ฐ ์๊ฐ๋ณด๋ค ๊ฐ์ ๋ฃ๊ณ ์ดํดํ๋๋ฐ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฐ ํธ... ์ฒ์ ๋ฐฐ์ฐ๋ ๋ด์ฉ์ ์๋์ง๋ง ๋ค์ ๋ค์์๋ก '์!' ํ๋ ๋ด์ฉ๋ ์๊ณ , '์?'ํ๋ ๋ด์ฉ๋ค๋ ์๋ค(๋จธ์ฑ) ๋ด์ผ์ CNN, RNN ๊น์ง ๋ฃ๊ณ ๊ณผ์ ๋ง์น๋ ๊ฒ์ด ๋ชฉํ..! ํผ์ด์ธ์ ๋ ๋ฐ์ด์ฝ์์ ๋ํ ํ๋ ์ ํด์ ๋๊ฐ๋ณด์๋ ์๊ฒฌ์ด ์์๋ค. ์๊ฐ ๋ฐ์ด์ฝ ๋ํ๋ฅผ ์ฐพ์๋ณด๋ ๊ทธ๋ฆผ์ ์ผ๋ถ๋ฅผ ๋ณด๊ณ ํ๊ฐ๋ฅผ ๋ง์ถ๋ ๋ฌธ์ ์ธ๋ฐ ์ฐ์ ํ๊ฐ๊ฐ 50๋ช ์๊ณ , ๊ทธ๋ ๋ค๋ฉด classification์ 50๊ฐ ํด์ผํ๋๊ฑด๊ฐ..ใ ใ ใ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ ์ด๊ฑธ ํ ์ ์์์ง ๊ฑฑ์ ๋ ๋์ง๋ง, ๊ฒฝ์ง๋ํ ํ๋ฉด์ ์ค๋ ฅ ๋๋๊ฒ ํฌ๋๊น ๋ญ๋ ์ด์ฌํ ํด๋ณด์๐
(+) ์ค๋ ๋ญ๊ฐ ๋๋์ด ์์ ๋ฉ์ผํจ ๊ณ์ ์ด์ด๋ดค๋๋ฐ ์๋ฅํฉ ๋ฉ์ผ์ด ์๋ค! ์ดํ ๊ฐ ์ฝํ ์ด์ฌํ ํ์ด๋งโจ