๐จโ๐ซ ๋ณธ ๋ฆฌ๋ทฐ๋ cs231n-2017 ๊ฐ์๋ฅผ ๋ฐํ์ผ๋ก ์งํํ์ต๋๋ค.
๐ ์ผ๋ฐ์ ์ผ๋ก Neural Netwoks์์ optimization์ด ๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ ์ค ํ๋๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ์์ค ํจ์๊ฐ ๊ฐ์ค์น์ ๋ํ "landscape(์ฐ)"์ด๋ผ๊ณ ์์ํด ๋ณผ ์ ์์ต๋๋ค.
๐ ์์๋ ๋จ์ํ ๊ฐ์ค์น์ ๋ํ ๊ทธ๋ํ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์์ต๋๋ค. "red"๋ถ๋ถ์ด 0์ ๊ฐ๊น์ด ์ง์ ์ด๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ธ SGD๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํ๋ฉด ๋ฏธ๋ ๋ฐฐ์น์์ ๋ฐ์ดํฐ์์ Loss๋ฅผ ๊ณ์ฐํ๊ณ , ๊ทธ๋ฆฌ๊ณ Gradient์ ๋ฐ๋ ๋ฐฉํฅ์ ์ด์ฉํด ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
๐ ํ์ง๋ง ์ด ์ฌํํ ์๊ณ ๋ฆฌ์ฆ์ ์ค์ ๋ก ์ฌ์ฉํ๊ฒ ๋๋ฉด ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
๐ ์ฒซ๋ฒ์งธ ๋ฌธ์ ๋ก๋ ์์ ๊ทธ๋ํ์ ๊ฐ์ด ํ์ชฝ ๋ฐฉํฅ์ผ๋ก๋ ๋น ๋ฅด๊ณ , ๋ค๋ฅธ ํ์ชฝ ๋ฐฉํฅ์ผ๋ก ๋๋ฆฌ๊ฒ ์งํ๋๋ค๋ฉด ๊ทธ๋ํ์ ๊ฐ์ด ํน์ดํ ์ง๊ทธ์ฌ๊ทธ ํํ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
๐ ์์ ๊ฐ์ด ๊ทธ๋ํ๋ ์ํ๋ฐฉํฅ ์ฐจ์์ ๊ฐ์ค์น๋ ์ ๋ฐ์ดํธ๊ฐ ์์ฃผ ๋๋ฆฌ๊ฒ ๋๋ ๊ฒ์ ๋ณผ ์ ์๊ณ , ์ด๋ ๋งค์ฐ ๋นํจ์จ์ ์ ๋๋ค. ์์ ๊ทธ๋ํ๋ ๋จ์ํ ์ฐจ์์ด์ง๋ง ์ค์ ์์๋ ๋์ฑ ๋น๋ฒํ๊ฒ ์ผ์ด๋๋ค๊ณ ํฉ๋๋ค.
๐ ์ ๊ทธ๋ฆผ์ x์ถ์ ๊ฐ์ค์น, Y์ถ์ loss๋ฅผ ๋ํ๋ด๊ณ ์์ต๋๋ค. loss๊ฐ์ด local minima or saddle point์ ์์นํ๋ค๋ฉด, SGD๋ ๋ฉ์ถฐ ๋ฒ๋ฆด๊ฒ ์ ๋๋ค. ์ด์ ๋ gradient๊ฐ 0์ด ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
๐ ๋ํ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ SGD์ ๊ฒฝ์ฐ minibatch๋ง์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์, ์ ํํ gradient๊ฐ ์๋ noisy estimate๋ง์ ๊ตฌํ ๋ฟ ์ ๋๋ค.
๐ ์์ ๊ฐ์ ๋ฌธ์ ์ ๋ค์ ํด๊ฒฐํ๊ธฐ ์ํด ๋์จ ๋ฐฉ๋ฒ์ ํ๋๋ SGD + Momentum(๊ด์ฑ๊ณ์)๋ฅผ ์ถ๊ฐํ๋ ๊ฒ ์ ๋๋ค. ์์ด๋์ด๋ ๊ฐ๋จํ๊ฒ๋ velocity(์๋)๋ฅผ ์ ์งํ๋ ๊ฒ์ ๋๋ค.
๐ gradient๋ฅผ ๊ณ์ฐํ ๋ velocity๋ฅผ ์ด์ฉํ๋ ๊ฒ์ ๋๋ค. ์์ ์ฝ๋๋ฅผ ๋ฐํ์ผ๋ก ๋ณด๋ฉด ์ง๊ด์ ์ผ๋ก velocity ๋ ์ด์ gradients์ weight sum์ด๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค. ๋ํ "rho"๋ผ๋ ์ถ๊ฐ ํ์ดํผ ํ๋ผ๋ฏธํฐ๊ฐ ์กด์ฌํ๋๋ฐ ์ด๋ ๋ชจ๋งจํ ์ ๋น์จ์ ๋งํ๊ณ , ์ผ๋ฐ์ ์ผ๋ก 0.9๋ก ๋ง์ถฐ์ค๋ค๊ณ ํฉ๋๋ค.
๐ Momentum๋ง์ผ๋ก๋ ์์์ ์ ์๋ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ ์ ์์ต๋๋ค. Momentum ๊ณ์๋ก ์ธํด์ Local Minima ํน์ Saddle points์ ๊ฐ์ ์ง์ ์์ ๋ฉ์ถ์ง ์๊ณ ์งํํ ์ ์์ต๋๋ค. ๋ํ Momentum์ ์ถ๊ฐํด velocity๊ฐ ์๊ธฐ๋ฉด ๊ฒฐ๊ตญ noise๊ฐ ํ๊ท ํ ๋์ด๋ฒ๋ฆฐ๋ค๊ณ ํฉ๋๋ค(?????? ์ด ๋ถ๋ถ์ ์ ํํ ์ดํด๊ฐ ๋์ง ์์ต๋๋ค.)
๐ velocity๋ฅผ ์ฌ์ฉํด noise๋ฅผ ๊ทน๋ณตํ๋ ๊ฒ์ ๋ณด์ฌ์ฃผ๋ ๋ฒกํฐ ๊ทธ๋ฆผ์ ๋๋ค. ์๋ชป๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ๊ณ ์๋ gradient velocity(momentum)์ ์ฌ์ฉํด ๊ทน๋ณตํ๊ณ ์๋ ๊ทธ๋ฆผ์ ๋๋ค.
๐ ์ค๋ฅธ์ชฝ์๋ "Nesterov Momentum"๋ผ๊ณ ๋ชจ๋งจํ ์ ๋ฒํ์ด ์์ต๋๋ค. ์ด๋ ๋ชจ๋งจํ ์์ ๊ณ์ฐ ์์๋ฅผ ๋ฐ๊พผ ๊ฒ์ด๋ผ๊ณ ํฉ๋๋ค. "velocity" ๋ฐฉํฅ์ผ๋ก ๊ฐ ํ์ gradient๋ฅผ ๊ณ์ฐํ๊ณ , ๋ค์ ์์ ์ผ๋ก ๋์์ ๋์ ํฉ์น๋ค๊ณ ํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ convexํ ๋ฌธ์ ์์๋ ํจ๊ณผ์ ์ด๋ผ๊ณ ํ์ง๋ง neural network๋ non-convex์ด๊ธฐ์ ํจ๊ณผ์ ์ด์ง ์๋ค๊ณ ํฉ๋๋ค.
๐ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ ์ค ํ๋์ธ AdaGrad๋ ํ๋ จ๋์ค ๊ณ์ฐ๋๋ gradients๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. AdaGrad๋ "velocity" term ๋์ ์ "gradient_squaerd" term์ ์ฌ์ฉํฉ๋๋ค. gradient๋ฅผ ์ ๊ณฑ์ ํํ๋ก ๊ณ์ํด์ ๋ํ๋ฉฐ, ์์ ์์๊ณผ ๊ฐ์ด ๊ทธ ์ ๊ณฑ ํญ์ ๋๋ ์ค๋๋ค.
๐ 2์ฐจ์์ ์ขํ์์ ํ ์ฐจ์์ ํญ์ ๋์ gradient๋ฅผ ๊ฐ์ง๋ ์ฐจ์์ด๊ณ , ๋๋จธ์ง ํ๋๋ ์์ gradient๋ฅผ ๊ฐ์ง๋ ์ฐจ์์ด๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค. ๋์ gradient์์๋ ๋์ "gradient_squaerd" ๊ฐ์ ๊ฐ์ง๊ธฐ ๋๋ฌธ์, ์๋๊ฐ ์ ์ ์ค์ด๋ญ๋๋ค. ๊ทธ ๋ฐ๋๋ก ์คํ๋ ค ์๋๊ฐ ๋นจ๋ผ์ง ๊ฒ์ ๋๋ค.
๐ ํ์ง๋ง AdaGrad์๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํ์ต ํ์ t๊ฐ ๊ณ์ ๋์ด๋๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?
step์ ์งํํ ์๋ก ๊ฐ์ด ์ ์ ์์์ง ๊ฒ์
๋๋ค. ๋น์ฐํ๊ฒ๋ gradient๋ฅผ ๊ณ์ํด์ ๋ํ๊ณ ์๊ธฐ ๋๋ฌธ์, ์ ์ ์ฆ๊ฐํ ๊ฒ์ด๊ณ Step size๋ฅผ ์ ์ ๋ ์์ ๊ฐ์ด ๋๊ฒ ํ ๊ฒ์
๋๋ค.
๐ ์ด๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํ RMSProp ๋ฐฉ๋ฒ์ด ์ ์๋ฉ๋๋ค. RMSProp์์๋ ์ ๊ณฑ ํญ์ ๊ทธ๋๋ก ์ฌ์ฉํ์ง๋ง decay_rate๋ฅผ ๋์ ๊ฐ์ ๊ณฑํด์ค๋๋ค. decay_rate์ ๊ฐ์ ์ผ๋ฐ์ ์ผ๋ก 0.9 or 0.99๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํฉ๋๋ค. ์ด๋ฅผ ํตํด step์ ์๋๋ฅผ ๊ฐ์/๊ฐ์ ์ํฌ ์ ์์ต๋๋ค. ์ฆ, ์์ ๊ฐ์ ํน์ง์ผ๋ก Step size์ ๊ฐ์ด ์๊ฒ๋๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
๐ ๋จผ์ RMSProp์ ๊ธฐ์กด์ momentum๊ณผ ๋ค๋ฅธ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋์ ๋ ๋ฐฉ๋ฒ์ ํฉ์ณ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ๋ ์ข์ ์ฑ๋ฅ์ ๊ฐ์ง๊ฒ ๋ ๊ฒ๊ฐ์ต๋๋ค. ๊ทธ ๋ฐฉ๋ฒ๋ก ์ด ๋ฐ๋ก Adam(= momentum + RMSProp) ์๊ณ ๋ฆฌ์ฆ ์ ๋๋ค. ์์ ์์์ Adam ์๊ณ ๋ฆฌ์ฆ์ ์ผ๋ถ์ ๋๋ค.
๐ ๋จผ์ first_moment๋ velocity์ ์ญํ์ ํ๊ณ , second_moment gradient์ ์ ๊ณฑ ํญ์ ๋ํ๋ ๋๋ค. ํ์ง๋ง ์ฌ๊ธฐ์๋ ๋ฌธ์ ๊ฐ ์๊น๋๋ค. ๋ฐ๋ก ์ด๊ธฐ์ second_moment๋ฅผ 0๋ก ์ด๊ธฐํํฉ๋๋ค. second moment์ 1ํ ์ ๋ฐ์ดํธ ํ๊ณ ๋ ํ์ ๋ณด๋ฉด ์ญ์ 0์ ๊ฐ๊น์ด ๊ฐ์ ๊ฐ์ง ๊ฒ๋๋ค.(beta2(=decay_rate) 0.9 or 0.99) ๊ทธ๋ฌ๋ฉด ์ด๊ธฐ step์ด ์์ฒญ๋๊ฒ ์ปค์ง๊ฒ ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ ์ธ์์ ์ธ ํ์์ด๊ธฐ ๋๋ฌธ์ ๋ญ๊ฐ ์กฐ์น๊ฐ ํ์ํฉ๋๋ค.
๐ ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด unbiased term์ ๊ณ์ฐํด ์ค๋๋ค. unbiased term์ ํตํด ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ์ค ์ ์๋ค๊ณ ํฉ๋๋ค.
๐ Adam optimization์ ๊ทธ๋ํ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
๐ ์ง๊ธ๊น์ง ๋ฐฐ์ด ๋ชจ๋ optimization ๋ฐฉ๋ฒ์๋ learning rate๊ฐ ์กด์ฌํฉ๋๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก ์ข์ ๋ชจ๋ธ์ ๋ง๋ค๊ธฐ ์ํด์ ์ ์ ํ learning rate๊ฐ ํ์ํฉ๋๋ค. ์์ ๊ทธ๋ํ ์ฒ๋ผ learning rate์ ๋ฐ๋ผ์ loss์ ๊ทธ๋ํ๊ฐ ํ์ฐํ๊ฒ ์ฐจ์ด๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
๐ ์ ํฐ learning rates dacay ์ ๋ต์ ์ฌ์ฉํด, ๊ฐ๊ฐ์ learning rates์ ํน์ฑ์ ์ ์ ํ ์ด์ฉํ ์ ์์ต๋๋ค.
๐ ์ฒ์์๋ learning rates๋ฅผ ๋๊ฒ ์ค์ ํ ๋ค์์ ํ์ต์ด ์งํ๋ ์๋ก learning rates๋ฅผ ์ ์ ๋ฎ์ถ๋ ๊ฒ์ ๋๋ค. ์์ ๊ทธ๋ฆผ์ ResNet๋ ผ๋ฌธ์ loss ๊ทธ๋ํ ์ ๋๋ค. ํํํด์ง๋ค๊ฐ ๊ฐ์๊ธฐ ๋ด๋ ค๊ฐ๋ ๊ตฌ๊ฐ์ด learning rates๋ฅผ ๋ฎ์ถ๋ ๊ตฌ๊ฐ์ด๋ผ๊ณ ์๊ฐํ ์ ์์ต๋๋ค. learning rates๋ฅผ ๋ฎ์ถ๋ ๊ตฌ๊ฐ์ ํ์ฌ ์ ์๋ ดํ๊ณ ์์ง๋ง gradient๊ฐ ์ ์ ์์์ง๊ณ ์๋ค๋ฉด, learning rate์ ๊ฐ์ด ์ปค ๋์ฑ ๊น๊ฒ ๋ค์ด๊ฐ์ง๋ ๋ชปํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ learning rates์ ๋ฎ์ถฐ์ค๋๋ค.
๐ ์ถ๊ฐ์ ์ผ๋ก learning rates decay๋ ์ถ๊ฐ์ ์ธ ํ์ดํผ ํ๋ผ๋ฏธํฐ์ธ๋ฐ ์ด๋ฅผ ์ฒ์๋ถํฐ ๊ณ ๋ คํ์ง ๋ง๋ผ๊ณ ํฉ๋๋ค. ๋๋ฌด ๊ฒฝ์ฐ์ ์๊ฐ ๋ง๊ธฐ์, ๋จผ์ decay ์์ด ์ํํด๋ณด๋ผ๊ณ ํฉ๋๋ค.
๐คทโโ๏ธ ์ดํ ์ง๊ธ๊น์ง์ optimization ์๊ณ ๋ฆฌ์ฆ๋ค์ ๋ชจ๋ 1์ฐจ ๋ฏธ๋ถ์ ํ์ฉํ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ์ด์ผ๊ธฐ ํ๋ฉด์, 2์ฐจ ๋ฏธ๋ถ์ ์ฌ์ฉํด ์ ๋ณด๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค๊ณ ํฉ๋๋ค. ์ด๋ฅผ ์ฌ์ฉํ๋ฉด๋น ๋ฅด๊ฒ minima ์ง์ ์ ์ฐพ์ ์ ์๋ค๊ณค ํ์ง๋ง... neural network์์๋ ์ฌ์ฉํ๊ธฐ ์ด๋ ต๋ค๊ณ ํฉ๋๋ค. NxN Hessian ๋ฉํธ๋ฆญ์ค๊ฐ ํ์ํ๋ฐ ์ด๋ ๋๋ฌด๋๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์๋ก ํ๊ธฐ์ ์ ์ฌ์ฉํ์ง ์๋๋ค...ํฉ๋๋ค๋ง.. ์ด ๋ถ๋ถ์ ์ด๋ ค์์ ์ ๋ชจ๋ฅด๊ฒ ์ค๋น๋ค..
๐ ์์ ๊ทธ๋ํ๋ฅผ ๋ณด๋ฉด ์๋ฒฝํ๊ฒ fit๋์ง ์๋ train loss์ train, val์ ํฐ gap์ ๋ณผ ์ ์์ต๋๋ค. ์์ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ๊ธฐ ์ํด ๋ค์ํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์๋๋ค.
๐ ์ฃผ๋ก ๋จธ์ ๋ฌ๋์์ ์ฌ์ฉ๋๋ ๋ชจ๋ธ ์์๋ธ ๊ธฐ๋ฒ์ ๋๋ค. ๋ชจ๋ธ ํ๋๋ง ํ์ต์ํค์ง ์๊ณ 10๊ฐ์ ๋ชจ๋ธ์ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ต์์ผ ๋ชจ๋ธ์ ๊ฒฐ๊ณผ์ ํ๊ท ์ ์ด์ฉํฉ๋๋ค.
๐ ๋ ๋ฆฝ์ ์ผ๋ก ๋ชจ๋ธ์ ํ์ต์์ผ ์์๋ธ ํ๋ ๊ฒ์ธ์๋, ํ์ต ๋์ค ์ค๊ฐ ๋ชจ๋ธ๋ค์ ์ ์ฅ(snapshots)ํด ์์๋ธ ํ ์๋ ์์ต๋๋ค. Test์ ์ฌ๋ฌ snapshot์ ๊ฒฐ๊ณผ๋ฅผ ํ๊ท ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
๐ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋ ํ์ตํ๋ ๋์ ํ๋ผ๋ฏธํฐ์ decaying average๋ฅผ ๊ณ์ฐํด ์ฌ์ฉํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ smooth ์์๋ธ ํจ๊ณผ๋ฅผ ๋ณผ ์ ์๋ค๊ณ ํฉ๋๋ค.
๐ Regularization๋ ์์๋ธ๊ณผ ๋ค๋ฅด๊ฒ ๋ค์ํ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋ ํ๋์ ๋ชจ๋ธ์ ์ฌ์ฉํด ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๐ ๊ธฐ์กด์ ๋ฐฐ์ ๋ L2 Regularization์ ๋ฅ๋ฌ๋์์๋ ์ฃผ๋ก ์ฌ์ฉํ์ง ์๋๋ค๊ณ ํฉ๋๋ค. Neural network์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ regularzation์ ๋ฐ๋ก dropout์ด๋ผ๊ณ ํฉ๋๋ค.
๐ Dropout์ forward pass ๊ณผ์ ์์ ์์๋ก ์ผ๋ถ ๋ด๋ฐ์ 0์ผ๋ก ๋ง๋๋ ๊ฒ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ค ํ๋ฅ ์ ์ฌ์ฉํด dropout์ ์งํํฉ๋๋ค. ๋ํ ๋๋ค์ผ๋ก ๋ด๋ฐ์ ์ ํํ๊ธฐ์ ๋งค forawrd pass๋ง๋ค ๋ค๋ฅธ ๋ด๋ฐ๋ค์ด ์ ํ๋ ๊ฒ์ ๋๋ค.
๐ ํ ๊ฐ์ง ์๋ฌธ์ ์ Dropout์ด ์ข์๊น์? ์ผ๋ถ์ ๋ด๋ฐ ์ฆ ์ ๋ณด๋ฅผ ๋ฒ๋ฆฌ๋ ๊ฒ๊ณผ ๋ค๋ฆ์ด ์๋ ํ๋์ ๋๋ค. Dropout์ ์ฝ๊ฒ ๋คํธ์ํฌ๊ฐ ์ด๋ค ์ผ๋ถ์ features์๋ง ์์กดํ์ง ๋ชปํ๊ฒ ํด์ค๋๋ค. ์ฆ Overfit๋๋ ๊ฒ์ ์ด๋์ ๋ ๋ง์์ค๋ค๊ณ ํฉ๋๋ค. ๋ํ ๋ชจ๋ธ ์์๋ธ ํจ๊ณผ๋ฅผ ์ป์ ์๋ ์๋ค๊ณ ํฉ๋๋ค.
๐ ๋ํ ํ ๊ฐ์ง ์๊ฐํด๋ด์ผ ํ๋ ๊ฒ์ด Test์์๋ dropout์ ์ด๋ป๊ฒ ์ฌ์ฉํด์ผํ ๊น์? test time์์๋ ์์์ ๊ฐ์ ๋ถ์ฌํ๋ ๊ฒ์ ์ข์ง ์๋ค๊ณ ํฉ๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์์ ์์์ ํ์ธํ ์ ์๋ฏ์ด "z"(random mask)์ marginal out์ ํตํด f(x)์ ๋ํ ํจ์๋ฅผ ๊ตฌํ ์ ์์ต๋๋ค. ํ์ง๋ง ์ค์ง์ ์ผ๋ก๋ ๊ณ์ฐ์ด ๋งค์ฐ ์ด๋ ต๋ค๊ณ ํฉ๋๋ค.
๐ ์ด๋ฅผ ๋์ฑํ๋ ๋ฐฉ๋ฒ์ผ๋ก , dropout์ 0.5๋ก ์ง์ ํ๊ณ ํ๋ training ๊ณผ์ ์์ ์ฐ๋ฆฌ๋ ์ ๊ธฐ๋๊ฐ์ ์์ ๊ฐ์ด ๋ผ๊ณ ๊ณ์ฐํ ์ ์์ต๋๋ค.(dropout mask์๋ 4๊ฐ์ง ๊ฒฝ์ฐ์ ์๊ฐ ์กด์ฌํฉ๋๋ค.) ์ด๋ฅผ ๋ฐํ์ผ๋ก test์ ์ถ๋ ฅ ๊ฐ์ dropout probability๋ฅผ ๊ณฑํฉ์ผ๋ก์จ ์ด ๋์ ๊ธฐ๋๊ฐ์ด ๊ฐ์์ง ์ ์์ต๋๋ค.
๐ Dropout vs Batch Normalization(์ ์ฌํ ํจ๊ณผ๋ผ๊ณ ํฉ๋๋ค.)
๐ Data Augmentation๋ input image๋ฅผ randomํ๊ฒ transformํด ์ฌ์ฉํ๋ ๊ฒ ์ ๋๋ค. transform์๋ ๋ค์ํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
๐ Horizontal Flips, Random crops and scales, Color Jitter( Randomize contrast and brightness), rotation... ๋ฑ๋ฑ ๋ค์ํ ๋ฐฉ๋ฒ๋ค์ด ์กด์ฌํฉ๋๋ค.
๐ ์ด ์ธ์๋ ๋ค์ํ Regularization ๋ฐฉ๋ฒ๋ค์ด ์กด์ฌํฉ๋๋ค.
๐ ๋ชจ๋๊ฐ ์๊ณ ์๋ค ์ถ์ด ์ผ๋ฐ์ ์ผ๋ก CNN์ ํ์ตํ๊ธฐ ์ํด์ , ์์ฒญ๋๊ฒ ๋ง์ ๋ฐ์ดํฐ๊ฐ ํ์ํฉ๋๋ค. ํ์ง๋ง ๋ผ๋ฒจ๋ง๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์ถ์ง ์์ต๋๋ค.
๐ Transfer Learning๋ ๊ฐ๋จํฉ๋๋ค. ๋จผ์ ImageNet๊ณผ ๊ฐ์ด ๋งค์ฐ ํฐ ๋ฐ์ดํฐ ํ์ต์ํต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก pre-train์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ๋ค๋ฆ ๋ด๊ฐ ํ์ฌ ๊ฐ์ง๊ณ ์๋ ์์ ๋ฐ์ดํฐ๋ก ์ผ๋ถ์ layer๋ง ํ์ต์ํค๋ ๊ฒ์ ๋๋ค. ํ์ต์ํค์ง ์๋ layer์ ์ ๋ถ freeze ํฉ๋๋ค. ๋ํ ์ผ๋ฐ์ ์ผ๋ก layer๋ฅผ ํ์ต์ํฌ ๋๋ ์ lr์ 1/10์ lr์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ๋ํ ์์ ๊ฐ์ด ์ถ๊ฐ์ ์ผ๋ก ํ์ต์ํค๋ ๊ฒ์ fine-tuning ํ๋ค๊ณ ๋ถ๋ฆ ๋๋ค.
๐ Transfer Learning์ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก fine-tuning์ ์งํํ ์ ์์ต๋๋ค. ์์ ํ์์๋ ์ด๋ค ์ํฉ์์ ์ผ๋ง๋ fine-tuning ํด์ผํ๋์ง ๋๋ต์ ์ผ๋ก ์๋ ค์ฃผ๊ณ ์์ต๋๋ค.
๐ Transfer Learning์ ๋งค์ฐ ํํ๊ฒ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. ์ค์ ๋ก ๋ค์ํ ๋ ผ๋ฌธ๋ค์ ํ์ธํด๋ณด๋ฉด ๊ฑฐ์ ๋ชจ๋ ๋ ผ๋ฌธ๋ค์์ ์ฌ์ฉํ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ๊ฑฐ์ ํ์์ ์ผ๋ก ํ๋ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ๋ ๋งํ ์ ์์ ๊ฒ์ ๋๋ค.