Skip to content

Latest commit

ย 

History

History
44 lines (21 loc) ยท 5.34 KB

File metadata and controls

44 lines (21 loc) ยท 5.34 KB

5.2.2. ์ธ๊ณต ์‹ ๊ฒฝ๋ง

์‹ ๊ฒฝ๊ณ„์—์„œ์˜ ๋‰ด๋Ÿฐ๋“ค์€ ๊ทธ ์ˆ˜๊ฐ€ ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์œผ๋ฉฐ, ์„œ๋กœ ๊ฐ„์— ๋งค์šฐ ๋ณต์žกํ•œ ๊ตฌ์กฐ๋กœ ์–ฝํžˆ๊ณ ์„ค์ผœ ํ•˜๋‚˜์˜ ๊ฑฐ๋Œ€ํ•œ ๋ง์„ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ, ์ด๋ฅผ ์‹ ๊ฒฝ๋ง(neural network)์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋จธ์‹ ๋Ÿฌ๋‹ ๊ณผํ•™์ž๋“ค์€ ์‹ ๊ฒฝ๊ณ„์˜ ์ด๋Ÿฌํ•œ ์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ์— ์ฐฉ์•ˆํ•˜์—ฌ, ํผ์…‰ํŠธ๋ก ์„ ํ•˜๋‚˜์˜ ๋นŒ๋”ฉ ๋ธ”๋ก(building block)์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ , ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํผ์…‰ํŠธ๋ก ์„ ์•„๋ž˜ ์˜ˆ์‹œ์™€ ๊ฐ™์ด ์—ฐ๊ฒฐํ•œ **์ธ๊ณต์‹ ๊ฒฝ๋ง(artificial neural network)**์„ ๊ณ ์•ˆํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜: http://ipcp.edunet4u.net/~teacher07/bio1/biopic3/%EB%89%B4%EB%9F%B0.gif

์ž…๋ ฅ ๋ฒกํ„ฐ๊ฐ€ ์ž๋ฆฌ์žก๋Š” ์ธต์„ ์ž…๋ ฅ์ธต(input layer), ์ตœ์ข… ์ถœ๋ ฅ๊ฐ’์ด ์ž๋ฆฌ์žก๋Š” ์ธต์„ ์ถœ๋ ฅ์ธต(output layer), ์ž…๋ ฅ์ธต๊ณผ ์ถœ๋ ฅ์ธต ์‚ฌ์ด์— ์œ„์น˜ํ•˜๋Š” ๋ชจ๋“  ์ธต์„ **์€๋‹‰์ธต(hidden layer)**์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•  ๋•Œ๋Š” 3๊ฐœ์˜ ์ธต์„ ๊ทธ๋ฆฌ๋‚˜, ์‹ค์ œ ์ธ๊ณต์‹ ๊ฒฝ๋ง์˜ ์ธต ๊ฐœ์ˆ˜๋ฅผ ์…€ ๋•Œ ์ž…๋ ฅ์ธต์€ ์ƒ๋žตํ•˜๋Š” ๊ฒƒ์„ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์œ„ ๊ตฌ์กฐ์—์„œ๋Š” โ€˜์ด 2๊ฐœ์˜ ์ธต์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.โ€™๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ํผ์…‰ํŠธ๋ก ์„ ๊ธฐ๋ณธ ๋นŒ๋”ฉ ๋ธ”๋ก์œผ๋กœ ํ•˜์—ฌ, ์ด๋Ÿฐ ํŒจํ„ด์— ๋”ฐ๋ผ 2์ฐจ์›์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ๊ตฌ์„ฑ๋˜๋Š” ์ธ๊ณต์‹ ๊ฒฝ๋ง์˜ ์ผ์ข…์„ ํŠน๋ณ„ํžˆ ๋‹ค์ธต **ํผ์…‰ํŠธ๋ก (MLP: multi-layer perceptron)**์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฐ ์ž…๋ ฅ์ธต-์€๋‹‰์ธต-์ถœ๋ ฅ์ธต์˜ ๊ฒฝ์šฐ, ๋‹ค์ธต ํผ์…‰ํŠธ๋ก ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์ข€ ์žˆ๋‹ค ์„ค๋ช…ํ•  ๋‹ค์–‘ํ•œ ์ธ๊ณต์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ์—์„œ ๊ณตํ†ต์ ์œผ๋กœ ์กด์žฌํ•˜๋Š” ์ธต์ž…๋‹ˆ๋‹ค. ์€๋‹‰์ธต์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ์ธ๊ณต์‹ ๊ฒฝ๋ง์ด โ€˜๊นŠ์–ด์กŒ๋‹ค(deep)โ€™๊ณ  ๋ถ€๋ฅด๋ฉฐ, ์ด๋ ‡๊ฒŒ ์ถฉ๋ถ„ํžˆ ๊นŠ์–ด์ง„ ์ธ๊ณต์‹ ๊ฒฝ๋ง์„ ๋Ÿฌ๋‹ ๋ชจ๋ธ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ๋ฐ”๋กœ **๋”ฅ๋Ÿฌ๋‹(Deep Learning)**์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ๋”ฅ๋Ÿฌ๋‹์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์ถฉ๋ถ„ํžˆ ๊นŠ์€ ์ธ๊ณต์‹ ๊ฒฝ๋ง์„ ์‹ฌ์ธต **์‹ ๊ฒฝ๋ง(DNN: Deep neural network)**์ด๋ผ๊ณ  ํ†ต์นญํ•ฉ๋‹ˆ๋‹ค.

โ€˜๊ทธ๋Ÿผ ์€๋‹‰์ธต ๋ฐ ์ถœ๋ ฅ์ธต์ด ๋ช‡ ๊ฐœ ์ด์ƒ์ด ์žˆ์–ด์•ผ ์‹ฌ์ธต ์‹ ๊ฒฝ๋ง์ด๋ƒ?โ€™๋Š” ์˜๋ฌธ์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ์€๋‹‰์ธต+์ถœ๋ ฅ์ธต์ด 2๊ฐœ ์ด์ƒ์ด ๋˜๋ฉด ์‹ฌ์ธต ์‹ ๊ฒฝ๋ง์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜์™€ ๊ฐ™์ด 8๊ฐœ ์€๋‹‰์ธต+์ถœ๋ ฅ์ธต์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋‹ค์ธต ํผ์…‰ํŠธ๋ก ์€ ์‹ฌ์ธต ์‹ ๊ฒฝ๋ง์ž…๋‹ˆ๋‹ค.

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

์ด๋Ÿฐ ์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ์˜ ์ฃผ์š” ์œ ํ˜•์„ ์‚ดํŽด ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Feed-forward neural network

๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ˜•ํƒœ์˜ ์‹ฑ๊ฒฝ๋ง์˜ ํ˜•ํƒœ๋ฅผ ๋งํ•ฉ๋‹ค. ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์“ฐ์ด๊ณ  ์‹ค์ œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ์šฉ๋˜๋Š” neural network๋“ค๋„ ๋Œ€๋ถ€๋ถ„์ด feed-forward๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋„คํŠธ์›Œํฌ๋Š” ์ƒ๋‹นํžˆ ๊ฐ„๋‹จํ•œ ๊ตฌ์กฐ์ธ๋ฐ, ์ฒซ ๋ฒˆ์งธ layer๋Š” input์ด๋ฉฐ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ layer๋Š” output์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ค‘๊ฐ„์˜ input๊ณผ output์œผ๋กœ ๊ด€์ฐฐ๋˜์ง€ ์•Š๋Š” ์˜์—ญ์„ โ€œhiddenโ€ layer๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์šฐ๋ฆฌ๊ฐ€ ์ง์ ‘ ๊ด€์ธกํ•˜๋Š” ์˜์—ญ์ด ์•„๋‹Œ ๋ณผ ์ˆ˜ ์—†๋Š” layer์ด๋ฏ€๋กœ hidden์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ hidden layer๊ฐ€ ํ•˜๋‚˜๋ณด๋‹ค ๋งŽ์ด ์กด์žฌํ•œ๋‹ค๋ฉด ์ด network๋Š” โ€œdeepโ€ neural network๋ผ๊ณ  ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค.

โ€Œ ์œ„์˜ ๊ทธ๋ฆผ์ด Feed-forward neural network์˜ ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ์ด๋‹ค.

Recurrent network

์ด๋ณด๋‹ค ์กฐ๊ธˆ ๋” ๋ณต์žกํ•œ network๋กœ๋Š” Recurrent network๋ผ๋Š” ๊ฒƒ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. โ€œRecurrentโ€๋ผ๋Š” ์ด๋ฆ„์ด ๋ถ™์€ ์ด์œ ๋Š” graph์— cycle์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ธ๋ฐ, ์ด network์—์„œ๋Š” ํ™”์‚ดํ‘œ๋ฅผ ๊ณ„์† ๋”ฐ๋ผ๊ฐ€๋‹ค๋ณด๋ฉด ์–ด๋А ์ˆœ๊ฐ„ ๊ฐ™์€ ์žฅ์†Œ๋ฅผ ๊ณ„์† ๋Œ๊ณ  ์žˆ์„ ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ๋‹น์—ฐํžˆ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ์ด๊ฒƒ์„ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ๋ณต์žกํ•œ ์ผ์ด๊ณ  ์–ด๋ ค์šด ์ผ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ์ผ๋‹จ ์ด ๋„คํŠธ์›Œํฌ๋Š” ์ƒ๋ฌผํ•™์ ์œผ๋กœ ๊ฐ€์žฅ ํ˜„์‹ค์ ์ธ ๋„คํŠธ์›Œํฌ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์œ„์™€ ๊ฐ™์ด directed cycle์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ recurrent network๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์„œ sequential data๋ฅผ modelingํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋ชจ๋ธ๋ง์ด ๊ฐ€๋Šฅํ•œ ๊ทผ๋ณธ์ ์ธ ์ด์œ ๋Š” ์ด ๋ฐฉ๋ฒ• ์ž์ฒด๊ฐ€ ์ผ์ข…์˜ ์‹œ๊ฐ„์„ ์ถ•์œผ๋กœํ•œ ์•„์ฃผ deepํ•œ network๋กœ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆผ์œผ๋กœ ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•ํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

์œ„์˜ ๊ทธ๋ฆผ์€ ๋งค์‹œ๊ฐ„๋งˆ๋‹ค ํ•˜๋‚˜์˜ hidden layer๋ฅผ ๊ฐ€์ง€๋Š” ๋„คํŠธ์›Œํฌ์ด๋ฉฐ, ๊ฐ hidden layer๋Š” ๊ทธ ๋‹ค์Œ hidden layer์— ๋ฌด์–ธ๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์ž๊ธฐ ์ž์‹ ์ด ์ž๊ธฐ ์ž์‹ ์—๊ฒŒ ์ •๋ณด๋ฅผ ์ฃผ๋Š” cycle์ด ์กด์žฌํ•˜๋Š” ํ˜•ํƒœ์ด๋ฉฐ, ๋งค์‹œ๊ฐ„๋งˆ๋‹ค input๊ณผ output์ด ์กด์žฌํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ด์œ ๋กœ recurrent network๋ฅผ ์ด๋Ÿฐ ํ˜•ํƒœ์˜ network๋กœ ์น˜ํ™˜ํ•˜์—ฌ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Reference : http://sanghyukchun.github.io/40/