Data Science/Convolutional Neural Network(CNN)

6. Advanced CNN-2

HJChung 2020. 3. 18. 16:21

 Advanced CNN-1에서는 GooLeNet에 대해서 알아보았습니다. 

이번에는 Residual Netwok(ResNet)에 대해서 알아보도록 하겠습니다. 

 

이 모델은 2014년까지 20여 계층 수준(VGG-19layers, GooLeNet-22layers)의 네트워크를 2015년에 152계층까지 높이는 성과를 거두었습니다. 

2. Residual Netwok(ResNet)

이 ResNet은 일반적으로 많이 사용하는 network이고, 기본 구조로 많이 사용되기 때문에 중요합니다. 

ResNet의 architecture

1) Skip Connection - 초기 제안 구조

Residual 구조는 일반적인 구조에 input을 output쪽으로 더해주는 구조가 제안되었습니다. 이것이 처음 제안되었던 Skip Connection구조로 Feature를 추출하기 전, 후를 더하는 특징이 있습니다.  

 

 

 

 

2) Identity Mapping - 후속 발표 구조

Residual 구조는 identity가 넘어오고, 더해준 다음에 relu function을 적용했습니다. 그런데 Identity Mapping에서는 Relu가 사라져 그대로 더해집니다. 즉, input에서 추출된 feature이 누적되어 더해집니다. 그리고 이러한 mapping을 얻어내기 위해서 Pre-Activation을 제안했습니다. 

 

 

 

3) Pre-Activation

옆의 사진과 같이 Conv layer-Batch normalization-ReLu 구조를

Batch normalization-ReLu-Conv layer구조로 변경한 것으로 성능이 error:7.61% 에서 error:4.92%로 개선되었습니다. 

 

 

 

 Pre-Activation구조를 제안하게 된 과정

이러한 성능 향상을 보이는 Pre-Activation구조를 제안하게 된 과정을 논문에서 보이고 있습니다. (이러한 insight가 매우 중요!!)

왜 이런 구조를 사용하게 되었는지!

 

1. Asymmetric 형태 : conv-activation-conv -> addition -> activation으로 asymmetric한 형태

2. Pre activation형태 : 시작점이 달라지고, activation-conv-activation-conv-> addition한 형태

입니다. 

 

이는 다음 장에 ResNet에 직접 구현을 통해 확인해 보도록 합니다. 

'Data Science > Convolutional Neural Network(CNN)' 카테고리의 다른 글

7. Advanced CNN-3  (0) 2020.03.21
5. Advanced CNN-1  (0) 2020.03.18
4. Basic CNN Implementation(v2)  (0) 2020.03.15
4. Basic CNN Implementation(v1)  (0) 2020.03.15
3. Batch Normalization  (0) 2020.03.14