운동하는 공대생

[논문]Resnet-Deep Residual Learning for Image Recognition 본문

논문

[논문]Resnet-Deep Residual Learning for Image Recognition

운동하는 공대생 2023. 7. 31. 15:33
728x90
반응형

논문

https://arxiv.org/abs/1512.03385v1

 

Deep Residual Learning for Image Recognition

Deeper neural networks are more difficult to train. We present a residual learning framework to ease the training of networks that are substantially deeper than those used previously. We explicitly reformulate the layers as learning residual functions with

arxiv.org

 

0. Abstract

저자는 DNN 모델을 훈련을 할 때 residual function을 추가하여서 훈련을 조금 더 효과적이고 효율적이면서 정확도도 높이는 그런 구조를 기존 방식에서 추가를 하였다고 한다. 그리고 이런 모델은 이미지 분류 데이터에서 상당히 높은 수준의 정확도를 보였다고 한다. 

 

1. Introduction

DNN모델의 깊이(depth) 즉 layer를 얼마나 쌓았냐 라는 모델의 구조는 중요성이 커지고 있다.  하지만 여기서 이런 layer를 추가하는 구조가 모델의 학습에 더 도움이 되는가라는 문제에 직면한다. 이런 문제를 해결하기 위해서는 정규화 normalization을 모델 중간에서 행하거나 처음에 수행하여 문제를 해결했지만 모델의 깊이가 더욱 켜지만 정확도가 갑자기 낮아지는 문제가 계속 발생한다. 그밖에 여러 문제들을 해결하기 위해서 여러 방법들이 제시가 되었지만 완전하게 해결하진 못했다.

 

논문에서는 이렇게 쌓여있는 layer들에서 바로 연결된 layer에 값을 주는게 아니라 layer를 거치치 않고 바로 이전 데이터를 layer의 output과 함께 연산을 진행한다. F(x)+x 이렇게 layer를 거친 function과 이전값 x를 더하여 연산을 진행하고 이것을 "shortcut connections"라고 부른다. 여기서 추가적인 weight나 파라미터를 shortcut connection에 추가하는 게 아니라서 기존에 있던 backpropagation과정을 건드리지 않아도 모델 구성이 가능하다. 

 

2. Related Work

2.1 Residual Representations 

Residual 방식은 다양한 분야에서 사용이 되며 젤 중요한 사용 이유는 optimization(최적화) 를 쉽게 한다는 장점이 있다.

 

2.2 Shortcut Connections 

shortcut connection 방식은 이전에도 연구가 되었다. MLP에서 구조가 더욱 깊어지면서 가중치를 계속 곱해 나가면서 데이터가 결국 무의미 해지는 vanishing 혹은 그 반대인 exploding gradients 문제를 해결하기 위해서 사용되었다. 또한 여기서는 gating function과 다른 게 추가적인 파라미터가 없다. 

 

 

3. Deep Residual Learning

H(x)를 모델의 layer의 기본적인 함수라고 이야기를 할때 여기서 H(x) residual function을 추정하는 거보다 input, output 값을 통해서 F(x)를 추정하는 게 더욱 쉽다고 이야기한다. F(x)+x = H(x)  =>  F(x) := H(x) - x  왜냐하면 같은 dimension 끼리의 연산이라고 논문에서는 이야기한다.

식으로 표현하면 residual 값을 x 그리고 layer block 의 연산 F()를 통해서 y 값을 도충 한다. 하지만 여기서 residual 값과 layer block이 차원이 맞지 않는 문제가 있다면 아래와 같이 Ws의 곱 연산을 통해서 linear 하게 차지원을 맞춰서 연산을 진행한다.

- Model Architectures

 

모델에 구조에서 핵심은 각각 layer block에서 residual을 진행하지만 차원이 달라지는 부분에서는 시행하지 않는다. 

728x90
반응형
Comments