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

๋ชฉ๋ก๋”ฅ๋Ÿฌ๋‹ (5)

KoreanFoodie's Study

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

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

๋”ฅ๋Ÿฌ๋‹ ํŠœํ† ๋ฆฌ์–ผ 4๊ฐ• 1๋ถ€, ์‹ ๊ฒฝ๋ง ํ•™์Šต - ๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹

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

๋”ฅ๋Ÿฌ๋‹ ํŠœํ† ๋ฆฌ์–ผ 3๊ฐ• 1๋ถ€, ์‹ ๊ฒฝ๋ง๊ณผ ํ™œ์„ฑํ™” ํ•จ์ˆ˜ - ๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹

ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ํ•œ๋น› ๋ฏธ๋””์–ด์—์„œ ์ถœํŒํ•œ '๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹'์ด๋ผ๋Š” ๊ต์žฌ์˜ ๋‚ด์šฉ์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ๋”ฅ๋Ÿฌ๋‹ ํŠœํ† ๋ฆฌ์–ผ์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ์ž๋ฃŒ๋Š” ์—ฌ๊ธฐ์—์„œ ์ฐพ๊ฑฐ๋‚˜ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํผ์…‰ํŠธ๋ก ์—์„œ ์‹ ๊ฒฝ๋ง์œผ๋กœ ์‹ ๊ฒฝ๋ง์˜ ์˜ˆ ์‹ ๊ฒฝ๋ง์„ ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ธ ์˜ˆ์‹œ๋ฅผ ๋ณด์ž. Input์ด๋ผ๊ณ  ํ‘œ์‹œ๋œ ๊ฒƒ์€ ์ž…๋ ฅ์ธต, ๋งจ ์˜ค๋ฅธ์ชฝ ์ค„(Output)์„ ์ถœ๋ ฅ์ธต, ์ค‘๊ฐ„ ์ธต(Hidden)์„ ์€๋‹‰์ธต์ด๋ผ๊ณ  ํ•œ๋‹ค. ์€๋‹‰์ธต์˜ ๋‰ด๋Ÿฐ์€ ์‚ฌ๋žŒ ๋ˆˆ์—๋Š” ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค. 0์ธต์˜ ์ž…๋ ฅ์ธต, 1์ธต์ด ์€๋‹‰์ธต, 2์ธต์ด ์ถœ๋ ฅ์ธต์ด ๋œ๋‹ค. ํผ์…‰ํŠธ๋ก  ๋ณต์Šต ๊ธฐ์กด ํผ์…‰ํŠธ๋ก ์€ ์ด๋Ÿฐ ๊ตฌ์กฐ๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค. # ์‹ : y = 0 (b + w1x1 + w2x2 0) ์—ฌ๊ธฐ์„œ b๋Š” ํŽธํ–ฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ, ๋‰ด๋Ÿฐ์ด ์–ผ๋งˆ๋‚˜ ์‰ฝ๊ฒŒ ํ™œ์„ฑํ™”๋˜๋Š๋ƒ๋ฅผ ์ œ์–ดํ•œ๋‹ค. ํ•œํŽธ, w1๊ณผ w2๋Š” ๊ฐ..

๋”ฅ๋Ÿฌ๋‹ ํŠœํ† ๋ฆฌ์–ผ 2๊ฐ•, ํผ์…‰ํŠธ๋ก (Perceptron) ๊ฐœ๋… ์ตํžˆ๊ธฐ - ๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹

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

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

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