AI

모개숲 딥러닝 스터디 - 3. ResNet : Deep Residual Learning for Image Recognition

META_BS 2024. 3. 24. 21:26

1. Background

과적합 (Overfitting)

• 모델이 학습 데이터는 잘 맞추지만 처음 보는 데이 터는 잘 맞추지 못하는 현상. (일반화 성능 하락)

• 학습 데이터의 규모에 비해 모델이 복잡(레이어나 매개변수의 수가 많음)할 때 주로 발생.

네트워크의 깊이와 성능의 비례

• 층이 늘어날수록 비선형성이 증가하여 정확도가 올라간다.

• 필터 사이즈를 줄이면 Receptive Field 크기는 유지하면서도 매개변수 개수는 줄일 수 있다 [Simonyan et al., ICLR 2015]

 

네트워크의 깊이와 학습 난이도의 비례

• 채널 수를 줄이거나 필터 크기를 줄이지 않더라도 네트워크를 깊게 만들면 성능이 하락한다.

• 과적합(Overfitting)이 원인은 아니다. [He et al., ICLR 2015]

네트워크가 깊다고 해서 무조건 모델성능이 좋아지지 않는다는게 실험적으로 확인됨

 

 

2. ResNet

Degradation Problem

Degradation Problem은 레이어를 깊게 쌓을수록 오히려 train / test error가 커지는 문제를 뜻한다.

이는, 레이어가 깊어질수록 train error는 작아지지만, test error가 커지는 Overfitting problem과는 다른 문제다. 

 

(이론) 이론상 깊은 네트워크에서 복사된 앞 단계 뒤에 추가된 층들이 입력 정보를 그대로 출력(Identity Mapping)하는 역할을 하도록 학습된다면 깊은 네트워크는 얕은 네트워크보다 성능이 떨어지지 않아야 함.

 

(주장) 위 이론에 대한 실험적인 경우를 찾지 못했다 

 

(가설) ‘추가된 층들이 입력 정보를 그대로 출력하도록 학습시키는 것조차 어렵기 때문이 아닐까?

추가된 층들이 입력 정보를 제외한 잔차(Residual)만 학습하도록 하는 것이 쉽지 않을까?’

 

= ‘추가된 층들이 앞선 층보다 좋은 내용을 배울 게 아니라 앞선 층이 배우지 못한 것(Residual)만 배우면 낫지 않을까?’

 

 

 

구조 및 이론

 

 

 

 

모든 Residual 블록의 필터는 3x3

각 합성곱 연산 직후 batch normalization 적용

채널 수가 두배로 증가 시, 1x1 conv로 채널수를 맞춰주거나 앞쪽 절반만 더해줌

피처맵 크기 절반으로 감소 시, Spatial Pooling을 사용하지 않고 Stride를 2로 적용

FC Layer는 한번만 사용

 

 

3. Summary

• Degradation Problem의 원인은 과적합도, 기울기 소실 문제도 아니다.

 

• Degradation Problem은 네트워크가 깊어지면서 수렴 난이도가 높은 블록들이 쌓인 결과 수렴률 이 급격하게 낮아지기 때문에 일어났을 것이라고 추측한다.

 

• 잔여 블록(Residual Block)은 앞서 학습된 정보를 그대로 출력하도록 이어 줌으로써 최적화 난이도를 낮춰

   Degradation Problem을 해결할 수 있다.