CNN (convolutional neural network)
- convolutioanl layer
- pooling layer
- fully connected layer
๋๋ฌด ์ ์ ๋ฆฌ๋ ๊ธ ...
์ฃผ์ ์ฉ์ด
- convolution
- channel
- filter = kernel
- stride
- padding
- feature map = activation map
- pooling layer
convolutional layer
- FC ๋ง๊ณ , CONV LAYER ์ฌ์ฉํ๋ ์ด์
- parameter sharing
- ์ด๋ฏธ์ง์ ํน์ ๋ถ๋ถ์์ ์ ์๋ฏธํ filter๊ฐ ์ด๋ฏธ์ง์ ๋ค๋ฅธ ๋ถ๋ถ์์๋ ์ฌ์ฉ๋ ์ ์๋ค.
- ์ด๋ฏธ์ง์ ๊ณต๊ฐ์ ๋ณด๋ฅผ ์ ์งํ ์ ์๋ค.
- sparsity of connections
- ๊ฐ๊ฐ์ output value๋ ์ ์ ์์ input์๋ง ์์กดํ๊ธฐ ๋๋ฌธ์ parameter์ ์๋ฅผ ์ค์ผ ์ ์๋ค.
- parameter sharing
- filter
- ์ด์ ๋ filter๋ฅผ ์ง์ ๋์์ธํ ํ์๊ฐ ์๋ค. CNN์์ filter๋ learnable parameter์ด๋ค.
- ์ด์ ์๋ vertical edge detector, horizontal edge detector ๋ฑ์ ์ง์ ๋ง๋ค๊ธฐ๋ ํ์์ผ๋,
์ด์ ๋ ๊ทธ๋ด ํ์๊ฐ ์๋ค.
- ์ด์ ์๋ vertical edge detector, horizontal edge detector ๋ฑ์ ์ง์ ๋ง๋ค๊ธฐ๋ ํ์์ผ๋,
- filter์ ํฌ๊ธฐ๋ 3*3*channel, 5*5*channel์ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
- ์ด์ ๋ filter๋ฅผ ์ง์ ๋์์ธํ ํ์๊ฐ ์๋ค. CNN์์ filter๋ learnable parameter์ด๋ค.
- padding
- ์ด๋ฏธ์ง์ ๊ฐ์ฅ ์๋ฆฌ์ ํน์ ๊ฐ์ผ๋ก ์ฑ์ ๋ฃ๋ ๊ฒ์ ์๋ฏธํ๋ค. ์ฃผ๋ก 0์ผ๋ก ์ฑ์๋ฃ๋๋ค.
- padding์ ์ฌ์ฉํ๋ ๋ชฉ์
- layer๋ฅผ ํต๊ณผํ๋ฉฐ ์ด๋ฏธ์ง์ ํฌ๊ธฐ๊ฐ ์ค์ด๋๋ ๊ฒ์ ๋ง๊ธฐ ์ํ์ฌ
- ๊ฐ์ฅ์๋ฆฌ์ ์๋ ์ ๋ณด๋ฅผ ์ฐ์ฐ์ ๋ ๋ฐ์ํ๊ธฐ ์ํ์ฌ
- padding์ ์ข
๋ฅ
- valid padding : no padding
- same padding : input size์ output size๊ฐ ๋์ผํ๋๋ก padding
- stride
- ์ด๋ ํ ๊ฐ๊ฒฉ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ์ํํ ๊ฒ์ธ์ง
- stride = 1 : ํํฐ๋ฅผ ํ ์นธ์ฉ ์์ง์ด๋ฉด์ convolution ์ฐ์ฐ ์ํ
- stride = 2 : ํํฐ๋ฅผ ๋ ์นธ์ฉ ์์ง์ด๋ฉด์ convolution ์ฐ์ฐ ์ํ
- ์ด๋ ํ ๊ฐ๊ฒฉ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ์ํํ ๊ฒ์ธ์ง
- ์ฐจ์
- l layer์์ convolutional layer๋ฅผ ์ ์ฉํ๋ค๊ณ ํ์.
- F^[l] : filter size
- P^[l] : padding size
- S^[l] : stride size
- C^[l] : number of filters
- input : H^[l-1]*W^[l-1]*C^[l-1]
- output : H^[l]*W^[l]*C^[l]
- filter: F^[l]*F^[l]*C^[l-1]์ด C^[l]๊ฐ
- l layer์์ convolutional layer๋ฅผ ์ ์ฉํ๋ค๊ณ ํ์.
- $$ H^{[l]} = \lfloor\frac{H^{[l-1]}+2P^{[l]}-F^{[l]}}{S^{[l]}}+1\rfloor $$
- $$ W^{[l]} = \lfloor\frac{W^{[l-1]}+2P^{[l]}-F^{[l]}}{S^{[l]}}+1\rfloor $$
- $$ num-of-parameter = (F^{[l]}*F^{[l]}*C^{[l-1]}+1)*C^{[l]} $$
pooling layer
- ํ์ต๋๋ ํ๋ผ๋ฏธํฐ ์กด์ฌํ์ง ์๋๋ค (parameter = 0)
- input, output channel์ด ๋ณํ์ง ์๋๋ค.
- pooling
- max pooling
- average pooling
- ์ฐจ์
- F : filter size
- S : stride
- IH : input height, IW : input width, IC : input channel
- OH : output height, OW : output width, OC : output channel
- OH = floor( (IH-F)/S+1 )
- OW = floor( (IW-F)/S+1 )
- IC = OC
fully connected layer
- input์ flattenํ ๋ค, FC ์ ์ฉ
- ๋ง์ง๋ง FC layer์ unit์ ์๋ class์ ์์ ์ผ์นํด์ผ ํ๋ค.
'๐ > Coursera_DL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
WEEK6 : Inception (googLeNet) (0) | 2020.12.23 |
---|---|
WEEK6 : ResNet (0) | 2020.12.23 |
WEEK5 : end to end DL (0) | 2020.12.21 |
WEEK5 : Multi-Task Learning (0) | 2020.12.20 |
WEEK5 : Transfer Learning (0) | 2020.12.20 |