티스토리 뷰

카테고리 없음

[NN] ResNet

devim 2023. 5. 18. 02:34

train error 와 test error 모두 네트워크의 층이 더 깊어졌을 때 오히려 더 높아지는 것을 볼 수 있다. 

이 현상은 overfitting 이 아니라 degradation 문제 때문이다. 

 

이 문제를 해결하기 위해 residual learning을 하는 것을 CNN에 적용했다. 

 

 

그 결과 왼쪽(Plain Net)과 달리, 오른쪽(ResNet)은 18층에서 34층으로 깊이를 늘렸을 때 training error가 줄어든다. 

이 실험을 통해, ResNet이 degradation 문제를 어느 정도 해결했다는 것을 알 수 있다. 

 

 

ResNet의 깊이가 점점 깊어질 경우 parameter의 수가 너무 많아지기 때문에 

residual block으로 다른 구조를 사용한다. 

왼쪽: Residual block의 원래 구조 

오른쪽: 50층 이상인 ResNet에서 사용하는 residual block의 구조 

1x1 convolution 을 통해 filter size를 줄인 다음, 3x3 convolution 을 하면 파라미터 수를 아낄 수 있다. 

이러한 구조의 residual block을 bottleneck block이라고 부른다. 

Bottleneck 구조를 사용해 ResNet 내부 구조를 바꾸면 152층까지 쌓아도 VGG보다 모델 크기가 작다. 


참고자료

https://dnddnjs.github.io/cifar10/2018/10/09/resnet/

 

CIFAR-10 정복 시리즈 1: ResNet

CIFAR-10 정복하기 시리즈 소개 CIFAR-10 정복하기 시리즈에서는 딥러닝이 CIFAR-10 데이터셋에서 어떻게 성능을 높여왔는지 그 흐름을 알아본다. 또한 코드를 통해서 동작원리를 자세하게 깨닫고 실

dnddnjs.github.io

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/11   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함