[DL] ANN, DNN, CNN, RNN ๊ฐœ๋…๊ณผ ์ฐจ์ด

โ€ขAI/DL_ML

๋”ฅ๋Ÿฌ๋‹์„ ๊ณต๋ถ€ํ•˜๋‹ค๋ณด๋ฉด ์ธ๊ณต์ง€๋Šฅ, ๋จธ์‹ ๋Ÿฌ๋‹ ๊ทธ๋ฆฌ๊ณ  ๋”ฅ๋Ÿฌ๋‹์ด๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ๋งŽ์ด ๋“ฑ์žฅํ•œ๋‹ค. ๋˜ํ•œ ์ธ๊ณต์‹ ๊ฒฝ๋ง์„ ์„ค๋ช…ํ•˜๋Š” ๊ณผ์ •์—์„œ๋„ ANN, DNN, CNN, RNN๋“ฑ ๋‹ค์–‘ํ•˜๊ฒŒ ๋“ฑ์žฅํ•œ๋‹ค. ์„ธ๋ถ€์ ์œผ๋กœ ๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ ๊ฐ ๋‹จ์–ด์˜ ์˜๋ฏธ๋ฅผ ์‚ดํŽด๋ณด๋„๋กํ•˜์ž.

์ธ๊ณต์ง€๋Šฅ, ๋จธ์‹ ๋Ÿฌ๋‹, ๋”ฅ๋Ÿฌ๋‹

  • ์ธ๊ณต์ง€๋Šฅ(Artificial Intelligence): ์ธ๊ฐ„์˜ ์ง€๋Šฅ์„ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ. ์ธ๊ฐ„์˜ ์ง€๋Šฅ์„ ๊ธฐ๊ณ„ ๋“ฑ์— ์ธ๊ณต์ ์œผ๋กœ ๊ตฌํ˜„ํ•œ ๊ฒƒ

  • ๋จธ์‹ ๋Ÿฌ๋‹(Machine Learning): ๊ธฐ๊ณ„ํ•™์Šต์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ์šฐ๋ฉฐ, ์ธ๊ณต์ง€๋Šฅ์˜ ํ•œ ๋ถ„์•ผ์ด๋‹ค. ์ปดํ“จํ„ฐ๊ฐ€ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ธฐ์ˆ ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ถ„์•ผ

  • ๋”ฅ๋Ÿฌ๋‹(Deep Learning): ์—ฌ๋Ÿฌ ๋น„์„ ํ˜• ๋ณ€ํ™˜๊ธฐ๋ฒ•์˜ ์กฐํ•ฉ์„ ํ†ตํ•ด ๋†’์€ ์ˆ˜์ค€์˜ ์ถ”์ƒํ™”(๋‹ค๋Ÿ‰์˜ ๋ณต์žกํ•œ ์ž๋ฃŒ๋“ค์—์„œ ํ•ต์‹ฌ์ ์ธ ๋‚ด์šฉ๋งŒ ์ถ”๋ ค๋‚ด๋Š” ์ž‘์—…)์„ ์‹œ๋„ํ•˜๋Š” ๊ธฐ๊ณ„ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ง‘ํ•ฉ

  • ๊ทธ๋ฆผ.1 ์ธ๊ณต์ง€๋Šฅ, ๋จธ์‹ ๋Ÿฌ๋‹, ๋”ฅ๋Ÿฌ๋‹์˜ ๊ตฌ์กฐ
    introduction of DL structure

๊ทธ๋ฆผ 1๊ณผ ๊ฐ™์ด ๊ฐ€์žฅ ํฌ๊ด„์ ์ธ ์ธ๊ณต์ง€๋Šฅ ๋ถ„์•ผ ์•ˆ์— ๋จธ์‹ ๋Ÿฌ๋‹์ด ์†ํ•˜๊ณ , ๋จธ์‹ ๋Ÿฌ๋‹ ๋ถ„์•ผ ์†์— ๋”ฅ๋Ÿฌ๋‹ ๋ถ„์•ผ๊ฐ€ ์†ํ•ด์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

ANN, DNN, CNN, RNN

ANN(Artificial Neural Network)

๋จธ์‹ ๋Ÿฌ๋‹์˜ ํ•œ ๋ถ„์•ผ์ธ ๋”ฅ๋Ÿฌ๋‹์€ ์ธ๊ณต์‹ ๊ฒฝ๋ง(Artificial Neural Network)๋ฅผ ๊ธฐ์ดˆ๋กœ ํ•˜๊ณ  ์žˆ๋‹ค. ์ธ๊ณต์‹ ๊ฒฝ๋ง์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ANN์€ ์‚ฌ๋žŒ์˜ ์‹ ๊ฒฝ๋ง ์›๋ฆฌ์™€ ๊ตฌ์กฐ๋ฅผ ๋ชจ๋ฐฉํ•˜์—ฌ ๋งŒ๋“  ๊ธฐ๊ณ„ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์ธ๊ฐ„์˜ ๋‡Œ์—์—์„œ ๋‰ด๋Ÿฐ๋“ค์ด ์–ด๋–ค ์‹ ํ˜ธ, ์ž๊ทน ๋“ฑ์„ ๋ฐ›๊ณ , ๊ทธ ์ž๊ทน์ด ์–ด๋– ํ•œ ์ž„๊ณ„๊ฐ’(threshold)์„ ๋„˜์–ด์„œ๋ฉด ๊ฒฐ๊ณผ ์‹ ํ˜ธ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ณผ์ •์—์„œ ์ฐฉ์•ˆํ•œ ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์„œ ๋“ค์–ด์˜จ ์ž๊ทน, ์‹ ํ˜ธ๋Š” ์ธ๊ณต์‹ ๊ฒฝ๋ง์—์„œ Input Data์ด๋ฉฐ ์ž„๊ณ„๊ฒ‚์€ ๊ฐ€์ค‘์น˜(weight), ์ž๊ทน์— ์˜ํ•ด ์–ด๋–ค ํ–‰๋™์„ ํ•˜๋Š” ๊ฒƒ์€ Output Data์— ๋น„๊ตํ•˜๋ฉด ๋œ๋‹ค.

  • ๊ทธ๋ฆผ.2 ANN
    ANN structure

์ธ๊ณต์‹ ๊ฒฝ๋ง์€ ์‹œ๋ƒ…์Šค์˜ ๊ฒฐํ•ฉ์œผ๋กœ ๋„คํŠธ์›Œํฌ๋ฅผ ํ˜•์„ฑํ•œ ์ธ๊ณต๋‰ด๋Ÿฐ(Node)์ด ํ•™์Šต์„ ํ†ตํ•ด ์‹œ๋ƒ…์Šค์˜ ๊ฒฐํ•ฉ ์„ธ๊ธฐ๋ฅผ ๋ณ€ํ™” ์‹œ์ผœ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์„ ๊ฐ€์ง€๋Š” ๋ชจ๋ธ ์ „๋ฐ˜์„ ์˜๋ฏธํ•œ๋‹ค. (์ถœ์ฒ˜: ์œ„ํ‚ค๋ฐฑ๊ณผ)

๋‹ค์‹œ ๋งํ•ด, ๊ทธ๋ฆผ 2์™€ ๊ฐ™์ด ๋‹ค์ˆ˜์˜ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๋Š” ์ž…๋ ฅ์ธต(Input layer), ๋ฐ์ดํ„ฐ์˜ ์ถœ๋ ฅ์„ ๋‹ด๋‹นํ•˜๋Š” ์ถœ๋ ฅ์ธต(Output layer), ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์ธต ์‚ฌ์ด์— ์กด์žฌํ•˜๋Š” ๋ ˆ์ด์–ด๋“ค(์€๋‹‰์ธต, hidden layer)์ด ์กด์žฌํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ํžˆ๋“  ๋ ˆ์ด์–ด๋“ค์˜ ๊ฐฏ์ˆ˜์™€ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋ชจ๋ธ์„ ๊ตฌ์„ฑํ•œ๋‹ค๊ณ  ๋งํ•œ๋‹ค. ์ด ๋ชจ๋ธ์„ ์ž˜ ๊ตฌ์„ฑํ•˜์—ฌ ์›ํ•˜๋Š” Output ๊ฐ’์„ ์ž˜ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์ด ์šฐ๋ฆฌ๊ฐ€ ํ•ด์•ผํ•  ์ผ์ด๋‹ค. ์€๋‹‰์ธต์—์„œ๋Š” ํ™œ์„ฑํ™”ํ•จ์ˆ˜(Activation Fuction)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ์ ์˜ ๊ฐ€์ค‘์น˜(weight)์™€ ๋ฐ”์ด์–ด์Šค(Bias)๋ฅผ ์ฐพ์•„๋‚ด๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

ANN์˜ ๋ฌธ์ œ์ 

  • ํ•™์Šต๊ณผ์ •์—์„œ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ตœ์ ๊ฐ’์„ ์ฐพ๊ธฐ ์–ด๋ ต๋‹ค.
    ์ถœ๋ ฅ ๊ฐ’์„ ๊ฒฐ์ •ํ•˜๋Š” ํ™œ์„ฑํ™” ํ•จ์ˆ˜์˜ ์‚ฌ์šฉ์€ ๊ธฐ์šธ๊ธฐ ๊ฐ’์— ์˜ํ•ด weight๊ฐ€ ๊ฒฐ์ •๋˜์—ˆ๋‹ค. ์ด๋Ÿฐ gradient๊ฐ’์ด ๋’ค๋กœ ๊ฐˆ์ˆ˜๋ก ์ ์  ์ž‘์•„์ ธ 0์— ์ˆ˜๋ ดํ•˜๋Š” ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ๋„ ํ•˜๋ฉฐ, ๋ถ€๋ถ„์ ์ธ ์—๋Ÿฌ๋ฅผ ์ตœ์ € ์—๋Ÿฌ๋กœ ์ธ์‹ํ•˜์—ฌ ๋”์ด์ƒ ํ•™์Šต์„ ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค.

  • ๊ณผ์ ํ•ฉ(Overfitting)์— ๋”ฐ๋ฅธ ๋ฌธ์ œ

  • ํ•™์Šต์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ๋А๋ฆฌ๋‹ค.
    ์€๋‹‰์ธต์ด ๋งŽ์œผ๋ฉด ํ•™์Šตํ•˜๋Š” ๋ฐ์— ์ •ํ™•๋„๊ฐ€ ์˜ฌ๋ผ๊ฐ€์ง€๋งŒ ๊ทธ๋งŒํผ ์—ฐ์‚ฐ๋Ÿ‰์ด ๊ธฐํ•˜ ๊ธ‰์ˆ˜์ ์œผ๋กœ ๋Š˜์–ด๋‚˜๊ฒŒ ๋œ๋‹ค.

ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋“ค์€ ์ ์  ํ•ด๊ฒฐ๋˜๊ณ  ์žˆ๋‹ค. ๋А๋ฆฐ ํ•™์Šต์‹œ๊ฐ„์€ ๊ทธ๋ž˜ํ”ฝ์นด๋“œ์˜ ๋ฐœ์ „์œผ๋กœ ๋งŽ์€ ์—ฐ์‚ฐ๋Ÿ‰๋„ ๊ฐ๋‹นํ•  ์ˆ˜ ์žˆ์„ ์ •๋„๋กœ ํ•˜๋“œ์›จ์–ด์˜ ์„ฑ๋Šฅ์ด ์ข‹์•„์กŒ์œผ๋ฉฐ, ๊ณผ์ ํ•ฉ๋ฌธ์ œ๋Š” ์‚ฌ์ „ ํ›ˆ๋ จ์„ ํ†ตํ•ด ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

DNN(Deep Neural Network)

  • ๊ทธ๋ฆผ.3 NN vs DNN
    NNvsDNN

ANN ๊ธฐ๋ฒ•์˜ ์—ฌ๋Ÿฌ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋จ์— ๋”ฐ๋ผ ๋ชจ๋ธ ๋‚ด์˜ ์€๋‹‰์ธต์„ ๋งŽ์ด ๋Š˜๋ ค์„œ ํ•™์Šต์˜ ๊ฒฐ๊ณผ๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์ด ๋“ฑ์žฅํ–ˆ๋‹ค. ์ด๋ฅผ DNN(Deep Neural Network)๋ผ๊ณ  ํ•œ๋‹ค.

DNN์€ ์€๋‹‰์ธต์„ 2๊ฐœ ์ด์ƒ ์ง€๋‹Œ ํ•™์Šต ๋ฐฉ๋ฒ•์„ ๋œปํ•œ๋‹ค. ์ปดํ“จํ„ฐ๊ฐ€ ์Šค์Šค๋กœ ๋ถ„๋ฅ˜๋ ˆ์ด๋ธ”์„ ๋งŒ๋“ค์–ด ๋‚ด๊ณ  ๊ณต๊ฐ„์„ ์™œ๊ณกํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ถ„์ง“๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜์—ฌ ์ตœ์ ์˜ ๊ตฌ๋ถ„์„ ์„ ๋„์ถœํ•ด๋‚ธ๋‹ค. ๋งŽ์€ ๋ฐ์ดํ„ฐ์™€ ๋ฐ˜๋ณตํ•™์Šต, ์‚ฌ์ „ํ•™์Šต, ๊ทธ๋ฆฌ๊ณ  ์˜ค๋ฅ˜์—ญ์ ํŒŒ ๊ธฐ๋ฒ•์„ ํ†ตํ•ด ํ˜„์žฌ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , DNN์„ ์‘์šฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ฐ”๋กœ CNN, RNN์ธ ๊ฒƒ์ด๋ฉฐ, ์ด ์™ธ์—๋„ LSTM, GRU ๋“ฑ์ด ์žˆ๋‹ค.

CNN(Convolution Neural Network, ํ•ฉ์„ฑ๊ณฑ์‹ ๊ฒฝ๋ง)

๊ธฐ์กด์˜ ๋ฐฉ์‹์€ ๋ฐ์ดํ„ฐ์—์„œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•ด ํ•™์Šต์ด ์ด๋ฃจ์–ด์กŒ์ง€๋งŒ, CNN์€ ๋ฐ์ดํ„ฐ์˜ ํŠน์ง•์„ ์ถ”์ถœํ•˜์—ฌ ํŠน์ง•๋“ค์˜ ํŒจํ„ด์„ ํŒŒ์•…ํ•˜๋Š” ๊ตฌ์กฐ์ด๋‹ค. ์ด๋Ÿฌํ•œ CNN ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ Convolution ๊ณผ์ •๊ณผ Pooling ๊ณผ์ •์„ ํ†ตํ•ด ์ง„ํ–‰๋œ๋‹ค. Convolution Layer์™€ Pooling Layer๋ฅผ ๋ณตํ•ฉ์ ์œผ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค.

  • ๊ทธ๋ฆผ.4 CNN
    CNN

Convoluton

๋ฐ์ดํ„ฐ์˜ ํŠน์ง•์„ ์ถ”์ถœํ•˜๋Š” ๊ณผ์ •์œผ๋กœ ๋ฐ์ดํ„ฐ์— ๊ฐ ์„ฑ๋ถ„์˜ ์ธ์ ‘ ์„ฑ๋ถ„๋“ค์„ ์กฐ์‚ฌํ•ด ๋“์ง•์„ ํŒŒ์•…ํ•˜๊ณ  ํŒŒ์•…ํ•œ ํŠน์ง•์„ ํ•œ์žฅ์œผ๋กœ ๋„์ถœ์‹œํ‚ค๋Š” ๊ณผ์ •์ด๋‹ค. ์—ฌ๊ธฐ์„œ ๋„์ถœ๋œ ์ •๋ณด๋ฅผ Convolution Layer๋ผ๊ณ  ํ•œ๋‹ค. ์ด ๊ณผ์ •์€ ํ•˜๋‚˜์˜ ์••์ถ• ๊ณผ์ •์ด๋ฉฐ, ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐฏ์ˆ˜๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ค„์—ฌ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

  • ๊ทธ๋ฆผ.5 CNN-Convolution
    convolution

Pooling

Convolution ๊ณผ์ •์„ ๊ฑฐ์นœ ๋ ˆ์ด์–ด์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์ค„์—ฌ์ฃผ๋Š” ๊ณผ์ •์ด๋‹ค. ๋‹จ์ˆœํžˆ ๋ฐ์ดํ„ฐ์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์ค„์—ฌ์ฃผ๊ณ , ๋…ธ์ด์ฆˆ๋ฅผ ์ƒ์‡„์‹œํ‚ค๊ณ  ๋ฏธ์„ธํ•œ ๋ถ€๋ถ„์—์„œ ์ผ๊ด€์ ์ธ ํŠน์ง•์„ ์ œ๊ณตํ•œ๋‹ค.

  • ๊ทธ๋ฆผ.6 Pooling
    pooling

CNN์€ ๋ณดํ†ต ์ •๋ณด์ถ”์ถœ, ๋ฌธ์žฅ๋ถ„๋ฅ˜, ์–ผ๊ตด์ธ์‹ ๋“ฑ์˜ ๋ถ„์•ผ์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

RNN(Recurrent Neural Network, ์ˆœํ™˜์‹ ๊ฒฝ๋ง)

RNN ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฐ˜๋ณต์ ์ด๊ณ  ์ˆœ์ฐจ์ ์ธ ๋ฐ์ดํ„ฐ(Sequential Data)ํ•™์Šต์— ํŠนํ™”๋œ ์ธ๊ณต์‹ ๊ฒฝ๋ง์˜ ํ•œ ์ข…๋ฅ˜๋กœ์จ ๋‚ด๋ถ€์˜ ์ˆœํ™˜๊ตฌ์กฐ๊ฐ€ ๋“ค์–ด์žˆ๋‹ค๋Š” ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ˆœํ™˜๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ณผ๊ฑฐ์˜ ํ•™์Šต์„ Weight๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ํ•™์Šต์— ๋ฐ˜์˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ๊ธฐ์กด์˜ ์ง€์†์ ์ด๊ณ  ๋ฐ˜๋ณต์ ์ด๋ฉฐ ์ˆœ์ฐจ์ ์ธ ๋ฐ์ดํ„ฐํ•™์Šต์˜ ํ•œ๊ณ„๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ํ˜„์žฌ์˜ ํ•™์Šต๊ณผ ๊ณผ๊ฑฐ์˜ ํ•™์Šต์˜ ์—ฐ๊ฒฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ , ์‹œ๊ฐ„์— ์ข…์†๋œ๋‹ค๋Š” ํŠน์ง•์„ ๊ฐ–๊ณ  ์žˆ๋‹ค. ์Œ์„ฑ ์›จ์ด๋ธŒํผ์„ ํŒŒ์•…ํ•˜๊ฑฐ๋‚˜, ํ…์ŠคํŠธ์˜ ์•ž ๋’ค ์„ฑ๋ถ„์„ ํŒŒ์•…ํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

  • ๊ทธ๋ฆผ.7 RNN
    RNN

์ด์™€๊ฐ™์ด ์ธ๊ณต์ง€๋Šฅ, ๋จธ์‹ ๋Ÿฌ๋‹, ๋”ฅ๋Ÿฌ๋‹์˜ ์ฐจ์ด๋ฅผ ์•Œ์•„๋ณด๊ณ , ANN, DNN, CNN, RNN์˜ ๊ตฌ์กฐ ๋ฐ ์ฐจ์ด์ ์„ ์•Œ์•„๋ณด์•˜๋‹ค. ๊ณต๋ถ€ํ•˜๋ฉด ํ• ์ˆ˜๋ก ๋‚ด๊ฐ€ ์•„์ง ๋ถ€์กฑํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋А๋ผ์ง€๋งŒ, ๊ทธ๋Ÿผ์—๋„ ํ•œ ๊ฑธ์Œ ๋” ๋‚ด๋”›์—ˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ƒ๊ฐํ•˜๋ฉฐ ๋Š์ž„์—†์ด ๋…ธ๋ ฅํ•ด์•ผ์ง€ :)

Share