등장 배경

neural network를 학습할 때, 우리는 보통 더 깊은 모델이 더 좋은 성능을 낼 것이라는 기대를 갖는다. 하지만 게속해서 laye를 추가하여 일정 깊이에 도달한 모델은, 오히려 그 정확도가 감소하는 현상(degradation) 현상을 보인다. residual connection은 이 문제를 단순하고 효과적으로 해결할 수 있다.

image.png

residual connection은 건너뛰는 경로를 제공한다. input x는 일반적인 방식으로 block을 통과함과 동시에, identity mapping을 통해 block의 끝부분으로 연결된다. block의 끝부분에서, 두 가지 경로로 올라온 신호들은 element-wise로 더해지고 relu 등의 nonlinearity를 거쳐 output으로 산출된다.

degradation problem

image.png

신경망의 깊이를 늘려 가면서 학습을 진행하다 보면, accuracy가 점점 수렴하다가 급격히 퇴화하는 것을 발견할 수 있다.

image.png

학습하기 어려운 identity mapping을 따로 제공하고, 그것을 뺀 나머지 부분만 학습하게 만든 것이다.

image.png

기존의 feed-forward 신경망에서는, input signal이 모든 layer를 빠짐없이 지나가며, 하나의 긴 경로를 따라 흘러갈 수 밖에 없다. 반면, residual connection이 있는 신경망은 input signal이 각 블록을 건너뛸 수 있게 함으로써, signal이 흘러갈 다양한 짧은 경로를 제공하고 있다.

image.png

residual network를 개별의 경로로 볼 때, 블록의 개수를 n개라고 가정하면, residual connection은 두 가지의 경로를 제공하므로 전체 경로 수는 2^n개가 될 것이다. 만약 각각의 경로가 거의 독립적으로 행동한다면, 경로들을 각각 하나의 small network로 간주할 수 있다. 결과적으로, 우리는 전체 2^n개의 독립적인 네트워크의 ensemble을 갖게 된다.

해당 논문에서 building block을 하나씩 제거하는 연구를 통해, 각 경로들이 서로 의존하는 정도가 크지 않다는 것을 증명한다. 따라서, 전체 residual network는 그 경로들의 ensemble처럼 기능하는 특징을 보인다.

image.png