객체 검출 논문의 서베이가 끝나서 CNN 서베이를 진행하려고 한다.
읽는 순서는 서베이 논문인 A Survey of Convolutional Neural Networks: Analysis, Applications, and Prospects 를 참고하여 읽을 것이다.
서베이 논문 : https://arxiv.org/pdf/2004.02806.pdf
논문 : https://proceedings.neurips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf
가장 첫 번째로 읽을 논문은 2012년 발표되어 당년 ImageNet competition에서 우승을 거머쥔 AlexNet이다.
AlexNet은 LeNet의 구조를 더 깊고 넓게 확장해 병렬 GPU 연산이 가능하게끔 하였다. 또한 ReLU, Dropout, LRN, training data augmentation과 같은 기법들을 적용하여 모델의 성능을 끌어올렸다.
Architecture
AlexNet은 5개의 컨볼루션 레이어와 3개의 FC 레이어로 총 8개의 레이어를 가진다. 네트워크의 입력은 227 x 227 x 3이며, 여러 단계의 컨볼루션 레이어와 FC 레이어를 거쳐서 모든 클래스에 대한 확률을 출력한다.
Training on Multiple GPUs
위 그림에서 보면 하나의 이미지에 대해서 연산이 위 아래로 나뉘어서 진행되는 것을 볼 수 있다. 최근의 네트워크와 프레임워크는 자동으로 여러대의 GPU를 이용해 병렬처리를 수행하지만 이 당시에는 GPU의 메모리도 충분하지 않았고 잘 추상화된 병렬처리도 제공하지 않았기 때문에 위 그림과 같이 수동으로 영역을 나누어 컨볼루션 연산을 수행하였다.
각각의 GPU가 학습한 내용을 보면 흥미로운게 GPU1은 에지(?) 정보를 GPU2는 색상 정보를 학습한 것 같다.
Local Response Normalization
Local Response Normalization(LRN)은 이름 그대로 지역적인 정규화 기법이다. AlexNet은 컨볼루션 레이어의 활성화 함수로 ReLU를 사용한다. 때문에 컨볼루션 레이어의 양수 출력값이 그대로 전파되는데 이 때 값이 큰 양수들은 컨볼루션과 풀링 연산을 수행할 때 주변에 영향을 주게 된다. 이러한 현상은 네트워크의 일반화 성능을 떨어뜨리기 때문에 논문에서는 인접한 셀의 값을 이용해 정규화를 수행하였다. (최근에는 Batch Normalization을 사용한다.)
Prevent overfitting
Dropout
AlexNet은 과대적합을 막기위해 FC 레이어에 드랍아웃을 사용하였다. 드랍아웃은 네트워크의 학습 과정에서 \( p \) 확률로 뉴런 사이의 연결을 끊는 것으로 네트워크가 특정한 feature만을 과도하게 보는 것을 막기 위해서이다. 테스트나 추론 단계에서는 연결을 끊지 않고 사용한다.
Data Augmentations
AlexNet은 과대적합을 막기위한 또다른 방법으로 가장 쉽고 흔하게 사용되는 데이터 증강 기법을 사용하였다. AlexNet에 사용된 기법은 총 2가지로 다음과 같다.
1. 수평 반전시킨 이미지에서 랜덤하게 224 x 224 크기로 이미지를 크롭 추출
2. PCA를 이용해 RGB 값 변환
Results
위의 표를 보면 영상처리 알고리즘을 이용한 방법들에 비해 CNN이 월등히 낮은 에러율을 보이는 걸 확인할 수 있다.
References
LRN : https://taeguu.tistory.com/29
LRN(Local Response Normalization) 이란 무엇인가?(feat. AlexNet)
LRN(Local Response Normalization) LRN(Local Response Normalization)은 현재는 많이 사용되지 않습니다. 그러나 Image Net에서 최초의 CNN우승 모델인 AlexNet에서 사용했으며 작동방식에 대해 알아보도록 하겠습니다.
taeguu.tistory.com
다음 글에서는 VGGNet을 리뷰하겠습니다.
'Paper Review' 카테고리의 다른 글
[Paper Review] GoogLeNet : Going Deeper with Convolutions (0) | 2023.01.03 |
---|---|
[Paper Review] VGGNet : Very Deep Convolutional Networks for Large-Scale Image Recognition (0) | 2023.01.03 |
[Paper Review] RetinaNet : Focal Loss for Dense Object Detection (0) | 2023.01.02 |
[Paper Review] SSD : Single Shot MultiBox Detector (0) | 2022.12.02 |
[Paper Review] YOLO (0) | 2022.11.22 |