VGG가 세상에 나온 이후로 점차 네트워크의 깊이가 깊어지게 되었는데, 네트워크가 깊어질수록 역전파시 미분을 더 많이 해야되므로 Vanishing Gradient 문제가 더 심화되었다.
또한 네트워크가 깊어질수록 오버피팅도 아니고 언더피팅이 생기는 Degradation Problem 현상이 있었다.
이러한 현상을 극복하기 위해서 ResNet에서는 Residual (잔차) 를 이용하였다.
기본 원리는 y = F(x) + x 인데, 즉 중간 Layer를 거쳐서 나온 출력 값 F(x)에다 해당 Layer에서의 입력 값 x를 더해서 최종 출력으로 삼는 것을 의미한다. 이는 Identity Mapping 또는 Skip Connection으로 불린다.
전체 네트워크 상에서 여러 지름길(shortcut)이 생기고 이로 인해 상대적으로 덜 미분해도 되어서 Vanishing Gradient의 발생 가능성이 낮고, 추가정보인 F(x)만 학습해도 되어서 학습 효율이나 수렴 가능성 면에서 더 좋다고 한다.
Vanishing Gradient를 걱정하지 않아도 되므로 Skip Connection을 이용하여 기존에 비해 훨씬 깊은 네트워크를 구성할 수 있다.
ResNet-34 에서는 위 그림과 같은 2개 layer마다의 skip connection을 전체 네트워크에 적용하였다.