๐ ๋ณธ ๋ด์ฉ์ Michigan University์ 'Deep Learning for Computer Vision' ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ฐ์ธ์ ์ผ๋ก ํ๊ธฐํ ๋ด์ฉ์
๋๋ค. ๋ด์ฉ์ ์ค๋ฅ๋ ํผ๋๋ฐฑ์ด ์์ผ๋ฉด ๋ง์ํด์ฃผ์๋ฉด ๊ฐ์ฌํ ๋ฐ์ํ๊ฒ ์ต๋๋ค.
(Stanford์ cs231n๊ณผ ๋ด์ฉ์ด ๊ฑฐ์ ์ ์ฌํ๋ ์ฐธ๊ณ ํ์๋ฉด ๋์ ๋์ค ๊ฒ ๊ฐ์ต๋๋ค)๐
0. LastTime: Back prop
- ๊ธฐ์กด ๋ฌธ์ ์ ) ์ผ๋ฐ ์ ํ๋ถ๋ฅ or fully connected network๋ ์
๋ ฅ์ด๋ฏธ์ง์ 2D๊ณต๊ฐ ๊ตฌ์กฐ ์กด์คX
- ๋ฌด์กฐ๊ฑด 1D๋ก ๋ฐ๊ฟจ์ด์ผ๋จ
- ํด๊ฒฐ์ฑ
) ์ด๋ฏธ์ง, ๊ณต๊ฐ๊ตฌ์กฐ ๋ค๋ฃฐ์ค ์๋ operator ์๋ก ์ ์ํ๋ฉด๋จ
1. ๊ตฌ์ฑ ์์
1) Fully Connected network
![](https://velog.velcdn.com/images/ha_yoonji99/post/688cb2bd-c827-4a05-b3ad-6f54f5c9bcb4/image.png)
2) Convolutional Network
![](https://velog.velcdn.com/images/ha_yoonji99/post/bc0a0ae2-5c79-49e4-9998-fbd24b649958/image.png)
2. Fully Connected Layer
![](https://velog.velcdn.com/images/ha_yoonji99/post/466f84b3-f32e-465d-bd74-1133655a1041/image.png)
3. Convolution Layer
๐filter๊ฐ weight์ญํ ํด์ค(input์ ๋ํ ์ํฅ๋ ฅ ์ ๋ฌ)
1) ๊ตฌ์กฐ
![](https://velog.velcdn.com/images/ha_yoonji99/post/e242faf9-6bd2-4046-8c1b-8145a8c3b74b/image.png)
- input volume 3์ฐจ์ (3x32x32) (RGB x Height x Width)
- filter
- weight matrix์ ๋์ผ ์ญํ
- filter์ RGB์ input์ RGB๋ง์ถ๋๊ฒ ์ค์!
- input image์ ๋ชจ๋ ๊ณต๊ฐ์์น๋ก ์ฌ๋ผ์๋ํ์ฌ, ๋ ๋ค๋ฅธ 3์ฐจ์ ๊ณ์ฐ
- ์
๋ ฅ tensor์ ์ ์ฒด ๊น์ด์ ๊ฑธ์ณ ํ์ฅ๋จ
2) first filter
![](https://velog.velcdn.com/images/ha_yoonji99/post/916b9509-389c-4a40-92da-90d492b68336/image.png)
- filter
-
input image์ ๋ด๋ถ ์ด๋๊ฐ์ ๋ถ์
-
input tensor์ ์ผ๋ถ ๊ณต๊ฐ ์์น์ ํ ๋น
โ input tensor์ filter ์ฌ์ด์ ๋ด์ ๊ณฑ ์งํ
- output
- 1๊ฐ์ element (single number)
- 1๊ฐ์ filter์ input tensor์ ์์ local chunk ๊ณ์ฐ
- input image์ ์ด ์์น๊ฐ ํ๋์ filter์ ์ผ๋ง๋ ์ผ์นํ๋์ง ํจ๊ณผ์ ์ผ๋ก ์๋ ค์ฃผ๋ ๋จ์ผ ์ค์นผ๋ผ์ซ์ ๊ณ์ฐ
3) second filter
![](https://velog.velcdn.com/images/ha_yoonji99/post/32f1548d-3cd6-42ab-896d-f967baf11976/image.png)
- activation map
- filteringํ ๊ฒฐ๊ณผ๋ฅผ ๋ถ๋ฅด๋ ๋ค๋ฅธ ๋ง
- green filter
- ์๊ณผ weight๊ฐ์ด ๋ค๋ฅธ filter
4) ์ฌ๋ฌ๊ฐ์ filter
![](https://velog.velcdn.com/images/ha_yoonji99/post/c375d671-b633-4a66-b717-fe91c2665c63/image.png)
- ์ฌ๋ฌ filter (6x3x5x5)
- ์งํฉ 6๊ฐ์ 3์ฐจ์ ํํฐ
- 6 x 3 x 5 x 5 = filter์ x input channel์ x (filterํฌ๊ธฐ)
- 6๊ฐ์ activation map ๋์ด
- stack activation maps (6๊ฐ)
- ํฌ๊ธฐ๋ ๋ฌ๋ผ์ก์ง๋ง ์ฒซ input๊ณผ ๊ฐ์ 3์ฐจ์ ๊ณต๊ฐ๊ตฌ์กฐ ๋ณด์กด
- ํด๋น ํํฐ์ ๋ํ ์ ์ฒด ์
๋ ฅ์ด๋ฏธ์ง์ ์์ง์ ๋ ๋ํ๋
- ํฉ์ฑ๊ณฑ์ธต์ ์ถ๋ ฅ์ ๊ณต๊ฐ๊ตฌ์กฐ ์๊ฐ ๊ฐ๋ฅ
- 28 x 28 grid
- ์
๋ ฅ tensor์ ๋์ผ ๊ณต๊ฐ grid์ ํด๋น (๊ฐ ์์น์์ ํฉ์ฑ๊ณฑ์ธต์ ํน์ง๋ฒกํฐ ๊ณ์ฐ)
- 6-dim bias vector
- ์๋ ํ๋์ filter๋น 1๊ฐ bias์์
- ์ด 6์ฐจ์(vector) bias ์๋ ๊ฒ
5) 3์ฐจ์ tensor batch
![](https://velog.velcdn.com/images/ha_yoonji99/post/5e50fd69-3221-4fe3-97c1-ded4e29484b7/image.png)
6) ์ผ๋ฐํ
![](https://velog.velcdn.com/images/ha_yoonji99/post/ca392545-ca9f-49f5-a26e-6843ddb17c23/image.png)
- input
- N x Cin X H x W = (๊ฐ์ x batch์ ๊ฐ ์
๋ ฅimage์ ์๋ ์ฑ๋์ x ๊ฐ ์
๋ ฅ ์์์ ๊ณต๊ฐ ํฌ๊ธฐ)
- output
- N x Cout x Hโ x Wโ = (๊ฐ์ x filter๊ฐ์(Cin๊ณผ ๋ค๋ฅผ์์์) x input image์ H,W์ ๋ค๋ฅผ์O)
4. Stacking Convolutions
๐filter(conv)๋ค์ ํ์ฑํํจ์ ๋ฃ์ด์ ์ ํ ๊ทน๋ณต
- Convolution layer๋ฅผ stacking๊ฐ๋ฅ (๋์ด์ fully connected layer X)
![](https://velog.velcdn.com/images/ha_yoonji99/post/9e60b9b9-bbdf-4523-8412-50447bcffe54/image.png)
- ํด์
- input
- 3์ฐจ์ tensor batch N๊ฐ
- W1 : 6x3x5x5
- ์๋ฏธ: 6๊ฐ์ convolution filter
- Nx3x32x32
- ๋ถ๋ฅด๋ ์ด๋ฆ: 3 layer CNN with input in Red, first hidden layer blue, second hidden layer green
- Q. 2๊ฐ convolution layers stackํ๋ฉด ์ด์ผ๋จ? A. ๋ ๋ค๋ฅธ convolution ์ป์ (y=W2W1x๋ ์ฌ์ ํ linear classifier์)
-
๊ฐ convolution ์์
์์ฒด๊ฐ linear ์ฐ์ฐ์์ด๋ฏ๋ก, ํ๋์ convolution์ ๋ stackํ๋ฉด, ๋ ๋ค๋ฅธ ํฉ์ฑ๊ณฑ ๋ง๋ค์ด์ง
โ ๊ทน๋ณต) ๊ฐ ์ ํ ์ฐ์ฐ ์ฌ์ด์ ๋น์ ํ ํ์ฑํํจ์ ์ฝ์
(fully connected layer๊ฐ์ด 3์ฐจ์ tensor์ ๊ฐ ์์์ ๋ํด ์๋)
![](https://velog.velcdn.com/images/ha_yoonji99/post/6e432496-bea4-4df0-9721-8ee69b943634/image.png)
5. ํ์ต๊ฐ๋ฅํ convolutional filter
๐MLP: ๋ชจ๋ ์ด๋ฏธ์ง template์ ํ์ตํจ- 1๋ฒ์งธ์์๋ ๋ชจ์๋ฆฌ ์์ฃผ
1) ๊ธฐ์กด linear classifier
- conv filter๊ฐ ๋ญ ํ์ตํ๋๊ฐ? โ one template per class (1์ฐจ์๋ง ๊ฐ๋ฅํด์)
![](https://velog.velcdn.com/images/ha_yoonji99/post/60449f39-5a6f-48e9-91bd-011e59d7e632/image.png)
2) MLP
- conv filter๊ฐ ๋ญ ํ์ตํ๋๊ฐ? โ Bank of whole image templates (๋ค์ฐจ์๋ ๊ฐ๋ฅํด์)
- fully connected: ์
๋ ฅ ์ด๋ฏธ์ง์ ์ ์ฒด ํฌ๊ธฐ์ ๊ฑธ์ณ ํ์ฅ๋จ
= fully connected network์ 1๋ฒ์งธ layer๋ ๊ฐ๊ฐ ์
๋ ฅ ์ด๋ฏธ์ง์ ๋์ผ ํฌ๊ธฐ๋ฅผ ๊ฐ๋ template bank ๊ฐ์ง ![](https://velog.velcdn.com/images/ha_yoonji99/post/ad2f33df-c1de-4823-bed9-40a007c387c8/image.png)
3) First layer conv filters
- conv filter๊ฐ ๋ญ ํ์ตํ๋๊ฐ? โ local image templates (๋ชจ์๋ฆฌ, ๋ฐ๋ ์ ํ์ต)
![](https://velog.velcdn.com/images/ha_yoonji99/post/28e82821-a11d-4ade-b0c6-47c790cf4935/image.png)
- ex. green blob next to red blob
- image์ ๋ฐ๋ ์์์ ์ฐพ๊ณ ์๋ค๋ ๊ฒ
- 1๋ฒ์งธ convolution ์ฐ์ฐํ 2๋ฒ์งธ feature์ด ๋ญ์ง์ ๋ํ ํด์์ ํด๋น 3D ์ถ๋ ฅ tensor์์ ๊ฐ ํ์ฑํ map์ด ๊ฐ ์์น์ ์ ๋ ์ ๊ณต
- ํด๋น chunk๊ฐ 1๋ฒ์งธ layer์์ ํ์ต๋ ๊ฐ template๊ณผ ์ผ๋ง๋ ์ผ์นํ๋์ง (ex. ํฉ์ฑ๊ณฑ ๋คํธ์ํฌ์ 1๋ฒ์งธ ์ธต์์ ํ์ต๋ ์ด๋ฌํ ํํฐ๋ค๊ณผ ์ ์ฌํจ๊ณผ)
6. Padding
๐๊ธฐ์กด: W-K+1 โ ํจ๋ฉํ: W-K+1+2P
1) ๊ธฐ๋ณธ
![](https://velog.velcdn.com/images/ha_yoonji99/post/2d3ba70c-937b-4f1d-8e2d-41b1c088acda/image.png)
- ์ถ๋ ฅํฌ๊ธฐ (์ผ๋ฐํ) : W-K+1
- ๋ฌธ์ ์ : feature map์ด ๊ฐ layer๋ง๋ค ์ค์ด๋ฆ(๊ณต๊ฐ ์ฐจ์์ด ์ค์ด๋ฆ)
2) ํด๊ฒฐ์ฑ
: ํจ๋ฉ
- zero-padding
![](https://velog.velcdn.com/images/ha_yoonji99/post/fcf8745b-018b-4ac6-a8e2-d027ccdc5b8d/image.png)
- ํจ๋ฉ ์ถ๊ฐ ํ
- output ์ผ๋ฐํ ์ : W-K+1+2P
- Same padding
- ์
์ถ๋ ฅ์ด ๋์ผ ๊ณต๊ฐ ํฌ๊ธฐ ๊ฐ์ ธ์ โ ๊ณต๊ฐ ํฌ๊ธฐ ์ถ๋ก ์ด ์ฌ์์ง
7. Receptive fields
1) 1๊ฐ์ conv layer ์ ์ฉ
(1) (2)
![](https://velog.velcdn.com/images/ha_yoonji99/post/05a3dabc-a5b9-497b-87fa-b5cae100425f/image.png)
- ํด์
- output image์ ๊ฐ๊ฐ์ ๊ณต๊ฐ ์์น๋ input image์ local region์๋ง ์์กด
- ex. 2๋ 1์ ์์ญ์๋ง ์์กด
- 1์ ์์ญ: receptive field of the value of output tensor
2) ์ฌ๋ฌ๊ฐ์ conv layer๋ฅผ stack
![](https://velog.velcdn.com/images/ha_yoonji99/post/69559c73-3869-4ef5-b4d7-ae115ee3b0e2/image.png)
- ํด์
- ๋
น์ ์์ญ์ ์ ์ด์ ์ผ๋ก ๋งจ ์ผ์ชฝ input tensor์ ์ฃผํฉ๋ถ๋ถ์ ๊ณต๊ฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง
- 2๊ฐ์ง ํด์
- receptive field in the input: ์ฌ๋ฌ๊ฐ์ ํฉ์ฑ๊ณฑ์ธต ๊ฑฐ์น ํ, ํด๋น ๋ด๋ฐ ๊ฐ์ ์ํฅ ๋ฏธ์น ์์๋ input image์ ๊ณต๊ฐ ํฌ๊ธฐ
- receptive field in the previous layer: ์ด์ ์ธต์ ์ํฅ
- ๋ฌธ์ ์
- ๋งค์ฐ ๋์ ํด์๋ ์ด๋ฏธ์ง๋ก ์์
ํ๋ ค๋ฉด โ conv layer๋ง์ด ์์์ผ๋จ
= ๋งค์ฐ ํฐ receptive field ์ ์ง์ํด ์์ฒญ ๋ง์ conv layer ์์์ผ๋จ
- ํด๊ฒฐ์ฑ
- stride ์จ์ downsamplingํ๊ธฐ
8. Stride convolution
๐receptive field ๋ ๋นจ๋ฆฌ ๊ตฌ์ถ โ ((W-K+2P)/S)+1)
1) Stride
![](https://velog.velcdn.com/images/ha_yoonji99/post/0d6fa033-f518-4441-8c84-0b30074f75c3/image.png)
- ๊ฐ๋
- ๊ฐ๋ฅํ ๋ชจ๋ ์์น์ conv filter ๋ฐฐ์นํ๋ ๋์ , ๊ฐ๋ฅํ N์ ์์น๋ง๋ค ๋ฐฐ์น
- ex. stride=2 โ output=3x3
- output
- downsample๋จ
- receptive field๋ฅผ ๋ ๋นจ๋ฆฌ ๊ตฌ์ถ๊ฐ๋ฅ
- ๋ชจ๋ layer์์ receptive field๊ฐ 2๋ฐฐ๊ฐ ๋๊ธฐ ๋๋ฌธ
- ((W-K+2P)/S)+1
9. Recap: Convolution Example
๐๊ฑ ์ผ๋ฐํ ์๋ค ์ ๋ฆฌ
1) output volume size?
![](https://velog.velcdn.com/images/ha_yoonji99/post/bc4bb5db-458b-42f6-b609-3006e8418d32/image.png)
- ์ฃผ์์
- output์ filter ๊ฐ์์ ๋์ผํด์ผ๋จ !!!!
2) Number of learnable parameters?
![](https://velog.velcdn.com/images/ha_yoonji99/post/ff98072b-386c-4e29-943a-76c8674d9ae6/image.png)
- ์ผ๋ฐํ ์
- filter ๊ฐ์ (channel์filterํฌ๊ธฐ(k*k)+1(bias))
3) Number of multiply-add operations?
![](https://velog.velcdn.com/images/ha_yoonji99/post/1a3e819b-47ad-4610-822f-c7010f487174/image.png)
- ์ผ๋ฐํ ์
- output volume size * 1filter
4) example: 1x1 convolution
![](https://velog.velcdn.com/images/ha_yoonji99/post/053909ff-b5da-41a7-ae4a-1f6d022aa95e/image.png)
10. Convolution Summary
![](https://velog.velcdn.com/images/ha_yoonji99/post/dfb403bd-7da9-444e-84b0-ffbacec1222f/image.png)
fully connected layer | 1x1 conv layer |
---|
๊ณต๊ฐ๊ตฌ์กฐ ํ๊ดด : ์ ์ฒด tensor ํ๋๋ก ํ๋ฉดํ โ ๋ฒกํฐ ์ถ๋ ฅ | ๊ณต๊ฐ๊ตฌ์กฐ ์ ์ง |
: ์ ๊ฒฝ๋ง ๋ด๋ถ์ adapter ์ฌ์ฉ | |
11. Other types of convolution
![](https://velog.velcdn.com/images/ha_yoonji99/post/bae0da3d-a9a0-4f05-b265-e2225936ebdc/image.png)
![](https://velog.velcdn.com/images/ha_yoonji99/post/8a1a3a6a-7dc5-41f9-bc4b-f13af2421e3a/image.png)
12. Pooling Layers
๐pooling๋ ์ฐ๋ ์ด์ : ํ์ตํ๋ผ๋ฏธํฐX, ๊ฐ์ด ์๋ณํจ
13. ์์ ๋ฐฐ์ด๊ฒ๋ค ๊ฒฐํฉํ Convolutional Networks
1) ๊ธฐ๋ณธ CNN ๊ตฌ์กฐ
- ์์ ๋ฐฐ์ด๊ฒ๋ค ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ ๋ง์
- ํ์ดํผํ๋ผ๋ฏธํฐ๊ฐ ์์ด์
2) ์์: LeNet-5
![](https://velog.velcdn.com/images/ha_yoonji99/post/04c584ed-21b0-43b5-84a1-26904e712911/image.png)
![](https://velog.velcdn.com/images/ha_yoonji99/post/132e413c-d514-4118-8a28-3e04eae953b9/image.png)
- ํด์
- convํ์ relu๋ฃ๋๊ฒ ์ผ๋ฐ์
- Q. maxpool๋ก ๋น์ ํํ๊ฒ ๋ง๋ค์์๋๋ฐ ์ reluํจ? A. ๊ฑ relu๋ฃ๋๊ฒ ์ผ๋ฐ์ (๋ ๋ง์ ๊ท์น์ฑ ์ ๊ณต)
![](https://velog.velcdn.com/images/ha_yoonji99/post/aae92506-0f31-4068-8199-3ce6138685a6/image.png)
14. (Fully connected Network์์) Batch Normalization
๐์ ํ์ ์ผ๋ก ํ ์์์
1) ๊ฐ๋
- ๋คํธ์ํฌ ๋ด๋ถ์ ์ผ์ข
์ layer์ถ๊ฐํ์ฌ deep network๋ฅผ trainํ ์ ์๋๋ก
- (ํ๊ท =0, ๋จ์๋ถ์ฐ๋ถํฌ ์๋๋ก) ์ด์ layer๋ก๋ถํฐ ๋์จ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ค ๋ฐฉ์์ผ๋ก๋ ์ ๊ทํํ๊ธฐ
2) ์ ์ ๊ทํํด์ผ๋จ?
- internal covariate shift (ICS) โ โ ํ์ต ๊ณผ์ ์์ ํ, ์ต์ ํ โ
- ICS: ํ์ต๊ณผ์ ์์ ๊ฐ ์ธต์ ์
๋ ฅ ๋ถํฌ๊ฐ ๋ณํ๋ ๊ฒ ์๋ฏธ
- ์ผ๋ฐ์ ์ผ๋ก ์ ๊ฒฝ๋ง์์ ํ์ต์ด ์งํ๋ ์๋ก ๊ฐ์ค์น, ํธํฅ์ด ์
๋ฐ์ดํธ ๋๊ณ , ์ด๋ ๊ฐ ์ธต์ ์
๋ ฅ ๋ฐ์ดํฐ์ ์ํฅ์ค
โ ์ด๋ก ์ธํด ์ด์ ์ธต์์ ํ์ตํ ํํ๋ค์ด ๋ณ๊ฒฝ๋์ด ๋ค์ ์ธต์ ์ํฅ ๋ฏธ์น๊ฒ ๋จ
- ICS๋ ํ์ต์ ์์ ์ฑ, ์๋ โ์ํด
3) Batch Norm ์
![](https://velog.velcdn.com/images/ha_yoonji99/post/db2a259e-5ec5-4136-91b7-270763225b2c/image.png)
- backprop์ ์ฌ์ฉ์ด ์ด์ผ๋๋
- ๋ฏธ๋ถ ๊ฐ๋ฅ ํจ์์ฌ์ gradient๋ฅผ ์ ๋ฌํด์ค์O
4) ํน์ง
- (ICS์ ๊ฑฐ ์ํด) ๊ฐ layer์ ์
๋ ฅ feature ๋ถํฌ๋ฅผ re-centering, re-scaling
- ๊ฐ layer๋ง๋ค input์ ๋ถํฌ๊ฐ ๋ฌ๋ผ์ง๋ ๊ฒ ๋ฐฉ์ง
![](https://velog.velcdn.com/images/ha_yoonji99/post/8b54b51e-a92d-4f0c-b7b8-a26fc4d1447d/image.png)
5) ํ์ต ์ batch normalization
6) ๊ฒ์ฆ(test)์ batch normalization
a. ๋ฌธ์ ์
- ๋ค๋ฅธ input ๋ฃ์๋๋ฐ, ๋ฃ๋ ๊ฒ์ด ๋ฌ๋ผ๋ ์ ์ ๊ฐ์๋ฒ๋ฆผ
- ๊ฐ์ input ๋ฃ์๋๋ฐ, output์ด ๋ฌ๋ผ์ ธ๋ฒ๋ฆผ
- ex. ๊ณ ์์ด ์ฌ์ง ๋ฃ์์๋์ ์ ์์, ๊ฐ์์ง ์ฌ์ง ๋ฃ์์๋์ ์ ์๊ฐ ๊ฐ์๋ฒ๋ฆด๋
- ex. ์น์๋น์ค์์ ๋์์ ๊ณ ๊ฐ์ด ๊ฐ์ ์๋ฃ ์
๋ก๋ํ๋๋ฐ output์ด ๋ค๋ฅผ๋
![](https://velog.velcdn.com/images/ha_yoonji99/post/6a6311aa-764c-455f-8db1-9c4e1bfad1fb/image.png)
b. ํด๊ฒฐ์ฑ
-
๋ฐฐ์น์ ์์์ ๋ํด ๋ชจ๋ธ์ด ๋
๋ฆฝ์ ์ด์ฌ์ผ๋จ (= train๊ณผ test ๋๋ค์์ ์ฑ๋ฅ ์ข์์ผ๋จ)
-
train ์์๋ ๊ฒฝํ์ ์ผ๋ก ํ์ง๋ง, test์์๋ ๊ทธ๋ ์ง X (= batch์ ๊ธฐ๋ฐํ์ฌ ๊ณ์ฐX)
-
๋ฐฉ๋ฒ
- train
- ๋ชจ๋ ์๋ก์ด ๋ฒกํฐ์ ์๊ทธ๋ง ๋ฒกํฐ์ ๋ชจ๋ ํ๊ท ์ค ์ผ๋ถ ์คํ ์ค์ธ ์ง์ ํ๊ท ์ถ์
- test
- batch ์์ ์ฌ์ฉํ๋ ๋์ , โโMjโ, ฯ ๊ฐ์ ๊ณ ์ scalar** ๋ ๊ฒ (์์)
- test ์๊ฐ ๋ฐฐ์น์ ์์๊ฐ์ ๋
๋ฆฝ์ฑ ํ๋ณต ๊ฐ๋ฅ
-
์์
![](https://velog.velcdn.com/images/ha_yoonji99/post/a197ea06-eb55-4346-a45c-48d062c74515/image.png)
- ํด์
- Mjโ,ฯ๊ฐ ์์๋ฉด, yi,jโ๊ฐ linear ์ฐ์ฐ๋ ๊ฒ
- test์์ batch์ ๊ทํ๊ฐ ๋
๋ฆฝ์
- test์ ์ด์ ์ ํ ์ฐ์ฐ์๊ฐ ์ตํฉํ ์์๊ธฐ์ test์๊ฐ ์ค๋ฒํค๋=0์ด ๋จ
- ex. CNN์์ ๋ฐฐ์น์ ๊ทํ ๋ค์ conv ์์ผ๋ฉด, 2๊ฐ์ ์ ํ์ฐ์ฐ์ 1๊ฐ๋ก ์ตํฉ๊ฐ๋ฅ
- yi,jโ: (๋ฐฐ์จ, ์ด๋) scaling๋จ๊ณ์์ ํ์ต๋ ๊ฐ์ค์น ฮณ ๊ณฑํ๊ณ ํ์ต๋ ๊ฐ์ผ๋ก ฮฒjโ๋งํผ ์ด๋
15. (Convolutional Network์์) Batch Normalization
๐์ฅ์ (train์ฝ๊ฒ, LR๋๊ฒ,regularization, test ์ถ๊ฐ๋น์ฉx) ๋ฐ ๋จ์ ์กด์ฌ
1) ๋น๊ต
![](https://velog.velcdn.com/images/ha_yoonji99/post/c073ca56-a352-4459-af23-6411ef1d7399/image.png)
- fully connected
- convolutional
- batch ์ฐจ์์ ๋ํ ํ๊ท ํ + spatial(๊ณต๊ฐ์ฐจ์)์ input์ ๋ํ ํ๊ท ํ
2) ์์น
- FC๋ค or ํ์ฑํํจ์ ์์ ์์นํจ
![](https://velog.velcdn.com/images/ha_yoonji99/post/cab2c865-f654-43b9-ac9f-db490418a927/image.png)
3) ํน์ง
![](https://velog.velcdn.com/images/ha_yoonji99/post/c620c5d0-f021-479e-abda-52a0c55873a3/image.png)
- ์ฅ์
- ์ฌ์ธต ์ ๊ฒฝ๋ง train์ ๋ ์ฝ๊ฒ ๋ง๋ฆ
- ๋ ๋์ LR์ ๊ฐ๋ฅํ๊ฒ ํ๊ณ , ๋ ๋นจ๋ฆฌ ์๋ ด ๊ฐ๋ฅ
- ๋คํธ์ํฌ ์ด๊ธฐํ์ ๋ ๊ฒฌ๊ณ ํด์ง
- ํ์ต ์ค regularization๊ณผ ๊ฐ์ ์ญํ
- test์ ์ถ๊ฐ ๋น์ฉ ์์: conv์ ๋ณํฉ ๊ฐ๋ฅ
- ๋จ์
- ์ด๋ก ์ ํด์ ๋ถ์กฑ : ์ต์ ํ์ ๋์ ๋๋ ์ด์ ์ ๋ํ ์ ํํ ์ดํดX
- train, test์์ ๋ค๋ฅด๊ฒ ๋์ํจ โ ํํ ๋ฒ๊ทธ์ ์์ธ์ด ๋จ
16. Layer Normalization
๐๋ฐฐ์น์ฐจ์ํ๊ท X, D ํ๊ท O
- Batch norm์ train- test์์ ๋ค๋ฅธ ์์
ํ๋ ๊ฒ์ ๋ํ ํด๊ฒฐ์ฑ
- ๊ธฐ์กด์ ๋ํ ๋ณํ โ transformer, RNN์์ ์ฃผ๋ก ์ฌ์ฉ
![](https://velog.velcdn.com/images/ha_yoonji99/post/b7a31680-75f4-41e0-81c9-d6887c9b3d6e/image.png)
1) ํน์ง
- ๊ธฐ์กด๊ณผ ๊ณตํต์
- M, ฯ ๊ตฌํ๊ณ ์ ๊ทํ ๊ณผ์ ์ ๋๊ฐ์
- ์ฐจ์ด์
- ๋ฐฐ์น์ฐจ์์ ๋ํ ํ๊ท ๋์ , ๊ธฐ๋ฅ ์ฐจ์(D)์ ๋ํ ํ๊ท ๊ณ์ฐ (โ)
- train ์์์ ์์กด ์ํ๋ฏ๋ก, train๊ณผ test์ ๊ฐ์ ์์
๊ฐ๋ฅ
17. Instance Normalization
๐๋ฐฐ์น์ฐจ์ํ๊ท X, D ํ๊ท X, ๊ณต๊ฐ์ฐจ์ ํ๊ท O
- (CNN์์) ๊ณต๊ฐ ์ฐจ์์ ๋ํด์๋ง ํ๊ท ๊ตฌํจ
![](https://velog.velcdn.com/images/ha_yoonji99/post/83d6bd89-21e1-4e96-a829-bf00ccefb2f8/image.png)
18. ์ต์ข
๋น๊ต
๐CNN์์ Batch norm, Layer norm, Instance norm, Group norm
![](https://velog.velcdn.com/images/ha_yoonji99/post/7c2a8ab4-c6be-44d2-b6a7-67fbb098d721/image.png)
(์๋ฅผ ๋ค์ด input์ด ์ด๋ฏธ์งset (2x3x64x64)๊ฐ input์ด๋ผ๊ณ ํ์ ๋..)
- Batch norm: ์ด๋ฏธ์งset์ ๋ถ์ ๊ฐ๊ฐ์ ์ฑ๋๋ณ๋ก ์ ๊ทํํ๋ค. (2๊ฐ์ ์ด๋ฏธ์ง์ R, 2๊ฐ์ ์ด๋ฏธ์ง์ G, 2๊ฐ์ ์ด๋ฏธ์ง์ B)(2x1x64x64)
- Layer norm: ํ๋์ ์ด๋ฏธ์ง์ ๋ํด์ ์ ๊ทํ ํ๋ค. (1x3x64x64)
- Instance norm: ํ๋์ ์ด๋ฏธ์ง์ ๋ํด ๊ฐ๊ฐ์ ์ฑ๋๋ณ๋ก ์ ๊ทํ ํ๋ค. (์ฑ๋ R์ ๋ํ 1๊ฐ์ ์ด๋ฏธ์ง)(1x1x64x64)
- Group norm: ํ๋์ ์ด๋ฏธ์ง์ ๋ํด ์ฌ๋ฌ ์ฑ๋์ ๋ํด ์ ๊ทํ ํ๋ค. (์ฑ๋ R๊ณผ G์ ๋ํ 1๊ฐ์ ์ด๋ฏธ์ง)(1x2x64x64)