๐ ๊ต๋ด '์ธ๊ณต์ง๋ฅ' ์์ ์ ํตํด ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ฒ์ ๋๋ค.
๐ ImageNet Competition
- ๊ธฐ์กด์๋ ์ ํต์ ์ธ ML ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค๊ฐ, AlexNet ์ ๋ฑ์ฅ์ผ๋ก CNN ์ด ํด๋น ๋ํ์์ ํ๊ธฐ์ ์ธ ์ฑ๋ฅ์ ๋ณด์
๐ป CONV ์ฐ์ฐ ๊ธฐ๋ณธ (in 3D conv)
- input channel = filter channel
- filter ์ ๊ฐ์ = output channel
- Output feature map ์ ํฌ๊ธฐ ๊ตฌํ๋ ๊ณต์
- W2 = (W1 - F + 2P) / S +1
- H2 = (H1 - F + 2P) / S +1
- Maxpooling ์ฐ์ฐ ๊ฒฐ๊ณผ
- (W1 - Ps) / S + 1
- Ps ๋ pooling size
1๏ธโฃ AlexNet
* CNN ํํธ์ ๊ฐ layer ๋ณ ์ฐ์ฐ๊ณผ์ ์ด ์ ๋ฆฌ๋์ด ์์ต๋๋ค.
โ ๊ตฌ์กฐ
๐จ feature extraction ์ ์ต์ข output : 6x6x256
๐จ flatten = 6x6x256 = 9,216 ํ ์ผ์ฐจ์ ๋ฒกํฐ๋ฅผ FC6 ์ ๋๊ฒจ์ค๋ค.
โก CONV1
- ํํฐ์ ๊ฐ์ = Output channel =96
- Output feature map size = (227 - 11) / 4 + 1 = 55
โข MAXPOOL1
- Stride ์ด๋ํ๋ ๋ถ๋ถ ์ฒดํฌํ๊ธฐ!
- Max pooling ํ Output feature map size = (55 - 3)/2 +1 = 27
โฃ Total Number of weights
โค Details
๐จ AlexNet ์ ํน์ง
1. Fist use of ReLU : ReLU ๋ผ๋ ํ์ฑํ ํจ์๋ฅผ ์ฒ์ ์ฌ์ฉํ๋ค.
2. Used Local Response Normalization (LRN) : input feature ๊ฐ๋ค์ ์ ๊ทํ์์ผ์ค. ์์ฆ์ ์ ์์
3. Data augmentation , Dropout 0.5 ์ ๊ฐ์ ์ ์นํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์๋ ์๋ค.
2๏ธโฃ VGG
โ ํต์ฌ ์์ด๋์ด
Small filters, deeper layers
โญ CONV : only 3x3 filters at stride 1, pad 1
โญ MAXPOOL : only 2x2 windows at stride 2
- VGG16 : 12๊ฐ์ Conv, 3๊ฐ์ FC, 1๊ฐ์ input layer → 16๊ฐ
- ํ์ฌ๋ VGG16์ด ๋ฌด๊ฑฐ์์ ๋ง์ด ์ฌ์ฉ๋์ง ์์
โก ์ ์์ ํํฐ ํฌ๊ธฐ์ ํํฐ๋ฅผ ์ฌ๋ฌ๋ฒ ์ฌ์ฉํ๋๊ฐ
- 3x3 CONV ๋ฅผ 3๋ฒ ์ฐ์์ผ๋ก ํต๊ณผํ ๊ฒ = ํ๋ฒ์ 7x7 CONV ๋ฅผ ํต๊ณผํ ๊ฒ
๐จ input : 7x7 → 3x3 filter : 5x5 output → 3x3 filter : 3x3 output → 3x3 filter : 1x1 output
โญ ๋น์ ํ์ฑ์ ์ฆ๊ฐ์์ผ์ค
โญ ํ๋ผ๋ฏธํฐ ๊ฐ์๊ฐ ์ค์ด๋ฆ (์ฐ์ฐ๋ ๊ฐ์)
โข ๊ตฌ์กฐ
๐ ๊ณ์ฐ๋ณต์ก๋
- 138M
3๏ธโฃ GoogLeNet
โ ํต์ฌ ์์ด๋์ด
Deep layers with computational efficiency
- ์ ํ๋๋ฅผ ๋์ด๊ธฐ ์ํด Inception module ์ ์ฌ์ฉํ๋ค.
โก Naive Inception Module
1. Apply parallel filters on the input from previous layer
(๊ฐ์ input ์ ๋ํด ๋ค์ํ ํฌ๊ธฐ์ ํํฐ๋ค์ ์ ์ฉ์ํด)
- multiple filter sizes (multiple receptive fields) + Pooling
- ์ฌ๋ฌ๊ฐ์ receptive field ์ ๋ํด ํฉ์ฑ๊ณฑ์ ํ์ฌ ๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ํผ์ฒ๋ก ๋ง๋ค๊ฒ ๋๋ค.
2. Concatenate all filter outputs channel-wise
(์ฑ๋๋ฐฉํฅ์ผ๋ก ๊ฐ ํํฐ๋ง ๊ฒฐ๊ณผ๋ค์ ์ฐ๊ฒฐ์ง์)
3. But ์ฐ์ฐ๋์ด ๋๊ณ ๊ณ์ฐ ํจ์จ์ด ๋ฎ๋ค๋ ๋ฌธ์ ์ → Sol) 1x1 CONV
โ ๊ณ์ฐ ๋ณต์ก๋๊ฐ ๋งค์ฐ ๋์
๐ MAC
- NN์ ๊ณ์ฐ๋ณต์ก๋๋ฅผ ๊ณ์ฐํ๋ ํ์ค์ผ๋ก ์๋ก ๋ค๋ฅธ NN ์ ๊ณ์ฐ๋์ ๋น๊ตํ ๋ MAC์ ๊ฐ์๋ฅผ ๊ฐ์ง๊ณ ๋น๊ตํ๋ค.
- MAC = W2 x H2 x C x K x F x F
- ์์ ๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ํ๋ฒ์ inception module ์ ํต๊ณผํ ๋ 8์ต 5์ฒ๋ง๋ฒ์ MAC ์ฐ์ฐ์ด ์ํ๋๋ค. ์ฆ, ์ค๋ฅธ์ชฝ ํ์ด์ฌ ์ฝ๋์ loop ์ฐ์ฐ์ด 854M ๋งํผ ๋์๊ฐ์ผํ๋ค๋ ๊ฒ (์ฐ์ฐ ๋ถ๊ฐ๋ฅ)
โข 1x1 Convolution
Preserve spatial dimension, reduces depth
โญ ํต์ฌ์ ์ฐ์ฐ๋์ ์ค์ด์!
- (56 - 1 + 0) / 1 + 1 = 56 : stride 1, padding 0
- information ์ ๊ณ ์ฐจ์์์ ์ ์ฐจ์์ผ๋ก ์์ถ (summarize) ํ๋ค.
- ๊ทธ๋ฌ๋ ๋๋ฌด ์ฑ๋์ฌ์ด์ฆ๋ฅผ ์ค์ด๋ฉด ๊ณ์ฐ๋์ ๊ฐ์ํ์ง๋ง ์ ๋ณด์ ์์ค์ด ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก ์ฃผ์ํด์ผ ํ๋ค.
โฃ Inception Module
โญ 1x1 CONV = "bottleneck"
- concatenate ๋ output channel size ๋ ๋์ผํ๋ฐ, ์ค๊ฐ์ ์ฐ์ฐ๊ณผ์ ์์ ์ ์ ์ฑ๋์ ๊ฐ์๋ก ์ฐ์ฐ์ด ๊ฐ๋ฅํด์ง ๊ฒ์ด๋ค.
- 64๊ฐ์ 1x1 CONV (bottleneck) ์ ์ ์ฉํ๋ค.
- ์ ํ๋๋ ๊ฐ์ํ์ง๋ง, ์ค์ด๋ ์ฐ์ฐ๋ ๋๋น ์ ํ๋ ๊ฐ์ ๋น์จ์ ๋ฏธ๋ฏธํจ
- bottlneck ์ ์ฉ์ ํตํด 2๋ฐฐ ์ด์ ๊ณ์ฐ ๋ณต์ก๋๋ฅผ ์ค์ผ ์ ์๊ฒ ๋๋ค.
โค ๊ตฌ์กฐ
๐ Classifier
- Average Pooling + 1 FC layer ๋ฅผ ์ฌ์ฉ
- AlexNet, VGG ๋ 3๊ฐ์ FC layer ๋ฅผ ์ฌ์ฉํ์์
๐ Auxiliary Classifier
- ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๋ฅผ ๋ง๊ธฐ ์ํด ๋ณด์กฐ ๋ถ๋ฅ๊ธฐ๋ฅผ ์ค๊ฐ์ ์ถ๊ฐํ๋ค.
- ์ด๋ฅผ ํตํด ์๋ถ๋ถ layer ์ ๋ํด์๋ ํ๋ จ์ ์ํํ๊ฒ ์งํํ๋ ๊ฒ์ด ๊ฐ๋ฅํด์ง๋ค.
๐ ๊ณ์ฐ๋ณต์ก๋
- 5M → bottleneck block ์ ํตํด ์ฑ๋ ์ฌ์ด์ฆ๋ฅผ ํ๊ธฐ์ ์ผ๋ก ์ค์
3๏ธโฃ ResNet
โ ๊ธฐ์ธ๊ธฐ ์์ค/ํญ์ฆ ๋ฌธ์
๐ค ResNet ๋ง๊ณ ๊ทธ๋ฅ AlexNet ์์ layer ๋ฅผ ๋ ์์ผ๋ฉด ๋๋ ๊ฒ ์๋๊ฐ?
โพ layer ์ ๊ฐ์๊ฐ ์ฆ๊ฐํ๋ค๊ณ ํด์ ๋ฐ๋์ ์ฑ๋ฅ์ด ์ข์์ง๋ ๊ฒ์ ์๋๋ค.
โพ ๐ป ์ด๋ ์ค๋ฒํผํ ๋๋ฌธ์ ์๋๋ค! not because of overfitting
โพ Deeper model
๐ more representation power (ํ ์ ์๋ ์ผ์ด ๋ ๋ง์์ง)
๐ harder to optimize (training ์ ์ ํด๋ด์ง ๋ชปํ๋ค)
๐จ ํ๋ จ์ด ์๋๋ ๊ฐ์ฅ ํฐ ์ด์ ์ค ํ๋๊ฐ ๊ธฐ์ธ๊ธฐ ์์ค (gradient vanishing) ๋ฌธ์
(1) ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ Gradient Vanishing
- gradient ๊ฐ์ด ์ ์ฐจ ์์์ ธ ์์ชฝ์ ์์นํ weight ๋ค์ ์ ๋ฐ์ดํธ๊ฐ ๊ฑฐ์ ๋ฐ์ํ์ง ์์
- ์ญ์ ํ์์ ์ ๋ ฅ์ธต์ ๊ฐ๊น์ด ์์ชฝ์ layer๋ก ๊ฐ์๋ก ํ์ฑํ ํจ์ sigmoid ์ ๋ฏธ๋ถ์ ์ฐ์์ (chain rule) ์ผ๋ก ๊ณฑํ๋๋ฐ, ๊ธฐ์ธ๊ธฐ๊ฐ 1๋ณด๋ค ์์ผ๋ฏ๋ก ๊ณฑํ ์๋ก ๊ฐ์ ์ ์ ์์์ง๋ค. layer๊ฐ ์์ฃผ ๋ง์ผ๋ฉด ์ ๋ ฅ์ธต์ ๊ฐ๊น์ด ์์ชฝ์ layer๋ก ๊ฐ์๋ก ๊ธฐ์ธ๊ธฐ์ ๊ฐ์ ๊ฑฐ์ 0์ ๊ฐ๊น๊ฒ ์์์ ธ์ ๊ฐ์ค์น์ ๋ณํ๊ฐ ๊ฑฐ์ ์๊ฒ ๋๊ณ error๊ฐ๋ ๋ ์ด์ ์ค์ด๋ค์ง ์๊ฒ ๋๋ค.
(2) ๊ธฐ์ธ๊ธฐ ํญ์ฆ ๋ฌธ์ Gradient exploding
- ํ์ต๋ฅ ์ ํฌ๊ฒ ์ก์์ gradient ๊ฐ์ด ์ ์ฐจ ์ปค์ ธ weight ๊ฐ์ด ๋๋ฌด ์ปค์ง๊ฒ ๋จ ๐ loss ๊ฐ์ด ๋งค์ฐ ์ปค์ง๋ค.
(3) ๊ธฐ์ธ๊ธฐ ์์ค๋ฌธ์ ํด๊ฒฐ : ReLU
- tanh ํจ์๋ sigmoid ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๋ฅผ ์ผ์ผํจ๋ค.
- ReLU ๋ ์์๊ฐ ์๋๋ผ๋ฉด 0์์ ๋ฌดํ๋๊น์ง ๋ค์ํ ๋ฏธ๋ถ ๊ฐ์ ์ทจํ ์ ์๊ธฐ ๋๋ฌธ์ gradient ๊ฐ์ด ์์ค๋์ง ์๋๋ค. ๋ฐ๋ผ์ ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ReLU ํจ์๊ฐ ๋๋ฆฌ ์ฐ์ธ๋ค.
๐ง ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ฉด ์ ํ๋๊ฐ ๊ฐ์๋์ง ์๊ณ ์ ๊ฒฝ๋ง์ layer ๋ฅผ ๊น๊ฒ ์์ ์ ์๋ค.
โก ํต์ฌ ์์ด๋์ด
(1) ์ ๋ ผ๋ฌธ์์ ์ฃผ์ฅํ๋ ๋ฐ
๊ฒฐ๊ณผ์ ์ผ๋ก ResNet ์ด ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๋ฅผ ์์ ์ฃผ๊ธฐ ๋๋ฌธ์ layer ๋ฅผ ๋๋ฆด ์ ์์๊ณ ๊ทธ๋์ ์ฑ๋ฅ์ด ์ข์์ง ์ ์์๋ค.
๐พ main idea : identity mapping
๐พ In layer : identity block ์ ์ด๋ป๊ฒ ์ ์ฉํ ๊น
- H(x) ๊ฐ x๊ฐ ๋๋๋ก ํ๋ ๊ฒ์ ์ด๋ ต๋ค
- ์ ๋ ฅ x๋ฅผ ๋ช layer ์ดํ์ ์ถ๋ ฅ๊ฐ์ ๋ํด์ฃผ๋ identity mapping ์ ๋์
- ์ค๊ฐ Conv ๊ณผ์ ์ F(x) ๋ก ๋๊ณ x๋ฅผ identity mapping ํ์ฌ, F(x) =H(x) - x ๐ Residual ๋ฅผ 0์ด ๋๋๋ก ํ๋ จ์ํค๋ ๊ฒ
- 0์ด๋ผ๋ ๊ธฐ์ค์ ์ด ์๊ธฐ ๋๋ฌธ์ ๋ ์ฝ๋ค๊ณ ์ฃผ์ฅํ๋ค.
- F(x) ๋ฅผ 0์ด ๋๋๋ก ํ์ตํ๋ฉด H(x) = 0 + x ๊ฐ ๋๊ณ ๋ฏธ๋ถํ์ ๋ 1์ด ๋์ด ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ค๋ ์์ด๋์ด
๐จ ๊ทธ๋ฌ๋ ์ ๋ ผ๋ฌธ์์ ์ฃผ์ฅํ๋ ํ๋ จ์ ์ฝ๊ณ ์ด๋ ค์์ ๊ธฐ์ค์ด ๋ถ๋ถ๋ช ํ๋ค.
(2) ํ์ ๋ ผ๋ฌธ์ ์ ๋ฆฌ
Residual block ์ด ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๋ฅผ ์์ ์ฃผ๊ธฐ ๋๋ฌธ์ ๋ ์ฝ๊ฒ ํ๋ จํ ์ ์๋ค.
โญ Identity mapping ์ ํตํด gradient ๊ฐ ๊ทธ๋๋ก ๋ณด์กด๋์ด ์ ๋ฌ๋๋ ํต๋ก๋ฅผ ๋ง๋ค์ด์ค๋ค.
โข ResNet-34 ๊ตฌ์กฐ
โญ ์์ ๊ตฝ์ด๊ฐ๋ ํ์ดํ ํ์๊ฐ ๋ฐ๋ก residual block ์์์ identity mapping ์ ํด๋นํจ
1. ํ๋์ residual block ์ ๋ ๊ฐ์ 3x3 CONV layer ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
2. ์ฃผ๊ธฐ์ ์ผ๋ก ํํฐ์ ๊ฐ์ (k) ๋ฅผ 2๋ฐฐ๋ก ๋๋ฆฌ๊ณ , ๊ทธ ๋์ feature size ๋ฅผ downsamping (pooling) ํ๋๋ฐ stride = 2 ๋ฅผ ์ ์ฉํ๋ค.
a. ์๋ฅผ๋ค์ด ๊ทธ๋ฆผ์ ์ด๋ก์ ๋ถ๋ถ์ฒ๋ผ ํํฐ ๊ฐ์๊ฐ 64์์ 128๋ก ๋์ด๋ ๋์ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ ๊ฐ๋ น 224๋ฉด 112๋ก ์ค์ด๋ ๋ค.
b. stride 2 → ์ฐ์ฐ๋์ 1/4 ๊ฐ์ (๊ฐ๋ก ๊ธธ์ด 1/2, ์ธ๋ก๊ธธ์ด 1/2) , ํํฐ๊ฐ์ 2 →์ฐ์ฐ๋ 2๊ฐ ์ฆ๊ฐ ๐จ ์ต์ข ์ฐ์ฐ๋์ 1/2 ๊ฐ์ํ๋ค.
3. Avgpool + 1 FC layer ๊ฐ ๋ท๋จ์ ์์นํ๋ค.
โฃ Bottleneck Design
๐ ์ ๊ฒฝ๋ง์ ๋ณต์ก๋๋ฅผ ๋ฎ์ถ์ด ์ฐ์ฐ ํจ์จ์ ๋์ด๊ธฐ ์ํด bottleneck layer ๋ฅผ ์ฌ์ฉํ๋ค.
- 1x1 CONV layer ๊ฐ ์ค๋ฅธ์ชฝ๊ณผ ๊ฐ์ด ์ ๊ฒฝ๋ง์ ์์๊ณผ ๋์ ์ถ๊ฐ๋๋ค. 1x1 CONV ๋ ์ ๊ฒฝ๋ง์ ์ฑ๋ฅ์ ๊ฐ์์ํค์ง ์๊ณ ํ๋ผ๋ฏธํฐ ์๋ฅผ ๊ฐ์์ํจ๋ค.
- bottleneck ์ผ๋ก ์ฐ์ฐ๋์ ๊ฐ์์์ผ 34 layer ๋ 50 layer ResNet ์ด ๋๋ค.
- VGG-16 ๋ณด๋ค ResNet-152๊ฐ ๋ ์ ์ ์ฐ์ฐ๋์ ๊ฐ์ง๋ค.
๐ FLOPs
- MAC ๊ณผ ์ ์ฌํ๊ฒ ์ฐ์ฐ๋์ ๋ํ๋ด๋ ์งํ์ ํด๋นํ๋ค.
- 1 MAC = 2FLOPs
โค ๋น๊ต
๐ ResNet ์ด ์ฐ์ฐ๋์ด ์ ๊ณ ์ ํ๋๊ฐ ๋๋ค.
4๏ธโฃ MobileNet
โ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ
Standard convolution
- ์ผ๋ฐ์ ์ธ convolution ์ฐ์ฐ์ filtering featrues & combining features ๋ฅผ ํตํด ํ๋์ pixel ์ ๋ง๋ ๋ค.
- ๋ฐ๋ผ์ Computational Cost ๋ Dk x Dk x M x N x Df x Df ๋ก ๋์ถ๋๋ค.
- Df ๋ output feature map ์ size , Dk ๋ filter size, M ์ ์ฑ๋์, N ์ ํํฐ๊ฐ์
* filtering & combination ์ฐธ๊ณ (M=1 ์ธ ๊ฒฝ์ฐ)
๐คธโ๏ธ 33, 2, -12 ์ฐ์ฐ ๊ฒฐ๊ณผ๋์ถ ์์ผ๋ก ์ง์ ๊ณ์ฐํด๋ณด๊ธฐ
(ํ๋์ stride ์ ๋ํด ๊ฐ ์ฑ๋๋ณ ํฉ์ฑ๊ณฑ์ ๊ฑฐ์ณ, ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋ ๋ํด ํ๋์ output ๊ฒฐ๊ณผ ๋์ถ)
* Computational Cost ์ฐธ๊ณ
โก ํต์ฌ ์์ด๋์ด
filtering ๋ถ๋ถ๊ณผ combination ๋ถ๋ถ์ ๋ถ๋ฆฌํ๋ฉด ์ฐ์ฐ๋์ ์ค์ผ ์ ์๋ค.
Depthwise Conv + Pointwise Conv ๐ Depthwise separable convolution
โญ ๊ณต๊ฐ์ ๋ณด (depthwise) ์ ์ฑ๋์ ๋ณด (pointwise) ๋ก ๋ถ๋ฆฌํ์
(1) Depthwise
- ๊ฐ ์ ๋ ฅ ์ฑ๋์ ๋ํ์ฌ ๋ ๋ฆฝ์ ์ผ๋ก 3x3 conv ํ๋์ ํํฐ๊ฐ ์ฐ์ฐ์ ์ํํ์ฌ ํ๋์ ํผ์ณ๋งต์ ์์ฑ
- ์ฆ, ์ ๋ ฅ ์ฑ๋ ์๊ฐ M ๊ฐ์ด๋ฉด M ๊ฐ์ ํผ์ฒ๋งต์ ์์ฑํ๊ฒ ๋๋ค.
- ๐ ๊ทธ๋ฌ๋๊น ์์ ์ฐธ๊ณ ๊ทธ๋ฆผ์์ 'ํ๋์ stride' ๋จ์๋ก input feature ์ฑ๋์ ๋ํด ์ฐ์ฐ์ ์ํํด์ output ์ ์ฐจ๋ก๋ก ๋์ถํ๋ ๊ฒ์ด ์๋๋ผ, ๊ฐ input feature ์ฑ๋์ ๋ํด CONV ์ฐ์ฐ์ ์งํํด์ ๊ฐ ์ฐ์ฐ ๊ฒฐ๊ณผ์ ๋ง์ ์์ด! ๊ทธ๋ฅ ํ๋์ ํผ์ฒ๋งต์ ์์ฑํ๋ ๊ฒ,,! ๋ ๋ฆฝ์ ์ผ๋ก..! (๐)
(2) Pointwise
- depthwise ์์ ์์ฑํ ๊ฐ ํผ์ฒ๋งต์ concatenate ํ ํ 1x1 CONV ๋ก ์ฑ๋์๋ฅผ ์กฐ์ ํ๋ค. ๋ชจ๋ ์ฑ๋์ ๋ํด ์ฐ์ฐ์ ์งํํ๋ค.
๐ป ๋ฌผ๋ก ์ด๋ฌํ ๋ฐฉ์์ standard conv ๋ณด๋ค ์ ๋ณด์ ์์ค์ด ๋ ๋ฐ์ํ๋ฏ๋ก ์ ํ๋๊ฐ ๋ฎ๋ค. ๊ทธ๋ฌ๋ ์ฐ์ฐ๋ ๋๋น ๊ฐ์ํญ์ ์ ์ด์ ๋ง์ด ์ฌ์ฉ๋๋ค.
โข ๊ตฌ์กฐ
โฃ ํ์ฉ
- ํด๋ํฐ, IoT ๊ฐ์ ์์ ํฌ๊ธฐ์ ํ๋ก์ธ์, ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ์ง on-device inference ์ ์ต์ ํ๋ ๋คํธ์ํฌ์ด๋ค.
- ๊ณ์ฐ๋ณต์ก๋๋ฅผ ์ค์๊ธฐ ๋๋ฌธ์ ์ ํ๋ ๊ฐ์๊ฐ ์กฐ๊ธ ์กด์ฌํ๋ค.
5๏ธโฃ YOLO
โ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ
(1) YOLO ์ ์ฐ์
- object detection , ์ด๋ฏธ์ง์์ ์ฌ๋ฌผ์ ์ธ์ํ๋๋ฐ ์ฌ์ฉ๋๋ ๋คํธ์ํฌ๋ก, ์ฌ๋ฌผ์ bounding box ๋ฅผ ์ณ์ค๋ค.
- (์์ ์๊ฐ๋ ๋คํธ์ํฌ๋ค์ ์ด๋ฏธ์ง ๋ถ๋ฅ์ ์ฌ์ฉ๋จ)
(2) YOLO ์ด์ ์ ์ฌ์ฉํ๋ ๋ชจ๋ธ : fast RCNN
- ROI : region of interest ๋ก ์ฌ๋ฌผ์ด ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ ๋ถ๋ถ์ bounding ํ ๊ฒ์ด๋ค. ํ๋์ ์ด๋ฏธ์ง์ ๋ํด ์ด๋ฅผ ์ฌ๋ฌ๊ฐ ์์ฑํ๊ณ ๊ทธ๊ฒ์ CONV NN ์ ์ ๋ ฅํด์ค๋ค.
- ๐ฅ ์ด๋ฏธ์ง ํ ์ฅ์ ๋ํด ์ฌ๋ฌผ์ธ์์ ํ๊ธฐ ์ํด์ ROI ๋ฅผ ์ฌ๋ฌ๊ฐ ์์ฑํ์ฌ CONV ์ฐ์ฐ์ ์์ญ๋ฒ ์งํํ๋ค๋ณด๋ ์ฐ์ฐ๋์ด ๋ง์์ ธ ๋คํธ์ํฌ ์๋๊ฐ ๋๋ ค์ง๋ ๋จ์ ์ด ์กด์ฌํ๋ค.
โก ํต์ฌ ์์ด๋์ด
Fast RCNN ์ ์๋๊ฐ ๋๋ฆฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฑ์ฅํ ๋ชจ๋ธ
- SxS ๋ก ์ ๋ ฅ ์ด๋ฏธ์ง๋ฅผ grid ๋ก ๋๋๊ณ grid ๋ด์์ bounding box ๋ฅผ regression ํด์ค ๋ค์์ ๊ฐ์ฅ confidence ๊ฐ ๋์ bounding box ๋ฅผ ์ต์ข ๊ฒฐ๊ณผ๋ก ๋ด๋๋๋ค.
- ๋๋ถ์ด ๊ฐ grid ๋ง๋ค class probability map ์ ๋์ถ์ํจ๋ค.
- ์ด๋ฅผ ํตํด โญ ์ด๋ฏธ์ง ํ๋์ ๋ํด์ CONV layer ๋ฅผ ํ๋ฒ๋ง ๊ฑฐ์น๊ฒ ํ์ฌ ์๋๋ฅผ ๊ฐ์ ํ๋ค. (์ฆ, ์ด๋ฏธ์ง๋ฅผ ํ๋ฒ๋ง ๋ณด๊ณ ์์ธก ๊ฐ๋ฅ)
- ROI ๋ฅผ ๊ตฌํด์ cnn ์ ์ ๋ ฅํ๋ ๋์ ์ bounding box ์์ฒด๋ฅผ ํ๋ จํ๋ค.
โข ๊ตฌ์กฐ
- ํ๋์ ์ด๋ฏธ์ง์ ๋ํด ๋จ์ผํ CNN ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์๋๊ฐ ๋น ๋ฅด๋ค ๐ ์ค์๊ฐ ๊ฐ์ฒด ๊ฒ์ถ์ด ๊ฐ๋ฅํ๋ค.
- 3๊ฐ์ง scale ์ ๋ํด detection ์ ์ํํ์ฌ ์ ํ๋๋ฅผ ๋์ธ๋ค.
- ์๋์ ๊ทธ๋ํ๋ฅผ ๋ณด๋ฉด YOLO ๋ชจ๋ธ์ ํ๋ จ ์๋๊ฐ ๊ฐ์ฅ ๋น ๋ฅธ ๊ฒ์ ๋ณผ ์ ์๋ค. ๊ทธ๋ฌ๋ ์๋๋ฅผ ๊ฐ์ ํ ๋์ ์ ํ๋๋ฅผ ์๋ ๋จ์ ์ด ์๋ค.
โฃ ํ๊ณ์
1. ๊ฐ grid cell ๋ง๋ค bounding box ๋ฅผ 2๊ฐ๋ฐ์ ์์ธกํ์ง ๋ชปํ๋ค.
2. ํด๋์ค ๊ฐ์๋ 1๊ฐ๋ง ์์ธก์ด ๊ฐ๋ฅํ๋ค.
๐ ๋๋ฌธ์ grid ๋ด์ ์ฌ๋ฌผ์ด ์ฌ๋ฌ๊ฐ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ detection ์ 1๊ฐ๋ฐ์ ํด๋ด์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ์ ํ์ ์ด๋ค.
3. ๋ง์ฝ์ ์๋ก์ด ์ด๋ฏธ์ง๊ฐ ์ฃผ์ด์ก์ ๋ dataset ์ ์๋ bounding box ํฌ๊ธฐ๊ฐ ์กด์ฌํ๋ค๋ฉด ์ด๋ ์ ๋์ํ์ง ์๊ฒ ๋๋ค.
๐ก ResNet ์ด ํ์ฌ๋ก์๋ ๊ฐ์ฅ ์ข์ ๋ชจ๋ธ์ด๋ค. ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ๊ธฐ์ ์ ๋ ผ๋ฌธ์ ๊ผญ ์ฝ์ด๋ณด์...
'1๏ธโฃ AIโขDS > ๐ Deep learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ธ๊ณต์ง๋ฅ] RNN (0) | 2022.06.07 |
---|---|
[์ธ๊ณต์ง๋ฅ] Regularization (0) | 2022.04.26 |
[์ธ๊ณต์ง๋ฅ] Training CNN (0) | 2022.04.26 |
[์ธ๊ณต์ง๋ฅ] CNN (0) | 2022.04.23 |
[์ธ๊ณต์ง๋ฅ] DNN (0) | 2022.04.23 |
๋๊ธ