๐ ๊ฐ์ ์ ๋ฆฌ
* Coursera ๊ฐ์ ์ค Andrew Ng ๊ต์๋์ Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization ๊ฐ์๋ฅผ ๊ณต๋ถํ๊ณ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค.
* ์ด๋ฏธ์ง ์ถ์ฒ : Deeplearning.AI
Optimization Algorithm
1. Mini-batch Gradient Descent
- ์๋ชป ๋ผ๋ฒจ๋ง๋ ๋ฐ์ดํฐ๊ฐ ์์ฌ ์๋ batch์ ๊ฒฝ์ฐ์๋ ํฐ loss ๊ฐ์ ๊ฐ์ง ์ ์๊ณ batch๋ง๋ค loss ๊ฐ์ด ์ผ์ ํ์ง ์์ผ๋ฏ๋ก ๊ทธ๋ํ์์ jittering์ด ๋ฐ์ํ๋ค.
- batch๊ฐ ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ์๋ ๊ฐ iteration๋ง๋ค ๋๋ฌด ๋ง์ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ณ , batch size๊ฐ 1์ธ ๊ฒฝ์ฐ(Stochastic Gradient Descent)์๋ ํ๋ จ ์๋๊ฐ ๋๋ฌด ์ค๋๊ฑธ๋ฆฐ๋ค(lose speedup from vecterization). ๋ฐ๋ผ์ ์ ๋นํ batch size๋ฅผ ์ฐพ์์ผํ๋ค.
- Tip1. If small training set(m<=2000) : use batch gradient descent
- Tip2. Else,
β๊ฐ์ด 0.9 ์ผ ๋๋ ์ด์ 9๊ฐ์ ๊ฐ์ ๋ฐ์(ํ์ฌ ๊ฐ๊น์ง 10๊ฐ์ ํ๊ท ), β๊ฐ์ด 0.98์ด๋ฉด ํ์ฌ ๊ฐ ํฌํจ 50๊ฐ์ ํ๊ท , β๊ฐ์ด 0.5์ด๋ฉด ํ์ฌ ๊ฐ ํฌํจ 2๊ฐ์ ํ๊ท
- vt(biascorrection)โ = vtโ/(1−βt) = {βvt−1โ+(1−β)θtโ}/(1−βt)
5. Gradient Descent with momentum
Momentum have effects of velocity and accelerator. ๋ชจ๋ฉํ ์ ์ ์ฉํ๋ฉด ๊ธฐ์กด์ ๋ฐฉํฅ์ ์ ์ ์ ๋ํ๋ค. ์์ ์์๋ก๋ ์ค๋ฅธ์ชฝ์ผ๋ก๋ ๋ง์ด ๊ฐ๊ณ ์ธ๋ก ๋ฐฉํฅ์ผ๋ก๋ ์ ๊ฒ ๊ฐ๋ค.
v๊ฐ velocity, dw๊ฐ acceleration์ ์ญํ ์ ํ๋ค.
6. RMSProp (Root Mean Squared Propagation)
์ธ๋ก์ถ์ b๋ผ๊ณ ํ๊ณ , ๊ฐ๋ก์ถ์ w๋ผ๊ณ ํ ๋, ๊ฐ๋ก์ถ์ผ๋ก ๋น ๋ฅด๊ฒ ์ด๋ํ๊ณ ์ถ์ผ๋ฉด dw๋ฅผ ์๊ฒํ์ฌ Sdw๋ฅผ ํฌ๊ฒ ๋ง๋ค๋ฉด ๋๋ค. ์ธ๋ก์ถ์ผ๋ก ์ ๊ฒ ์ด๋ํ๊ณ ์ถ์ผ๋ฉด db๋ฅผ ํฌ๊ฒํ์ฌ Sdb๋ฅผ ์๊ฒ ๋ง๋ค๋ฉด ๋๋ค.
7. Adam Optimization Algorithm
: RMSProp + Momentum
- Hyperparameters
- α : need to be tune
- β1 : 0.9
- β2 : 0.999
- ε : 1e-8
8. Learning Rate Decay
learning rate α๋ฅผ ์ ์ ์ค์ฌ๋๊ฐ๋ ๊ณผ์ . α๊ฐ ๋๋ฌด ํฌ๋ฉด ํ์ต์ ๋น ๋ฅด์ง๋ง ์ต์ ๊ฐ์ ๋ค๊ฐ๊ฐ๊ธฐ ์ด๋ ต๊ณ , α๊ฐ ๋๋ฌด ์์ผ๋ฉด ํ์ต์ด ๋๋ฌด ๋๋ฆฌ๋ค
๋๊ธ