라벨이 Deep Learning인 게시물 표시

[Neural Networks] ResNet(Residual Neural Network) 개념 정리

이미지
참고문헌[1]인 Deep Residual Learning for Image Recognition 논문을 참고하여 ResNet의 개념에 대해 알아보는 글입니다. ResNet: Residual Neural Network ResNet이란 Kaiming He 외 3명이 Residual Block이라는 Shortcut Connection 방법을 이용하여 구현한 신경망입니다. 1. ResNet 소개 이론상으로는 신경망의 깊이가 깊어지면 신경망의 성능이 좋아진다고 나오지만, 실제 구현 시에는 성능이 더 안 좋아지는 현상이 발생했습니다. 위의 내용을 참고하면 어느 정도의 레이어를 쌓을수록 vanishing/exploding gradients의 문제로 convergence 자체를 하지 못하는 문제가 발생하며, 이를 normalized initialization과 intermediate normalization layers로 어느 정도 해결해서 Backpropagation과 함께 SGD(Stochastic Gradient Descent)에 대한 convergence를 할 수 있도록 했습니다. degradation은 overfitting 때문에 발생하는 원인이 아닌 network의 depth가 깊어질수록 accuracy는 saturated(더 이상의 성능 진전이 없는 상태) 되었다가 accuracy가 저하되는 현상입니다. overfitting이란 train error는 감소하고 test error는 증가하는 현상이며, degradation은 train & test error가 모두 증가하는 현상입니다. 위의 그림을 보면 56-layer보다 20-layer일 때 성능이 더 좋은걸 볼 수 있는데, 이는 layer가 많아질수록 성능이 저하 됨을 유추할 수 있습니다. Kaiming He는 layer가 깊어질수록 성능이 향상돼야 하는데 그렇지 못한 부분을 해결하기 위해 'deep resid