본문 바로가기

AI시작

ResNet 소개

CNN 네트워크로써 정확도를 높히려면 '더 깊은 곳으로 가야합니다' 만 네트워크의 깊이가 특정 임계 값을 넘어서면서 기존의 CNN은 제대로 작동하지 않습니다.

 

ResNet (Deep Residual Learning for Image Recognition, Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun, 2015) 을 사용하면 보다 Deep 한 네트워크 트레이닝이 가능해집니다.

 

2012 년에 Krizhevsky 는 Deep Convolutional Neural Network 를 위한 레드 카펫을 출시했습니다. 이는 전통적인 CNN의 기초가 되었으며 Convolution 레이어와 활성화 기능, Max Pooling 작업이 뒤 따릅니다 (때로는 풀링 작업이 생략되어 이미지의 공간 해상도를 유지함).

 

Deep Neural Networks의 성공의 많은 부분이 계층이 추가됨으로써 인증되었습니다. 그 기능의 직관적 능력은 이러한 계층이 더 복잡한 기능을 점진적으로 학습한다는 것입니다. 첫 번째 레이어는 가장자리(edge) 모양를 학습하고, 두번째 레이어는 모양(shape)을 학습하고, 세 번째 레이어는 물체(object)를 학습하고, 네 번째 레이어는 더 나아가 눈과 같은 작고 구체적이고 대상을 학습할 수 있습니다.

 

 

위의 그림은 20 레이어 CNN 대 vs 56 레이어 CNN 의 학습 및 테스트 에러의 그래프입니다. 이 그래프에 의해 더 많은 계층의 네트워크는 더 많은 기능을 가질 수 있지만 20 레이어 네트워크보다 56 레이어 네트워크의 에러가 크게 나타남으로써 오버피팅에 의한 실패가 생길 수 있다는 것을 알 수 있습니다. 더 깊은 네트워크가 수렴하기 시작하면 성능 저하 문제가 발생합니다. 네트워크 깊이가 증가하면 정확도가 포화된 다음 빠르게 저하됩니다.  훈련 정확도의 악화는 모든 시스템이 최적화하기 쉽지는 않다는 것을 보여줍니다. 56 레이어 네트워크의 실패는 옵티마이제이션, 네트워크 초기화 또는 유명한 배니싱 / 폭발 그라디언트 문제일 수 있습니다.

 

논문의 저자에 의하면, Deeper Networks가 얕은 네트워크보다 성능이 떨어지는 이유를 설명하기 위해 경험적 결과를 찾아서그 뒤로 반대방향으로 작업하는 것이 더 나은 경우가 있습니다. 새로운 신경망 계층 인 Residual Block 의 도입으로 딥 네트워크를 훈련시키는 문제를 해결할 수 있습니다.

Residual Block 은 스택 된 모든 레이어들이 원하는 기본 매핑에 직접 적합해지도록 원하는 대신 이러한 레이어들이 잔여 매핑에 명시적으로 적합해지도록 합니다.

F (x) + x 의 공식은 shortcut connection 으로 피드 포워드 신경망에 의해 실현 될 수 있습니다.  shortcut connections 은 위의 그림에 표시된 하나 이상의 레이어를 건너 뛰는 연결입니다. 

shortcut connections은  identity mappin을 수행하고 그것의 출력이 스택 된 레이어의 출력에 추가됩니다. 

깊이가 증가하면 높은 교육 오류를 나타내는 "일반"네트워크 (단순히 레이어를 쌓는)와 달리 ResNet은 최적화하기가 용이하여 깊이가 크게 증가하여도 정확도를 쉽게 얻을 수있어서 이전 네트워크보다 나은 결과를 얻을 수 있습니다.

 

Architecture

 

In the image above, the dotted skip connections represent multiplying the identity mapping by the Ws linear projection term discussed earlier to align the dimensions of the inputs.

 

Plain Network :

일반 베이스 라인 (그림 중간)은 주로 왼쪽 그림인 VGG 네트워크의 철학에서 영감을 얻었습니다. 컨볼루션 레이어에는 주로 3 × 3 필터가 있으며 두 가지 간단한 규칙을 따릅니다.

1. 동일한 피쳐 맵의 경우 필터 수가 동일합니다.
2. 피쳐 맵의 크기가 절반으로 줄어들면 각 레이어의 시간 복잡성을 유지하기 위해 필터 수가 두 배가됩니다.

Residual Network : 

위의 플레인 네트워크를 기반으로 shortcut connection 이 삽입되어 (그림 오른쪽) 네트워크가 해당되는 residual version 이 됩니다. 입력과 출력의 치수가 동일한 경우 identity shortcuts 인 F (x {W} + x) 를 직접 사용할 수 있습니다 (그림 실선 shortcuts). 치수가 증가하면 (그림 점선 shortcuts) 두 가지 옵션을 고려합니다.

shortcuts 는 차원을 늘리기 위해  extra zero entries padded 으로 identity mapping 을 수행합니다. 이 옵션은 추가 매개 변수를 도입하지 않습니다.
F (x {W} + x)의 프로젝션 shortcut 는 dimensions 를 일치시키는 데 사용됩니다 (1 × 1 회선으로 완료).
두 옵션 중 하나에 대해 바로 가기가 두 가지 크기의 피처 맵을 건너가는 경우의 stride 은 2입니다.

 

18 레이어 네트워크는 34 계층 네트워크의 하위 공간 일 뿐이며 여전히 성능이 우수합니다. 네트워크가 더 깊을 경우 ResNet의 성능이 크게 향상됩니다.

ResNet 네트워크는 일반 네트워크에 비해 더 빠르게 수렴됩니다. 그림 4는 ResNet이 깊을수록 얕은 네트워크에 비해 더 나은 훈련 결과를 얻는다는 것을 보여줍니다.

ResNet-152는 4.49 %의 상위 5 개 검증 에러율을 달성했습니다. 깊이가 다른 6 개의 모델을 조합하면 최상위 5 개의 유효성 검사 오류가 3.57 %가 되었고 ILSVRC-2015 에서 1 위를 수상하였습니다.

 

참조

https://neurohive.io/en/popular-networks/resnet/

https://towardsdatascience.com/introduction-to-resnets-c0a830a288a4