Back to : deep-learning-study
Contents

  • ๋งŽ์€ ๋”ฅ๋Ÿฌ๋‹ ๋ฌธํ—Œ์—์„œ $x^i$๋ฅผ $i$๋ฒˆ์งธ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๋ฏธํ•˜๋Š”๋ฐ ์“ฐ๊ณ , $x_i$๋Š” $x$๋ฒกํ„ฐ์˜ $i$๋ฒˆ์งธ๋ฅผ ์˜๋ฏธํ•˜๋Š”๋ฐ ์”๋‹ˆ๋‹ค. ์ด ๊ด€ํ–‰์„ ๋”ฐ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋”ฅ๋Ÿฌ๋‹์˜ ๋ฌธ์ œ๋Š” ์ˆ˜ํ•™์  ๊ด€์ ์—์„œ ํ™˜์›ํ•˜๋ฉด ๊ฒฐ๊ตญ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์š”์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฏธ์ง€์˜ ํ•จ์ˆ˜ $f$์— ๋Œ€ํ•ด ์•Œ๊ณ ์ž ํ•˜๋Š”๋ฐ,
  • ๋ชจ๋“  ์ง€์ ์ด ์•„๋‹Œ ์–ด๋–ค ์ง€์  $x_i$ ๋“ค์—์„œ๋งŒ ๊ทธ ๊ฐ’ $f(x^i) = y^i$ ๋ฅผ ์•Œ๊ณ  ์žˆ๊ณ ,
  • ๊ทธ๋ž˜์„œ ์–ด๋–ค ํŽ˜๋„ํ‹ฐ $\ell$ ์„ ์ •์˜ํ•ด์„œ, $\sum_i \ell(f(x^i), g(x^i))$๊ฐ€ ์ž‘์€ $g$๋ฅผ $f$์˜ ๊ทผ์‚ฌ-ํ•จ์ˆ˜๋กœ ์ƒ๊ฐํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿฐ๋ฐ ์ด $g$๋ฅผ ๋ชจ๋“  ํ•จ์ˆ˜์˜ ๊ณต๊ฐ„์—์„œ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ,
  • ์–ด๋–ค parameter $\theta$ ์— ์˜ํ•ด ํ‘œํ˜„๋˜๋Š” ํ•จ์ˆ˜๊ณต๊ฐ„์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ $g_\theta$๋งŒ์„ ์ƒ๊ฐํ•˜๋ฉฐ,
  • $\minimize \sum_i \ell(f(x^i), g_\theta(x^i))$ by moving $\theta$๋กœ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ $f(x_i)$๋Š” ์ด๋ฏธ ์•Œ๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ๊ฒฐ๊ตญ์€ $\ell$ ์ด๋ผ๋Š” ํ•จ์ˆ˜๋Š” $\theta$์—๋งŒ ์˜์กดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์šฐ๋ฆฌ๋Š” $\ell(\theta)$๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” $\theta$๋ฅผ ์ฐพ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ์ด๋ฅผ ์ผ๋ฐ˜ํ™”ํ•ด์„œ, $\theta \in \R^n$ ์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด, $\ell : \R^n \to \R$ ํ•จ์ˆ˜์˜ ์ตœ์ ํ™” ๋ฌธ์ œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

  • ์ผ๋ฐ˜์ ์œผ๋กœ, $f$๊ฐ€ ๋ณผ๋ก(Convex) ํ•จ์ˆ˜์ธ ๊ฒฝ์šฐ์—๋Š” ์œ ์ผํ•œ ์ตœ์ ๊ฐ’์ด ์กด์žฌํ•˜๋ฉฐ, ์ถ”๊ฐ€๋กœ ๊ฐ•๋ณผ๋ก (Strictly Convex) ํ•จ์ˆ˜์ธ ๊ฒฝ์šฐ์—๋Š” ์ตœ์ ๊ฐ’์„ ์ฃผ๋Š” ์ตœ์  $\theta$๋„ ์œ ์ผํ•จ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ณผ๋กํ•จ์ˆ˜๋ฅผ ๋น„๋กฏํ•œ ์—ฌ๋Ÿฌ ์ข‹์€ ์„ฑ์งˆ์„ ๊ฐ€์ง„ ํ•จ์ˆ˜๋“ค์„ ์ตœ์ ํ™”ํ•˜๋Š”๊ฒƒ๋„ ๋งค์šฐ ํฅ๋ฏธ๋กœ์šด ์ด๋ก ๋“ค์ด ๋งŽ์ด ์žˆ์ง€๋งŒ, ์—ฌ๊ธฐ์„œ๋Š” ๊นŠ์ด ๋‹ค๋ฃจ์ง€๋Š” ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค.
  • Deep Learning์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ•จ์ˆ˜๋Š” ๋ณผ๋ก์„ฑ์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ๋‹น์—ฐํžˆ global minimum์„ ์ฐพ์„ ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Heuristicํ•˜๊ฒŒ ๊ทธ๋Ÿด๋“ฏํ•œ ์ž‘์€ ๊ฐ’์„ ์ฐพ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์—, ์—ฌ๊ธฐ ๋‚˜์˜จ ์–ด๋–ค ๋ง๋„ ์—„๋ฐ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ˆ˜๋ฆฌ๊ณผํ•™๋ถ€์— ํ•œ๋ฐœ ๊ฑธ์น˜๊ณ  ์žˆ๋Š” ์ œ๊ฒŒ๋Š” ์•ฝ๊ฐ„ ์˜์•„ํ•œ ๋ถ€๋ถ„์ด๊ธฐ๋„ ํ•œ๋ฐ, convex๋ฅผ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์—†์œผ๋ฉด์„œ๋„ convexํ•œ ํ•จ์ˆ˜์— ๋Œ€ํ•ด ์ฆ๋ช…ํ•œ ๋‹ค์Œ ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ž˜ ๋œ๋‹ค~ ๋ผ๊ณ  ์ฃผ์žฅํ•˜๊ฑฐ๋‚˜, convexํ•œ ํ•จ์ˆ˜์—์„œ์กฐ์ฐจ ์ˆ˜๋ ด์„ฑ์ด ์ฆ๋ช…์ด ์•ˆ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜(ADAM) ์„ ๋งˆ์Œ๊ป ์‚ฌ์šฉํ•˜๋Š” ๋“ฑ(โ€ฆ) ์กฐ๊ธˆ์€ ์‹ ๊ธฐํ•œ ๋ถ„์•ผ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์šฉ์ ์ธ ๊ฐ€์น˜๊ฐ€ ์ด์ชฝ์—์„œ๋Š” ๊ฐ€์žฅ ์šฐ์„ ์‹œ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด์ฉ”์ˆ˜ ์—†๋Š”๋“ฏ ์‹ถ์Šต๋‹ˆ๋‹ค.

์ฃผ์˜ ์ด ๊ธ€์„ ๋น„๋กฏํ•˜์—ฌ, optimizer๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋งŽ์€ ๊ธ€์—์„œ ์–ด๋–ค ํ…Œ์ŠคํŠธ ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์•„๋ฆ„๋‹ค์šด visualization์„ ์ด์šฉํ•˜์—ฌ ์ดํ•ด๋ฅผ ๋•์Šต๋‹ˆ๋‹ค. ๋งค์šฐ ํšจ๊ณผ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๊ณ  ์ €๋„ ์‹คํ—˜ํ•ด๋ณด๋ฉด์„œ ์žฌ๋ฐŒ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ €๋„ ์ง์ ‘ visualization์„ ๋งŽ์ด ๋งŒ๋“ค์–ด ๋ดค์ง€๋งŒ, ๊ทธ๋ž˜ํ”ฝ์„ ์ด์šฉํ•ด์„œ ์ดํ•ดํ•  ๋•Œ ์ฃผ์˜ํ•  ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋”ฅ ๋Ÿฌ๋‹ ๋ชจ๋ธ์€ ์ˆ˜์‹ญ๋งŒ, ์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, $\R^{1,000,000}$ ๊ฐ™์€ ๊ณต๊ฐ„์—์„œ ๋ญ”๊ฐ€๋ฅผ ์ตœ์ ํ™”ํ•œ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ ๋’ค์— ์„ค๋ช…ํ•  โ€œ์ข‹์€โ€ ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์ธ RMSProp, Adam ๋“ฑ๋“ฑ์€ ์ด๋Ÿฐ ๊ณ ์ฐจ์› ๊ณต๊ฐ„์—์„œ์˜ ์ตœ์ ํ™”๋ฅผ ๋น ๋ฅด๊ฒŒ ํ•  ๋ชฉ์ ์œผ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ๊ณผ๋Š” ๋‹ฌ๋ฆฌ ์šฐ๋ฆฌ์˜ ๊ทธ๋ž˜ํ”ฝ์€ $\R^2 \to \R$ ํ•จ์ˆ˜์˜ ์ตœ์ ํ™”๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์„ธํŒ…์ด ๋งŽ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๊ฐ€์žฅ ํฐ ์ฐจ์ด๋Š” learning rate์ธ๋ฐ, ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋งŽ๋‹ค๋Š”๊ฒƒ์€ ๊ทธ๋งŒํผ ๊ฐ ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋Œ€ํ•œ ์˜์กด๋„๋Š” ๋‚ฎ์•„์งˆ ๊ฒƒ์ด๊ณ  ๊ทธ๋Ÿฌ๋ฉด ๋ฏธ์„ธ์กฐ์ •์„ ์œ„ํ•œ ์ž‘์€ learning rate๊ฐ€ ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ $\R^2$ ๊ฐ™์€ ๋„ˆ๋ฌด ์ €์ฐจ์›์˜ ๊ณต๊ฐ„์—์„œ๋Š” Adam๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์€ learning rate๊ฐ€ ๊ฐ™์•„๋„ ํ›จ์”ฌ ์ˆ˜๋ ด์ด ๋А๋ฆฝ๋‹ˆ๋‹ค.

์ด๊ฑธ ๋ณด์ •ํ•˜๊ธฐ ์œ„ํ•ด, ๋‹ฌ๋ ค๋‚˜๊ฐ€๋Š” ์ ๋“ค์˜ ์ดˆ๋ฐ˜์˜ ์ด๋™ ์†๋„๊ฐ€ ๋น„์Šทํ•˜๋„๋ก ์˜๋„์ ์œผ๋กœ learning rate๋ฅผ ์กฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ด ๊ทธ๋ž˜ํ”ฝ์„ ๋ณด๊ณ  โ€œ์•„ Adam์ด ๋น ๋ฅด๊ตฐโ€ ์ด๋Ÿฐ ์ƒ๊ฐ์„ ํ•˜๋Š” ๊ฒƒ์€ ์˜ฌ๋ฐ”๋ฅธ ์ดํ•ด๊ฐ€ ์•„๋‹ ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”ฝ์€ ์–ด๋””๊นŒ์ง€๋‚˜ ๊ธ€๋กœ ์„ค๋ช…ํ•œ ๋ฐ”๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•œ ์˜ˆ์‹œ์ด๋ฏ€๋กœ, ๋งŽ์€ ํŠœ๋‹์ด ๊ฐ€ํ•ด์กŒ์Œ์„ ์—ผ๋‘์— ๋‘๊ณ , ๋งํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐ”๊ฐ€ ๋ฌด์—‡์ธ์ง€๋ฅผ ํŒŒ์•…ํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด ๋ถ„์•ผ์— ๋Œ€ํ•œ ์ œ ์ดํ•ด๋„ ์•„์ง ๋งŽ์ด ๋ถ€์กฑํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์„ค๋ช…์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ๋ณด๊ฐ•ํ•  ์ , ๋†“์นœ ์ ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ“๊ธ€ ๋“ฑ์œผ๋กœ ํ”ผ๋“œ๋ฐฑ์€ ํ•ญ์ƒ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค :)

(Stochastic) Gradient Descent

์ด ๊ธ€์—์„œ๋Š” ๋…์ž๊ฐ€ gradient descent๋ฅผ ์ดํ•ดํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ง€๋งŒ, ํ˜น์‹œ ์•„๋‹ˆ๋ผ๋ฉด Gradient Descent์— ๋Œ€ํ•œ ํฌ์ŠคํŒ… ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.

Gradient Descent๋Š” ํ•œ ์Šคํ… ํ•œ ์Šคํ…์ด ๋„ˆ๋ฌด ๋А๋ฆฌ๊ธฐ ๋–„๋ฌธ์— (๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฐ”ํ€ด ๋Œ์•„์•ผ ํ•ด์„œ), ๋Œ€์‹  ํ•œ ๋ฐ์ดํ„ฐ ๋˜๋Š” ์†Œ์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋กœ ์ž์ฃผ ๋ฐŸ๋Š” stochastic gradient descent๊ฐ€ ๊ธฐ๋ณธ์ด ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์ธ SGD์— ๋Œ€ํ•ด์„œ๋Š” Stochastic Gradient Descent ํฌ์ŠคํŒ… ์—์„œ ๋‹ค๋ฃจ์—ˆ์Šต๋‹ˆ๋‹ค. (์–ธ์  ๊ฐ€ ๋ฆฌํผ๋  ์˜ˆ์ •) ์ดํ•˜์˜ ๋ชจ๋“  ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์€ ์–ด๋–ค์‹์œผ๋กœ๋“  SGD์— ๊ธฐ๋ฐ˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, SGD์˜ ์‹์€ ํ•œ๋ฒˆ ๋ฆฌ๋ทฐํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

\[i(k) \sim \uniform{1}{N},\quad \theta^{k+1} = \theta^k - \alpha \nabla{f_{i(k)}(\theta^k)}\]

์—ฌ๊ธฐ์„œ $\nabla f_{i(k)}$ ๋Œ€์‹  ๋‹ค๋ฅธ ์ ๋‹นํ•œ $g_k$๋ฅผ ์žก์•„๋„ ๋˜๋Š”๋ฐ (Batched-gradient), ๋Œ€์‹  $g_k$๋Š” $\nabla F(x^k)$ ์˜ Unbiased Estimator ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ข€๋” ์‹์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์“ฐ๊ธฐ ์œ„ํ•ด, ์•ž์œผ๋กœ $i(k)$ ์˜ ์„ ํƒ์€ ๋…ผ์˜ํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๊ฑด ๊ทธ๋ƒฅ ๋žœ๋คํ•˜๊ฒŒ ๋Œ๋ฆฌ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์œ„ SGD๋ฅผ ๋‹ค์‹œ ์“ธ ๋•Œ,
\(\theta^{k+1} = \theta^k - \alpha g^k\) ์ด๋ ‡๊ฒŒ๋งŒ ์“ฐ๋”๋ผ๋„, $g^k$๋ฅผ ๋žœ๋คํ•˜๊ฒŒ ๊ณจ๋ผ์ง„ index $i(k)$์— ๋Œ€ํ•œ (๋˜๋Š”, batch๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ batch-gradient) $\nabla f_i(k)$์˜ ๊ฐ’์œผ๋กœ ์ฝ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. Batch์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์–˜๊ธฐ๋Š” ์œ„์— ๋งํฌ๊ฑธ๋ฆฐ SGD ํฌ์ŠคํŒ…์„ ์ฝ์–ด์ฃผ์„ธ์š”.

์—ฌ๊ธฐ์„œ ๋‹ค๋ฅธ๊ฑด ๋Œ€๋ถ€๋ถ„ ํฐ ๋ฌธ์ œ๊ฐ€ ์—†๋Š”๋ฐ, $\alpha$, learning rate์˜ ์„ ํƒ์ด ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. Learning rate๊ฐ€ ๋„ˆ๋ฌด ํฌ๊ฑฐ๋‚˜ ์ž‘์œผ๋ฉด ์ตœ์ ํ™”๊ฐ€ ์ž˜ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • Learning rate๊ฐ€ ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด, ํ•จ์ˆ˜๊ฐ’์˜ ์ˆ˜๋ ด์ด ๋„ˆ๋ฌด ๋А๋ฆฝ๋‹ˆ๋‹ค.
  • Learning rate๊ฐ€ ๋„ˆ๋ฌด ํฌ๋ฉด, ๋ชฉํ‘œํ•˜๋Š” ์ ์„ ์ง€๋‚˜์ณ์„œ ์ˆ˜๋ ดํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. picture 1 (์‚ฌ์ง„์ถœ์ฒ˜ : https://www.deeplearningwizard.com/deep_learning/boosting_models_pytorch/lr_scheduling/)

์ผ๋ฐ˜์ ์œผ๋กœ ์ข‹์€ Learning rate๋ฅผ ์žก๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๊ฒƒ์€ ์•„๋‹ˆ๊ณ , ๋Œ๋ ค๋ณด๋ฉด์„œ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Momentum SGD

์ € $\alpha$๊ฐ€ ์ƒ์ˆ˜์—ฌ์•ผ ํ•  ์ด์œ ๋Š” ๋ณ„๋กœ ์—†์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋งŒ์•ฝ ๋งค ์ˆœ๊ฐ„ ํ˜„์žฌ ์‹œ์ ๊นŒ์ง€ ์•Œ๊ณ ์žˆ๋Š” ์–ด๋–ค ์ •๋ณด๋ฅผ ์ด์šฉํ•ด์„œ learning rate๋ฅผ ์กฐ์ •ํ•ด ์ค„ ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋” ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Momentum์ด๋ž€, SGD์— โ€œ์ด์ „์— ๊ฐ”๋˜ ๋ฐฉํ–ฅ์œผ๋กœ ์กฐ๊ธˆ ๋” ๊ฐ€๊ณ ์ž ํ•˜๋Š”โ€ ๊ด€์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์„ ๋จผ์ € ์ˆ˜์‹์œผ๋กœ ์“ฐ๋ฉดโ€ฆ \(\begin{align*} v^{k+1} &= g^k + \beta v^k \\ \theta^{k+1} &= \theta^k - \alpha v^{k+1} \end{align*}\) ์ฆ‰, โ€˜๋ฐฉ๊ธˆ ์ „์— ๊ฐ”๋˜ ์†๋„๋ฒกํ„ฐ์˜ $\beta$๋ฐฐโ€™ ๋ฅผ ํ˜„์žฌ ๊ฐ€๊ณ ์‹ถ์€ ๋ฐฉํ–ฅ (gradient)์— ๋”ํ•ด์ฃผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ „์— ๊ฐ”๋˜ ๋ฐฉํ–ฅ์œผ๋กœ ๊ณ„์† ๊ฐ€๋ ค๋Š” ๊ฒฝํ–ฅ์„ฑ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋Ÿฐ ํ•จ์ˆ˜๋ฅผ ์ƒ๋Œ€์ ์œผ๋กœ ๋น ๋ฅด๊ฒŒ ํƒˆ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. picture 2
์ž˜ ๋ณด๋ฉด, $x$๋ฐฉํ–ฅ์œผ๋กœ๋Š” gradient์— ๋น„ํ•ด ๊ฐ€์•ผํ•  ๊ฑฐ๋ฆฌ๊ฐ€ ๋จผ๋ฐ ๋น„ํ•ด $y$๋ฐฉํ–ฅ์€ gradient๊ฐ€ ๋งŽ์ด ๋ณ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜ SGD๋Š” ํ›„๋ฐ˜ (valley๋ฅผ ๋‚ด๋ ค์˜จ ํ›„)์— gradient๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„์„œ ํ•™์Šต์ด ์ž˜ ๋˜์ง€ ์•Š๋Š” ๋ฐ˜๋ฉด, Momentum์ด ์ถ”๊ฐ€๋œ SGD๋Š” ์ด์ „์— ๊ฐ”๋˜ ๋ฐฉํ–ฅ์„ ์ž˜ ์ด์šฉํ•ด์„œ ๋น ๋ฅด๊ฒŒ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, ์ž‘์€ learning rate๋ฅผ ์“ธ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋˜ํ•˜๋‚˜์˜ ๋ฌธ์ œ๋Š” ์ž‘์€ local minima๋ฅผ ์ง€๋‚˜์น˜์ง€ ๋ชปํ•˜๊ณ  ๋ฌถ์—ฌ๋ฒ„๋ฆฌ๋Š” ํ˜„์ƒ์ž…๋‹ˆ๋‹ค. ์ด๋•Œ momentum์€ local minima์—์„œ ๋น ์ ธ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ๊ฐ€๋Šฅ์„ฑ์„ ์ œ๊ณตํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜ ๊ทธ๋ฆผ์€ ์ข€ ์–ด๊ฑฐ์ง€๋กœ ๋ผ์›Œ๋งž์ถ˜ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๋งŒ๋“  ์˜ˆ์‹œ์ง€๋งŒ, (4, 1) ๋ถ€๊ทผ์˜ ์•„์ฃผ ์ž‘์€ local minima๋ฅผ ์ง€๋‚˜์น˜์ง€ ๋ชปํ•˜๋Š” SGD์™€ momentum์˜ ํž˜ (๊ด€์„ฑ) ์œผ๋กœ ์ง€๋‚˜์ณ์„œ global minima๋ฅผ ํ–ฅํ•ด ๊ฐ€๋Š” momentum SGD๋ฅผ ๋น„๊ตํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. picture 3

Nesterov Accelerated Gradient

NAG๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋Š” ์ด ๋ฐฉ๋ฒ•์€, ์•„๋ž˜ ๋„์‹์—์„œ๋„ ์•Œ ์ˆ˜ ์žˆ๋“ฏ momentum์„ ์“ฐ๋˜, ๋ฐฉ๊ธˆ์ „์˜ momentum๊ณผ ์—ฌ๊ธฐ์˜ gradient๋ฅผ ํ•ฉ์น˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๋ฐฉ๊ธˆ์ „์˜ momentum์€ ์–ด์ฐจํ”ผ ๊ฐˆ ๊ฒƒ์ด๋ฏ€๋กœ ๊ทธ๋งŒํผ์„ ์ผ๋‹จ ๋ฌด์ž‘์ • ๊ฐ„ ๋‹ค์Œ ๊ฑฐ๊ธฐ์„œ gradient๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. picture 4
(์‚ฌ์ง„ ์ถœ์ฒ˜ : stanford CS231)

์ง๊ด€์ ์œผ๋กœ, ์ด ๋ฐฉ๋ฒ•์ด ๋ณด๋‹ค ์ž˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์€ ์ด์œ ๋Š” momentum SGD๊ฐ€ ๊ฐ–๋Š” ๋น ๋ฅธ ์ˆ˜๋ ด์†๋„ (๊ด€์„ฑ) ์„ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ์ข€๋” ์•ˆ์ •์ ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด momentum ๋ฐฉํ–ฅ์ด $-y$ ๋ฐฉํ–ฅ์ด๊ณ , ์ง€๊ธˆ์˜ gradient๋„ $-y$๋ฐฉํ–ฅ์ด๋ผ์„œ $-y$๋กœ ํ•œ์ฐธ๋™์•ˆ ๊ฐ€๋ณด๋‹ˆ๊นŒ ๋‹ค์‹œ $+y$ ๋ฐฉํ–ฅ gradient๊ฐ€ ์žˆ๋Š” ์ƒํ™ฉ์„ ์ƒ๊ฐํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” momentum SGD๊ฐ€ ๊ด€์„ฑ๋•Œ๋ฌธ์— ๋ฐ˜๋Œ€๋กœ ์ง„๋™ํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค๋Š” ๋œป์ธ๋ฐ, NAG๋Š” ์ด๋•Œ momentum๋งŒํผ์„ ๊ฐ€๋ณธ๋‹ค์Œ ๊ฑฐ๊ธฐ์„œ gradient๋ฅผ ์žฌ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฐ ์ง„๋™์ด ๋œํ•ฉ๋‹ˆ๋‹ค.

์œ„์—์„œ ๋ณธ parabolaํ˜•ํƒœ์—์„œ, ์ข€ ํฐ learning rate๋ฅผ ์žก์•„์„œ momentum์ด ์ข€ ํฌ๊ฒŒ ์ง„๋™ํ•˜๊ฒŒ ๋งŒ๋“ค๋ฉด ์ด๋Ÿฐ ์žฌ๋ฐŒ๋Š” ์˜ˆ์‹œ๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค. picture 5
SGD๋Š” ์ € ๋ฉ€๋ฆฌ์„œ ๋‹ค์‹œ ํ‰๋ฉด์„ ๊ธฐ์–ด๋‹ค๋‹ˆ๊ณ  ์žˆ๊ณ  (โ€ฆ) ๋ชจ๋ฉ˜ํ…€์€ ์œ„์•„๋ž˜ ์ง„๋™์ด ๋„ˆ๋ฌด ํฐ๋ฐ ๋น„ํ•ด, NAG๊ฐ€ ์ข€๋” ์•ˆ์ •์ ์œผ๋กœ ์›€์ง์ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

RMSProp

G.Hinton. Lecture Notes for csc321

RMSProp์€ ์ธ๊ณต์ง€๋Šฅ ๋ถ„์•ผ์˜ ์„ ๊ตฌ์ž์ด์ž ์ตœ๊ณ ์˜ big name์ค‘ ํ•˜๋‚˜์ธ Geoffry Hinton ๊ต์ˆ˜๋‹˜์˜ Coursera ๊ฐ•์˜์—์„œ ์ฒ˜์Œ ์†Œ๊ฐœ๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ๋Œ€๋žต์ ์ธ ์•„์ด๋””์–ด๋Š”, $g^k$์˜ ์ง€๊ธˆ๊นŒ์ง€์˜ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๋ณผ ๋•Œ, ๋ณ€๋™์ด ์ข€ ์‹ฌํ•œ ๊ฐ’์€ ์ง„๋™์ค‘์ธ ๊ฐ’์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„ ๋ณด์ด๋ฏ€๋กœ ๊ทธ๋งŒํผ learning rate๋ฅผ ๊นŽ์•„์„œ ์ ์šฉํ•˜๊ฒ ๋‹ค๋Š” ์•„์ด๋””์–ด์ž…๋‹ˆ๋‹ค. ์ฆ‰ $g^k$์˜ ๊ฐ โ€œ๋ฐฉํ–ฅโ€ ๋งˆ๋‹ค, ๋‹ค๋ฅธ learning rate๋ฅผ ์ ์šฉํ•œ๋‹ค๋Š” ์•„์ด๋””์–ด๊ฐ€ ํ•ต์‹ฌ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด, $(g^k_i)^2$์˜ estimation์„ $(m^k)_i$ ๋กœ ์ •์˜ํ•˜๊ณ , ์ด ๊ฐ’์˜ square root๋กœ ๋‚˜๋ˆ  ์ค๋‹ˆ๋‹ค. ์ฆ‰ ์–ด๋–ค ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฐฉํ–ฅ์œผ๋กœ์˜ ์ง€๊ธˆ๊นŒ์ง€์˜ gradient๊ฐ’์˜ โ€œRoot Mean Square averageโ€ ๋งŒํผ์„ ์ด์šฉ, ๋ณ€๋™์ด ์‹ฌํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋ฌด์—‡์ธ์ง€๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ, gradient์˜ ๋ณ€๋™์ด ๊ฑฐ์˜ ์—†์œผ๋ฉด ๋น„๊ต์  smoothํ•œ ๊ธธ์„ (๊ธฐ์šธ์–ด์ ธ ์žˆ์„ ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ๋ณ€๋™์ด ์‹ฌํ•˜์ง€ ์•Š์€) ๊ฐ€๊ณ  ์žˆ์„ ๊ฒƒ์ด๋ฏ€๋กœ, ์ข€ ๊ณผ๊ฐํ•˜๊ฒŒ ๊ฐ€๋„ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์ˆ˜์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. \(\begin{align*} m^k &= \beta_2 m^{k-1} + (1 - \beta_2) (g^k \odot g^k) \\ x^{k+1} &= x^k - \alpha g^k \oslash \sqrt{m^k + \epsilon} \end{align*}\) ์—ฌ๊ธฐ์„œ ๋ณดํ†ต $\beta_2$ ๊ฐ’์€ 0.99 ์ •๋„๋ฅผ ์“ฐ๊ณ , ์œ„ ์‹์—์„œ $\odot$ ์™€ $\oslash$ ๋Š” elementwise ๊ณฑ์…ˆ๊ณผ ๋‚˜๋ˆ—์…ˆ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์œ„ ์‹์„ ๋ณด๋ฉด, $m^k$๋Š” (์ด์ „ $m^k$์˜ 0.99๋ฐฐ) ์™€ (ํ˜„์žฌ gradient์˜ ๊ฐ ๋ฐฉํ–ฅ๋ณ„ ๊ฐ’์˜ ์ œ๊ณฑ์˜ 0.01๋ฐฐ)๋ฅผ ๋”ํ•ด์„œ ๋งŒ๋“ค์–ด์ง€๋Š”๋ฐ, ์ด๋Š” ์ฆ‰ ์ด์ „์˜ gradient๋“ค์ด ์ ์  ์˜ํ–ฅ์„ ๋œ ๋ฏธ์น˜๋Š” (์ฆ‰, ๊ฐ€์ค‘ํ‰๊ท ์„ ๋‚ด๋˜, ์ตœ๊ทผ๊ฐ’์ด ์ข€๋” ์ž˜ ๋ฐ˜์˜๋˜๋„๋ก ํ•˜๋Š” ๊ฐ€์ค‘ํ‰๊ท , ์ด๋ฅผ โ€œExponentially (decaying) moving averageโ€ ๋ผ ํ•ด์„œ EMA๋ผ ์”๋‹ˆ๋‹ค) ํ˜•ํƒœ์˜ ์‹์ž„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. $\epsilon$์€ ์‹ค์ˆ˜์˜ค์ฐจ์— ๋”ฐ๋ผ ์Œ์ˆ˜์˜ square root๋ฅผ ์ทจํ•˜๋Š” (์ˆ˜ํ•™์ ์œผ๋กœ๋Š” $m^k$์˜ ๊ฐ ๊ฐ’์ด ์Œ์ˆ˜๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์—†์ง€๋งŒ, ๊ณ„์‚ฐํ•ด์„œ 0์ธ ๊ฐ’์€ ์‹ค์ˆ˜์˜ค์ฐจ๋•Œ๋ฌธ์— 0์— ๋งค์šฐ ๊ฐ€๊นŒ์šด ์Œ์ˆ˜์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค) ํ”„๋กœ๊ทธ๋žจ์ ์ธ ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€๋œ ๊ฐ’์œผ๋กœ, ์ˆ˜ํ•™์ ์œผ๋กœ๋Š” ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

RMSProp์„ ๋น„๋กฏํ•˜์—ฌ, ์ดํ›„์— ๋‹ค๋ฃฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์—๊ฒŒ parabola๋Š” ๋„ˆ๋ฌด ์‰ฌ์šด ์ผ€์ด์Šค์ด๋ฏ€๋กœ Bealeโ€™s function์œผ๋กœ ๊ทธ๋ž˜ํ”ฝ์„ ๊ทธ๋ ค๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. picture 5
๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ทน์ดˆ๋ฐ˜ ๋ช‡๋ฒˆ์€ ์†๋„๊ฐ€ ๋น„์Šทํ–ˆ์ง€๋งŒ, SGD๋Š” gradient๊ฐ€ ์ž‘์•„์ง€๋ฉด ๊ฐˆ๊ณณ์„ ์žƒ๋Š” ๋ฐ˜๋ฉด NAG๋‚˜ RMSProp์€ ๊ด€์„ฑ์˜ ํž˜์œผ๋กœ ์ข€ ๋น ๋ฅด๊ฒŒ ๋‚˜์•„๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์•ฝ๊ฐ„ ๋ถˆ์•ˆ์ •ํ•œ ๋ชจ์Šต์„ ๋ณด์ด๋Š”๋ฐ, RMSProp์ด ์ข€๋” ๋น ๋ฅด๊ฒŒ ์ œ ๊ธธ์„ ๋Œ์•„์˜ค๋Š” ๋ชจ์Šต๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Adam

D. P. Kingma and J. Ba, Adam: A method for stochastic optimization, ICLR, 2015.

Adam์€ Adaptive Moment ์˜ ์•ฝ์ž๋กœ, ๊ฐ„๋‹จํžˆ ์š”์•ฝํ•˜๋ฉด Momentum-SGD์™€ RMSProp์„ ์„ž์–ด๋†“์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค.

  • Momentum-SGD์—์„œ ๊ฐ€์ ธ์˜ค๋Š” ์•„์ด๋””์–ด๋Š”, $g^k$ ๋Œ€์‹  ๋ชจ๋ฉ˜ํ…€์„ ํฌํ•จํ•œ gradient ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • RMSProp์˜ $(g^k_i)^2$์˜ running average๋ฅผ ์ทจํ•˜๋Š” ์•„์ด๋””์–ด๋ฅผ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  • ๋‹จ, Momentum๋„ RMSProp์ฒ˜๋Ÿผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ง์ด ๋ฌด์Šจ ๋œป์ธ์ง€๋Š” ์ˆ˜์‹์„ ๋ณด๋ฉด์„œ ์–˜๊ธฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. \(\begin{align*} m_1^k &= \beta_1m_1^{k-1} + (1-\beta_1)g^k, \tilde{m_1^k} = \frac{m_1^k}{1 - \beta_1^{k+1}} \\ m_2^k &= \beta_2 m_2^{k-1} + (1 - \beta_2) g^k \odot g^k, \tilde{m_2^k} = \frac{m_2^k}{1 - \beta_2^{k+1}} \\ x^{k+1} &= x^k - \alpha \tilde{m_1}^{k} \oslash \sqrt{\tilde{m_2}^k + \epsilon} \end{align*}\)

์ˆ˜์‹์—์„œ, $m_1$์€ $g$๊ฐ’์˜ EMA๊ณ  (์ด ํ‘œํ˜„์€ ๋ฐ”๋กœ ์œ„ RMSProp์—์„œ ์ผ์Šต๋‹ˆ๋‹ค), $m_2$ ๊ฐ’์€ $g \odot g$ ์˜ EMA์ž…๋‹ˆ๋‹ค.

  • ์ผ๋ฐ˜์ ์œผ๋กœ, $\beta_1 = 0.9$, $\beta_2 = 0.99$๋ฅผ ๋งŽ์ด ์”๋‹ˆ๋‹ค.
  • $\tilde{m_1}$ ์„ ์“ฐ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๊ฑด ์ฒ˜์Œ์— $m_1, m_2$ ์˜ ๊ฐ’์„ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฑธ 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•  ์ˆ˜๋ฐ–์— ์—†์–ด์„œ์ž…๋‹ˆ๋‹ค. 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ $m_1, m_2$ ๋•Œ๋ฌธ์— ์ดˆ๋ฐ˜ gradient๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ฐ˜์˜๋˜์ง€ ์•Š๋Š” ์ผ์„ ๋ง‰๊ธฐ ์œ„ํ•ด (์•ˆ๊ทธ๋Ÿฌ๋ฉด ์ฒ˜์Œ $m_1$์€ $g_1$์˜ 1/10์— ๋ถˆ๊ณผํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค), ์ด๋ฅผ bias-correctionํ•ด ์ค๋‹ˆ๋‹ค.

Adam์€ ํ˜„๋Œ€ Deep Learning์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ, CNN๊ฐ™์€๊ฑธ trainingํ•˜๋Š”๋ฐ ๋ญ˜ ์“ธ์ง€ ๋ชจ๋ฅด๋ฉด ๊ทธ๋ƒฅ Adam์„ ์จ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ทธ์ •๋„์˜ ์ค‘์š”๋„๋ฅผ ๊ฐ€์ง„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๊ธฐ ๋•Œ๋ฌธ์—, ์—ญ์œผ๋กœ ์—ฌ๊ธฐ์„œ๋Š” ์งง๊ฒŒ๋งŒ ๋‹ค๋ฃจ๊ณ  ์–ธ์  ๊ฐ€ CS-Adventure ํฌ์ŠคํŒ…์œผ๋กœ Adam ๋…ผ๋ฌธ์„ ์ฝ๊ณ  ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์žฌ๋ฐŒ๋Š” ์ผํ™”๋กœ, 2018 ICML์—๋Š” Adam์˜ ๋ณผ๋กํ•จ์ˆ˜์— ๋Œ€ํ•œ ์ˆ˜๋ ด์„ฑ์˜ ๋ฐ˜๋ก€๋ฅผ ์ฐพ์€ ๋…ผ๋ฌธ์ด ๋ฐœํ‘œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Adam์˜ ์›๋ณธ ๋…ผ๋ฌธ์—๋Š” โ€œConvexํ•˜๋ฉด ์ˆ˜๋ ดํ•œ๋‹คโ€ ๋Š” ์ฆ๋ช…์ด ์žˆ๋Š”๋ฐ, ์ด ์ฆ๋ช…์—๋Š” ์˜ค๋ฅ˜๊ฐ€ ์žˆ๊ณ , ์‹ค์ œ๋กœ๋Š” ๋ณผ๋กํ•จ์ˆ˜๋ผ๋Š” ์กฐ๊ฑด ํ•˜์—์„œ๋„ ์ˆ˜๋ ดํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Nevertheless, ์–ด์ฐจํ”ผ ๊ทธ๋™์•ˆ Adam ์“ฐ๋˜๊ฒŒ ๋ณผ๋กํ•จ์ˆ˜์—์„œ ์ž˜ ์ˆ˜๋ ดํ•ด์„œ ์“ฐ๋Š”๊ฒŒ ์•„๋‹ˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ์˜์น˜ ์•Š๊ณ  ๋‹ค๋“ค ์ž˜ ์“ฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Bealeโ€™s function์œผ๋กœ ๊ทธ๋ž˜ํ”ฝ์„ ๊ทธ๋ ค๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. picture 5

๋งจ ์œ„์˜ ์ฃผ์˜์—์„œ๋„ ๋งํ–ˆ์ง€๋งŒ, ์ด๊ฑด ์ ˆ๋Œ€ ๊ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์˜ ๊ณต์ •ํ•œ ๋น„๊ต๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ดˆ๋ฐ˜ ๋ช‡๋ฒˆ์˜ ์†๋„๊ฐ€ (๋ˆˆ์œผ๋กœ ๋ณด๊ธฐ์—) ๋น„์Šทํ•˜๋„๋ก ์–ต์ง€๋กœ learning rate๋ฅผ ํ‚ค์›Œ์„œ ๋งž์ท„๋Š”๋ฐ (์•ˆ๊ทธ๋Ÿฌ๋ฉด โ€˜์•ˆ์ •์„ฑโ€™ ๋•Œ๋ฌธ์— Adam์ด ์ดˆ๋ฐ˜์— ๋„ˆ๋ฌด ๋А๋ฆฝ๋‹ˆ๋‹ค), ์šฐ๋ฆฌ๊ฐ€ ๊ฒจ์šฐ ์ˆ˜๋ฐฑ๊ฐœ์˜ ์ ์— ๋Œ€ํ•ด ํ•ด๋ณด๋Š”๊ฒƒ๊ณผ๋Š” ๋‹ฌ๋ฆฌ ์‹ค์ œ ๋”ฅ๋Ÿฌ๋‹์—์„œ๋Š” ์ˆ˜์ฒœ ์ˆ˜๋งŒ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ญ๋ฐ”ํ€ด ์ด์ƒ์”ฉ ๋Œ๋ฆด๊ฑฐ๋ผ์„œ ๊ทผ๋ณธ์ ์ธ ๋ชฉํ‘œ๊ฐ€ ์ข€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ํ•จ์ˆ˜์˜ ๋ณต์žก๋„๋„ ๋งŽ์ด ๋‹ค๋ฅด๊ณ โ€ฆ์ด ๊ทธ๋ฆผ์€, SGD-NAG์˜ lr์ด 0.0015์ด๊ณ , Adam์˜ LR์ด 0.7์ž…๋‹ˆ๋‹ค. ๋ณ€๋ช…์„ ์กฐ๊ธˆ ํ•˜์ž๋ฉด, SGD๋Š” LR 0.1๋„ ๊ฐ๋‹น์„ ๋ชปํ•˜๊ณ  ์ˆ˜๋ ด์„ ๋ชป์‹œํ‚ค๋Š”๋ฐ ๋น„ํ•ด ์ด๋ ‡๊ฒŒ ๋†’์€ LR๋กœ๋„ ์ˆ˜๋ ด์‹œํ‚ค๋Š”๊ฒŒ ๋‹ฌ๋ฆฌ๋งํ•˜๋ฉด Adam์˜ ์•ˆ์ •์„ฑ์„ ๋ณด์—ฌ์ค€๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ, Adam๊ณผ ๊ฐ™์€ Adaptive rate (RMSProp๋„ ๋งˆ์ฐฌ๊ฐ€์ง€) ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์€ ๊ทธ ์ˆ˜๋ ด ์†๋„๊ฐ€ ๋งค์šฐ ๋น ๋ฅด์ง€๋งŒ, ๊ฐ€๋” ์–ด๋–ค ์˜ˆ์‹œ์—์„œ๋Š” ์ž˜ ์ˆ˜๋ ดํ•˜์ง€ ๋ชปํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ๋Š” SGD๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์ด (์ถฉ๋ถ„ํžˆ learning rate๋ฅผ ์ž˜ ํŠœ๋‹ํ•˜๋ฉด) ์ผ๋ฐ˜์ ์œผ๋กœ ์ˆ˜๋ ด์„ฑ์ด ์ข‹๋‹ค๊ณ  ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

Other algorithms

์—ฌ๊ธฐ์„œ ๋‹ค๋ฃจ์ง€ ์•Š์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘์—๋„ ์žฌ๋ฐŒ๊ณ  ์œ ์šฉํ•œ๊ฒŒ ๋งŽ์Šต๋‹ˆ๋‹ค.

  • AMSGrad (Reddi et al, 2018) : Adam์˜ ์ˆ˜๋ ด์„ฑ์ด ์„ฑ๋ฆฝํ•˜์ง€ ์•Š์Œ์„ ์ง€์ ํ•œ ๋…ผ๋ฌธ์—์„œ ๊ทธ ๋Œ€์•ˆ์œผ๋กœ ๋“ค๊ณ  ๋‚˜์˜จ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ์–ธ์  ๊ฐ€ Adam์— ๋Œ€ํ•ด ์ž์„ธํžˆ ๊ณต๋ถ€ํ•  ๋•Œ Adam + Convexity์˜ ๋ฐ˜๋ก€ + AMSGrad๋กœ ๋‹ค๋ฃจ๋ ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • NAdam (Dozat, 2016) : Adam์˜ $m_1$์„ Nesterov ๋ฐฉ์‹์œผ๋กœ ๋ฐ”๊พผ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
  • AdamW (Loshchilov et al, 2017) : Adam ์— regularization์„ ์ ๊ทน์ ์œผ๋กœ ๋„์ž…ํ•ด์„œ Adam์˜ generalization issue๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์–ธ์  ๊ฐ€ ๋‹ค๋ฃฐ ์ˆ˜๋„? ์žˆ์Šต๋‹ˆ๋‹ค.
  • AdaDelta, AdaGrad, AdaMax : Adaptive rate ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์ด ๊ต‰์žฅํžˆ ๋‹ค์–‘ํ•˜๊ฒŒ ์žˆ๋Š”๋ฐ, ์•ฝ๊ฐ„์”ฉ ๋‹ค๋ฅธ ์•„์ด๋””์–ด๊ฐ€ ์žˆ์ง€๋งŒ ๊ธฐ๋ณธ ์•„์ด๋””์–ด (gradient์™€ ๊ทธ square ๋“ฑ์„ EMAํ•ด์„œ ๊ณ„์‚ฐ) ๋ ˆ๋ฒจ์—์„œ๋Š” ๋‹ค๋ฅด์ง€ ์•Š์œผ๋ฏ€๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค.
  • BFGS๋ฅผ ๋น„๋กฏํ•œ 2nd-order methods : ์ˆ˜ํ•™์ ์œผ๋กœ ํฅ๋ฏธ๋กญ์ง€๋งŒ ์ด ๊ธ€์—์„œ๋Š” ์ผ๋ถ€๋Ÿฌ ์–ธ๊ธ‰์„ ํ”ผํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฐจํ›„์— ๋‹ค๋ฃฐ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.