티스토리 뷰

ML DL

[논문읽기][ResNet] Deep Residual Learning for Image Recognition

무엇보다_빛나는_샤트 2022. 2. 16. 23:34

안녕하세요

프로그래밍을 배우는 빛나는 샤트입니다.

 

Abstract, Introduction을 읽고 제 언어대로 해석해 적은 것입니다.
전체 내용은 추후 업데이트 예정입니다.

 

일시: 2021.03.30(화)

 

오늘 읽어볼 논문은 'Deep Residual Learning for Image Recognition'입니다.

논문 링크: arxiv.org/pdf/1512.03385.pdf

 


Abstract(요약)

 딥러닝 학습에서 레이어의 깊이가 깊어질 수록 학습하기 어렵다. 기울기 Vanishing, Exploding, Overfitting 등 다양한 문제들이 발생할 수 있다.이 논문에서는 기존보다 더 깊은 모델이지만 더 훈련을 잘 되는 기법인 '잔차 학습 프레임워크'를 제시한다. (물론 실험을 통한 결과와 함께)

실례로 ImageNet 데이터 셋에서 VGGNet보다 8배 깊지만 좋은 성능을 낸다. 특히 Residual Net 앙상블을 이용해 ImageNet Test set에서 3.57% 오류를 달성해 ILSVRC 2015 분류 과제에서 1위를 차지했다.

또한 이미지의 깊이 표현에 대해서도 좋은 성능을 내는데, COCO 데이터 셋에서 기존 대비 28% 성능 향상을 입증했다. ImageNet detection, ImageNet local-ization, COCO detection, and COCO segmentation분야에서 1위를 차지했다.

 

 


1. Introduction(소개)

최근 Deep-Convolution Net은 이미지 분류를 위해 점점 깊어지고 있는데 과연 깊은 네트워크가 좋기만 할까?이 질문에서 이 논문이 시작되었다고 할 수 있다.신경망이 깊어질수록 vanishing/exploding gradients 문제는 무시할 수 없다.그러나 degradation문제도 무시할 수 없는데 이는 아래 그래프를 통해 설명해보겠다.

layer가 더 깊은 쪽의 error가 더 높다.

*degradation: 레이어가 깊은 모델이 오히려 얕은 모델보다 성능이 좋지 않는 현상. 최적화가 되지 않았을 때 발생

 

본 논문에서는 deep residual learning 프레임워크로 degradation문제를 해결하고자 한다.

deep residual learning은 아래 그림과 같다.

Residual Block

Residual mapping을 이용한 방법이다.

여기서 Residual이란 잔차. 즉, 차이를 뜻하는데, 기존 mapping  결과가 H(x)라고 할 때 이 논문에서는 비선형 mapping으로서 F(x) = H(x) - x를 구현했다.

즉, 새로운 F(x)는 기존 H(x)에서 입력 x를 뺀 값이 되고 결국 새로운 방법에 따라 mapping은 H(x) = F(x) + x로 표현할 수 있다.

 

다시 말하면 이 논문이 출발한 아이디어부터 살펴보자.

'기껏 열심히 쌓은 신경망인데 그래도 shallow(얕은) 신경망의 성능이랑 비슷하게 나와야 하지 않을까?'

>> 원인은? 깊어지는 신경망으로 인해 입력값의 특성 손실이 너무 심하다!

>> 해결방안은? 입력을 그대로 출력하는 학습을 하면 되지 않을까?

>> 그렇다면! Residual mapping을 이용해 기존 mapping에 +x를 해주면 F(x)가 0으로 수렴시켜서 F(x) + x -> x가 되니까 원하는 의도대로 되겠구나

실험을 했더니? 성공!

*ImageNet 테스트 셋에서 3.57%의 상위 5위 오류

*ILSVRC 2015 분류 과제에서 1위

*ImageNet detection, ImageNet local-ization, COCO detection, and COCO segmentation분야에서 1위

 

 

 

내용에 오류가 있으면 피드백 언제나 환영입니다.😊

LIST
댓글