์ถ์ฒ: https://www.slideshare.net/yongho/ss-79607172
๐ก ๋ฅ๋ฌ๋ ํ์ต ๊ณผ์ ์์ ์ฌ์ฉ๋๋ Optimizer์ ๋ํ ์ข ๋ฅ์ ํน์ง์ ์์๋ณด์
Neural network์ weight์ ์กฐ์ ํ๋ ๊ณผ์ ์๋ ๋ณดํต โGradient Descentโ ๋ผ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค. ์ด๋ ๋คํธ์ํฌ์ parameter๋ค์ ฮธ๋ผ๊ณ ํ์ ๋, ๋คํธ์ํฌ์์ ๋ด๋๋ ๊ฒฐ๊ณผ๊ฐ๊ณผ ์ค์ ๊ฒฐ๊ณผ๊ฐ ์ฌ์ด์ ์ฐจ์ด๋ฅผ ์ ์ํ๋ ํจ์ Loss function J(ฮธ)์ ๊ฐ์ ์ต์ํํ๊ธฐ ์ํด ๊ธฐ์ธ๊ธฐ(gradient) โฮธJ(ฮธ)๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค
ฮธ = ฮธ โ ฮทโฮธJ(ฮธ)
์ด ๋ ฮท๋ ๋ฏธ๋ฆฌ ์ ํด์ง ๊ฑธ์์ ํฌ๊ธฐ โstep sizeโ ๋ก์, ๋ณดํต 0.01~0.001 ์ ๋์ ์ ๋นํ ํฌ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ค.
๐ฅ Loss Function์ ๊ณ์ฐํ ๋
์ถ์ฒ: https://imgur.com/NKsFHJb
๋นจ๊ฐ์์ SGD๊ฐ ์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ Naive Stochastic Gradient Descent ์๊ณ ๋ฆฌ์ฆ์ด๊ณ , Momentum, NAG, Adagrad, AdaDelta, RMSprop ๋ฑ์ SGD์ ๋ณํ์ด๋ค.
SGD๋ ๋ค๋ฅธ ์๊ณ ๋ฆฌ์ฆ๋ค์ ๋นํด ์ฑ๋ฅ์ด ๋ฎ๋ค. ๋ค๋ฅธ ์๊ณ ๋ฆฌ์ฆ๋ค ๋ณด๋ค ์ด๋์๋๊ฐ ํ์ ํ๊ฒ ๋๋ฆด๋ฟ๋ง ์๋๋ผ, ๋ฐฉํฅ์ ์ ๋๋ก ์ก์ง ๋ชปํ๊ณ ์ด์ํ ๊ณณ์์ ์๋ ดํ์ฌ ์ด๋ํ์ง ๋ชปํ๋ ๋ชจ์ต๋ ๊ด์ฐฐํ ์ ์๋ค.
ํ๋ฅ ์ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ(Stochastic Gradient Descent)๋ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ๊ณผ ๋ค๋ฅด๊ฒ ํ๋ฒ ํ์ตํ ๋ ๋ชจ๋ ๋ฐ์ดํฐ์ ๋ํด ๊ฐ์ค์น๋ฅผ ์กฐ์ ํ๋ ๊ฒ์ด ์๋๋ผ, ๋๋คํ๊ฒ ์ถ์ถํ ์ผ๋ถ ๋ฐ์ดํฐ์ ๋ํด ๊ฐ์ค์น๋ฅผ ์กฐ์ ํ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์๋๋ ๊ฐ์ ๋์์ง๋ง ์ต์ ํด์ ์ ํ๋๋ ๋ฎ๋ค.
ฮฑ๋ Learning Rate


๋ชจ๋ฉํ
SGD๋ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ์ ๊ด์ฑ์ ๋ํด ์ฃผ๋ ๊ฒ์ด๋ค. ๊ฒฝ์ฌ ํ๊ฐ๋ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋งค๋ฒ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ตฌํ์ง๋ง, ๊ฐ์ค์น๋ฅผ ์์ ํ๊ธฐ์ ์ด์ ์์ ๋ฐฉํฅ(+,-)๋ฅผ ์ฐธ๊ณ ํ์ฌ ๊ฐ์ ๋ฐฉํฅ์ผ๋ก ์ผ์ ํ ๋น์จ๋ง ์์ ๋๊ฒ ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์์ ์ด ์(+) ๋ฐฉํฅ, ์(-) ๋ฐฉํฅ ์์ฐจ์ ์ผ๋ก ์ผ์ด๋๋ ์ง๊ทธ์ฌ๊ทธ ํ์์ด ์ค์ด๋ค๊ณ , ์ด์ ์ด๋ ๊ฐ์ ๊ณ ๋ คํด์ฌ ์ผ์ ๋น์จ๋งํผ ๋ค์ ๊ฐ์ ๊ฒฐ์ ํ๋ฏ๋ก ๊ด์ฑ์ ํจ๊ณผ๋ฅผ ๋ผ ์ ์๋ค.
ฮฑ๋ Learning Rate, m์ momentum ๊ณ์


Adagrad๋ ๋ณ์์ ์
๋ฐ์ดํธ ํ์์ ๋ฐ๋ผ ํ์ต๋ฅ (Learning rate)๋ฅผ ์กฐ์ ํ๋ ์ต์
์ด ์ถ๊ฐ๋ ์ต์ ํ ๋ฐฉ๋ฒ์ด๋ค. ์ฌ๊ธฐ์ ๋ณ์๋ ๊ฐ์ค์น(W) ๋ฒกํฐ์ ํ๋์ ๊ฐ(w[i])์ ๋งํ๋ค. ์๋ค๊ทธ๋ผ๋๋ ๋ง์ด ๋ณํํ์ง ์์ ๋ณ์๋ค์ ํ์ต๋ฅ (step size)๋ฅผ ํฌ๊ฒํ๊ณ , ๋ฐ๋๋ก ๋ง์ด ๋ณํํ ๋ณ์๋ค์ ๋ํด์๋ ํ์ต๋ฅ ์ ์ ๊ฒํ๋ค.
Adagrad๋ ๊ฐ์ ์
๋ ฅ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฌ๋ฒ ํ์ต๋๋ ํ์ต๋ชจ๋ธ์ ์ ์ฉํ๊ฒ ์ฐ์ด๋๋ฐ ๋ํ์ ์ผ๋ก ์ธ์ด์ ๊ด๋ จ๋ word2vec์ด๋ GloVe์ ์ ์ฉํ๋ค.์ด๋ ํ์ต ๋จ์ด์ ๋ฑ์ฅ ํ๋ฅ ์ ๋ฐ๋ผ ๋ณ์์ ์ฌ์ฉ ๋น์จ์ด ํ์ฐํ๊ฒ ์ฐจ์ด๋๊ธฐ ๋๋ฌธ์ ๋ง์ด ๋ฑ์ฅํ ๋จ์ด๋ ๊ฐ์ค์น๋ฅผ ์ ๊ฒ ์์ ํ๊ณ ์ ๊ฒ ๋ฑ์ฅํ ๋จ์ด๋ ๋ง์ด ์์ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.

RMSprop์ ์๋ค๊ทธ๋ผ๋์ G(t)์ ๊ฐ์ด ๋ฌดํํ ์ปค์ง๋ ๊ฒ์ ๋ฐฉ์งํ๊ณ ์ ์ ์๋์์ผ๋ฉฐ ์ง์ ์ด๋ํ๊ท ์ ์ด์ฉํ ๋ฐฉ๋ฒ์ด๋ค.
๐ก ์ง์ ์ด๋ํ๊ท ์ด๋?
์ง์ ์ด๋ํ๊ท ์ด๋ ๋ฐ์ดํฐ์ ์ด๋ํ๊ท ์ ๊ตฌํ ๋, ์ค๋๋ ๋ฐ์ดํฐ๊ฐ ๋ฏธ์น๋ ์ํฅ์ ์ง์์ ์ผ๋ก ๊ฐ์ (exponential decay) ํ๋๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ผ๋ก ์ต๊ทผ ๊ฐ์ ๊ฐ๊ณผ ์ด์ ๊ฐ์ ๊ฐ๊ฐ ๊ฐ์ค์น๋ฅผ ์ฃผ์ด ๊ณ์ฐ์ ํ๋ค.
์ง์ ์ด๋ํ๊ท ๊ฐ์ x, ํ์ฌ ๊ฐ์ p, ๊ฐ์ค์น๋ โบ, ์๋ ์ฒจ์ k๋ step ๋๋ ์๊ฐ, N์ ๊ฐ์ ๊ฐ์

RMSprop ์์์ ๋ค์๊ณผ ๊ฐ๋ค.

์ด๋ ๊ฒ ๋์ฒด๋ฅผ ํ ๊ฒฝ์ฐ Adagrad์ฒ๋ผ Gt๊ฐ ๋ฌดํ์ ์ปค์ง์ง๋ ์์ผ๋ฉด์ ์ต๊ทผ ๋ณํ๋์ ๋ณ์๊ฐ ์๋์ ์ธ ํฌ๊ธฐ ์ฐจ์ด๋ ์ ์งํ ์ ์๋ค.
Adam์ RMSProp๊ณผ Momentum ๋ฐฉ์์ ํฉ์น ๊ฒ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ด ๋ฐฉ์์์๋ Momentum ๋ฐฉ์๊ณผ ์ ์ฌํ๊ฒ ์ง๊ธ๊น์ง ๊ณ์ฐํด์จ ๊ธฐ์ธ๊ธฐ์ ์ง์ํ๊ท ์ ์ ์ฅํ๋ฉฐ, RMSProp๊ณผ ์ ์ฌํ๊ฒ ๊ธฐ์ธ๊ธฐ์ ์ ๊ณฑ๊ฐ์ ์ง์ํ๊ท ์ ์ ์ฅํ๋ค.

Adam์์๋ m๊ณผ v๊ฐ ์ฒ์์ 0์ผ๋ก ์ด๊ธฐํ๋์ด ์๊ธฐ ๋๋ฌธ์ ํ์ต์ ์ด๋ฐ๋ถ์์๋ mt,vt๊ฐ 0์ ๊ฐ๊น๊ฒ bias ๋์ด์์ ๊ฒ์ด๋ผ๊ณ ํ๋จํ์ฌ ์ด๋ฅผ unbiased ํ๊ฒ ๋ง๋ค์ด์ฃผ๋ ์์
์ ๊ฑฐ์น๋ค.
mt์ vt์ ์์ โํํ๋ก ํผ์น ํ ์๋ณ์ expectation์ ์์์ ์ ๋ฆฌํด๋ณด๋ฉด, ๋ค์๊ณผ ๊ฐ์ ๋ณด์ ์ ํตํด unbiased ๋ expectation์ ์ป์ ์ ์๋ค. ์ด ๋ณด์ ๋ expectation๋ค์ ๊ฐ์ง๊ณ gradient๊ฐ ๋ค์ด๊ฐ ์๋ฆฌ์ mt^, Gt๊ฐ ๋ค์ด๊ฐ ์๋ฆฌ์ vt^๋ฅผ ๋ฃ์ด ๊ณ์ฐ์ ์งํํ๋ค.
๋ณดํต ฮฒ1๋ก๋ 0.9, ฮฒ2๋ก๋ 0.999, ฯต์ผ๋ก๋ 10^โ8์ ๋์ ๊ฐ์ ์ฌ์ฉํ๋ค๊ณ ํ๋ค.
AdaDelta๋ RMSProp๊ณผ ์ ์ฌํ๊ฒ AdaGrad์ ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํด ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค.
AdaDelta๋ RMSProp๊ณผ ๋์ผํ๊ฒ G๋ฅผ ๊ตฌํ ๋ ํฉ์ ๊ตฌํ๋ ๋์ ์ง์ํ๊ท ์ ๊ตฌํ๋ค. ๋ค๋ง, ์ฌ๊ธฐ์์๋ step size๋ฅผ ๋จ์ํ๊ฒ ฮท๋ก ์ฌ์ฉํ๋ ๋์ step size์ ๋ณํ๊ฐ์ ์ ๊ณฑ์ ๊ฐ์ง๊ณ ์ง์ํ๊ท ๊ฐ์ ์ฌ์ฉํ๋ค.

NAG๋ momentum ๊ฐ๊ณผ gradient ๊ฐ์ด ๋ํด ์ ์ค์ (actual) ๊ฐ์ ๋ง๋๋ ๊ธฐ์กด ๋ชจ๋ฉํ
๊ณผ ๋ฌ๋ฆฌ momentum ๊ฐ์ด ์ ์ฉ๋ ์ง์ ์์ gradient ๊ฐ์ด ๊ณ์ฐ๋๋ค. ์์์ ํตํด gradient๋ฅผ ๊ตฌํ ๋ ๋ถ๋ชจ()์ W(๊ฐ์ค์น)์ ๋จผ์ mV(t-1) ๊ฐ์ ๋ํด ๊ณ์ฐํ๋ ๊ฒ์ด๋ ๊ฑธ ์ ์ ์๋ค.


์ด ๋จ๊ณ๋ฅผ ์ถ๊ฐํจ์ผ๋ก V(t)๋ฅผ ๊ณ์ฐํ๊ธฐ ์ ๋ชจ๋ฉํ
๋ฐฉ๋ฒ์ผ๋ก ์ธํด ์ด๋๋ ๋ฐฉํฅ์ ๋ฏธ๋ฆฌ ์์ธกํ๊ณ ํด๋น ๋ฐฉํฅ์ผ๋ก ์ผ๋ง๊ฐ ๋ฏธ๋ฆฌ ์ด๋ํ ๋ค gradient๋ฅผ ๊ณ์ฐํ๋ ํจ๊ณผ๋ฅผ ์ป์ ์ ์๋ค. ์ฆ ํ ๋จ๊ณ๋ฅผ ๋ฏธ๋ฆฌ ์์ธกํจ์ผ๋ก์จ ๋ถํ์ํ ์ด๋์ ์ค์ผ ์ ์๋ค.
Nadam์ Adam์์ ์ ์ฉํ ๋ชจ๋ฉํ
๊ธฐ๋ฒ์ NAG๋ก ๋ณ๊ฒฝํ์๋ค. Nadam์ Adam๊ณผ NAG์ ์ฅ์ ์ ํฉ์ณค๊ธฐ ๋๋ฌธ์, Adam๋ณด๋ค ๋ ๋น ๋ฅด๊ณ ์ ํํ๊ฒ ์ ์ญ ์ต์๊ฐ์ ์ฐพ์ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
NAG ๊ณต์์์ ํ๋ผ๋ฏธํฐ ๊ฐฑ์ ์ ์ํ์ฌ ์ด์ ๋จ๊ณ์ ๋ชจ๋ฉํ
(m(t-1))์ 2๋ฒ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค. Nadam์ ์ด๋ฅผ ์กฐ๊ธ ๋ณํํ๋ค. ์ด์ ๋จ๊ณ์ ๋ชจ๋ฉํ
(m(t-1))์ ๋์ ํ์ฌ ํ์ฌ์ ๋ชจ๋ฉํ
(mt)์ ์ฌ์ฉํจ์ผ๋ก์จ ๋ฏธ๋์ ๋ชจ๋ฉํ
์ ์ฌ์ฉํ๋ ํจ๊ณผ๋ฅผ ์ป๋๋ค. ์ด๋ฅผ NAG์ ํ๋ผ๋ฏธํฐ ์กฐ์ ์ ๋ฐ์ํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. 
์์ ํจ๊ณผ๋ฅผ Adam์ ์ ์ฉํ๋ค. ์ด๋ฅผ ์ํด์๋ ๊ธฐ์กด์ Adam์ด ํ๋ผ๋ฏธํฐ๋ฅผ ์์ ํ๋ ๋ถ๋ถ์ ์กฐ๊ธ ๋ ํ์ด์ ์์ฑํด์ผ ํ๋ค. 


Adam๊ณผ Nadam์ ์๊ฐํ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํด๋ณด๋ฉด, Nadam์ด ๋ ๋น ๋ฅด๊ณ ์ ํํ๊ฒ ์ ์ญ ์ต์๊ฐ์ ์ฐพ์๋ธ๋ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
Reference: