optimizer
Updated:
์ ๊ฒฝ๋ง ํ์ต ์ด๋
์ ๊ฒฝ๋ง์๋ ๊ฐ์ค์น์ ํธํฅ์ด ์๋ค.
์ด ๊ฐ์ค์น์ ํธํฅ์ ์์ค ํจ์์ ๊ฐ์ ์ต๋ํ ๋ฎ์ถ๋ ๋ฐฉํฅ์ผ๋ก ์กฐ์ ํ๋ ๊ณผ์ ์ ํ์ต ์ด๋ผ๊ณ ํ๋ค.
์ด๋ ์ต์ ์ ๋งค๊ฐ๋ณ์ ๊ฐ์ ์ฐพ๋ ๊ฒ์ ์ต์ ํ optimization ๋ผ ํ๋ค.
Stochastic Gradient Descent
์ต์ ์ ๋งค๊ฐ๋ณ์ ๊ฐ์ ์ฐพ๊ธฐ ์ํด ๊ฐ์ค์น๋ ํธํฅ์ ๋ํ ์์ค ํจ์์ ๋ฏธ๋ถ๊ฐ(๊ธฐ์ธ๊ธฐ)์ ์ด์ฉํ ์ ์๋ค.
๊ธฐ์ธ์ด์ง ๋ฐฉํฅ์ผ๋ก ๋งค๊ฐ๋ณ์์ ๊ฐ์ ์กฐ์ ํ๋ ์ต์ ํ ๋ฐฉ๋ฒ optimizer ์ด ํ๋ฅ ์ ๊ฒฝ์ฌ ํ๊ฐ๋ฒSGD ์ด๋ค.
SGD๋ ๋ฌด์์ ๊ธฐ์ธ์ด์ง ๋ฐฉํฅ์ผ๋ก ์งํํ๊ธฐ ๋๋ฌธ์ ๊ธฐ์ธ๊ธฐ๊ฐ ์์ฃผ ๋ฌ๋ผ์ง๋ ํจ์์ ๋ํด์๋ ์ง๊ทธ์ฌ๊ทธ๋ก ํ์ํ์ฌ ๋นํจ์จ์ ์ด๋ค.
์ด๋ฐ ๋จ์ ์ ๊ฐ์ ํด์ฃผ๋ ๊ฒ๋ค์ด Momentum, AdaGrad, Adam ์ด๋ค.
Momentum optimization
SGD๋ ๊ฒฝ์ฌ๋ฉด์ ๋ฐ๋ผ ์ผ์ ํ ํฌ๊ธฐ์ ์คํ
์ผ๋ก ์กฐ๊ธ์ฉ ๋ด๋ ค๊ฐ๋ ๋ฐฉ์์ด๋ฉฐ ์ด์ ๊ทธ๋ ๋์ธํธ๋ ๊ณ ๋ คํ์ง ์๋๋ค.
๋ฐ๋ฉด ๋ชจ๋ฉํ
์ต์ ํ์์๋ ์ด์ ๊ทธ๋ ๋์ธํธ๊ฐ ์ค์ํ ์์๊ฐ ๋๋ค.
๋งค ๋ฐ๋ณต์์ ํ์ฌ ๊ทธ๋ ๋์ธํธ๋ฅผ ๋ชจ๋ฉํ
๋ฒกํฐ momentum vector, m ์ ๋ํ๊ณ ์ด ๊ฐ์ ๋นผ๋ ๋ฐฉ์์ผ๋ก ๊ฐ์ค์น๋ฅผ ๊ฐฑ์ ํ๋ค. ์ฆ, ์ด ๋ชจ๋ฉํ
๋ฒกํฐ๋ผ๋ ๊ฒ์ ์ด์ ๊ทธ๋ ๋์ธํธ์ ๋ํ ์ ๋ณด๊ฐ ๋ด๊ฒจ์๋ค.
\(1. \, m \leftarrow \beta m - \eta\nabla _{\theta} J (\theta)\)
\(2. \,\theta \leftarrow \theta + m\)
์ ์์์ $\beta$๋ ๋ชจ๋ฉํ
์ด ๋๋ฌด ์ปค์ง๋ ๊ฒ์ ๋ง์์ฃผ๋ ํ์ดํผํ๋ผ๋ฏธํฐ๋ค.
AdaGrad
SGD๋ ๋น์ฅ์ ๊ฐ์ฅ ๊ฐํ๋ฅธ ๊ฒฝ์ฌ๋ฅผ ๋ฐ๋ผ ๋ด๋ ค๊ฐ๋ ๋ฐฉ์์ด์๊ธฐ ๋๋ฌธ์ ์ง๊ทธ์ฌ๊ทธ ํํ๋ฅผ ๋ณด์๋ค.
๋ฐ๋ฉด AdaGrad๋ ๊ฐ์ฅ ๊ฐํ๋ฅธ ์ฐจ์์ ๋ฐ๋ผ ๊ทธ๋ ๋์ธํธ ๋ฒกํฐ์ ์ค์ผ์ผ์ ๊ฐ์์ํค๋ฉฐ ๋ฐ๋ผ์ ์ข ๋ ํจ์จ์ ์ผ๋ก ์์ง์ธ๋ค.
\(1.\,s \leftarrow s + \nabla _{\theta} J (\theta) \otimes \nabla _{\theta} J (\theta)\)
๊ทธ๋ ๋์ธํธ์ ์ ๊ณฑ์ ๋ฒกํฐ s์ ๋์ ํ๋ค.
\(2. \,\theta \leftarrow \theta - \eta\nabla _{\theta} J (\theta) \oslash \sqrt{s + \varepsilon}\)
๊ทธ๋ ๋์ธํธ ๋ฒกํฐ๋ฅผ $\sqrt{s+\varepsilon}$๋ก ๋๋์ด ์ค์ผ์ผ์ ์กฐ์ ํ๋ค. ์ด๋ฅผ ํตํด ๋งค๊ฐ๋ณ์์ ์์ ์ค์์ ๋ง์ด ์์ง์ธ ์์๋ ํ์ต๋ฅ ์ด ๋ฎ์์ง๋ค.
๊ฐ๊ฐ์ ๋งค๊ฐ๋ณ์์ ์ ์์ ์ผ๋ก adaptive ํ์ต๋ฅ ์ ์กฐ์ ํ๋ฉด์ ํ์ต์ ์งํํ๋ค.
Adam
์ง๊ด์ ์ผ๋ก๋ ๋ชจ๋ฉํ
๊ณผ AdaGrad๋ฅผ ์ตํฉํ ๋ฏํ ๋ฐฉ๋ฒ์ด๋ค.
Conclusion
ํญ์ ๋ชจ๋ ๋ฌธ์ ์์ ๋ฐ์ด๋ ์ต์ ํ ๊ธฐ๋ฒ์ด๋ ๊ฒ์ ์๋ค.
ํ์ด์ผ ํ ๋ฌธ์ ๊ฐ ๋ฌด์์ด๋์ ๋ฐ๋ผ ๊ฐ์ฅ ์ ์ ํ ๊ธฐ๋ฒ์ ๋ฌ๋ผ์ง๋ค.
Reference
๋ฐ๋ฐ๋ฅ๋ถํฐ ์์ํ๋ ๋ฅ๋ฌ๋
ํธ์ฆ์จ ๋จธ์ ๋ฌ๋
Leave a comment