Notice
Recent Posts
Recent Comments
Link
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๋”ฅ๋Ÿฌ๋‹ ํŠœํ† ๋ฆฌ์–ผ (4)

KoreanFoodie's Study

๋”ฅ๋Ÿฌ๋‹ ํŠœํ† ๋ฆฌ์–ผ 6-1๊ฐ•, SGD, ๋ชจ๋ฉ˜ํ…€, AdaGrad, Adam, ๊ฐ€์ค‘์น˜ ์ดˆ๊ธฐ๊ฐ’ ์„ค์ • - ๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹

ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ํ•œ๋น› ๋ฏธ๋””์–ด์—์„œ ์ถœํŒํ•œ '๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹'์ด๋ผ๋Š” ๊ต์žฌ์˜ ๋‚ด์šฉ์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ๋”ฅ๋Ÿฌ๋‹ ํŠœํ† ๋ฆฌ์–ผ์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ์ž๋ฃŒ๋Š” ์—ฌ๊ธฐ์—์„œ ์ฐพ๊ฑฐ๋‚˜ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐฑ์‹  ์‹ ๊ฒฝ๋ง ํ•™์Šต์˜ ๋ชฉ์ ์€ ์†์‹ค ํ•จ์ˆ˜์˜ ๊ฐ’์„ ๊ฐ€๋Šฅํ•œ ํ•œ ๋‚ฎ์ถ”๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ตœ์ ๊ฐ’์„ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋ฉฐ, ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๊ฒƒ์„ ์ตœ์ ํ™”(optimization)๋ผ๊ณ  ํ•œ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ง€๊ธˆ๊นŒ์ง€ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ธฐ์šธ๊ธฐ(๋ฏธ๋ถ„)์„ ์ด์šฉํ•ด ๊ธฐ์šธ์–ด์ง„ ๋ฐฉํ–ฅ์œผ๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’์„ ๊ฐฑ์‹ ํ•˜๋Š” ์ผ์„ ๋ฐ˜๋ณตํ•ด ์ตœ์ ํ™”๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค. ์ด๊ฒƒ์ด ํ™•๋ฅ ์  ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•(SGD)์ด๋ผ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. SGD๋Š” ๋‹จ์ˆœํ•˜์ง€๋งŒ, SGD๋ณด๋‹ค ๋˜‘๋˜‘ํ•œ ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ SGD์˜ ๋‹จ์ ์„ ์•Œ์•„๋ณด๊ณ , SGD์™€๋Š” ๋‹ค๋ฅธ ์ตœ์ ํ™” ๊ธฐ๋ฒ•์„ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค!..

๋”ฅ๋Ÿฌ๋‹ ํŠœํ† ๋ฆฌ์–ผ 5๊ฐ• 2๋ถ€, ํ™œ์„ฑํ™” ํ•จ์ˆ˜ ๊ณ„์ธต ๊ตฌํ˜„, Affine/Softmax ๊ณ„์ธต ๊ตฌํ˜„, ์˜ค์ฐจ์—ญ์ „ํŒŒ๋ฒ• ๊ตฌํ˜„ - ๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹

ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ํ•œ๋น› ๋ฏธ๋””์–ด์—์„œ ์ถœํŒํ•œ '๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹'์ด๋ผ๋Š” ๊ต์žฌ์˜ ๋‚ด์šฉ์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ๋”ฅ๋Ÿฌ๋‹ ํŠœํ† ๋ฆฌ์–ผ์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ์ž๋ฃŒ๋Š” ์—ฌ๊ธฐ์—์„œ ์ฐพ๊ฑฐ๋‚˜ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™œ์„ฑํ™” ํ•จ์ˆ˜ ๊ณ„์ธต ๊ตฌํ˜„ํ•˜๊ธฐ ์ด์ œ ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„๋ฅผ ์‹ ๊ฒฝ๋ง์— ์ ์šฉํ•ด ๋ณด์ž. ์šฐ์„ ์€ ํ™œ์„ฑํ™” ํ•จ์ˆ˜์€ ReLU์™€ Sigmoid ๊ณ„์ธต์„ ๊ตฌํ˜„ํ•ด ๋ณด์ž. ReLU ๊ณ„์ธต ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋กœ ์ƒ์š”๋˜๋Š” ReLU์˜ ์ˆ˜์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์œ„ ์‹์—์„œ x์— ๋Œ€ํ•œ y์˜ ๋ฏธ๋ถ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์œ„ ์‹๊ณผ ๊ฐ™์ด ์ˆœ์ „ํŒŒ ๋•Œ์˜ ์ž…๋ ฅ์ธ x๊ฐ€ 0๋ณด๋‹ค ํฌ๋ฉด ์—ญ์ „ํŒŒ๋Š” ์ƒ๋ฅ˜์˜ ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ํ•˜๋ฅ˜๋กœ ํ˜๋ฆฐ๋‹ค. ๋ฐ˜๋ฉด, ์ˆœ์ „ํŒŒ ๋•Œ x๊ฐ€ 0 ์ดํ•˜๋ฉด ์—ญ์ „ํŒŒ ๋•Œ๋Š” ํ•˜๋ฅ˜๋กœ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๋Š”๋‹ค(0์„ ๋ณด๋‚ธ๋‹ค). ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ์ด์ œ ์ด ReLU ๊ณ„์ธต์„ ๊ตฌํ˜„ํ•ด..

๋”ฅ๋Ÿฌ๋‹ ํŠœํ† ๋ฆฌ์–ผ 5๊ฐ• 1๋ถ€, ์˜ค์ฐจ์—ญ์ „ํŒŒ๋ฒ•, ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„ - ๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹

ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ํ•œ๋น› ๋ฏธ๋””์–ด์—์„œ ์ถœํŒํ•œ '๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹'์ด๋ผ๋Š” ๊ต์žฌ์˜ ๋‚ด์šฉ์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ๋”ฅ๋Ÿฌ๋‹ ํŠœํ† ๋ฆฌ์–ผ์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ์ž๋ฃŒ๋Š” ์—ฌ๊ธฐ์—์„œ ์ฐพ๊ฑฐ๋‚˜ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค์ฐจ์—ญ์ „ํŒŒ๋ฒ• ์ด์ „๊นŒ์ง€๋Š” ์‹ ๊ฒฝ๋ง์˜ ๊ฐ€์ค‘์น˜ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ์ˆ˜์น˜ ๋ฏธ๋ถ„์„ ์‚ฌ์šฉํ•ด ๊ตฌํ–ˆ๋‹ค. ์ˆ˜์น˜ ๋ฏธ๋ถ„์€ ๋‹จ์ˆœํ•˜๊ณ  ๊ตฌํ˜„๋„ ์‰ฝ์ง€๋งŒ ๊ณ„์‚ฐ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. ์ด๋ฒˆ ๊ฐ•์—์„œ๋Š” ๊ฐ€์ค‘์น˜ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ณ„์‚ฐํ•˜๋Š” '์˜ค์ฐจ์—ญ์ „ํŒŒ๋ฒ•(backpropagation)'์„ ๋ฐฐ์›Œ๋ณด์ž. ์˜ค์ฐจ์—ญ์ „ํŒŒ๋ฒ•์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ํ•˜๋‚˜๋Š” ์ˆ˜์‹์„ ํ†ตํ•œ ๊ฒƒ์ด๊ณ , ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„๋ฅผ ํ†ตํ•œ ๊ฒƒ์ด๋‹ค. ํ•ด๋‹น ํฌ์ŠคํŠธ์—์„œ๋Š” ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„๋ฅผ ์ด์šฉํ•ด ์‹œ๊ฐ์ ์œผ๋กœ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•ด ๋ณด์ž. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์„ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด, ..

๋”ฅ๋Ÿฌ๋‹ ํŠœํ† ๋ฆฌ์–ผ 1๊ฐ•, ๋„˜ํŒŒ์ด(Numpy) ๋‹ค๋ฃจ๊ธฐ - ๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹

ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ํ•œ๋น› ๋ฏธ๋””์–ด์—์„œ ์ถœํŒํ•œ '๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹'์ด๋ผ๋Š” ๊ต์žฌ์˜ ๋‚ด์šฉ์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ๋”ฅ๋Ÿฌ๋‹ ํŠœํ† ๋ฆฌ์–ผ์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ์ž๋ฃŒ๋Š” ์—ฌ๊ธฐ์—์„œ ์ฐพ๊ฑฐ๋‚˜ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ฐ–์ถ”๊ธฐ ๋จผ์ €, ํŒŒ์ด์ฌ์„ ์„ค์น˜ํ•ด์ฃผ์ž. ํŒŒ์ด์ฌ์„ ์ด์šฉํ•ด ์‹ค์Šต์„ ํ•˜๋Š” ๊ณผ์ •์—์„œ, ์—ฌ๋Ÿฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์•„๋‚˜์ฝ˜๋‹ค๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์‹ค์Šต์— ํ•„์š”ํ•œ ๋Œ€๋ถ€๋ถ„์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๊ฐ™์ด ์„ค์น˜๋˜์–ด ๋งค์šฐ ๊ฐ„ํŽธํ•˜๋‹ค. ์•„๋ž˜ ๋งํฌ์— ๋“ค์–ด๊ฐ€์„œ https://www.anaconda.com/distribution/#download-section Python 3.7 version ์ด๋ผ๊ณ  ์ ํžŒ ๊ณณ์—, ์‚ฌ์–‘์— ๋งž๊ฒŒ 64๋น„ํŠธ ํ˜น์€ 32๋น„ํŠธ๋ฅผ ๋‚ด๋ ค๋ฐ›์•„ ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด ๋œ๋‹ค. ์ด๋ฏธ ํŒŒ์ด์ฌ์ด ์„ค์น˜๋˜์–ด ์žˆ๋‹ค๋ฉด, ์„ค์น˜๋œ ํŒŒ์ด์ฌ์— ๋งž๊ฒŒ 64๋น„ํŠธ, 3..