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
テープとして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
비포화비선형성(ReLu)를 활용하면 포화비선형성(tanh / sigmoid)함수의 saturating 문제를 해결할수있음
*saturationg 이란?
⇒활성화 함수로 특정비선형 함수를 적용한 신경망에서 반복해 학습시키다보면 가중치 업데이트가 안되는 지점
ReLU 의 함수식은 f(x) = max(0,x)이고, 학습속도 측면에서 ReLu가 Tanh보다 효율적인것을 확인할수 있었다.(비포화_비선형성>>포화_비선형성)
논문에서는 두개의 GPU를 사용하였는데 각 GPU가 하는 일이 달랐다
끝에 있는 두개의 FC층에서만 소통을 하고, 그 외의 층에서는 각자의 연산을 진행했다.
그 결과 각 컨볼루션 계층의 커널이 더 많은 Multi GPU상황에서 오차율을 1.7%~1.2%까지 줄어드는걸 확인할수있었다.
ReLu의 값이 양수일때에는 그 값이 그대로 출력되었다. 하지만 양수값이 너무 클 때에는 주변값에 영향을 미쳐서
그 값들 또한 커질수있기때문에 LRN(Local Response Normalization)을 적용하였다.
LRN의 식이며 k, n α, β는 hyperparameter이다.
Alexnet 이후 현대의 CNN에는 batch normalization을 사용함
과적합을 방지하기 위해 Overlapping pooling을 적용하였다.
쉽게 말해 pooling에 중복을 허용하여 0.3~0.4%의 오차율을 감소시킬수있었다고 한다
모델의 전반적인 구조는 [Input layer - Conv1 - Maxpooling1 - Normalization - Conv2 - Maxpool2 - Normalization2 - Conv3 - Conv4 - Conv5 - Maxpool 3 - FC1 - FC2 - Output layer]
pooling이 일어나는 곳에서 LRN도 진행되고 2개의 GPU로 작동하면서 두 번쨰 층에서 depth가 48, 48로 나누어진다
5.Details of learning
6.結果(個人の意見を含む)
Reference
この問題について(AlexNet(2012)論文コメント), 我々は、より多くの情報をここで見つけました https://velog.io/@hajjjin2050/AlexNet2012논문리뷰テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol