참고자료는 밑에 첨부했습니다!
Very Deep Convolutional Networks For Large-Scale Image Recognition
1. Introduction
"Much Deeper Network, Much Smaller Filters"
2014년 처음으로 훨씬 더 깊은 deeper 네트워크 등장
from oxford
VGG : Visual Geometry Group
16 : 레이어수
ImageNet에서 AlexNet의 오차율을 절반으로 줄임
Localization 1위 & Classification 2위
Top-5 테스트 정확도 92.7%
=> 어떻게 VGG 16~19 레이어와 같이 깊은 신경망 모델의 학습을 성공했을까?
그 이유는 모든 conv layer에서 3*3 filter를 사용했기 때문이다! 이어서 설명하겠다.
2. Convet Configuartions
13 Convolutional Layer + 3-Fully Connected Layer + Softmax
Input : 224*224*RGB
3*3 Convolution Filters (좌우, 위아래, 중앙의 정보를 구별할 수 있는 가장 작은 형태)
stride : 1
padding : 1 -> 사이즈 줄지 않게!
5번의 2*2 max pooiling(stride : 2)로 이미지 줄이기
RELU for nonlinearlity
Conv3은 3*3 필터
Conv1은 1*1 필터
Conv3-N에서 N은 필터의 개수
Conv3-64 : 64개의 3*3 필터를 학습 매개변수로 사용했다는 의미
신경망의 마지막 3Fully Connected Layer는 각각 4096, 4096, 1000개의 유닛으로 구성돼 있으며, 출력층은 classification을 위한 softmax 함수를 사용한다,
3. Discussion - 3*3 filter effect
VGG 모델 이전에 Convolutional Network를 활용하여 이미지 분류에서 좋은 성과를 보였던 모델들은 비교적 큰 Receptive Field를 갖는 11*11 필터나 7*7 필터를 포함한다.
그러나 VGG 모델은 오직 3*3 크기의 작은 필터만 사용했음에도 이미지 분류 정확도를 비약적으로 개선시켰다.
3*3 conv layer 2개 = 5*5 conv layer 효과
3*3 conv layer 3개 = 7*7 conv layer 효과
그림처럼 5*5 이미지가 있다고 했을 때, 3*3 filter를 먼저 적용하려면(stride : 1) 3*3 feature map이 생성되고, 3*3을 3*3 kernel을 또 한번 통과하면 처음 이미지에서 5*5 filter를 한번 통과시킨 것과 같은 결과를 볼 수 있다.
stride가 1일 때, 3차례의 3*3 Conv 필터링을 반복한 특징맵은 한 픽셀이 원본 이미지의 7*7 Receptive filed의 효과를 볼 수 있다.
7*7 필터로 1번 VS 3*3 필터로 3번 Conv
1. 결정함수의 비선형성 증가
각 convolution은 Relu 함수 포함한다.
레이어 증가 -> 비선형성 증가 -> 모델의 특징 식별성 증가로 이어진다.
2. 학습 파라미터 수의 감소
7*7 필터 1개에 대한 학습 파라미터 수는 49(7*7)
3*3 필터 3개에 대한 학습 파라미터 수는 27(3*3*3) -> 45% 절약 가능 !
4. 알고리즘 - 학습 이미지 크기
Training시 입력 이미지의 크기는 모두 224*224로 고정하였다.
학습 이미지는 각 이미지에 대해 256*256 ~ 512*512 내에서 임의의 크기로 변환하고, 크기가 변환된 이미지에서 개체의 일부가 포함된 224*224 이미지를 Crop하여 사용하였다.
학습 데이터를 다양한 크기로 변환하고 그 중 일부분을 샘플링해 사용함으로써
1. 한정적인 데이터의 수를 늘릴 수 있다. Data Augmentation
2. 하나의 오브젝트에 대한 다양한 측면을 학습 시 반영시킬 수 있다.
실제로 VGG 연구팀의 실험 결과에 따르면 다양한 스케일로 변환한 이미지에서 샘플링하여 학습 데이터로 사용한 경우가 단일 스케일 이미지에서 샘플링한 경우보다 분류 정확도가 좋았다.
5. 결론
VGG 연구팀의 실험 결과를 통해 네트워크의 깊이가 깊어질수록 이미지 분류 정확도가 높아지는 것을 확인할 수 있었다.
실험에서 네트워크의 깊이를 최대 19 레이어(VGG-19)까지만 사용한 이유는 해당 실험의 데이터에서는 분류 오차율이 VGG-19에서 수렴했기 때문이다. 학습 데이터 세트가 충분히 많다면 더 깊은 모델이 더 유용할 수도 있다.
참고자료
- 논문 한글 해석
- 논문 리뷰 블로그
www.stand-firm-peter.me/2020/09/05/vgg/
'Stay Hungry Stay Foolish > 논문 정리' 카테고리의 다른 글
[논문 정리] Fast R-CNN (0) | 2021.04.07 |
---|---|
[논문 정리]Rich feature hierarchies for accurate object detection and semantic segme (0) | 2021.03.31 |
[논문 정리] ArcFace: Additive Angular Margin Loss for Deep Face Recognition (0) | 2020.12.15 |
[논문 정리] Memory Enhanced Global-Local Aggregation for Video Object Detection (0) | 2020.12.07 |
[논문 정리] Object Detection in the Context of Mobile Augmented Reality (2) | 2020.11.09 |
댓글