AlexNet(2012)論文コメント


1.Introduce


Alexnetは2012年に発売された深い学習フレームワークです.当時の技術的制約のため,データセットが大きいと効果的な学習を期待することは困難であった.
論文の中でGTX 580は数日の学習時間を費やしたが、現在GPUの発展は、数時間以内にAlexnetを学ぶことができる.

2.Dataset


テープとしてImagentを使用
ILSVRCが提供するデータを利用した.
    *ILSVRC = Imagenet Large Scale Visual Recognition  Challenge

3.The Architecture


- 3-1)ReLu Non-linearity

비포화비선형성(ReLu)를 활용하면 포화비선형성(tanh / sigmoid)함수의 saturating 문제를 해결할수있음


*saturationg 이란?

⇒활성화 함수로 특정비선형 함수를 적용한 신경망에서 반복해 학습시키다보면 가중치 업데이트가 안되는 지점

ReLU 의 함수식은 f(x) = max(0,x)이고, 학습속도 측면에서 ReLu가 Tanh보다 효율적인것을 확인할수 있었다.(비포화_비선형성>>포화_비선형성)

- 3-2)Training on Multiple GPUs

논문에서는 두개의 GPU를 사용하였는데 각 GPU가 하는 일이 달랐다

끝에 있는 두개의 FC층에서만 소통을 하고, 그 외의 층에서는 각자의 연산을 진행했다.

그 결과 각 컨볼루션 계층의 커널이 더 많은 Multi GPU상황에서 오차율을 1.7%~1.2%까지 줄어드는걸 확인할수있었다.

- 3-3)Local Response Normalization

ReLu의 값이 양수일때에는 그 값이 그대로 출력되었다. 하지만 양수값이 너무 클 때에는 주변값에 영향을 미쳐서 
그 값들 또한 커질수있기때문에 LRN(Local Response Normalization)을 적용하였다.
   LRN의 식이며 k, n α, β는 hyperparameter이다.

Alexnet 이후 현대의 CNN에는 batch normalization을 사용함

- 3-4)Overlapping pooling

과적합을 방지하기 위해 Overlapping pooling을 적용하였다.

쉽게 말해 pooling에 중복을 허용하여 0.3~0.4%의 오차율을 감소시킬수있었다고 한다

- 3-5)Overall Architecture


모델의 전반적인 구조는 [Input layer - Conv1 - Maxpooling1 - Normalization - Conv2 - Maxpool2 - Normalization2 - Conv3 - Conv4 - Conv5 - Maxpool 3 - FC1 - FC2 - Output layer]

pooling이 일어나는 곳에서 LRN도 진행되고 2개의 GPU로 작동하면서 두 번쨰 층에서 depth가 48, 48로 나누어진다

4.Reducing Overfitting

  • 4−1)アプリケーションデータは、画像の平行移動および水平反射強化データを維持する.学習データのRGB上でPCAを行い、画像輝度や特定の色強度の影響を排除する
  • 4-2)廃棄防止機能を使用して特定の実行プログラムを無効にし、他の実行プログラムに依存して結果値を出力することを防止し、FC層の上位2層のみで使用する
  • 5.Details of learning

  • Details
  • プラスチックベース設計
  • を利用する
  • Batch Size - 128
  • Momentum - 0.9
  • Weight Decay - 0.005
  • Weight Initialization-ゼロ平均Gauss分布を利用して、標準偏差0.01
  • Bias Initialization-Layerに従って1または0に設定します.1に設定したのは、Relu値に値を割り当てるときに学習を促進する役割を果たしているからです.
  • 学習率-0.1で研修時調整を行います.調整方法は0.01を10で割って行います.
  • 6.結果(個人の意見を含む)

  • Alexnetは距離が短いほど似たようなことを認識し、2012年ILSVRCで優勝した.当時は技術的な制約があり、確かに長い学習時間がかかりましたが、興味深いことに2つのGPUが異なる方法で学習を行い、その時に効果的に学習を行いました.