๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก2022/05/21 (4)

DATA101

[๋”ฅ๋Ÿฌ๋‹] ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•(Gradient Descent) ์ข…๋ฅ˜

๐Ÿ“š ๋ชฉ์ฐจ 1. ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ• ๊ฐœ๋… 2. ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ• ์ข…๋ฅ˜ 2.1. ๋ฐฐ์น˜ ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ• 2.2. ํ™•๋ฅ ์  ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ• 2.3. ๋ฏธ๋‹ˆ ๋ฐฐ์น˜ ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ• 1. ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ• ๊ฐœ๋… ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•(Gradient Descent)์ด๋ž€ ๋”ฅ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•™์Šต ์‹œ ์‚ฌ์šฉ๋˜๋Š” ์ตœ์ ํ™” ๋ฐฉ๋ฒ•(Optimizer) ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ๋”ฅ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•™์Šต ์‹œ ๋ชฉํ‘œ๋Š” ์˜ˆ์ธก๊ฐ’๊ณผ ์ •๋‹ต๊ฐ’ ๊ฐ„์˜ ์ฐจ์ด์ธ ์†์‹ค ํ•จ์ˆ˜์˜ ํฌ๊ธฐ๋ฅผ ์ตœ์†Œํ™”์‹œํ‚ค๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•™์Šต ๋ฐ์ดํ„ฐ ์ž…๋ ฅ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ์†์‹ค ํ•จ์ˆ˜ ๊ฐ’์˜ ๋ณ€ํ™”์— ๋”ฐ๋ผ ๊ฐ€์ค‘์น˜(weight) ํ˜น์€ ํŽธํ–ฅ(bias)์„ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์–ด๋–ป๊ฒŒ ์ตœ์ ์˜ ๊ฐ€์ค‘์น˜๋‚˜ ํŽธํ–ฅ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์„๊นŒ์š”? ์ตœ์ ์˜ ๊ฐ€์ค‘์น˜๋ฅผ ์ฐพ๋Š” ๊ณผ์ •์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ ์˜ ํŽธํ–ฅ์„ ์ฐพ๋Š” ๊ณผ์ • ์—ญ์‹œ ์ ˆ์ฐจ๋Š” ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ๊ทธ..

[๋”ฅ๋Ÿฌ๋‹] Epoch, Iteration, Batch size ๊ฐœ๋…

๐Ÿ“š ๋ชฉ์ฐจ 1. Batch Size 2. Iteration 3. Epoch 1. Batch Size Batch ํฌ๊ธฐ๋Š” ๋ชจ๋ธ ํ•™์Šต ์ค‘ parameter๋ฅผ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋žŒ์ด ๋ฌธ์ œ ํ’€์ด๋ฅผ ํ†ตํ•ด ํ•™์Šตํ•ด ๋‚˜๊ฐ€๋Š” ๊ณผ์ •์„ ์˜ˆ๋กœ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Batch ํฌ๊ธฐ๋Š” ๋ช‡ ๊ฐœ์˜ ๋ฌธ์ œ๋ฅผ ํ•œ ๋ฒˆ์— ์ญ‰ ํ’€๊ณ  ์ฑ„์ ํ• ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด 100๊ฐœ์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๋•Œ, 20๊ฐœ์”ฉ ํ’€๊ณ  ์ฑ„์ ํ•œ๋‹ค๋ฉด Batch ํฌ๊ธฐ๋Š” 20์ž…๋‹ˆ๋‹ค. ์‚ฌ๋žŒ์€ ๋ฌธ์ œ๋ฅผ ํ’€๊ณ  ์ฑ„์ ์„ ํ•˜๋ฉด์„œ ๋ฌธ์ œ๋ฅผ ํ‹€๋ฆฐ ์ด์œ ๋‚˜ ๋งž์ถ˜ ์›๋ฆฌ๋ฅผ ํ•™์Šตํ•˜์ฃ . ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ ์—ญ์‹œ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. Batch ํฌ๊ธฐ๋งŒํผ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•ด ๋ชจ๋ธ์ด ์˜ˆ์ธกํ•œ ๊ฐ’๊ณผ ์‹ค์ œ ์ •๋‹ต ๊ฐ„์˜ ์˜ค์ฐจ(conf. ์†์‹คํ•จ์ˆ˜)๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ Optimizer๊ฐ€ parameter๋ฅผ..

[Deep Learning] ์ตœ์ ํ™”(Optimizer): (4) Adam

1. ๊ฐœ๋…Adaptive Moment Estimation(Adam)์€ ๋”ฅ๋Ÿฌ๋‹ ์ตœ์ ํ™” ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ์จ Momentum๊ณผ RMSProp์˜ ์žฅ์ ์„ ๊ฒฐํ•ฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํ•™์Šต์˜ ๋ฐฉํ–ฅ๊ณผ ํฌ๊ธฐ(=Learning rate)๋ฅผ ๋ชจ๋‘ ๊ฐœ์„ ํ•œ ๊ธฐ๋ฒ•์œผ๋กœ ๋”ฅ๋Ÿฌ๋‹์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜์–ด "์˜ค๋˜" ์ตœ์ ํ™” ๊ธฐ๋ฒ•์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ์—๋Š” RAdam, AdamW๊ณผ ๊ฐ™์ด ๋”์šฑ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์„ ๋ณด์ด๋Š” ์ตœ์ ํ™” ๊ธฐ๋ฒ•์ด ์ œ์•ˆ๋˜์—ˆ์ง€๋งŒ, ๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋”ฅ๋Ÿฌ๋‹ ๋ถ„์•ผ ์ „๋ฐ˜์„ ๊ณต๋ถ€ํ•˜๋Š” ๋งˆ์Œ๊ฐ€์ง์œผ๋กœ Adam์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค.2. ์ˆ˜์‹์ˆ˜์‹๊ณผ ํ•จ๊ป˜ Adam์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. $$ m_{t} = \beta_{1} m_{t-1} + (1 - \beta_{1}) \nabla f(x_{t-1}) $$$$ g_{t} = \beta_{..

[Deep Learning] ์ตœ์ ํ™”(Optimizer): (3) RMSProp

1. ๊ฐœ๋…RMSProp๋Š” ๋”ฅ๋Ÿฌ๋‹ ์ตœ์ ํ™” ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ์จ Root Mean Sqaure Propagation์˜ ์•ฝ์ž๋กœ, ์•Œ์— ์—์Šคํ”„๋กญ(R.M.S.Prop)์ด๋ผ๊ณ  ์ฝ์Šต๋‹ˆ๋‹ค.โœ‹๋“ฑ์žฅ๋ฐฐ๊ฒฝ์ตœ์ ํ™” ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜์ธ AdaGrad๋Š” ํ•™์Šต์ด ์ง„ํ–‰๋  ๋•Œ ํ•™์Šต๋ฅ (Learning rate)์ด ๊พธ์ค€ํžˆ ๊ฐ์†Œํ•˜๋‹ค ๋‚˜์ค‘์—๋Š” \(0\)์œผ๋กœ ์ˆ˜๋ ดํ•˜์—ฌ ํ•™์Šต์ด ๋” ์ด์ƒ ์ง„ํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. RMSProp์€ ์ด๋Ÿฌํ•œ ํ•œ๊ณ„์ ์„ ๋ณด์™„ํ•œ ์ตœ์ ํ™” ๊ธฐ๋ฒ•์œผ๋กœ์จ ์ œํ”„๋ฆฌ ํžŒํŠผ ๊ต์ˆ˜๊ฐ€ Coursea ๊ฐ•์˜ ์ค‘์— ๋ฐœํ‘œํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค.๐Ÿ›  ์›๋ฆฌRMSProp์€ AdaGrad์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ณ€์ˆ˜(feature)๋ณ„๋กœ ํ•™์Šต๋ฅ ์„ ์กฐ์ ˆํ•˜๋˜ ๊ธฐ์šธ๊ธฐ ์—…๋ฐ์ดํŠธ ๋ฐฉ์‹์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ time step์—์„œ์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ๋‹จ์ˆœํžˆ ๊ฐ™์€ ๋น„์œจ๋กœ ๋ˆ„์ ํ•˜์ง€ ์•Š๊ณ  ์ง€์ˆ˜์ด๋™..