๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿš“ Self Study/๐ŸŸ  Deep Learning Basic

Deep Learning(CNN, Convolution Layers, Dilated Layers, Separable Convolution, Max-Pooling Convolution)

by UKHYUN22 2021. 12. 29.
728x90

Convolution Network

Deep Learning
Layer๊ฐ€ ๋งŽ์€ ์‹ฌ์ธต ์‹ ๊ฒฝ๋ง์„ ์‚ฌ์šฉํ•˜๊ณ  layer ํ•˜๋‚˜๋Š” Weighted Sum์„ ํ™œ์šฉํ•œ๋‹ค. W๋Š” ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ํ•™์Šต์„ ํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ์ด๊ณ  ๋งˆ์ง€๋ง‰์—๋Š” Loss function์„ ์ •์˜ํ•œ๋‹ค. ์ฆ‰, ๋ชจ๋“  Layer์˜ Weight๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ. ์ด๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ณผ์ •์ด ํ•™์Šตํ•˜๋Š” ๊ณผ์ •์ด ๋œ๋‹ค. Layer์˜ ๊ฐ Operation์€ ์ž…๋ ฅ ์ •๋ณด๋ฅผ Weighted Sum์œผ๋กœ mergeํ•˜๋Š”๋ฐ ์–ด๋–ค ๋น„์œจ๋กœ Merge ํ•˜๋Š”๊ฐ€๊ฐ€ ํฌ์ธํŠธ

 

Deep Learning Architecture
CNN -> ์˜์ƒ์ฒ˜๋ฆฌ, ์ž์—ฐ์–ด, ์Œ์„ฑ์ธ์‹
: ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ์— ์˜ํ•œ ์†๋„ ํ–ฅ์ƒ์„ ๋” ์ž˜ ์ด๋Œ์–ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
: ์ž์—ฐ์–ด : Machine Translation์˜ ํšจ๊ณผ๊ฐ€ ๋” ์žˆ์—ˆ๋‹ค.
RNN -> Time-series Data๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งŒ๋“ค์–ด์ก‹๋‹ค. ํ•˜์ง€๋งŒ ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค.
๋ณ‘๋ ฌํ™”๋ฅผ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๊ตฌ์กฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ.

 

Biological Discoveries
๊ณ ์–‘์ด๋ฅผ ๊ฐ€์ ธ๋‹ค ๋ˆˆ์•ž์— ์ž๊ทน์„ ์ฃผ๊ณ  ๋‡Œ์˜ ์–ด๋Š ๋ถ€๋ถ„์— ๋ฐ˜์‘์ด ์žˆ๋Š”์ง€ ๋ถ„์„์„ ํ–ˆ๋‹ค. ์‹œ๊ฐ ์‹ ๊ฒฝ์— ๋ฐ˜์‘์ด ์žˆ์—ˆ๊ณ  ๋” ๊นŠ์€ ๊ณณ์„ ๊ฐˆ ์ˆ˜๋ก ๋” ๋ณต์žกํ•œ ๋ฐ˜์‘์„ ํ–ˆ๋‹ค๋Š” ๊ฒƒ์ด ๋ฐํ˜€์กŒ๋‹ค. Visual System์˜ ๋‚˜ํƒ€๋‚˜๋Š” ๋ฐ˜์‘์€ ์„ฑ์žฅํ•˜๋ฉด์„œ ๋ฐฐ์šด๋‹ค๋ผ๋Š” ๊ฒƒ์ด ๋ฐํ˜€์กŒ๋‹ค.

 


Convolutional Neural Network
์ฒ˜์Œ ์ œ์•ˆ๋˜์—ˆ์„ ๋•Œ๋Š” Training algorithm์ด ์ข‹์ง€๋Š” ์•Š์•˜๋‹ค. ํ•˜์ง€๋งŒ, 1998 Gradient Descent ๋กœ ๋ฐœ์ „์„ ํ•˜๊ณ  2012๋…„ ๋Œ€ํšŒ์—์„œ ์šฐ์Šน์„ ์ด๋Œ์–ด ๋ƒ„

 

Convolutional Neural Network(CNN)
3์ฐจ์›์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค. channel, row, column์œผ๋กœ ๋ถˆ๋ฆฐ๋‹ค. ๊ณ„์‚ฐ๋Ÿ‰์ด ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— GPU๋ฅผ ์ด์šฉํ•ด์„œ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค. ๋” ๋งŽ์€ ๊ณ„์‚ฐ์„ ๋™์‹œ์— ํ•  ์ˆ˜๋ก ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ์˜ ์ด์ ์„ ์ทจํ•  ์ˆ˜ ์žˆ๋‹ค. Sample์„ ํ•œ ๊ฐœ ์ฃผ๊ณ  ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋ฉด ํšจ๊ณผ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ Data๋ฅผ ์ฃผ์ž…ํ•œ๋‹ค. batch๋Š” Groupํ™” ํ•œ ๊ฒƒ์„ ๋งํ•˜๊ณ  GPU์˜ ์„ฑ๋Šฅ์„ ์ตœ๋Œ€๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค. mini batch์˜ ํฌ๊ธฐ๊ฐ€ 32๋ผ๋ฉด 32D๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ฐ€๋” 5์ฐจ์› ์ •๋ณด๊ฐ€ ๋  ๋•Œ๊ฐ€ ์žˆ๋Š”๋ฐ ์ถ”๊ฐ€๋˜๋Š” ํ•˜๋‚˜์˜ ์ถ•์€ time์ด ๋œ๋‹ค. CNN ๊ฐœ๋…์— RNN์˜ ๊ฐœ๋…์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ๋‹ค. +batch +time. ๊ฐœ๋…์ ์œผ๋กœ๋Š” 3์ฐจ์›์ด์ง€๋งŒ ํ˜„์‹ค์ ์œผ๋กœ 4์ฐจ์›์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค.

 

 


Convolutional Neural Network(CNN)
์ฒซ Layer๋Š” ๋Œ€๋ถ€๋ถ„ Convolutional Layer๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋‹ค์Œ Layer๋“ค์€ ๋‹ค์–‘ํ•œ Layer๋ฅผ ๊ต์ฐจ์‹œ์ผœ ์‚ฌ์šฉ์„ ํ•œ๋‹ค. ์˜ค๋ฅธ์ชฝ(๋’ท์ชฝ)์œผ๋กœ ๊ฐˆ ์ˆ˜๋ก ๋‘ ์„ธ๊ฐœ ์ •๋„์˜ Fully connected Layer๊ฐ€ ์กด์žฌํ•œ๋‹ค. 2012๋…„๋„์— CNN์ด ๋„๋ฆฌ ์•Œ๋ ค์ง€๊ฒŒ ๋ฌ๋Š”๋ฐ ๊ทธ ๋‹น์‹œ ๋Œ€๋ถ€๋ถ„์ด Convolution, Pooling, Fully-connected Layer๋กœ ๊ตฌ์„ฑ์ด ๋˜์–ด์žˆ์—ˆ๋‹ค. ๊ทธ ์ค‘ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์ด Convoluitional Layer์ด๋‹ค. ์ด์—๋Š” ์ข…๋ฅ˜๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—ฌ๋Ÿฌ๊ฐœ ์กด์žฌํ•œ๋‹ค. Pooling layer๋Š” ์—ฌ๋Ÿฌ Dimension์— ์กด์žฌํ•˜๋Š” feature๋“ค์„ ์ ์€ Dimention์œผ๋กœ ์ค„์ด๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. Fully-connected layer๋Š” Targeting์„ ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์ „ํ†ต์ ์ธ ๋ฐฉ๋ฒ•์—๋Š” Fully connected Layer๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ๋‹ค.

 

Convolution Layer
์˜์ƒ ์ฒ˜๋ฆฌ์—์„œ ๋งŽ์ด ์“ฐ์˜€๋˜ Convolution operator์™€ ๋™์ผํ•˜๋‹ค.
์ž…๋ ฅ ์˜์ƒ์ด ์žˆ๊ณ  Convolution mask (3x3 5x5)๋ฅผ ์˜์ƒ์œผ๋กœ๋ถ€ํ„ฐ ํ†ต๊ณผ์‹œํ‚ค๊ณ  ํ•œ์นธ์”ฉ ์ด๋™ํ•˜์—ฌ ์Šค์บ”์„ ์™„๋ฃŒํ•œ๋‹ค./
x์˜ (n-1)์„ ๋ฐ‘ Layer์˜ Feature๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

Convolution Operation
์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๊ฐ™๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ Mask์˜ ๊ฐ’์— ๋”ฐ๋ผ ์™„์ „ํžˆ ๋‹ค๋ฅธ ๊ฒƒ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
CNN์—์„œ Convolution Mask๊ฐ€ Weight์— ํ•ด๋‹นํ•œ๋‹ค. ์ด Convolutional mask ์ž์ฒด๊ฐ€ ํ•™์Šต์„ ํ•ด์•ผ ํ•˜๋Š” Weight๊ฐ€ ๋œ๋‹ค.

 

Convolution Layers
Multi channel ๋กœ ๊ตฌ์„ฑ๋˜๊ธฐ๋„ ํ•œ๋‹ค. ํ•ด๋‹น Neural์„ ๊ฒฐ์ •ํ•˜๋Š” channel์ด ํ•œ ๊ฐœ๊ฐ€ ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ๊ฐœ์ผ ์ˆ˜๋„ ์žˆ๋‹ค.

 


Dilated Convolution(astrous Convolution)
mask์˜ dense๊ฐ€ ์ข€ ๋„“๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‘ ์นธ์— ํ•˜๋‚˜๋ฅผ ๋ฝ‘์•„๋‚ด๋Š” ๋“ฑ์œผ๋กœ ๊ณ„์‚ฐ๋Ÿ‰์ด ๊ฐ์†Œํ•˜๊ฒŒ ๋œ๋‹ค.
Weight์˜ ๊ฐœ์ˆ˜๋„ ๊ฐ์†Œํ•˜๊ฒŒ ๋˜๊ณ  ํŒŒ๋ผ๋ฏธํ„ฐ๋„ ์ค„์–ด๋“ค๋ฉฐ Training์ด ๋” ์ˆ˜์›”ํ•ด์ง„๋‹ค.
3x3 mask๊ฐ€ 5x5 ์˜์—ญ์„ ์ปค๋ฒ„ํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ ์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋„“์€ Context๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 


Transposed Convolution(fractionally-strided convolution)
๋Œ€์ฒด๋กœ ํฐ Feature map์ด ์ž‘์•„์ง€๋Š”๋ฐ ์˜คํžˆ๋ ค ์ด๊ฒƒ์€ ์ž‘์€ feature map์„ ํ‚ค์šฐ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
์ผ๋ฐ˜์  Convolution ํ˜•ํƒœ๋ฅผ ๋’ค์ง‘์–ด ๋†“์€ ํ˜•ํƒœ๊ฐ€ ๋œ๋‹ค.

 


Separable Convolution
2์ฐจ์› Convolution์„ ์ ์šฉํ•˜๊ณ  Channel๊ฐ„ ์ด๋ฃจ์–ด์ง€๋Š” Convolution์ด ์ด๋ฃจ์–ด์ง„๋‹ค.

 


Max-Pooling Layer
์ž…๋ ฅ feature map์„ ์ผ์ •ํ•œ ํฌ๊ธฐ๋กœ ๋‚˜๋ˆ„๊ณ  Maximum ๊ฐ’์œผ๋กœ ์ž‘์€ Map์„ ๋งŒ๋“ ๋‹ค.
์–ด๋–ค ์˜์—ญ์œผ๋กœ ๋“ค์–ด์˜ค๊ฒŒ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ํ•˜๋‚˜์˜ ์„ฑ๋ถ„์ด๋‹ค!! ๋ผ๋Š” ๊ฐœ๋…์œผ๋กœ ์‚ฌ์šฉ๋˜๊ณ  ๊ทธ ์ค‘ ๊ฐ€์žฅ ์„ผ ๊ฐ’์ด ๋Œ€ํ‘œ ์„ฑ๋ถ„์„ ๊ฐ€์ง„๋‹ค๋ผ๊ณ  ํŒ๋‹จํ•˜์—ฌ ์ตœ๋Œ€๊ฐ’์„ ํƒํ•˜๊ฒŒ ๋œ๋‹ค.