소개
GoogLeNet은 2014년도 ILSVRC(ImageNet Large Sclae Visual Recognition Challenge)에서 우승한 CNN 네크워크입니다.
정확하게 보면 GoogLeNet은, Inception이라는 개념의 네트워크들 중 하나입니다. 따라서 GoogLeNet은 Inception-v1와 같은 모델입니다.
GoogLeNet의 논문은 "Going Deeper With Convolutions"로, GoogLeNet이란 이름이 붙은 이유는 구글이 알고리즘 개발에 참여했기 때문입니다.
특징
Inception Module
- GoogLeNet은 9개의 Inception Module을 포함하고 있습니다.
- Inception Module은 다양한 종류의 특성을 도출하기 위해 다양한 사이즈의 필터 커널을 이용해 Convolution 해줍니다.
- 3 x 3 Max Pooling은 Convolution Feature Map들과 사이즈를 동일하게 하기 위해서 Padding을 사용합니다.
- GoogLeNet은 Inception Module로 인해 늘어난 연산량을 줄이기 위해 1 x 1 Convolution을 추가합니다.
1 x 1 Convolution
- GoogLeNet에서 1 x 1 Convolution은 Feature Map의 갯수를 줄이는데 사용합니다.
- Feature Map의 갯수가 줄어들면 Convolution을 하는데 사용되는 연상량이 줄어듭니다.
Global Pooling
- GoogLeNet은 AlexNet, VGGNet과 달리 Fully Connected 대신 Global Average Pooling을 사용합니다.
- Global Average Pooling은 전 층에서 산출된 Feature Map들을 각각 평균낸 것을 이어서 1차원 벡터로 만들어 줍니다.
- Fully Connected와 비교하여 가중치가 없어 연산이 빠르다는 장점이 있습니다.
Auxiliary Classifier
- GoogLeNet은 Gradient Vanishing 문제를 해결하기 위해 네트워크 중간에 두 개의 보조 분류기(Auxiliary Classifier)를 달아주었습니다.
- Global Average Pooling - Fully Connected1 - Fully Connected2 - Softmax 순으로 진행됩니다.
- Loss를 중간 중간에서 구하기 때문에 Gradient가 적절하게 Back Propogation 된다고 합니다. 단, 영향력이 지나치게 높은 것을 막기 위해 Loss에 0.3을 곱합니다.
- Auxiliary Classifier는 훈련할 때만 사용할 뿐, 테스트 하는 과정에서는 제거합니다.
구조
Input Image
- 224 x 224 x 3 이미지를 입력으로 받습니다.
Inception Module(Convolution Layer)
- 총 9번의 Inception Module을 시행합니다.
- 단, Input Image와 가까운 부분은 단일 Convolution을 시행합니다. 왜냐하면 얕은 네트워크는 Inception Module을 사용해도 효과가 없음을 확인했기 때문입니다.
- Model 훈련중일 때 4번째와 7번째 Inception Module은 Auxiliary Classifier를 시행합니다.
Final Layer(Fully Connected Layer)
- Global Average Pooling으로 Flatten 해준 후 1000개의 뉴런과 Fully Connected 해줍니다.
- 1000개 뉴런 출력값에 Softmax 함수를 적용하여 1000개 클래스 각각에 속할 확률을 나타냅니다.
출처
[1] GoogLeNet: https://bskyvision.com/539
[2] GoogLeNet: https://kangbk0120.github.io/articles/2018-01/inception-googlenet-review
[3] GoogLeNet: https://ikkison.tistory.com/86
'University > Vehicle Intelligence Foundation' 카테고리의 다른 글
[CNN] ResNet18 (0) | 2021.04.19 |
---|---|
[CNN] VGG16 (0) | 2021.04.19 |
[CNN] AlexNet (0) | 2021.04.18 |
[실습] YOLO - Object Detection (0) | 2021.04.07 |
[Perception Open Source] Point Cloud Library (0) | 2021.04.06 |