
깊은 neural network일수록 학습하는 것이 어렵습니다. 그렇기 때문에 network가 깊어도 쉽게 학습될 수 있도록 residual learning framework 를 제안합니다.
여기서 layer의 입력을 참조하는 residual function을 학습하도록 레이어를 만듭니다. 이런 residual network는 쉽게 최적화할 수 있고, 깊은 network의 경우에도 정확도를 얻어낼 수 있습니다.
152개의 layer로 된 residual network를 ImageNet dataset으로 평가했고, ensembel을 해서 3.57% error를 보였습니다. 이것은 ILSVRC 2015 classification task 에서 1위입니다.
deep residual network를 이용하여, ImageNet detection/localization, COCO detection/segmentation 에서 1위를 차지했습니다.
Deep convolutional neural network는 image classification에서 큰 성과를 보였고, depth가 깊어질수록 성능이 더 좋다고 알려져 있습니다.
depth의 중요성을 보면서 다음과 같은 질문을 해볼 수 있습니다.
Is learning better networks as easy as stacking more layers?
이 질문에 대한 대답은 vanishing/exploding gradient문제와 관련이 있습니다. 이 문제는 normalized initialization(weight initilization) 과 intermediate normalization layers(batch normalization) 를 이용하여 해결했습니다.
deeper network는 network의 depth가 증가했을때, accuracy가 saturate되고 급격히 감소하는 degradation 문제도 발생할 수 있습니다. 이 문제는 overfitting에 의한 것이 아니고, 적절하게 깊은 network에 layer를 더 추가했을 때 최적화가 잘 되지않아 발생합니다.