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

๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹
ํ•ธ์ฆˆ์˜จ ๋จธ์‹ ๋Ÿฌ๋‹

Categories:

Updated:

Leave a comment