Momentum
Momentum(๊ด์ฑ)์ ์ฌ์ ์ ์ ์๋ ์ธ๋ถ์์ ํ์ ๋ฐ์ง ์๋ ํ ์ ์งํด ์๊ฑฐ๋ ์ด๋ ์ํ๋ฅผ ์ง์ํ๋ ค๋ ์ฑ์ง์ด๋ค. ์๋ฅผ ๋ค์ด, ๊ฒฝ์ฌ์ง ๊ณณ์์ ๋์ ๊ตด๋ฆฌ๋ฉด ๊ณ์ํด์ ์๋๋ก ๊ตด๋ฌ๊ฐ๋ ค๋ ์ฑ์ง์ด๋ค.
์ด๋ฌํ ์ฑ์ง์ ํ์ฉํ์ฌ ๊ณ ์๋ Momentum์ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ์ผ๋ก ์ด๋ํ ๋ ๊ด์ฑ์ ๋ถ์ฌํ๋ ์ต์ ํ ๊ธฐ๋ฒ์ด๋ค.
์ฆ, Momentum์ ์ด์ ์ ์ด๋ํ๋ ๋ฐฉํฅ์ ๊ธฐ์ตํ๋ฉด์ ์ด์ ๊ธฐ์ธ๊ธฐ์ ํฌ๊ธฐ๋ฅผ ๊ณ ๋ คํ์ฌ ์ด๋ ์ ๋ ์ถ๊ฐ๋ก ์ด๋์ํจ๋ค.
์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ข์ธก์์๋ถํฐ ๊ฒฝ์ฌํ๊ฐ๋ฒ์ผ๋ก ์์ค ํจ์๋ฅผ ์ค์ฌ๋๊ฐ๋ค๊ฐ Local Minimum์ ๋น ์ง ์ ์๋ ์ํฉ์์ Momentum ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ฉด ์ด์ ๊ธฐ์ธ๊ธฐ์ ํฌ๊ธฐ๋ฅผ ๊ณ ๋ คํด ์ถ๊ฐ๋ก ์ด๋ํ๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๋น ์ ธ๋๊ฐ ์ ์๋ค.
์ดํ ๊ทธ๋ฆผ์ Global Minimum์ด๋ผ๊ณ ํ์ํ ์ง์ ์ ๋๋ฌํ์ ๋๋ ์ถ๊ฐ์ ์ธ ๊ด์ฑ์ ๋ฐ์๋ ๋ ์ฌ๋ผ๊ฐ ์ ์๊ธฐ ๋๋ฌธ์ ์ด ์ง์ ์ด Global Minimum์ด ๋๋ค. ์ด์ฒ๋ผ Momentum์ Local Minimum์ ๋น ์ง๋ ๊ฒฝ์ฐ๋ฅผ ๋์ฒํ ์ ์๋ค๋ ํน์ง์ด ์๋ค.
Momentum์ ์์์ผ๋ก ๋ํ๋ด๋ฉด ์๋์ ๊ฐ๋ค.
โข
: ๋ฒ์งธ time step์์ ์ ์ด๋ ๋ฒกํฐ
โข
: ๊ด์ฑ๊ณ์(momentum term) 0.9
โข
: ํ์ต๋ฅ (Learning rate)
๋ฒ์งธ ์ด๋ ๋ฒกํฐ()๋ ์ด์ time step์์์ ์ด๋ ๋ฒกํฐ()๊ณผ ๊ด์ฑ ๊ณ์๋ฅผ ๊ณฑํ ๊ฐ์์ ํ์ต๋ฅ ()๊ณผ ()๋ฒ์งธย ์ Gradient ๊ฐ์ ๋นผ์ ๊ตฌํ ์ ์๋ค. ๊ด์ฑ ๊ณ์๋ย 1๋ณด๋ค ์์ ์ฝย 0.9๋ก ์ผ๋ฐ์ ์ผ๋ก ์ค์ ํ๋ค.
์ฌ๊ธฐ์ย ํ์ต๋ฅ ์ด๋ ์ด๋ค ๋น์จ๋งํผ ํ๋ผ๋ฏธํฐ๋ฅผ ์
๋ฐ์ดํธํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ ๊ฐ์ผ๋กย 0๊ณผย 1ย ์ฌ์ด์ย ๊ฐ์ ๊ฐ์ง๋ฉฐ,ย ์ฌ์ฉ์๊ฐ ์ง์ ์ค์ ํด์ผ ํ๋ ํ์ดํผํ๋ผ๋ฏธํฐ(hyper-parameter)์ด๋ค.
์ฆ, ํ์ต๋ฅ ์ด ์์์๋ก ์ด์ดํ๊ฒ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ณํ์ํค๋ฉฐ ๋ชจ๋ธ์ ํ์ต์ํฌ ์ ์์ง๋ง ๊ทธ๋งํผ ํ์ต ์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค. ๋ฐ๋ฉด, ํ์ต๋ฅ ์ด ๋๋ฌด ํด ๊ฒฝ์ฐ ์์ค ํจ์ ๊ทธ๋ํ ์์ฒด๋ฅผ ๋ฒ์ด๋๋ ๊ฒฝ์ฐ๊ฐ ์๊ธธ ์ ์๊ธฐ ๋๋ฌธ์ ์ ์ ํ ํ์ต๋ฅ ์ ์ ํํ๋ ๊ฒ์ด ์ค์ํ๋ค.
์ฆ,ย ๋ฒ์งธย ๊ฐ์ย ()๋ฒ์งธย ๊ฐ์์ย ๋ฒ์งธ ์ด๋ ๋ฒกํฐ๋ฅผ ๋ํ ๊ฐ์ผ๋ก ๊ณ์ฐํ ์ ์๋ค.
์ด์ฒ๋ผ Momentum์ ์ด๋ ๋ฒกํฐ๋ฅผ ํ์ฉํ์ฌ ์ด์ step์์์ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ณ ๋ คํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
โ Momentum์ ์ํ ์ต์ ํ ๊ฐฑ์ ๊ฒฝ๋ก
AdaGrad
AdaGrad๋ Adaptive Gradient์ ์ฝ์์ด๊ณ , ์ ์์ ๊ธฐ์ธ๊ธฐ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
Feature๋ง๋ค ์ค์๋, ํฌ๊ธฐ ๋ฑ์ด ์ ๊ฐ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ๋ชจ๋ Feature๋ง๋ค ๋์ผํ ํ์ต๋ฅ ์ ์ ์ฉํ๋ ๊ฒ์ ๋นํจ์จ์ ์ด์๊ณ , ์ด๋ฌํ ๊ด์ ์์ AdaGrad ๊ธฐ๋ฒ์ด ์ ์๋์๋ค. AdaGrad๋ Feature๋ณ๋ก ํ์ต๋ฅ (Learning rate)์ Adaptiveํ๊ฒ, ์ฆ ๋ค๋ฅด๊ฒ ์กฐ์ ํ๋ ๊ฒ์ด ํน์ง์ด๋ค.
AdaGrad๋ฅผ ์์์ผ๋ก ๋ํ๋ด๋ฉด ์๋์ ๊ฐ๋ค.
: ๋ฒ์งธ time step ๊น์ง์ ๊ธฐ์ธ๊ธฐ ๋์ ํฌ๊ธฐ
: ๋ถ๋ชจ๊ฐ 0์ด ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํ ์์ ๊ฐ
: ํ์ต๋ฅ (Learning rate)
๋จผ์ ๋ฒ์งธ time step๊น์ง ๊ธฐ์ธ๊ธฐ๋ฅผ ๋์ ํ ๊ฐ(์ ๊ณ์ฐํ๋ค. ์ด ๊ฐ์ ์ ๊ณฑ๊ทผ ์ญ์๋ฅผ ๋ฒ์งธ time step์์์ ์ ํ์ต๋ฅ ์ ๊ณฑํ๋ค. ์ด๋ ๊ฐ 0์ธ ๊ฒฝ์ฐ ๊ฐ์ด ๋ฌดํ๋๋ก ๋ฐ์ฐํ ์ ์๊ธฐ ๋๋ฌธ์, ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๋งค์ฐ ์์ ๊ฐ()์ ๊ฐ์ด ๋ํด์ค๋ค.
โข
์ฅ์
AdaGrad๋ Feature ๋ง๋ค ๋ค๋ฅธ ํ์ต๋ฅ ์ ์ ์ฉํจ์ผ๋ก์จ Feature๋ณ ํน์ฑ์ ๊ณ ๋ คํ์ฌ ํ์ต์ ํจ์จ์ ์ผ๋ก ๋๋๋ค๋ ์ฅ์ ์ด ์๋ค. ์ฆ, AdaGrad๋ ํฐ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ฐ์ ธ ํ์ต์ด ๋ง์ด ๋ ๋ณ์๋ ํ์ต๋ฅ ์ ๊ฐ์์ํจ๋ค. ํ์ต์ด ์ ๊ฒ ๋ ๋ค๋ฅธ ๋ณ์๋ ์ ํ์ต๋๋๋ก ํ์ต๋ฅ ์ ๋๊ฒ ์ค์ ํ์ฌ ์กฐ์ ํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
โข
๋จ์
๊ฐ์ ์ ์ฐจ ์ปค์ง๊ธฐ ๋๋ฌธ์ ํ์ต์ด ์ค๋ ์งํ๋๋ฉด ํ์ต๋ฅ ()์ด 0์ ๊ฐ๊น์์ง๊ธฐ ๋๋ฌธ์ ๋ ์ด์ ํ์ต์ด ์งํ๋์ง ์์ ์ ์๋ค. ์ฆ, ๋ชจ๋ธ ํ์ต์ด ์งํ๋ ๋ ํ์ต์ด ์ ์ด๋ฃจ์ด์ ธ ๋ ์ด์ ๋ณ์์ ๊ฐ์ด ์
๋ฐ์ดํธ๋์ง ์๋ ๊ฒ์ธ์ง, ์ ๊ฐ์ด ์ง๋์น๊ฒ ์ปค์ ธ์ ์ถ๊ฐ์ ์ผ๋ก ํ์ต์ด ๋์ง ์๋ ๊ฒ์ธ์ง ์๊ธฐ ์ด๋ ต๋ค๋ ํ๊ณ๊ฐ ์๋ค. ์ด๋ฌํ ํ๊ณ์ ์ ๊ฐ์ ํ ์ต์ ํ ๊ธฐ๋ฒ์ผ๋ก 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์ ์์์ผ๋ก ๋ํ๋ด๋ฉด ์๋์ ๊ฐ๋ค.
: ๋ฒ์งธ time step ๊น์ง์ ๊ธฐ์ธ๊ธฐ ๋์ ํฌ๊ธฐ
: ์ง์์ด๋ํ๊ท ์ ์
๋ฐ์ดํธ ๊ณ์
: ๋ถ๋ชจ๊ฐ 0์ด ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํ ์์ ๊ฐ
: ํ์ต๋ฅ (Learning rate)
๋ฒ์งธ time step์ ๋์ ๊ธฐ์ธ๊ธฐ(๋ ์ด์ time step๊น์ง์ ๋์ ๊ธฐ์ธ๊ธฐ()์ ๋ฅผ ๊ณฑํด ์ ์ฐจ ์๊ฒ ๋ง๋ค์ด ์ฃผ๊ณ , ์๋ก์ด Gradient์๋ ()๋ฅผ ๊ณฑํ ๊ฐ์ ๋ํ์ฌ ์
๋ฐ์ดํธ ํ๋ค. ์ด ๊ฐ์ ์ ๊ณฑ๊ทผ ์ญ์๋ฅผ ๋ฒ์ฌ time step์์์ ์ ํ์ต๋ฅ ์ ๊ณฑํ๋ค. ์ด๋ ๊ฐ 0์ธ ๊ฒฝ์ฐ ๊ฐ์ด ๋ฌดํ๋๋ก ๋ฐ์ฐํ ์ ์๊ธฐ ๋๋ฌธ์, ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๋งค์ฐ ์์ ๊ฐ()์ ๊ฐ์ด ๋ํด์ค๋ค.
โข
์ฅ์
๋ณ์(feature)๋ง๋ค ์ ์ ํ ํ์ต๋ฅ ์ ์ ์ฉํ์ฌ ํจ์จ์ ์ธ ํ์ต์ ์งํํ ์ ์๋ค.
AdaGrad๋ณด๋ค ํ์ต์ ์ค๋ ํ ์ ์๋ค.
AdaGrad์์๋ย ๋ฅผ ๊ณ์ฐํ ๋ย ์ ์๋ก์ด Gradient์ ๊ฐ์ ๋ณด์ ํ์ง ์๊ณ ๊ทธ๋๋ก ๋ํ์๊ธฐ ๋๋ฌธ์ ํ์ต์ด ์งํ๋ ์๋ก ๋ฌดํ์ ์ปค์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๋ค. ๋ฐ๋ฉด, RMSProp์ย ๋ฅผ ํ์ฉํ์ฌย ๊ฐ ๋ฌดํ์ ์ปค์ง๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ๋๋ฌธ์ ์ค๋ ํ์ตํ ์ ์๋ค.
Adam
Adaptive Moment Estimation(Adam)์ ๋ฅ๋ฌ๋ ์ต์ ํ ๊ธฐ๋ฒ ์ค ํ๋๋ก์จย Momentum๊ณผ AdaGrad์ ์ฅ์ ์ ๊ฒฐํฉํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ฆ, ํ์ต์ ๋ฐฉํฅ๊ณผ ํฌ๊ธฐ(=Learning rate)๋ฅผ ๋ชจ๋ ๊ฐ์ ํ ๊ธฐ๋ฒ์ผ๋ก ๋ฅ๋ฌ๋์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์ต์ ํ ๊ธฐ๋ฒ์ผ๋ก ์๋ ค์ ธ ์๋ค. ์ต๊ทผ์๋ RAdam, AdamW๊ณผ ๊ฐ์ด ๋์ฑ ์ฐ์ํ ์ฑ๋ฅ์ ๋ณด์ด๋ ์ต์ ํ ๊ธฐ๋ฒ์ด ์ ์๋์๋ค.
Adam์ ์์์ผ๋ก ๋ํ๋ด๋ฉด ์๋์ ๊ฐ๋ค.
โข
: Momentum์ ์ง์์ด๋ํ๊ท
โข
: RMSProp์ ์ง์์ด๋ํ๊ท
โข
, : ํ์ต ์ด๊ธฐ ์ , ๊ฐ 0์ด ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํ ๋ณด์ ๊ฐ
โข
: ๋ถ๋ชจ๊ฐ 0์ด ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํ ์์ ๊ฐ
โข
: ํ์ต๋ฅ
์ง์์ด๋ํ๊ท
๋ ์ง์์ด๋ํ๊ท (Exponential Moving Average, EMA)์ผ๋ก์จ ํ์ดํผํ๋ผ๋ฏธํฐ์ด๋ค.
์ง์์ด๋ํ๊ท ์ ์ค๋์ time step์์์ ๊ฐ์ ์ ๊ฒ ๋ฐ์ํ๊ณ ์ต๊ทผ step์ ๊ฐ์ ๋ง์ด ๋ฐ์ํ๊ธฐ ์ํ ๊ฐ์ด๋ค.
ํธํฅ ๋ณด์
์ ํ์ต ์ด๊ธฐ์ ์ ๊ฐ์์ ๊ฐ 0์ด๊ณ , ๊ณผ
์ด ๋๋ฌด ์๊ธฐ ๋๋ฌธ์ 0์ ์๋ ดํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํ ๋ณด์ ๊ฐ์ด๋ค. ์์์์ ๋ณผ ์ ์๋ฏ์ด, Gradient์ ๊ณฑํด์ง ์๋ฅผ ์์จ ์ ์๋๋ก ์ ํด๋น ๊ฐ์ผ๋ก ๋๋ ๊ฐ์ด๋ค.
์ด์ฒ๋ผ ์ ์ด๊ธฐ๊ฐ์ด 0์ ๊ฐ๊น์์ง๋ ํธํฅ(bias)์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ย ๋ง๋๋ ๊ณผ์ ์ ํธํฅ ๋ณด์ (bias correction)์ด๋ผ๊ณ ํ๋ค. ํ์ต์ด ๊ณ์ ์งํ๋๋ค ๋ณด๋ฉด ์๋ ๊ฑฐ์ 1์ ๊ฐ๊น์์ง๊ธฐ ๋๋ฌธ์, ๋ย ๊ฒฐ๊ตญ ์ ๊ฐ์ ๊ฐ์ด ๋๋ค.
ํ์ต๋ฅ
ํ์ต๋ฅ ()์ด๋ ์ด๋ค ๋น์จ๋งํผ ํ๋ผ๋ฏธํฐ๋ฅผ ์
๋ฐ์ดํธํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ ๊ฐ์ผ๋กย 0๊ณผย 1์ฌ์ด์ย ๊ฐ์ผ๋ก์จย ํ์ดํผํ๋ผ๋ฏธํฐ์ด๋ค. ์ฐ๊ตฌ๊ฒฐ๊ณผ์ ๋ฐ๋ฅด๋ฉด, Adam ์๊ณ ๋ฆฌ์ฆ์์ ํ์ต๋ฅ ์ย 0.001์ด ๊ฐ์ฅ ์ข์ ์ค์ ๊ฐ์ด๋ผ๊ณ ์๋ ค์ ธ ์๋ค.
โ Adam์ ์ํ ์ต์ ํ ๊ฐฑ์ ๊ฒฝ๋ก