일반적으로 layer의 깊이가 깊을 수록 더 많은 특징을 데이터로 부터 추출할 수 있게되고 이로인해 더 높은 성능을 갖는 것이 보편적이지만
더 많은 층이 추가될수록 backpropagation진행시 gradient가 약해져 기울기 소실이 발생할 수 있다.
기울기 소실이 발생하면 네트워크를 효과적으로 학습하기가 어려운데 ResNet에서는 이 문제를 해결하기 위해 한 레이어의 출력을 다음층으로 직접 전달하는 residual block을 사용했다.
잔여블록을 이용하면 학습이 어려운 를 학습하는 대신 학습이 쉬운 를 학습할 수 있다.
기존방식
residual 방식
# 와 의 차원이 다르더라도 선형변환을 이용하여 더할 수 있다.
따라서
# 에 대해 미분하면 항상 1 이상이므로 경사소실의 발생 위험이 적다
솔직히 왜 잘작동하는지 모르겠따