- toc {:toc}
Introduction
LeNet-5๊ฐ ๋ง๋ค์ด์ง๊ธฐ ์ ๊น์ง ์๊ธ์จ์ ๋ํ ํจํด ์ธ์์ ๋ํ ์ฐ๊ตฌ๊ฐ ๊ณ์ํด์ ์ด๋ฃจ์ด์ง๊ณ ์์๋ค. ์ ํต์ ์ธ ํจํด์ธ์ ์์คํ
์ ๊ฒฝ์ฐ hand-designed feature extractor, fully-connected multi-layer classifier 2๊ฐ์ง ๋ชจ๋๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ด ์์คํ
์ ์ฌ๋ฌ ๋ฌธ์ ๊ฐ ์๋ค.
{: .center}
์ ํต์ ์ธ ์์คํ ์ ๋ฌธ์ ์
1. input๊ณผ ๊ด๋ จ๋ ์ ๋ณด๋ง ์ถ์ถํ๋ค.
hand-designed feature extractor์ ๊ฒฝ์ฐ input์ ์ ์ ํ ์ ๋ณด๋ง ์ ํํ๋ค. ๋ถ์ ์ ํ ์ ๋ณด๋ ์ ๊ฑฐํ๋ค. ๋จ์ํ ๋ดค์ ๋๋ ์ ๋ฌธ์ ๊ฐ ๋๋๊ฐ ์ถ์ง๋ง input์ ์ ์ ํ ์ ๋ณด๋ง ์ ํํ๋ ๊ฒ์ ๊ฒฐ๊ตญ overfitting์ ๋ง๋ค๊ณ ์ผ๋ฐํ๋ฅผ ์ด๋ฃจ์ง ๋ชปํ๋ค. ๋๋ฌธ์ ๊ฐ ๊ฒฝ์ฐ์ ๋ง๋ ๋ ๋ง์ input ๋ฐ์ดํฐ๋ฅผ ํ์๋ก ํ๊ฒ ๋๋ค.
feature extractor๋ ์ค๊ณํ ์ฌ๋์ด ์ถ์ถํ ์ ๋ณด๋ง classifier๋ก ์ ๋ฌ๋๊ธฐ ๋๋ฌธ์ ์ ํ๋ ์ ๋ณด๊ฐ ์ ๋ฌ๋๋ค. ๊ฒฐ๊ตญ ์ด์์ ์ธ ํ์ต์ feature extractor ์์ฒด์์ ์ด๋ฃจ์ด์ง๋ ๊ฒ์ด๋ผ ๋งํ๋ค.
2. parameter๊ฐ ๋๋ฌด ๋ง๋ค.
ํ๋์ ์ด๋ฏธ์ง๋ ๋ช ๋ฐฑ๊ฐ์ pixel์ ๊ฐ์ง๋ค. fully-connected multi layer์์ ์ฒซ ๋ฒ์งธ layer๋ง์ ๋ณด๋๋ผ๋ ๋ช ๋ง ๊ฐ์ ๊ฐ์ค์น๋ฅผ ํฌํจํ๋ค. parameter๊ฐ ๋๋ฌด ๋ง์ ๊ฒฝ์ฐ ์์คํ ์ capacity๋ฅผ ์ฆ๊ฐ์ํค๊ธฐ ๋๋ฌธ์ ๋ ํฐ training set์ ์๊ตฌํ๋ค. ์ถ๊ฐ์ ์ผ๋ก ๋ง์ parameter๋ฅผ ์ฒ๋ฆฌํด์ผ ํ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ ํ ๋น๋๋ ๋งค์ฐ ์ฆ๊ฐํ๋ค.
์๊ธ์จ๋ ์ฌ๋ฌ ์คํ์ผ์ด ์๊ธฐ ๋๋ฌธ์ input์ translation, distortion์ด ์๊ธด๋ค. fully-connected layer๋ ์ด๋ฐ input์ ๊ด๋ จ๋ ๊ฒฐ๊ณผ๊ฐ์ ์์ฑํ๋๋ก ํ์ต๋๋ค. ๊ณตํต์ ์ผ๋ก ๋ํ๋๋ ํน์ง์ด๋๋ผ๋ ๋น์ทํ ๊ฐ์ค์น ํจํด๋ค ๊ฐ์ง ๋ค์์ ์ ๋์ ํตํด ๊ฒฐ๊ณผ๊ฐ์ ์ถ๋ ฅํ๋ค. (์ค๋ณต์ ์ผ๋ก ์ฌ์ฉํ๊ฒ ๋๋ค) ๋๋ฌธ์ ๋ชจ๋ ๊ฐ์ค์น ํจํด์ ํ์ตํ๋ ๊ฒ์ ๋ง์ ํ์ต instance๋ฅผ ํ์๋ก ํ๋ค.
3. input์ topology๊ฐ ์์ ํ ๋ฌด์๋๋ค.
์ด๋ฏธ์ง๋ฅผ fully-connected layer๋ฅผ ํตํด ๋์ดํด ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ 2D input์ ์์น ์ ๋ณด๋ฅผ ์ด์ฉํ์ง ๋ชปํ๋ค.
LeNet-5
Convolution Network
Convolution Network๋ 3๊ฐ์ ์์ด๋์ด๋ก ๊ฒฐํฉ๋์ด ์๋ค.
(local receptive fields, shared weights, sub-sampling)
1. local receptive fields
CNN์ receptive field๋ฅผ local๋ก ์ ํํ์ฌ edge, end-point, corner์ ๊ฐ์ local feature๋ฅผ ์ถ์ถํ๋ค. ์ถ์ถ๋ feature๋ค์ ๋ค์ layer์ ์ ๋ ฅ์ด ๋์ด ๊ณ ์ฐจ์์ ํน์ง์ ์ถ์ถํ๋ค.
์ด๋ฅผ ํตํด input์ด distortion์ด๋ shift๊ฐ์ด๋ฐ์ํ๋๋ผ๋ ๋น์ทํ ํน์ง์ ๊ฐ๋ ๋ฐฐ์ด์ด receptive field์ ์ถ์ถ๋๋ฉด ํด๋น ํน์ง์ ๋ฐ์ํ feature map์ ๋ง๋ค ์ ์๋ค.
ํด๋น local์ ๋ํ ๊ณ์ฐ์ ์งํํ๊ธฐ ๋๋ฌธ์ parameter์ ์๋ ์ค์ผ ์ ์๋ค.
2. shared weight
CNN์ ๋์ผํ weight์ bias๋ฅผ ๊ณต์ ํ์ฌ ์ฌ์ฉํ๋ค. ์ด๋ฅผ ์ด์ฉํ์ฌ shift์ ๋ํ ๋ถ๋ณ์ฑ์ ์ป๋๋ค.
โ CNN์ input์ ์ฒ์๋ถํฐ ๋๊น์ง ์ด๋ํ๋ฉฐ feature map์ ๋ง๋ ๋ค. ์ด ๋ ๊ฐ์ค์น๋ ์ด๋ํ ๋ ๋์ผํ weight์ bias๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์์น๊ฐ ๋ฐ๋๋๋ผ๋ ๋์ผํ ํน์ง์ ์ถ์ถํ๋ค.
์ด๋ ๊ฒ shared weight๋ฅผ ํตํด์ ๊ณ์ฐ capacity๋ฅผ ์ค์ผ ์ ์๊ณ ํ์ตํ parameter์ ์๋ ์ค์ฌ์ค๋ค.
๋ค๋ฅธ ๋ ผ๋ฌธ์์ ์ฆ๋ช ๋ ์ด๋ก ์ ๋ฐ๋ฅด๋ฉด
๊ฐ ์ฑ๋ฆฝํ๊ธฐ ๋๋ฌธ์ capacity๊ฐ ์ค์ด๋ค๋ฉด์ ๋ set์ ์ค์ฐจ์จ๋ ์ค์ผ ์ ์๋ค. โ Overfitting์ ๋ฐฉ์ง
3. sub-sampling
๋ ผ๋ฌธ์์ ๋งํ๋ sub-sampling์ average pooling๊ณผ ๊ฐ๋ค.
ํ ๋ฒ local feature๊ฐ ์ถ์ถ๋๋ฉด ์ ํํ ์์น ์ ๋ณด๋ ์ ์ ๋ ์ค์ํด์ง๋ค. ๊ฐ ์์น์ ๋ํ ์ ํํ ์์น๋ ํจํด ์ธ์๊ณผ ๋ฌด๊ดํ๊ณ ์ ๋ ฅ๊ฐ์ ๋ฐ๋ผ ํน์ง์ด ๋ํ๋๋ ์์น๊ฐ ๋ค๋ฅผ ์ ์๊ธฐ ๋๋ฌธ์ ์ ์ฌ์ ์ผ๋ก ์ ํดํ๋ค๊ณ ๋งํ๋ค.
์์น์ ๋ํ ์ ํ๋๋ฅผ ๊ฐ์์ํค๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ feature map์ ํด์๋๋ฅผ ๊ฐ์์ํค๋ ๊ฒ์ด๋ค. local averaging๊ณผ sub-sampling์ ์ํํ๋ sub-sampling layer๋ฅผ ์ด์ฉํ์ฌ ํด์๋๋ฅผ ๊ฐ์์์ผ shift์ distortion์ ๋ํ ๊ฒฐ๊ณผ์ ๋ฏผ๊ฐ๋๋ฅผ ์ค์ธ๋ค.
์์น ์ ๋ณด๋ฅผ ๊ฐ์์ํค๋ฉฐ ๋ฐ์ํ๋ ์์ค์ ๋ ๋ง์ filter๋ฅผ ์ฌ์ฉํด ๋ ๋ค์ํ feature๋ฅผ ์ถ์ถํ์ฌ ์ํธ๋ณด์ํ ์ ์๋๋ก ํ๋ค.
## LeNet-5์ ๊ตฌ์กฐ
Input โ Conv1 โ Subsampling2 โ Conv3 โ Subsampling3 โ Conv5 โ FC โ FC โ Output
{: .center}
Input
- size : 32x32x1
์ค์ ๋ฌธ์ ์ด๋ฏธ์ง๋ 28x28x1์ ํํ์ด๊ณ 20x20 ํฌ๊ธฐ์ ์ซ์๊ฐ ์ค์์ ์๋ค. ํฌ๊ธฐ๋ฅผ ํค์์ผ๋ก์จ receptive field ์ค์ ๋ถ๋ถ์ corner, edge๊ฐ์ ํน์ง๋ค์ด ๋ํ๋๊ธธ ๊ธฐ๋ํ๋ค.
Conv1
- size : 5x5
- kernel = 6
- stride = 1
- output : 28x28x6
- 156๊ฐ์ trainable parameters, 122,304 connections
Subsampling2
- size : 2x2
- kernel = 6
- stride = 2
- output : 14x14x6
- 12๊ฐ์ trainable parameters, 5,880 connections
Conv3
- size : 5x5
- kernel = 16
- stride = 1
- output : 10x10x16
- 1,416๊ฐ์ trainable parameters, 151,600 connections
Subsampling4
- size : 2x2
- kernel = 16
- stride = 2
- output : 5x5x16
- 32๊ฐ์ trainable parameters, 2,000 connections
Conv5
- size : 5x5
- kernel = 120
- stride = 1
- output : 1x1x120
- 10,164๊ฐ์ trainable parameters
FC6
- tanh๋ฅผ ํ์ฑํ ํจ์๋ก ์ฌ์ฉํ๋ค.
- input = 120
- output = 84
โ ๊ฐ๊ฐ์ ๋ฌธ์๊ฐ 7x12ํฌ๊ธฐ์ ๋นํธ๋งต์ธ ASCII set์ ํด์ํ๊ธฐ ์ ํฉํ ํํ๋ก ์ฐ์ถ๋ ๊ฒ์ ๊ธฐ๋ํ๊ณ output์ 84๋ก ์ ํํ๋ค.
FC7
- RBF(Euclidean Radia Basis Function unit)์ ํ์ฑํ ํจ์๋ก ์ฌ์ฉํ๋ค.
- input = 84
- output = num_classes = 10
Loss function
- MSE(Mean Squared Error, ํ๊ท ์ ๊ณฑ ์ค์ฐจ)๋ฅผ ์ฌ์ฉํ๋ค.