Resent 논문요약

bolim·2022년 1월 19일
0

Paper

목록 보기
2/8

Resnet

Link : https://arxiv.org/pdf/1512.03385.pdf

Abstract

깊은 뉴럴 네트워크를 residual 프레임워크로 더 쉽게 학습시키는 것을 보여준다.

이 residual 네트워크들이 최적화하기 쉬우며 깊이가 증가해도 정확성이 있다는 것을 보여준다.

깊은 residual 네트워크고 많은 이미지 대회에서 상을 받았다.

1. Introduction

최근 네트워크의 깊이가 상당히 중요하다는 것이 입증되었으며, ImageNet에서 좋은 성적을 거둔 모델들도 16 ~ 30층까지 있는 "very deep"모델들이었다.

과연 레이어가 많이 쌓일수록 잘 학습하기 더 쉬울까?

여기서 처음부터 수렴을 방해하는 vanishing/exploding gradients문제가 있다.

그러나 이것은 초기값을 정규화하고 역전파와 함께 SGD가 수렴을 시작할 수 있게 하는 중간 정규화 레이어들로 해결한다.

더 깊은 네트워크가 수렴을 시작할 수 있을 때, 성능이 저하될 수 있다. 이는 오버피팅때문이 아니라 적절하게 깊은 모델은 높은 훈련error를 유발한다.

이것은 모든 시스템이 최적화하기 쉬운것은 아니라는 것을 나타낸다.

Untitled

여기에 추가된 레이어는 identity mapping을 하고 다른 레이어들은 학습된 shallower 모델을 복사하느 구조적인 해결방안이 있다. 이 해결방안으로 deeper 모델은 shallower 모델보다 더 높은 학습error를 보이면 안된다.

논문에서 이 degradation problem을 deep residual learning framework를 소개에 언급한다. 기존 매핑에 쌓여진 레이어가 직접 맞기를 바라기보다는, 그 레이어들이 residual 매핑에 맞출수 있도록 허용한다.

H(x)를 기존 요구된 매핑함수라고 할 때, 쌓인 nonlinear 레이어들을 다른 매핑(F(x) = H(x) - x)에 맞춘다. 그래서 H(x)는 다시 F(x) + x로 재구성된다.

극도로 identity 매핑이 최적이라면, 비선형레이어 스택에 identity 매핑을 맞추는 것보다 residual을 0으로 하는게 더 쉬울 수 있다.

F(x) + x는 Feedforward에서 "shortcut connections"에 의해 실현될 수 있다.

shortcut connections는 1개 이상의 레이어를 스킵하는 것이다. 이는 identity mapping으로 간단히 구현된다. 그리고 여기서의 output은 레이어 스택의 output에 더해진다.(그림2)

Identity shortcut connections는 파라미터추가나 계산 복잡성을 더하지 않으며 SGD로 end-to-end까지 역전파가능하다. 그리고 자주 사용되는 라이브러리들로 쉽게 구현 가능하다.

다른 데이터셋으로도 높은 성능을 보여줄 수 있으며 ImageNet에서 사용한 가장 깊은 152레이어에서도 VGG보다더 낮은 complexity를 가진다.

다른 vision이나 vision이 아닌문제에서도 적용가능 할 수 있기를 기대한다.

Residual Representations

PDE(Partial Differential Equation)을 해결하기 위해 널리 쓰이는 Multigird 방법은 다양한 스케일의 서브 문제들로 재구성한다.

Multigrid를 대체하는 계층적 basis preconditioning이 있다.이는 두 가지 스케일 사이에서 residual vector들을 표현하는 변수에 의지한다.

이 방법들은 최적화를 간단하게 할수있는 좋은 개조와 조건이다.

Shortcut Connections

Shortcut connections은 오랜기간 동안 연구되어져 왔다.

여러가지 역할로 사용되다가 현재 "highway networks"로 gate함수들과 함께 shortcut connections를 표현한다. 이 gates는 data-dependent하고 파라미터를 가지고 있다.

반대로 우리의 identity shortcuts는 파라미터-free이다.

gate된 shortcut이 "closed"되면(0에 가까워지면), highway에 있는 레이어는 non-residual function을 의미한다. 반대로 우리의 공식은 항상 residual 함수들을 학습하고 identity shortcuts가 절대 closed 되지 않는다.

게다가 highway 네트워크는 엄청난 깊이 증가와 함께 정확성 증가를 보여주지 않는다.

3. Deep Residual Learning

3.1 Residual Learning

레이어 스택을 H(x)에 근사하려고 기대하기 보다는, 이 레이어들이 residual 함수(F(x) = H(x) - x)에 근사시킨다.

residual learning 수정으로, 만약 identity mapping이 최적이라면, solver들은 identity mappings에 접근하기 위해서 여러 비선형 레이어들의 가중치를 0으로 유도할 수 있다.

identity mappings이 항상 최적일 수는 없지만, 문제의 precondition에 도움을 준다.

3.2 Identity Mapping by Shortcuts

Building block : y=F(x,{Wi})+xy = F(x,\{W_i\}) + x ... (1)

여기서 F가 학습해야할 residual mapping이다.

레이어가 2개인 그림 2에서 F=W2σ(W1x)F = W_2\sigma(W_1x) ( bias는 생략) ... (2)

여기 F에 x가 더해지는 것이 shortcut connection이 행해진 것이다.

이 shortcut connections는 파라미터 추가도 계산 복잡성이 늘어나지도 않는다.

input과 output의 channels이 바뀌는 경우가 아니기 때문에, shortcut connections에 의해 차원을 맞추기 위해서 linear projection WsW_s을 수행할 수 있다.

F는 레이어가 2개, 3개 또는 그 이상으로 유연하게 변경할 수 있다. 그러나 1개이면 선형 레이어와 비슷한 형태가 된다.

또한, FC 레이어, convolution 레이어 둘 다 적용가능하다.

3.3 Network Architectures

Untitled 1

Plain Network

VGG net에 영감을 받았다.

레이어들은 같은 수의 필터를 가진다. 그리고 만약 피처맵이 반으로 준다면 time complexity를 레이어별로 맞추기 위해 필터수를 2배로 증가시킨다.

마지막에 global avg pooling레이어와 1000-way 소프트맥스가 있는 FC레이어로 끝난다.

VGGNet보다 필터수와 complexity가 더 낮다.

Residual Network

그림 3 가운데에 있는 plain version에 shortcut connections을 추가한 것이다.

차원이 바뀌지 않은 경우는 (1)번 식을 사용하면 되지만

차원이 증가할 경우 1) zero padding을 주거나 2) (2)번 식으로 파라미터를 증가시킨다.

3.4 Implementation

평균을 뺀 224x224 이미지를 랜덤하게 crop 또는 수평으로 flip한다. 그리고 batch normalization을 활성화 전에 해준다.

SGD를 256의 미니batch와 함께 사용한다.

lr는 0.1부터 10배씩 작아진다.

weight decay ⇒ 0.0001 momentum ⇒ 0.9 dropout은 사용하지 않는다.

4. Experiments

4.1 ImageNet Classification

Untitled 2

Table 1 → 자세한 구조

Untitled 3

층이 깊을 수록 error rate가 올라가는 degradation 문제 해결을 보여준다.

Untitled 4

Resnet에서 residual connections 차원 맞출 때, zero padding(option A)를 선택해서 plain과 파라미터 개수도 동일하다. 그렇지만 더 낮은 error rate를 보여준다.

Untitled 5

A는 zero padding shortcuts(차원 증가 시)

B는 projection shortcuts(차원 증가 시) 다른 shortcuts는 identity

C는 모든 shortcuts가 projection

이 ABC가 작은 차이를 보이는 것은 Projection shortcuts가 degradation problem 설명에 필수적이지 않다는 것을 나타낸다. 그리서 이 논문에서는 비교적 더 많은 시간과 메모리가 드는 C를 사용하지 않는다.

Untitled 6

ResNet 50부터는 bottleneck 디자인을 활용한다.

3개의 층으로 1x1, 3x3, 1x1로 구성되어있다.

  • 1x1은 차원 증가, 감소를 담당한다.
  • 3x3은 더 작은 입력/출력 차원으로 병목현상을 초래한다.

여기서는 identity shortcut인 것이 중요한데, identity일 경우 비슷한 time complexity가 들지만 projection일 경우에는 shortcut이 2개의 고차원 끝부분과 연결되어 있으면 시간과 모델 사이즈가 2배로 증가하기 때문이다.

그래서 Bottleneck design에서는 identity shortcut인 것이 중요하다.

4.2 CIFAR-10 and Analysis

CIFAR-10에서의 test set error rate

Untitled 7

profile
나는야 호기심 많은 느림보🤖

0개의 댓글