CNN Architecture - AlexNet (2012)
AlexNet์ 2012๋ Imagenet challenge๋ฅผ ํฐ ๊ฒฉ์ฐจ๋ก ์ฐ์นํ๋ฉด์, image classification task๋ฅผ ํตํด Deep neural network & GPU-computing์ ์๋๋ฅผ ์ฐ ๋ชจ๋ธ์ด๋ผ๋ ํ๊ฐ๋ฅผ ๋ฐ๋ ๊ทธ๋ฐ ์ํคํ ์ณ์ ๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ ๊ทธ๋ฐ AlexNet์ ์๋ณธ ๋ ผ๋ฌธ์ ๋ฐ๋ผ๊ฐ๋ฉด์, ๋ฉ์ธ ์์ด๋์ด๋ค์ ๋ํด ์ดํด๋ด ๋๋ค.
Architecture
๊ธฐ๋ณธ์ ์ผ๋ก AlexNet์ ๊ตฌ์กฐ๋ LeNet๊ณผ ๋ง์ด ๋ค๋ฅด์ง ์์ต๋๋ค. ๋ณด๋ค ํฐ ์ด๋ฏธ์ง๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ข๋ ๊น์ด์ง ๊ตฌ์กฐ๋ผ๊ณ ์๊ฐํ ์ ์๋๋ฐ์. Convolution layer 5๊ฐ์ Fully connected layer 2๊ฐ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. LeNet์์ ๋ณธ๊ฒ์ฒ๋ผ Convolution layer๋ค์ด ์ฃผ๋ณ์ ๋ณด๋ฉด์ feature๋ฅผ ์ถ์ถํ๊ณ , ๊ทธ ์ถ์ถํ ํน์ง๋ค์ ๋ง์ง๋ง linear layer์์ ์ด๋ป๊ฒ ํฉ์น ์ง๋ฅผ ๊ณ ๋ฏผํด์ ํ๋์ ๊ฒฐ๊ณผ๋ฅผ ๋ธ๋ค๊ณ ์๊ฐํ ์ ์๊ฒ ์ต๋๋ค.
2-GPU Training
AlexNet์ ๋ช๊ฐ์ง ํน์ดํ ์ ์ด ์๋๋ฐ, ๋์ ๋ณด์ด๋ ๊ฐ์ฅ ํฐ ํน์ง ์ค ํ๋๋ ์ ๊ทธ๋ฆผ์์ ๋ณด๋ฏ ๋คํธ์ํฌ ์ ์ฒด๋ฅผ ๋๊ฐ๋ก ๋๋ ์ ๊ตฌํํด๋จ๋ค๋ ์ ์ ๋๋ค. ์ด๋ ๋น์ (2012) GPU ๋ฉ๋ชจ๋ฆฌ๊ฐ 3GB์ ๋๋ก ํ์ฌ์ ๋นํด ๋ถ์กฑํ๊ธฐ ๋๋ฌธ์ GPU 2๊ฐ์ ๋คํธ์ํฌ๋ฅผ ๋ฐ์ฉ ๋๋ ์ ๋๋ฆฌ๋ฉด์, ํ์ํ ๋๋ง ์๋ก๊ฐ์ communicateํ๋๋ก ํ ๊ฒ์ธ๋ฐ์. ์ง๊ธ์ ์์๋ GPU์ ์ฑ๋ฅ์ด ๋น์ฝ์ ์ผ๋ก ํฅ์๋จ์ ๋ฐ๋ผ ๊ตณ์ด ์ด๋ ๊ฒ ๋๊ฐ๋ก ๋๋์ง ์์๋ ์ถฉ๋ถํ ๊ตฌํํ ์ ์์ต๋๋ค.
Usage of ReLU
LeNet์์๋ ๊ทธ๋ ๊ณ , ์ด์ ๊น์ง์ ๋ง์ Neural network๋ค์ activation function์ผ๋ก $\tanh$ ๋ sigmoid (์ด์ฐจํผ ๊ฑฐ์ ๋น์ทํ๋ฏ๋ก sigmoid๋ก ํต์นญํ๊ฒ ์ต๋๋ค) ๊ฐ์ smoothํ ํจ์๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ๊ทธ๋ฌ๋ AlexNet์์๋ ReLU๋ฅผ ์ฌ์ฉํ๋ฉด ํจ์ฌ ๋น ๋ฅด๊ฒ training์ด ๊ฐ๋ฅํจ์ ์ฃผ์ฅํ๊ณ ์์ผ๋ฉฐ, ์ด๋ฅผ ์คํ์ ํตํด ํ์ธํ์์ต๋๋ค. ์ด๋ถ๋ถ์ ๋ํด์๋ ๋ค์ํ ์ด์ผ๊ธฐ์ ์๊ฐํด๋ณผ ์ด์๋ค์ด ์๋๋ฐ, ReLU๋ ๊ณ์ฐ ์์ฒด๊ฐ ๋น ๋ฅด๊ฒ ๊ฐ๋ฅํ๋ฐ๋ค ์์ชฝ์์ vanishing gradient ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ sigmoid์ ๋นํด ์ด๋ฐ ๋ฌธ์ ๋ค์ด ๋ํ๋ค๋ ์ฅ์ ์ ์ง๊ด์ ์ผ๋ก ์๊ฐํด ๋ณผ ์ ์์ต๋๋ค.
AlexNet ๋ ผ๋ฌธ์์๋ ์ด๋ฅผ non-saturating์ด๋ผ๊ณ ๋ถ๋ฅด๊ณ ์์ผ๋ฉฐ, ์ดํ ๋ง์ ๋ ผ๋ฌธ์์๋ ReLU๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ์ด์ ์ ์ป๊ณ ์ ํ๊ณ ์์ต๋๋ค.
Local Response Normalization
Sigmoid์ ๊ฒฝ์ฐ ๊ฐ ๋ด๋ฐ์ ์ ๋ ฅ์ด 0 ์ฃผ์๋ก ๋ชจ์์ ธ์ผ learning์ ํจ์จ์ด ๋ฐํ๋๊ธฐ ๋๋ฌธ์ (๋์ชฝ์ผ๋ก ๊ฐ์๋ก ๋ฏธ๋ถ๊ณ์๊ฐ 0์ ๊ฐ๊น์์ ์๋ฌด ์ผ๋ ์ผ์ด๋์ง ์์), ๋ง์ ๋คํธ์ํฌ๋ค์ด input normalization์ ํตํด ์ด๋ฅผ ๋ง์ถฐ์ฃผ๋ ค๊ณ ํ์ต๋๋ค. ReLU๋ 0 ์ดํ๋ง ์๋๋ผ๋ฉด ์ ๋ ฅ๊ฐ์ ๋ฐ๋ผ ๋ฏธ๋ถ๊ณ์๊ฐ ์ค์ด๋ค๊ฑฐ๋ ํ์ง๋ ์์ผ๋ฏ๋ก ์ด๊ฒ ๊ผญ ํ์ํ์ง๋ ์์ง๋ง, AlexNet ๋ ผ๋ฌธ์์๋ Local normalization์ด๋ผ๋ ๋ฐฉ๋ฒ์ ์ ์ฉํ ๋ ํจ์จ์ด ์ข์๋ค๊ณ ํฉ๋๋ค. ๋ค๋ง, ์ด ๋ฐฉ๋ฒ์ ์ดํ Batch normalization ๋ฑ ๋ค์ํ ๋ฐฉ๋ฒ๋ค์ด ์ ์๋๊ณ ์ด๋ฌํ ๋ฐฉ๋ฒ๋ค์ ํจ์จ์ด ๋์ฑ ์ฐ์ํจ์ด ๋ฐํ์ง์ ๋ฐ๋ผ ์ดํ์ ์ฐ๊ตฌ์์ ๋์ด์ ๊ณ์น๋์ง ์์๊ธฐ ๋๋ฌธ์ ์์ธํ ๋ค๋ฃจ์ง๋ ์๊ฒ ์ต๋๋ค.
๊ฐ๋จํ๊ฒ๋ง ๋งํ์๋ฉด, convolution layer ํ๋ฒ์ด ํํฐ๋ฅผ ์ฌ๋ฌ๊ฐ ์ฐ๋ ์ํฉ์์ ์ ์ฉํ๋ normalization์ ๋๋ค. ์๋ฅผ ๋ค์ด ๋ณด์๋ฉด ์ด 96๊ฐ์ ํํฐ (์ปค๋) ์ ์ฐ๋ ์ํฉ์์ ๋ญ 17๋ฒ ํํฐ์ ๊ฒฐ๊ณผ๊ฐ์ด ์์ํ ๋ฐ, ์ด ๊ฐ์ 13๋ฒ, 14๋ฒ, โฆ, 21๋ฒ๊น์ง์ ํํฐ์ ๊ฒฐ๊ณผ๊ฐ์ ์ด์ฉํ์ฌ normalizeํ๋ ๊ฒ์ ๋๋ค (์ข์ฐ๋ก 4๊ฐ์ฉ ์ฐ๋๊ฑด ๊ทธ๋ฅ ์์๋ก ์ ํ ๊ฐ์ ๋๋ค) ์ด ๋ฐฉ๋ฒ์ ์ค์ ๋์์์ ์ ๊ฒฝ์๋ฆฌํ์ ์์ด์ ์ธก๋ฉด ์ต์ (lateral inhibition) ๋ก๋ถํฐ motivation์ ์ป์ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ํฉ๋๋ค.
Overlapping Pooling
AlexNet์์๋ ์ผ๋ถ pooling์ ์๋ก ์ด์ง ๊ฒน์น๊ฒ ์ํํ๋๋ฐ, ์ด ๋ฐฉ๋ฒ์ ํตํด overfitting์ ํฌ๊ฒ ์ค์ผ ์ ์๋ค๊ณ ํฉ๋๋ค.
Training
Regularization Techniques
AlexNet์ ์ด์ LeNet์ ๋นํด ํจ์ฌ ๋ ํฐ ๋ชจ๋ธ๋ก, ํ๋ผ๋ฏธํฐ์ ๊ฐ์๊ฐ ํจ์ฌ ๋ ๋ง๊ธฐ ๋๋ฌธ์ overfitting์ ์ฐ๋ ค๊ฐ ํฝ๋๋ค. ์ด์ ๋์ํ๊ธฐ ์ํด, LeNet๊ณผ ๋น๊ตํด ๋ณด๋ฉด ํจ์ฌ Regularization์ ๊ณต์ ๋ค์ด๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
- 2012๋ ๋น์์๋ ์ต์ ํ ํฌ๋์ด์๋ (๊ทธ๋ฌ๋, ์ดํ์๋ Batch normalization๋ฑ์ ํ์ฉ์ผ๋ก ์ธํด ๊ทธ ํจ์ฉ์ด ๋ง์ด ์ค์ด๋ ) dropout์ ์ ์ฉํฉ๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก fully-connected layer ์ค ์ ๋ ์นธ์ $p = 0.5$์ ๋๋ค.
- SGD์ Weight decay 0.0005๋ฅผ ์ ์ฉํฉ๋๋ค. ๋ ผ๋ฌธ์์๋ ๊ทธ ์ด์ ๋ฅผ ๋ช ํํ๊ฒ ๋ฐํ๊ณ ์์ง๋ ์์ผ๋, ๋จ์ํ regularization์ผ ๋ฟ ์๋๋ผ ์ค์ ๋ก training์ ๋ฐ๋์ ํ์ํ๋ค๊ณ ์ฃผ์ฅํ๊ณ ์์ต๋๋ค.
Optimization
- SGD with Momentum 0.9, weight decay 0.0005.
- Learning rate๋ 0.01๋ก ์์ํด์, loss๊ฐ ์ค์ด๋ค์ง ์๋ ๊ฒ ๊ฐ์ ๋ณด์ผ๋๋ง๋ค 1/10์ผ๋ก ์ค์ด๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ต๋๋ค.
- โAdjusted Manuallyโโฆ
Code
AlexNet์ผ๋ก CIFAR10 ํ์ด๋ณด๊ธฐ ๋ก ์ด์ด์ง๋๋ค