๐Ÿฅž BE
home

Optimizer

Momentum

Momentum(๊ด€์„ฑ)์˜ ์‚ฌ์ „์  ์ •์˜๋Š” ์™ธ๋ถ€์—์„œ ํž˜์„ ๋ฐ›์ง€ ์•Š๋Š” ํ•œ ์ •์ง€ํ•ด ์žˆ๊ฑฐ๋‚˜ ์šด๋™ ์ƒํƒœ๋ฅผ ์ง€์†ํ•˜๋ ค๋Š” ์„ฑ์งˆ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฒฝ์‚ฌ์ง„ ๊ณณ์—์„œ ๋Œ์„ ๊ตด๋ฆฌ๋ฉด ๊ณ„์†ํ•ด์„œ ์•„๋ž˜๋กœ ๊ตด๋Ÿฌ๊ฐ€๋ ค๋Š” ์„ฑ์งˆ์ด๋‹ค.
์ด๋Ÿฌํ•œ ์„ฑ์งˆ์„ ํ™œ์šฉํ•˜์—ฌ ๊ณ ์•ˆ๋œ Momentum์€ ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์œผ๋กœ ์ด๋™ํ•  ๋•Œ ๊ด€์„ฑ์„ ๋ถ€์—ฌํ•˜๋Š” ์ตœ์ ํ™” ๊ธฐ๋ฒ•์ด๋‹ค.
์ฆ‰, Momentum์€ ์ด์ „์— ์ด๋™ํ–ˆ๋˜ ๋ฐฉํ–ฅ์„ ๊ธฐ์–ตํ•˜๋ฉด์„œ ์ด์ „ ๊ธฐ์šธ๊ธฐ์˜ ํฌ๊ธฐ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์–ด๋Š ์ •๋„ ์ถ”๊ฐ€๋กœ ์ด๋™์‹œํ‚จ๋‹ค.
์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ขŒ์ธก์—์„œ๋ถ€ํ„ฐ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์œผ๋กœ ์†์‹ค ํ•จ์ˆ˜๋ฅผ ์ค„์—ฌ๋‚˜๊ฐ€๋‹ค๊ฐ€ Local Minimum์— ๋น ์งˆ ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์—์„œ Momentum ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด์ „ ๊ธฐ์šธ๊ธฐ์˜ ํฌ๊ธฐ๋ฅผ ๊ณ ๋ คํ•ด ์ถ”๊ฐ€๋กœ ์ด๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ๋น ์ ธ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.
์ดํ›„ ๊ทธ๋ฆผ์˜ Global Minimum์ด๋ผ๊ณ  ํ‘œ์‹œํ•œ ์ง€์ ์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ๋Š” ์ถ”๊ฐ€์ ์ธ ๊ด€์„ฑ์„ ๋ฐ›์•„๋„ ๋” ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ด ์ง€์ ์ด Global Minimum์ด ๋œ๋‹ค. ์ด์ฒ˜๋Ÿผ Momentum์€ Local Minimum์— ๋น ์ง€๋Š” ๊ฒฝ์šฐ๋ฅผ ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค.
Momentum์„ ์ˆ˜์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
vt=ฮณvtโˆ’1โˆ’ฮทโˆ‡f(xtโˆ’1)v_t = \gamma v_{t-1}-\eta\nabla f(x_{t-1})
โ€ข
vtv_t : tt๋ฒˆ์งธ time step์—์„œ xx์˜ ์ด๋™ ๋ฒกํ„ฐ
โ€ข
ฮณ\gamma : ๊ด€์„ฑ๊ณ„์ˆ˜(momentum term) โ‰ˆ\approx 0.9
โ€ข
ฮท\eta : ํ•™์Šต๋ฅ (Learning rate)
tt๋ฒˆ์งธ ์ด๋™ ๋ฒกํ„ฐ(vtv_t)๋Š” ์ด์ „ time step์—์„œ์˜ ์ด๋™ ๋ฒกํ„ฐ(vtโˆ’1v_{t-1})๊ณผ ๊ด€์„ฑ ๊ณ„์ˆ˜๋ฅผ ๊ณฑํ•œ ๊ฐ’์—์„œ ํ•™์Šต๋ฅ (ฮท\eta)๊ณผ (tโˆ’1t-1)๋ฒˆ์งธย xx์˜ Gradient ๊ฐ’์„ ๋นผ์„œ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ด€์„ฑ ๊ณ„์ˆ˜๋Š”ย 1๋ณด๋‹ค ์ž‘์€ ์•ฝย 0.9๋กœ ์ผ๋ฐ˜์ ์œผ๋กœ ์„ค์ •ํ•œ๋‹ค.
์—ฌ๊ธฐ์„œย ํ•™์Šต๋ฅ ์ด๋ž€ ์–ด๋–ค ๋น„์œจ๋งŒํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ• ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฐ’์œผ๋กœย 0๊ณผย 1ย ์‚ฌ์ด์˜ย ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ,ย ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์„ค์ •ํ•ด์•ผ ํ•˜๋Š” ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ(hyper-parameter)์ด๋‹ค.
์ฆ‰, ํ•™์Šต๋ฅ ์ด ์ž‘์„์ˆ˜๋ก ์ด˜์ด˜ํ•˜๊ฒŒ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๋ฉฐ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ฌ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ทธ๋งŒํผ ํ•™์Šต ์‹œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค. ๋ฐ˜๋ฉด, ํ•™์Šต๋ฅ ์ด ๋„ˆ๋ฌด ํด ๊ฒฝ์šฐ ์†์‹ค ํ•จ์ˆ˜ ๊ทธ๋ž˜ํ”„ ์ž์ฒด๋ฅผ ๋ฒ—์–ด๋‚˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ ์ ˆํ•œ ํ•™์Šต๋ฅ ์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.
xt=xtโˆ’1+vtx_t = x_{t-1} + v_t
์ฆ‰,ย tt๋ฒˆ์งธย xx๊ฐ’์€ย (tโˆ’1t-1)๋ฒˆ์งธย xx๊ฐ’์—์„œย tt๋ฒˆ์งธ ์ด๋™ ๋ฒกํ„ฐ๋ฅผ ๋”ํ•œ ๊ฐ’์œผ๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.
์ด์ฒ˜๋Ÿผ Momentum์€ ์ด๋™ ๋ฒกํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ด์ „ step์—์„œ์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ณ ๋ คํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.
โ†’ Momentum์— ์˜ํ•œ ์ตœ์ ํ™” ๊ฐฑ์‹  ๊ฒฝ๋กœ

AdaGrad

AdaGrad๋Š” Adaptive Gradient์˜ ์•ฝ์ž์ด๊ณ , ์ ์‘์  ๊ธฐ์šธ๊ธฐ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
Feature๋งˆ๋‹ค ์ค‘์š”๋„, ํฌ๊ธฐ ๋“ฑ์ด ์ œ๊ฐ๊ฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  Feature๋งˆ๋‹ค ๋™์ผํ•œ ํ•™์Šต๋ฅ ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ์ ์ด์—ˆ๊ณ , ์ด๋Ÿฌํ•œ ๊ด€์ ์—์„œ AdaGrad ๊ธฐ๋ฒ•์ด ์ œ์•ˆ๋˜์—ˆ๋‹ค. AdaGrad๋Š” Feature๋ณ„๋กœ ํ•™์Šต๋ฅ (Learning rate)์„ Adaptiveํ•˜๊ฒŒ, ์ฆ‰ ๋‹ค๋ฅด๊ฒŒ ์กฐ์ ˆํ•˜๋Š” ๊ฒƒ์ด ํŠน์ง•์ด๋‹ค.
AdaGrad๋ฅผ ์ˆ˜์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
gt=gtโˆ’1+(โˆ‡f(xtโˆ’1))2g_t = g_{t-1}+(\nabla f(x_{t-1}))^2
xt=xtโˆ’1โˆ’ฮทgt+ฯตโ‹…โˆ‡f(xtโˆ’1)x_t = x_{t-1}-\frac{\eta}{\sqrt{g_t+\epsilon}} \cdot \nabla f(x_{t-1})
gtg_t : tt๋ฒˆ์งธ time step ๊นŒ์ง€์˜ ๊ธฐ์šธ๊ธฐ ๋ˆ„์  ํฌ๊ธฐ
ฯต\epsilon : ๋ถ„๋ชจ๊ฐ€ 0์ด ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์€ ๊ฐ’ โ‰ˆ10โˆ’6\approx 10^{-6}
ฮท\eta : ํ•™์Šต๋ฅ (Learning rate)
๋จผ์ € tt๋ฒˆ์งธ time step๊นŒ์ง€ ๊ธฐ์šธ๊ธฐ๋ฅผ ๋ˆ„์ ํ•œ ๊ฐ’(gt)g_t)์„ ๊ณ„์‚ฐํ•œ๋‹ค. ์ด ๊ฐ’์˜ ์ œ๊ณฑ๊ทผ ์—ญ์ˆ˜๋ฅผ tt๋ฒˆ์งธ time step์—์„œ์˜ xtx_t์˜ ํ•™์Šต๋ฅ ์— ๊ณฑํ•œ๋‹ค. ์ด๋•Œ gtg_t๊ฐ€ 0์ธ ๊ฒฝ์šฐ ๊ฐ’์ด ๋ฌดํ•œ๋Œ€๋กœ ๋ฐœ์‚ฐํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋งค์šฐ ์ž‘์€ ๊ฐ’(ฯต\epsilon)์„ ๊ฐ™์ด ๋”ํ•ด์ค€๋‹ค.
โ€ข
์žฅ์ 
AdaGrad๋Š” Feature ๋งˆ๋‹ค ๋‹ค๋ฅธ ํ•™์Šต๋ฅ ์„ ์ ์šฉํ•จ์œผ๋กœ์จ Feature๋ณ„ ํŠน์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ํ•™์Šต์„ ํšจ์œจ์ ์œผ๋กœ ๋•๋Š”๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ์ฆ‰, AdaGrad๋Š” ํฐ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ฐ€์ ธ ํ•™์Šต์ด ๋งŽ์ด ๋œ ๋ณ€์ˆ˜๋Š” ํ•™์Šต๋ฅ ์„ ๊ฐ์†Œ์‹œํ‚จ๋‹ค. ํ•™์Šต์ด ์ ๊ฒŒ ๋œ ๋‹ค๋ฅธ ๋ณ€์ˆ˜๋Š” ์ž˜ ํ•™์Šต๋˜๋„๋ก ํ•™์Šต๋ฅ ์„ ๋†’๊ฒŒ ์„ค์ •ํ•˜์—ฌ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.
โ€ข
๋‹จ์ 
gtg_t ๊ฐ’์€ ์ ์ฐจ ์ปค์ง€๊ธฐ ๋•Œ๋ฌธ์— ํ•™์Šต์ด ์˜ค๋ž˜ ์ง„ํ–‰๋˜๋ฉด ํ•™์Šต๋ฅ (ฮทgt+ฯต\frac{\eta}{\sqrt{g_{t} + \epsilon}})์ด 0์— ๊ฐ€๊นŒ์›Œ์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋” ์ด์ƒ ํ•™์Šต์ด ์ง„ํ–‰๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ๋ชจ๋ธ ํ•™์Šต์ด ์ง„ํ–‰๋  ๋•Œ ํ•™์Šต์ด ์ž˜ ์ด๋ฃจ์–ด์ ธ ๋” ์ด์ƒ ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ธ์ง€, gtg_t์˜ ๊ฐ’์ด ์ง€๋‚˜์น˜๊ฒŒ ์ปค์ ธ์„œ ์ถ”๊ฐ€์ ์œผ๋กœ ํ•™์Šต์ด ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ธ์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ•œ๊ณ„์ ์„ ๊ฐœ์„ ํ•œ ์ตœ์ ํ™” ๊ธฐ๋ฒ•์œผ๋กœ RMSProp์ด ์ œ์•ˆ๋˜์—ˆ๋‹ค.
โ†’ AdaGrad์— ์˜ํ•œ ์ตœ์ ํ™” ๊ฐฑ์‹  ๊ฒฝ๋กœ

RMSProp

RMSProp์€ Root Mean Sqaure Propagation์˜ ์•ฝ์ž์ด๋‹ค.
AdaGrad๋Š” ํ•™์Šต์ด ์ง„ํ–‰๋  ๋•Œ ํ•™์Šต๋ฅ (Learning rate)์ด ๊พธ์ค€ํžˆ ๊ฐ์†Œํ•˜๋‹ค ๋‚˜์ค‘์—๋Š”ย 0์œผ๋กœ ์ˆ˜๋ ดํ•˜์—ฌ ํ•™์Šต์ด ๋” ์ด์ƒ ์ง„ํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค. RMSProp์€ ์ด๋Ÿฌํ•œ ํ•œ๊ณ„์ ์„ ๋ณด์™„ํ•œ ์ตœ์ ํ™” ๊ธฐ๋ฒ•์ด๋‹ค.
RMSProp์€ย AdaGrad์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ณ€์ˆ˜(feature)๋ณ„๋กœ ํ•™์Šต๋ฅ ์„ ์กฐ์ ˆํ•˜๋˜ ๊ธฐ์šธ๊ธฐ ์—…๋ฐ์ดํŠธ ๋ฐฉ์‹์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค. ์ด์ „ time step์—์„œ์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ๋‹จ์ˆœํžˆ ๊ฐ™์€ ๋น„์œจ๋กœ ๋ˆ„์ ํ•˜์ง€ ์•Š๊ณ  ์ง€์ˆ˜์ด๋™ํ‰๊ท (Exponential Moving Average, EMA)์„ ํ™œ์šฉํ•˜์—ฌ ๊ธฐ์šธ๊ธฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค. ์ฆ‰, ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ•ต์‹ฌ์€ ๊ฐ€์žฅ ์ตœ๊ทผ time step์—์„œ์˜ ๊ธฐ์šธ๊ธฐ๋Š” ๋งŽ์ด ๋ฐ˜์˜ํ•˜๊ณ  ๋จผ ๊ณผ๊ฑฐ์˜ time step์—์„œ์˜ ๊ธฐ์šธ๊ธฐ๋Š” ์กฐ๊ธˆ๋งŒ ๋ฐ˜์˜ํ•˜๋Š” ์ ์ด๋‹ค.
RMSProp์„ ์ˆ˜์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
gt=ฮณgtโˆ’1+(1โˆ’ฮณ)(โˆ‡f(xtโˆ’1))2g_{t} = \gamma g_{t-1} + (1-\gamma)(\nabla f(x_{t-1}))^{2}
xt=xtโˆ’1โˆ’ฮทgt+ฯตโ‹…โˆ‡f(xtโˆ’1)x_{t} = x_{t-1} - \frac{\eta}{\sqrt{g_{t} + \epsilon}} \cdot \nabla f(x_{t-1})
gtg_t : tt๋ฒˆ์งธ time step ๊นŒ์ง€์˜ ๊ธฐ์šธ๊ธฐ ๋ˆ„์  ํฌ๊ธฐ
ฮณ\gamma : ์ง€์ˆ˜์ด๋™ํ‰๊ท ์˜ ์—…๋ฐ์ดํŠธ ๊ณ„์ˆ˜
ฯต\epsilon : ๋ถ„๋ชจ๊ฐ€ 0์ด ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์€ ๊ฐ’ โ‰ˆ10โˆ’6\approx 10^{-6}
ฮท\eta : ํ•™์Šต๋ฅ (Learning rate)
tt๋ฒˆ์งธ time step์˜ ๋ˆ„์  ๊ธฐ์šธ๊ธฐ(gt)g_t)๋Š” ์ด์ „ time step๊นŒ์ง€์˜ ๋ˆ„์  ๊ธฐ์šธ๊ธฐ(gtโˆ’1g_{t-1})์— ฮณ\gamma๋ฅผ ๊ณฑํ•ด ์ ์ฐจ ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด ์ฃผ๊ณ , ์ƒˆ๋กœ์šด Gradient์—๋Š” (1โˆ’ฮณ1-\gamma)๋ฅผ ๊ณฑํ•œ ๊ฐ’์„ ๋”ํ•˜์—ฌ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค. ์ด ๊ฐ’์˜ ์ œ๊ณฑ๊ทผ ์—ญ์ˆ˜๋ฅผ tt๋ฒˆ์žฌ time step์—์„œ์˜ xtx_t์˜ ํ•™์Šต๋ฅ ์— ๊ณฑํ•œ๋‹ค. ์ด๋•Œ gtg_t๊ฐ€ 0์ธ ๊ฒฝ์šฐ ๊ฐ’์ด ๋ฌดํ•œ๋Œ€๋กœ ๋ฐœ์‚ฐํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋งค์šฐ ์ž‘์€ ๊ฐ’(ฯต\epsilon)์„ ๊ฐ™์ด ๋”ํ•ด์ค€๋‹ค.
โ€ข
์žฅ์ 
๋ณ€์ˆ˜(feature)๋งˆ๋‹ค ์ ์ ˆํ•œ ํ•™์Šต๋ฅ ์„ ์ ์šฉํ•˜์—ฌ ํšจ์œจ์ ์ธ ํ•™์Šต์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
AdaGrad๋ณด๋‹ค ํ•™์Šต์„ ์˜ค๋ž˜ ํ•  ์ˆ˜ ์žˆ๋‹ค.
AdaGrad์—์„œ๋Š”ย gtg_t๋ฅผ ๊ณ„์‚ฐํ•  ๋•Œย gtโˆ’1g_{t-1}์™€ ์ƒˆ๋กœ์šด Gradient์˜ ๊ฐ’์„ ๋ณด์ •ํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋Œ€๋กœ ๋”ํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— ํ•™์Šต์ด ์ง„ํ–‰๋ ์ˆ˜๋ก ๋ฌดํ•œ์ • ์ปค์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๋ฐ˜๋ฉด, RMSProp์€ย ฮณ\gamma๋ฅผ ํ™œ์šฉํ•˜์—ฌย gtg_t๊ฐ€ ๋ฌดํ•œ์ • ์ปค์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ž˜ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋‹ค.

Adam

Adaptive Moment Estimation(Adam)์€ ๋”ฅ๋Ÿฌ๋‹ ์ตœ์ ํ™” ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ์จย Momentum๊ณผ AdaGrad์˜ ์žฅ์ ์„ ๊ฒฐํ•ฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์ฆ‰, ํ•™์Šต์˜ ๋ฐฉํ–ฅ๊ณผ ํฌ๊ธฐ(=Learning rate)๋ฅผ ๋ชจ๋‘ ๊ฐœ์„ ํ•œ ๊ธฐ๋ฒ•์œผ๋กœ ๋”ฅ๋Ÿฌ๋‹์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ตœ์ ํ™” ๊ธฐ๋ฒ•์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ๋‹ค. ์ตœ๊ทผ์—๋Š” RAdam, AdamW๊ณผ ๊ฐ™์ด ๋”์šฑ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์„ ๋ณด์ด๋Š” ์ตœ์ ํ™” ๊ธฐ๋ฒ•์ด ์ œ์•ˆ๋˜์—ˆ๋‹ค.
Adam์„ ์ˆ˜์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
mt=ฮฒ1mtโˆ’1+(1โˆ’ฮฒ1)โˆ‡f(xtโˆ’1)m_{t} = \beta_{1} m_{t-1} + (1 - \beta_{1}) \nabla f(x_{t-1})
gt=ฮฒ2gtโˆ’1+(1โˆ’ฮฒ2)(โˆ‡f(xtโˆ’1))2g_{t} = \beta_{2} g_{t-1} + (1-\beta_{2})(\nabla f(x_{t-1}))^{2}
mt^=mt1โˆ’ฮฒ1t,gt^=gt1โˆ’ฮฒ2t\hat{m_{t}} = \frac{m_{t}}{1-\beta^{t}_{1}}, \hat{g_{t}} = \frac{g_{t}}{1-\beta^{t}_{2}}
xt=xtโˆ’1โˆ’ฮทgt^+ฯตโ‹…mt^x_{t} = x_{t-1} - \frac{\eta}{\sqrt{\hat{g_{t}} + \epsilon}} \cdot \hat{m_{t}}
โ€ข
ฮฒ1\beta_1 : Momentum์˜ ์ง€์ˆ˜์ด๋™ํ‰๊ท  โ‰ˆ0.9\approx 0.9
โ€ข
ฮฒ2\beta_2 : RMSProp์˜ ์ง€์ˆ˜์ด๋™ํ‰๊ท  โ‰ˆ0.999\approx 0.999
โ€ข
m^\hat{m}, g^\hat{g} : ํ•™์Šต ์ดˆ๊ธฐ ์‹œ mtm_t, gtg_t๊ฐ€ 0์ด ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋ณด์ • ๊ฐ’
โ€ข
ฯต\epsilon : ๋ถ„๋ชจ๊ฐ€ 0์ด ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์€ ๊ฐ’ โ‰ˆ10โˆ’8\approx 10^{-8}
โ€ข
ฮท\eta : ํ•™์Šต๋ฅ  โ‰ˆ0.001\approx 0.001
์ง€์ˆ˜์ด๋™ํ‰๊ท 
ฮฒ\beta๋Š” ์ง€์ˆ˜์ด๋™ํ‰๊ท (Exponential Moving Average, EMA)์œผ๋กœ์จ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ์ด๋‹ค. ์ง€์ˆ˜์ด๋™ํ‰๊ท ์€ ์˜ค๋ž˜์ „ time step์—์„œ์˜ ๊ฐ’์€ ์ ๊ฒŒ ๋ฐ˜์˜ํ•˜๊ณ  ์ตœ๊ทผ step์˜ ๊ฐ’์„ ๋งŽ์ด ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ’์ด๋‹ค.
ํŽธํ–ฅ ๋ณด์ •
m^,g^\hat m, \hat g์€ ํ•™์Šต ์ดˆ๊ธฐ์— mt,gtm_t, g_t์˜ ๊ฐ’์—์„œ mtโˆ’1,gtโˆ’1m_{t-1}, g_{t-1}๊ฐ€ 0์ด๊ณ , (1โˆ’ฮฒ1)โˆ‡f(xtโˆ’1)(1 - \beta_{1}) \nabla f(x_{t-1})๊ณผ (1โˆ’ฮฒ2)(โˆ‡f(xtโˆ’1))2(1-\beta_{2})(\nabla f(x_{t-1}))^{2}์ด ๋„ˆ๋ฌด ์ž‘๊ธฐ ๋•Œ๋ฌธ์— 0์— ์ˆ˜๋ ดํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋ณด์ •๊ฐ’์ด๋‹ค. ์ˆ˜์‹์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด, Gradient์— ๊ณฑํ•ด์ง„ (1โˆ’ฮฒ1)(1-\beta_1)์™€(1โˆ’ฮฒ2)(1-\beta_2)๋ฅผ ์—†์•จ ์ˆ˜ ์žˆ๋„๋ก m^,g^\hat m, \hat g์„ ํ•ด๋‹น ๊ฐ’์œผ๋กœ ๋‚˜๋ˆˆ ๊ฐ’์ด๋‹ค.
์ด์ฒ˜๋Ÿผ mt,gtm_t, g_t์˜ ์ดˆ๊ธฐ๊ฐ’์ด 0์— ๊ฐ€๊นŒ์›Œ์ง€๋Š” ํŽธํ–ฅ(bias)์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด m^,g^\hat m, \hat g์„ย ๋งŒ๋“œ๋Š” ๊ณผ์ •์„ ํŽธํ–ฅ ๋ณด์ •(bias correction)์ด๋ผ๊ณ  ํ•œ๋‹ค. ํ•™์Šต์ด ๊ณ„์† ์ง„ํ–‰๋˜๋‹ค ๋ณด๋ฉด (1โˆ’ฮฒ1)(1-\beta_1)์™€(1โˆ’ฮฒ2)(1-\beta_2)๋Š” ๊ฑฐ์˜ 1์— ๊ฐ€๊นŒ์›Œ์ง€๊ธฐ ๋•Œ๋ฌธ์—, m^,g^\hat m, \hat g๋Š”ย ๊ฒฐ๊ตญ mt,gtm_t, g_t์™€ ๊ฐ™์€ ๊ฐ’์ด ๋œ๋‹ค.
ํ•™์Šต๋ฅ 
ํ•™์Šต๋ฅ (ฮท\eta)์ด๋ž€ ์–ด๋–ค ๋น„์œจ๋งŒํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ• ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฐ’์œผ๋กœย 0๊ณผย 1์‚ฌ์ด์˜ย ๊ฐ’์œผ๋กœ์จย ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ์ด๋‹ค. ์—ฐ๊ตฌ๊ฒฐ๊ณผ์— ๋”ฐ๋ฅด๋ฉด, Adam ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ํ•™์Šต๋ฅ ์€ย 0.001์ด ๊ฐ€์žฅ ์ข‹์€ ์„ค์ • ๊ฐ’์ด๋ผ๊ณ  ์•Œ๋ ค์ ธ ์žˆ๋‹ค.
โ†’ Adam์— ์˜ํ•œ ์ตœ์ ํ™” ๊ฐฑ์‹  ๊ฒฝ๋กœ