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

๋ชฉ๋ก๋”ฅ๋Ÿฌ๋‹ ๊ธฐ์ดˆ (3)

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 ๊ณ„์ธต์„ ๊ตฌํ˜„ํ•ด..

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

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