공부기록

[논문] VGGNet(2015) 리뷰 및 정리 (3) 본문

분석/논문

[논문] VGGNet(2015) 리뷰 및 정리 (3)

맘모스빵러버 2021. 3. 16. 13:34

 

안녕하세요! 이어서 계속 VGGNet 논문에 대하여 리뷰해보겠습니다.

 

 

4.1 Single scale evaluation

 

Table 1 & 2
Table3

table1에서 나온것처럼 논문에서는 개별적인 모델들을 평가합니다. 테스트 이미지의 크기는 고정된 S(=Q)와 Jitter를 사용한 S가 있고 그 성능평가의 결과는 Table 3에 나와있습니다.

 

논문에서는 몇가지 주목해야할점을 말하는데요!

 

첫째,  로컬 응답 정규화(A-LRN 네트워크)를 사용하는 것이 표준화 계층이 없는 모델 A에서 개선되지 않는다.

따라서 논문에서 더 깊은 아키텍처(B-E)에서는 정규화를 채택하지 않습니다.

둘째, ConvNet의 깊이가 증가함에 따라 분류 오류가 감소한다. (11층인 A부터 19층인 E까지)

특히, 같은 깊이에도 불구하고 3개의 1*1 Conv층을 가진 C가 네트워크 전체적으로 3*3 Conv 층을 사용하는 B보다 성능이 안좋았습니다. 이는 추가 비선형성이 도움이 되지만(C가 B보다 낫지만) 사소한 receptive 필드를 가진 컨볼루션 필터를 사용하여 공간 맥락을 포착하는 것도 중요하다는 것을 나타낸다(D가 C보다 낫다).

 

논문에서 설계한 모델의 구조는 깊이가 19층에 도달했을때 saturate되었다. 그러나 더 큰 데이터셋이라면 더 깊은 모델이 성능이 좋을것으로 예상된다.

 

또한 B에서 3x3 conv layer을 5x5 conv layer로 바꾸고 성능 test했더니 top-1 error가 7% 증가하였다고 한다. 이는 작은 필처를 가진 깊은 net이 큰 필터를 가진 shallow net보다 더 좋은 성능을 가진다는것을 말해준다.

 

결론적으로, 위 이미지에서도 명확히 볼 수 있는것처럼 훈련에서 jittering을 사용한것이 눈에 띄게 더 좋은 성능을 발휘하는것을 알 수 있습니다. (test에서 단일 scale을 적용했다고 하더라도) 이것은 scale jittering에 의한 훈련셋의 구성이 다중 scale의 이미지 통계 캡처에 도움을 준다는것을 의미합니다.

 

4.2 Multi scale evaluation

Table 4

4.2파트에서는 훈련과 시험 척도간의 큰 불일치가 성능 저하로 이어진다는 점을 고려하여, 고정 S로 훈련한 모델은 훈련이미지 크기 Q={S-32, S, S+32}에 가까운 세 가지 테스트 이미지 크기에 대해 평가되었습니다. 동시에, 훈련시 scale jittering을 사용한 경우 테스트시 더 넓은 범위의 scale에서 접근이 가능하기 때문에 S ∈ [Smin; Smax] 로 훈련한 경우  Q = {Smin, 0.5(Smin + Smax), Smax}에 대해 평가를 진행하였습니다. 

 

그 결과는 Table4에서 볼 수 있습니다. 결과를 보면 테스트시 scale jittering을 사용한것이 (Table4) 고정된 test scale을 가질경우(Table3) 보다 더 좋은 성능을 발휘한다는 것을 알 수 있습니다. 

Table4에서 볼 수 있듯이 train과 test시 모두 다중 scale을 사용한경우가 성능이 가장 좋은것을 볼 수 있습니다.

 

4.3 Multi-crop evaluation

Table 5

table5에서는 dense와 multi-crop그리고 둘을 같이 평가의 method로 사용할 경우의 soft-max output을 평균화해서 complementarity를 평가하게 됩니다. 보다시피, multi-crop을 사용하는것이 dense 평가를 사용하는거보다 약간 더 좋은 성능을 보입니다. 또한, 표의 결과를 보면 두 가지 방식이 상호보와적이라는것을 알 수 있습니다. ( 이들의 조합이 각각의 접근 방식을 능가하기 때문!)

 

4.4 CONVNet fusion

4.4절에서는 Soft-max class posterior을 평균화하여 여러 모델의 output을 조합하고 이를 통해 모델의 보완성으로 성능 향상시킵니다. 이는 모델간의 보완성으로 인해 성능이 향상된것이며 2012년(Krizhevsky 등, 2012년)과 2013년(Zeiler & Fergus, 2013년; Serman et al., 2014년) 상위 ILSVRC 제출에 사용되었다고 합니다.

 

Table 6

4.5 Comparison with the state of the art

 

Table 7

4.5절에서는 논문의 결과를 table 7과 비교하게 됩니다. ILSVRC-2014 챌린지 분류 과제(Russakovsky et al., 2014)에서 "VGG" 팀은 7개의 모델을 앙상블하여 7.3%의 test error로 2위를 차지했습니다. 제출 후에는 두개의 모델을 앙상블하여 error를 6.8%까지 줄였다고 합니다. 표 7에서 볼 수 있듯이, 논문에서 사용한 매우 깊은 ConvNets는 ILSVRC-2012 및 ILSVRC-2013 대회에서 최고의 결과를 달성한 이전 세대의 모델을 크게 능가한다는것을 볼 수 있습니다.

 

이는 굉장히 주목할만한 부분입니다. 왜냐하면 단 두 가지 모델을 앙상블하여 최고의 결과를 얻을 수 있었기 때문입니다.(대부분의 ILSVRC 제출에 사용된 모델보다 훨씬 적습니다. ) 또한, Single net 성능은 GoogLeNet를 0.9%만큼 능가했다는 점도 볼 수 있습니다.

 

5. Conclusion

논문에서는 large scale image 분류를 위한 매우 깊은 convolutional network (최대 19층)에 대하여 다루었습니다. 논문에서의 실험 결과를 통해 네트워크의 깊이가 깊어질수록 이미지 분류 정확도가 높아지는 것을 확인할 수 있었고

실험에서 네트워크의 깊이를 최대 19층까지만 사용한 이유는 해당 실험의 데이터에서는 분류 오차율이 VGG-19에서 수렴했기 때문이라고 합니다. 학습 데이터 세트가 충분히 많다면 더 깊은 모델이 더 유용할 수도 있을것 같다고 논문에서 작성되어있었습니다.

 

이렇게 VGGNet에 대한 논문리뷰가 끝났습니다..! 저도 모르는 부분도 많아서 정확하게 리뷰했는지는 모르겠지만 앞으로도 매주 VISION관련 논문을 리뷰해보겠습니다! 읽어주셔서 감사합니다~!!!

 

 

[출처] arxiv.org/abs/1409.1556

'분석 > 논문' 카테고리의 다른 글

Faster R-CNN 논문 리뷰  (4) 2021.04.06
FAST R-CNN 논문 리뷰  (0) 2021.04.06
R-CNN 논문 리뷰  (0) 2021.03.29
[논문] VGGNet(2015) 리뷰 및 정리 (2)  (0) 2021.03.15
[논문] VGGNet(2015) 리뷰 및 정리 (1)  (0) 2021.03.13