Optimizer ๋?
- Optimization(์ต์ ํ) ๊ธฐ๋ฅ์ ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋งํ๋ค.
Optimization ์ด๋?
- ์ด๋ค ์ ์ฝ์กฐ๊ฑด์ด ์์ ์๋ ์๋ ์ํฉ์์ ํจ์์ ์ต๋์น์ ์ต์์น๋ฅผ ์ฐพ๋ ๊ฒ์ด๋ค.
- ์ต์ ํ๋ฌธ์ ๋ ์์ (๋ฉ๋ชจ๋ฆฌ, ์๊ฐ ๋ฑ) ์ ํ๊ณ ๋ด์์ ๊ฐ๋ฅํ ํ ์ต์ ์ ๊ฐ์ ์ฐพ์๋ด๋ ๊ฒ์ด๋ค.
์ต์ ํ ๊ณผ์
{: .center}
- ํ๋ จ์ธํธ์์ Neural Network ๋ฅผ ๊ฑฐ์ณ Output ์ ์ฐ์ถํ๋ค.
- Output ๊ณผ ์ค์ ๊ฐ ์ฌ์ด์ Loss Function ์ ์ ์ํ๊ณ Loss ๊ฐ์ ๊ตฌํ๋ค.
- Loss ๊ฐ์ ์ค์ฌ์ฃผ๋ Gradient ๋ฅผ ๊ตฌํ๊ณ Weight ์ ์
๋ฐ์ดํธ ํด์ค๋ค.
- 1~3 ๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ ์ฃผ์ด์ง ์์ ๋ด์์ ์ต์ ์ ๊ฐ์ ์ฐพ์๋ธ๋ค.
โ ์์ ๊ณผ์ ์ ์ต์ ํ ๊ณผ์ ์ด๋ผ ํ๋ค.
Optimizer ์ข
๋ฅ
{: .center}
Gradient Descent (๊ฒฝ์ฌํ๊ฐ๋ฒ)
- ๊ฐ์ฅ ๊ธฐ๋ณธ์ด ๋๋ Optimizer ์ด๋ค.
- ๊ฒฝ์ฌ๋ฅผ ๋ฐ๋ผ ๋ด๋ ค๊ฐ๋ฉด์ Weight ๋ฅผ ์
๋ฐ์ดํธํด ์ต์๊ฐ์ ์ฐพ๋ ๋ฐฉ์์ด๋ค.
Gradient Descent ํ์ด์ง ์ฐธ๊ณ
- ์
๋ฐ์ดํธ ๊ฐ์ ํ์ต๋ฅ ๊ณผ gradient ์ ๊ณฑ์ผ๋ก ์ด๋ฃจ์ด์ง๋ค.
๋จ์
Momentum
- Global Minima ๋ฅผ ๊ตฌํ๊ธฐ ์ํด์ ๊ด์ฑ์ ๋ฒ์น์ ์ ์ฉ์ํจ Optimizer ์ด๋ค.
Local Minima ์ ๋น ์ก์ ๋ ์ด์ ์ ๋จ์ด์ง๋ ์๋๋ฅผ ์ด๋ ค ๋น ์ ธ๋๊ฐ๋ณด์! ๋ผ๋ ์์ด๋์ด๋ฅผ ๊ฐ๋๋ค.
- SGD ์ Momentum ์ ํฉ์ณ์ ์ ์ฉ์ํจ๋ค.
{: width=โ600โ}{: .center}
์ถ์ฒ : https://ratsgo.github.io/deep learning/2017/04/22/NNtricks/
v_{t+1}=\rho v_t - \alpha\nabla f(x_t+\rho v_t) \~\
w_{t+1} = w_t+v_{t+1}
G_{t+1}=G_t+(g_{t+1})^2 \~\
w_{t+1}=w_t-\frac \alpha {\sqrt{G_{t+1}+e}}g_{t+1}
g_t
G_t
G_{t+1}=\gamma G_t+(1-\gamma)(g_{t+1})^2 \~\
w_{t+1}=w_t-\frac \alpha {\sqrt{G_{t+1}+\epsilon}}g_{t+1}
\gamma
\alpha
\epsilon
\sqrt{G_{t+1}+\epsilon}