์˜ตํ‹ฐ๋งˆ์ด์ € 2

์˜ตํ‹ฐ๋งˆ์ด์ €(Optimizer) (2/2)

๐Ÿ’ก 'Deep Learning from Scratch'์™€ 'CS231N'์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑ (๊ฐ ์ ˆ์˜ ๋„˜๋ฒ„๋ง์€ ์ง€๋‚œ ๊ฒŒ์‹œ๋ฌผ์—์„œ ์ด์–ด์ง‘๋‹ˆ๋‹ค) 2. ์˜ตํ‹ฐ๋งˆ์ด์ € ์ง€๋‚œ ๊ฒŒ์‹œ๋ฌผ์—์„œ๋Š” SGD์˜ ๋ฌธ์ œ์ ์œผ๋กœ ์ง€์ ๋˜์—ˆ๋˜ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ฐ€์šด๋ฐ ์Šคํ… ๋ฐฉํ–ฅ์„ ๊ฐœ์„ ํ•œ ์˜ตํ‹ฐ๋งˆ์ด์ €์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. ์˜ค๋ฒ„์ŠˆํŒ…(overshooting)์œผ๋กœ ์•ˆ์žฅ์ (saddle point)๊ณผ ์ง€์—ญ ์ตœ์†Ÿ๊ฐ’(local minima)์„ ํ†ต๊ณผํ•˜๋ฉฐ ์ „์—ญ ์ตœ์†Ÿ๊ฐ’(global minimum)์„ ์ฐพ๋˜ SGD+Momentum, NAG๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ฒŒ์‹œ๋ฌผ์—์„œ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๊ฐฑ์‹ ๋œ ์ •๋„์— ๋”ฐ๋ผ ์Šคํ… ์‚ฌ์ด์ฆˆ๋ฅผ ์กฐ์ •ํ•˜๋ฉฐ ํ•™์Šต์„ ์ง„ํ–‰ํ•˜๋Š” AdaGrad๋ฅ˜์˜ ์˜ตํ‹ฐ๋งˆ์ด์ €์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 2.5 Adaptive Gradient (AdaGrad) AdaGrad๋Š” ..

์˜ตํ‹ฐ๋งˆ์ด์ €(Optimizer) (1/2)

๐Ÿ’ก 'Deep Learning from Scratch'์™€ 'CS231N'์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑ ์‹ ๊ฒฝ๋ง(neural network)์˜ ํ•™์Šต ๋ชฉ์ ์€ ์†์‹ค ํ•จ์ˆ˜(loss function)์˜ ๊ฐ’์„ ์ตœ๋Œ€ํ•œ ๋‚ฎ์ถ”๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜(parameter)๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ณง ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ตœ์ ๊ฐ’์„ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋ฉฐ, ์ด๋ฅผ ์ตœ์ ํ™” ๋ฌธ์ œ(optimization)๋ผ ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•™์Šต ๋ฐ์ดํ„ฐ๋“ค์„ ์ด์šฉํ•ด ๊ธฐ์šธ๊ธฐ(gradient)์˜ ๊ฐ’์„ ๊ตฌํ•˜๊ณ , ๊ทธ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜์•„๊ฐˆ ๋ฐฉํ–ฅ์„ ๊ฒฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ฒŒ์‹œ๋ฌผ์—์„œ๋Š” ์ตœ์ ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์ธ ์˜ตํ‹ฐ๋งˆ์ด์ €์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 1. ๊ธฐ์šธ๊ธฐ ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ ๋ณ€์ˆ˜๋“ค์— ๋Œ€ํ•œ ํŽธ๋ฏธ๋ถ„์„ ๋™์‹œ์— ๊ณ„์‚ฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. $$ f(x_0, x_1..