- toc {:toc}
Introduction
object recognition 연구가 진행되면서 더 큰 데이터셋, 더 강력한 모델, Overfitting을 방지할 수 있는 기술이 연구되고 있다. LabelMe, ImageNet과 같은 더 큰 데이터셋을 다루기 위해 큰 learning capacity를 가지고 있는 모델을 필요로 했고 ILSVRC(ImageNet Large Scale Visual recognition Challenge)-2012 대회에 사용되는 ImageNet 데이터셋에 대해 가장 좋은 결과를 갖는 모델을 제작했다.
# AlexNet
논문의 첫 번째 저자가 Alex Khrizevsky이기 때문에 저자의 이름을 따서 AlexNet이라 부른다.
The Architecture
1. ReLUs
뉴런의 Activation 함수의 기본적인 방법은 tanh(x)이다. 하지만 AlexNet은 tanh 대신 속도가 5~6배 정도 더 빠른 ReLUs(Rectified Linear Units)를 사용했다. ReLU를 사용했을 때 학습, 예측의 속도가 증가하고 정확도는 유지할 수 있었다.
2. Local Response Normalization
LRN(Local Response Normalization)에는 신경생리학에 사용되는 측면 억제(lateral inhibition)이라는 개념을 활용해 사용됐다.
‘측면 억제는 한 영역에 있는 신경 세포가 상호 간 연결되어 있을 때 한 그 자신의 축색이나 자신과 이웃 신경세포를 매개하는 중간신경세포(interneuron)를 통해 이웃에 있는 신경 세포를 억제하려는 경향이다.’
정의만으로는 이해하기 어렵다.
LRN은 이와 같은 측면 억제의 원리를 구현한 것이다. 강하게 활성화된 뉴런 주변 이웃들에 대해서 normalization을 실행한다. 주변에 비해 어떤 뉴런이 강하게 활성화 되어 있다면, 주변을 normalization함으로써 더욱 활성화되어 보일 것이다. 하지만 강하게 활성화된 뉴런들이 주변에 많다면 normalization을 진행한 후 값이 작아진다.
논문에서는 LRN의 하이퍼파라미터 값으로 $k=2, n=5, \alpha=0.0001, \beta=0.75$으로 설정했다.
3. Overlapping Pooling
CNN에서 pooling layer는 convolution을 통해 얻은 특성맵을 압축, 요약하는 역할을 한다.
전통적으로 사용되었던 pooling은 겹쳐서 진행되지 않았다. 즉, size와 stride가 같다.
하지만, AlexNet에서는 size보다 stride를 더 크게 적용해 overlapping polling을 사용했다.
LeNet-5는 pooling layer로 average pooling을 사용했지만 AlexNet에서는 maxpooling을 사용했다.
논문에 따르면 non-overlapping
Overall Architecture
{: .center}
AlexNet은 5개의 convolution layer, 3개의 fully-connected layer 총 8개의 layer로 구성되어 있다. 마지막 fully-connected layer의 output은 ImageNet의 class가 1000개이므로 1000개의 softmax로 나타낸다.
AlexNet은 2개의 GPU를 사용해 병렬처리하기 때문에 두 갈래로 연결이 된다. 두 번째, 네 번째, 다섯 번째 convolution layer들은 같은 GPU에 있는 이전 layer만 연결되어 있고 세 번째 convolution layer는 2개의 GPU에 있는 이전 layer 모두 연결되어 있다. 추가로, 사진에는 input size가 224로 나타나 있지만 실제 계산이 성립되려면 227x227의 형태가 된다.
Layer | Sort | Kernel | Output | Kernel Size | Stride | Padding | Activation Function |
---|---|---|---|---|---|---|---|
Input | Input | 3(RGB) | 227x227 | - | - | - | - |
C1 | Conv | 96 | 55x55 | 11X11 | 4 | - | ReLU + LRU |
P1 | MaxPooling | 96 | 27x27 | 3x3 | 2 | - | - |
C2 | Conv | 256 | 13x13 | 5x5 | 2 | 2 | ReLU + LRU |
P2 | MaxPooling | 256 | 13x13 | 3x3 | 2 | - | - |
C3 | Conv | 384 | 13x13 | 3x3 | 1 | 1 | ReLU |
C4 | Conv | 384 | 13x13 | 3x3 | 1 | 1 | ReLU |
C5 | Conv | 256 | 13x13 | 3x3 | 1 | 1 | ReLU |
P3 | MaxPooling | 256 | 6x6 | 3x3 | 2 | - | - |
FC1 | Fully Connected | - | 4096 | - | - | - | ReLU |
FC2 | Fully Connected | - | 4096 | - | - | - | ReLU |
FC3 | Fully Connected | - | 4096 | - | - | - | Softmax |
참고
[1] AlexNet 논문 본문