CNN Architecture - VGGNet (2014)
VGGNet์ 2014 ImageNet Challenge์์ 2์์ ์ฑ์ ์ ๊ฑฐ๋ ๋ชจ๋ธ๋ก, ๊น์ ๋คํธ์ํฌ ๋ฅผ ์์์๋์ ํจ์ฉ์ ๋ณด์ฌ์ค ๋ชจ๋ธ์ ๋๋ค. ์ญ์ AlexNet ํฌ์คํ ๋์ฒ๋ผ ๋ ผ๋ฌธ์ ๋ฐ๋ผ๊ฐ๋ฉด์ ๋ฉ์ธ ์์ด๋์ด๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
Architecture
VGGNet์ ๋ ์ด์ด ๊ฐ์์ ๋ฐ๋ผ 11, 13, 16, 19 ๋ฑ์ผ๋ก ๋๋์ด์ง๋๋ค. ์ด๋ ์ค์ ๋ก Convolution Layer๊ฐ 11๊ฐ์์ 19๊ฐ๊น์ง ์๋ ๋ชจ๋ธ๋ก, ํฌ๊ฒ๋ (Conv-ReLU)-(Conv-ReLU)-(maxpool) ์ ๋ฐ๋ณตํ๋ ์์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์ด ๊ทธ๋ฆผ์ VGG-13์ ๊ทธ๋ฆผ์ธ๋ฐ, ์ ํํ 11, 13, 16, 19์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ค๊ฐ์ ReLU๊ฐ ๋งค conv ๋ค์ ๋ค์ด๊ฐ์์ง๋ง ํ์๋ ์๋์ด ์์ต๋๋ค.
๋ค์ํ VGGNet์ ๋ฒ์ ๋ค์ ํฐ ํ์์๋ ๋น์ทํ๊ธฐ ๋๋ฌธ์, ๋ค์์ Pytorch ๊ตฌํ ์ฝ๋๋ฅผ ๋ณผ ๋ ๋ค์ ์ดํด๋ณผ ์์ ์ ๋๋ค.
VGGNet ๋ ผ๋ฌธ์ Contribution ๋ ๊ฐ์ง๋ฅผ ์ ๋ฆฌํ์๋ฉด,
- CNN์ ๊น์ด ์์ ์ ์๋ค๋ฉด ์ ์๋ฏธํ ์ฑ๋ฅ ํฅ์์ด ์๋ค ๋ ๊ฒ์ ๋ณด์๊ณ
- ์ ํ๋ จํ๋ฉด ์ด๋ ๊ฒ ๊น์ CNN๋ ํ๋ จํ ์ ์๋ค ๋ผ๋ ๊ฒ์ ๋ณด์์ต๋๋ค.
๊ฐ Contribution์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
Very Deep CNN
VGGNet์ ๋ฉ์ธ์ผ๋ก 3 by 3 convolution๋ง ์ฌ์ฉํฉ๋๋ค. ๊ทธ ์ด์ ๋ฅผ ์ ์๋ค์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํฉ๋๋ค.
- 7 by 7 convolution ํ๋๋ฅผ ์ฐ๋ ๊ฒ๊ณผ, 3 by 3 convolution์ ์ธ๋ฒ ์ฐ๋ ๊ฒ์ ๊ฐ์ receptive field๋ฅผ ๊ฐ์ง๋๋ค. (์ฆ, ์ ๋ ฅ์ ๊ฐ์ ์์ญ์ด ๋ฐ์๋ฉ๋๋ค) ์ด๋ ์ง์ receptive field๋ฅผ ํ์ธํด๋ณด๋ฉด ์ ์ ์์ต๋๋ค.
- ๊ทธ๋ฐ๋ฐ, ํ๋ผ๋ฏธํฐ์ ๊ฐ์๋ 49 : 27๋ก ๋๋ต ์ ๋ฐ์ ๊น์ง ์ค์ด๋ญ๋๋ค.
- ๊ทธ๋ฌ๋ฉด์, 3๋ฒ์ ๋ ์ด์ด ์ฌ์ด์ฌ์ด์๋ ReLU๊ฐ ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ ์ ์ฒด ํจ์๊ฐ ๋ non-linearํด์ง๋๋ค.
- ๊ฒฝ์ฐ์ ๋ฐ๋ผ 1 by 1 convolution๋ ์ฐ๊ธด ํ๋๋ฐ (VGG16), ์ด๊ฒ๋ ์ ์ ์์ ํ๋ผ๋ฏธํฐ๋ง์ผ๋ก nonlinearity๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด์์ ๋๋ค.
๊ทธ์ธ์, Convolution์ ๊น๊ฒ ๋ค์ด๊ฐ์ ๋ง์ง๋ง์ Fully Connected Layer๋ก ์ค์ classification์ ์ถ๊ฐํ๋ ๊ฒ์ AlexNet๊ณผ ๋์ผํฉ๋๋ค.
Training
Regularization
- Regularization์ผ๋ก๋ ์ ์ ํ data augmentation๊ณผ ํจ๊ป, $5 \times 10^{-4}$ ์ weight decay๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- Fully connected layer์์๋ $p = 0.5$๋ก dropout๋ ์ ์ฉํฉ๋๋ค.
Optimization
- SGD with Momentum. Initial LR 0.01, Momentum 0.9
- Validation accuracy๊ฐ ์ ์ฒด๋๋ฉด LR์ 1/10์ผ๋ก ๊น๋ ์์ผ๋ก ์งํํฉ๋๋ค.
Initialization
VGGNet์ ์ฌ๋ฐ๋ ์ ์ค ํ๋๋, training ๊ณผ์ ์์ ๋๋ฌด ๊น์ 19๋ ์ด์ด CNN์ ํ๋ฒ์ trainingํ ์ ์๊ธฐ ๋๋ฌธ์, 11-Layer ๋ฒ์ ์ ํ๋ จํ ํ ์ด ์์์ ๋ ์ด์ด๋ฅผ ํ๋์ฉ ์ถ๊ฐํด๊ฐ๋ฉด์ trainingํ๋ค๋ ์ ์ ๋๋ค. ์ด๋ ๋ฐ์ ธ๋ณด๋ฉด, pre-train ๋ ๋ชจ๋ธ์ ์ด์ฉํ์ฌ initialize๋ฅผ ์ ํ๋ ๋๋์ผ๋ก ์๊ฐํ ์ ์์ต๋๋ค.
๊ฒฐ๊ณผ์ ์์
VGGNet์ 2014 Imagenet Challenge์์ top-5 error 6.8% ์ ๋๋ก, AlexNet์ 16%์ ๋นํด ํฐ ์ฑ๋ฅ ํฅ์์ ์ด๋ฃจ์์ต๋๋ค.
- 2014๋ 1์์๋ GoogLeNet์ด 6.7%๋ก ๊ฑฐ์ ๋๊ฐ์ ์ ํ๋๋ฅผ ๊ฐ๋๋ฐ, ์ด๋ ๋์ค์ ํฌ์คํ ํ๊ฒ ์ง๋ง VGG๋ณด๋ค ํจ์ฌ ๋ณต์กํ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- ๊ทธ๋์, ์ดํ ๋ฅ๋ฌ๋ ์ฐ๊ตฌ์์ ์คํ์ด๋ ๋ค๋ฅธ ์ฉ๋๋ก ์ฐ๊ธฐ์ VGGNet์ด ์ข๋ ์ฉ์ดํฉ๋๋ค. ๋ํ์ ์ผ๋ก, Semantic Segmentation ๋ชจ๋ธ์ค ํ๋์ธ FCN์ VGGNet์ ๊ตฌ์กฐ๋ฅผ ํ์ฉํ์ฌ ์ด๋ฏธ์ง์ ํน์ง์ ์ถ์ถํฉ๋๋ค.
- Initialization์ ํตํด ํ๋ จ์ ๋ ์ ํ๋ ๋ฐฉ๋ฒ, ํฐ convolution ํ๋๋ณด๋ค ์์ convolution ์ฌ๋ฌ๊ฐ๋ฅผ ์ฐ๋ ๊ฒ์ ์ด์ ๋ฑ์ ๋ณด์ฌ์ฃผ์์ต๋๋ค.