ResNet

2021. 6. 15. 16:21Deep Learning/개념

728x90

ResNet 간단 정리

 

기존 딥러닝 모델

-> 그냥 딥러닝 모델의 깊이만 늘린다고 성능이 늘어나지 않음 

-> Residual Block의 출현

 

https://d2l.ai/chapter_convolutional-modern/resnet.html

  1. 입력값을 출력값에 더해줄 수 있도록 지름길(shortcut)을 하나 만들어 줌
  2. 기존의 신경망은 입력값 x -> 타겟값 y로 매핑하는 함수 H(x)를 얻는 것이 목적이었다.
  3. 그러나 ResNet은 F(x) + x를 최소화하는 것을 목적으로 한다. 
  4. x는 변할 수 없는 값 -> F(x)를 0에 가깝게 만드는 것이 목적이 된다.
  5. F(x) = 0이 되면 출력=입력=x로 같아지게 된다.
  6. F(x) = H(x) - x이므로 F(x)를 최소로 해준다 =  H(x) - x를 최소로 해주는 것
  7. H(x) - x = 잔차(residual)
  8. 즉, 잔차를 최소로 해주는 것이므로 ResNet이란 이름이 붙게 된다. 

34층의 ResNet은 처음을 제외하고는 균일하게 3 x 3 사이즈의 conv필터를 사용했다. 그리고 featuremap의 사이즈가 반으로 줄어들 때, featuremap의 depth를 2배로 높였다

왼쪽 그래프를 보면 plain 네트워크는 망이 깊어지면서 오히려 에러가 커졌음

34층의 plain 네트워크가 18층의 plain 네트워크보다 성능이 나쁘다.

 

오른쪽 그래프의 ResNet은 망이 깊어지면서 에러도 역시 작아졌다

shortcut을 연결해서 잔차(residual)를 최소가 되게 학습한 효과가 있다는 것이다. 

 

18층, 34층, 50층, 101층, 152층의 ResNet의 구성

 

728x90

'Deep Learning > 개념' 카테고리의 다른 글

Markov Random Field  (0) 2021.06.17
Bayesian Modeling  (0) 2021.06.17
stochastic function(확률함수)  (0) 2021.06.08
L1, L2 Norm/Regularization  (0) 2021.05.22
Receptive Field  (0) 2021.05.06