본문 바로가기
Stay Hungry Stay Foolish/논문 정리

[논문 정리] Fixup 초기화 방법 : norm없는 잔차 학습

by HANNI하니 2020. 9. 1.

FIXUP INITIALIZATION :

RESIDUAL LEARNING WITHOUT NORMALIZATION

 

ABSTRACT

정규화(norm) layer : 최첨단 심층 신경망 구조에서 필수적, stabilize training, higher learning rate, accelerate convergence and improve generalization (+) (commonly-held beliefs)

 

<-> we challenge!

fixed-update initialization(Fixup. 고정-업데이트 초기화) 제안

적절한 초기화 -> exploding & vanishing gradient 문제 해결 

fixup을 통한 training은 정규화를 통한 training만큼이나 안정적이다.

image classification & machine translation good!

 

1. INTRODUCTION

인공 지능(Artificial Intelligenct) 애플리케이션 혁명 :  새로운 신경 네트워크 모델과 그들의 훈련 기술의 발전

예. most of the state-of-the-art image recognition systems are built upon a deep stack of network blocks consisting of convolutional layers and additive skip connections, with some normalization mechanism(e.g. batch normalization) to facilitate training and generalization.

 

norm을 이용한 심층 신경망 훈련의 거대한 성공 & batch norm의 최근의 진보에도 불구하고,

norm 기술이 왜 잔차 신경망 훈련을 돕는지에 일반적 합의가 없다!

 

Intrigued by this topic, We study.

1) norm 없이, 심층 잔차 네트워크를 얼마큼 신뢰성있게 훈련할 수 있는가?

2) 만일 그렇다면 norm 없이, 심층 잔차 네트워크를 같거나 더 나은 learning rate, converge at the same speed, generalize 교육이 가능한가?

=>both questions are YES!!!

 

We show.

  • Why normalization helps training : 왜 표준화된 초기값과 norm 기술이 심층 잔차 네트워크를 훈련할 때 최대 학습율을 얻기 위해 필수적인지를 설명하기 위해, 초기값에서 잔차 norm의 하한(lower bound)을 도출한다. (2장)
  • Training without normalization : 네트워크 아키텍처에 맞게 조정하여 residual braches의 표준 초기화를 재조정하는 Fixup 방법을 제안한다. Fixup은 심층 잔차 네트워크가 norm없이 최대 학습율을 안정적으로 가능하게 한다. (3장)
  • Image classification : 이미지분류(벤치마크-CIFAR-10,ImageNet)에서 batch norm를 대체하기 위해 Fixup 방법을 제안한다. norm을 사용한 잘 정비된 베이스라인과 일치하는 적절한 regularization가 있는 Fixup을 찾는다. (4.2장)
  • Machine translation : 기계 번역(벤치마크-IWSLP,WMT)에서 norm layer를 대체하기 위해 Fixup 방법을 제안한다. 동일한 아키텍처에서 새로운 최첨단 결과를 달성하고 베이스라인을 능가하는 Fixup을 찾는다. (4.3장)

 

Figuare 1

Figuare 1: 왼쪽-ResNet basic block. Batch norm layer가 빨강색으로 표기됨. 중앙-함께 쌓으면 안정적으로 훈련되는 간단한 네트워크 블락들이 표기됨. 오른쪽-Fixup이 bias 파라미터들을 추가함으로써 향상시킴.

 

 

먼저, 2장에서 잔차 네트워크의 exploding문제를 분석하고, 이 문제를 해결하기 위해 3장에서 Fixup을 개발한다. 4장에서 Fixup의 속성을 정량화하여 최신 norm 방법과 비교해보고, 5장에서 관련된 업무와의 비교를 제시한다. 

 

 

2. PROBLEM : RESNET WITH STANDARD INITIALIZATIONS LEAD TO EXPLODING GRADIENTS

표준 초기화 방법은 vanish & exploding 둘다 없는 activations같은 네트워크들의 초기 파라미터 설정을 시도한다.

불행하게도, Batch norm과 같은 정규화 기법이 없으면, 잔차 연결의 영향을 제대로 설명하지 않고 이로 인해 exploding 현상이 나타난다.

이 문제는 RELU network의 문제라고 특정짓고, 우리는 이 잔차 네트워크를 positively homogenous 활성함수로 일반화한다.

norm layer없는 ResNet 함수(Fi =residual block, x0 = fixed input)

ResNet output variance grows exponentially with depth!!

오직 초기화만 고려하여, weight 초기화의 무작위성을 고려한다. Var[xl]

단순성을 위해 블락들이 평균 0으로 초기화되었다고 가정한다.

 

E[Fl(xl) | xl] = 0. By xl+1 = xl + Fl(xl)

Var[xl+1] = E[Var[F(xl) | xl]] + Var(xl)

Restnet 구조는 분산이 depth와 함께 커지면서 x가 사라지는 것을 방지한다.

Var[xl] < Var[xl+1] if E[Var[F(xl) | xl]] > 0

 

Thus, Var[Fl(xl) | xl] 는 Var[xl] 와 거의 같으므로 Var[xl+1] 는  2Var[xl] 와 거의 같다.

이로 인해 norm이 없으면 양의 동질적 블락들에서 깊이와 함께 output 분산이 기하급수적으로 폭발하게 된다. 학습에 해롭다. (-)

 

초기화할때, 특정 활성화와 weight 텐서의 gradient norm을 교차-엔트로피 손실에 의해 경계선을 일정하게 낮춘다.

직관적으로, 이 로짓은 grdient 폭발을 일으킬 것이다.

우리의 결과는 RELU 비선형성이 있는 신경망에서 convolutional & linear weight에 적용된다. (예. CNN)

skip 연결에도 가능하다. (예. ResNet, DenseNet) 하지만 어떠한 정규화도 사용되지 않아야한다.

우리의 분석은 양성의 동질적 함수의 특성을 활용한다. Definitions, Proposition, Theorem 생략

 

 

Figuare 2

Figuare 2: 정규화되지 않은 ResNet의 p.h 집합 3가지 예시들 (1) max pooling 하기전에 first conv layer (2) softmax 하기전에 fully connected layer (3) backbone 및 residual branch에 상응하는 conv layer에서 공간 다운샘플링 layer의 결합.

 

 

3. FIXUP: UPDATE A RESIDUAL NETWORK PER SGD STEP

우리 분석은 심층 잔여 네트워크를 학습할 때 표준 초기화의 실패를 지적한다 : 특정 layer의 gradient norm가 네트워크 깊이에 따라 무한히 수가 증가하여, bound가 더 낮아질 것으로 예상된다.

이 실패는 반드시 성공적인 학습으로 우리를 이끄는 것은 아니다. 

 

우리는 표준 초기화를 단순화함으로써 네트워크 기능에 대한 적절한 업데이트 확장을 보장하는 새로운 초기화 설계인 top-down 하향식을 제안한다.

 

+SGD(Stochastic Gradient Descent. 확률적 경사 하강법) : 오차가 더이상 작아지지 않을 때까지 매개변수 w를 갱신하는 알고리즘.

다른 방법으로, 적절한 규모와 깊이로부터의 독립이 있는 네트워크 함수에 대해 SGD 업데이트와 같은 초기화를 설계하는 것이 있다.

 

Shortcut(지름길) : residual network에서 입력 ~ 출력까지 최단 경로, 소수의 학습가능한 layer들을 가진 얇은(깊지 않은) network이다. 표준 방법을 사용하면서 초기화되었다고 가정하고, residual branches의 초기화에 집중해본다.

 

Residual branches update the network in sync. (잔차 분기는 동기화중인 네트워크를 업데이트한다.)

먼저 각 잔차 분기에 대한 SGD 업데이트로 네트워크 출력이 많이 상관된 방향으로 변경된다는 것을 관찰한다.

이는 잔차 네트워크에 L개의 잔차 분기가 있는 경우, 각각의 잔차 분기에 대한 SGD 단계가 전체 업데이트값을 달성하기 위해 업데이트값을 전체 업데이트값의 평균으로 네트워크 출력을 변경해야 함을 의미한다.

 

잔차 분기는 잠재적으로 나쁜 무작위 초기 상태를 학습하지 않을 필요가 없으며, 이는 학습에 유익할 수 있다.

 

The effects of biases and multipliers.

모든 잔차 분기의 가중치를 적절하게 재조정하면, 잔차 네트워크는 SGD 단계당 전체 업데이트값으로 업데이트되어야 한다. 즉 우리의 목표는 달성된다. 그러나 정규화를 하는 해당 네트워크의 훈련성을 일치시키기 위해서는 편향과 승수라는 두 가지를 더 고려해야 한다.

 

linear, conv layer에서 bias를 사용하는 것은 일반적인 관행이다. 정규화 방법에서는 일반적으로 bias와 scale(척도) parameter를 사용하여 정규화 후 표현력을 복원한다.직관적으로, weight layer의 선호하는 입/출력 평균은 활성화 layer가 선호하는 출/입력 평균과 다를 수 있기 때문에, 정규화 없이 잔차 네트워크에 bias를 삽입하는 것이 도움이 된다.우리는 각 weight layer와 비선형 활성화 layer 앞에 스칼라 bias를 하나만 삽입하면 훈련 성능이 크게 향상된다는 것을 발견한다.

 

Multipliers는 배치 정규화의 척도 파라미터와 유사하게 잔차 분기의 출력을 척도화하고, 같은 가지에 있는 weight의 역학 학습에 흥미로운 영향을 미친다. 구체적으로는 layer의 stochastic gradient가 weight와 거의 직교하기 때문에 학습율 감소는 L2 weight가 감소할 때 weight norm equilibrium을 수축시키는 경향이 있다.승수가 있는 가지에서 이것은 승수의 성장을 일으켜 다른 층의 유효 학습률을 증가시킨다. 특히, 우리는 잔차 분기당 스칼라 승수를 하나만 삽입하는 것이 정규화가 이루어진 네트워크의 weight norm 역학을 모방하고, 새로운 학습 속도 일정을 찾는 것을 당혹스러워한다.

 

 

 

4. EXPERIMENTS

4.1 TRAINING AT INCREASING DEPTH

Batch norm의 핵심 장점 중 하나는 매우 깊은 모델에도 빠른 훈련을 도출할 수 있다는 것이다.

우리는 적절한 초기화에만 의존하여 바람직한 속성과 일치시킬 수 있는지 여부를 결정할 것이다. 깊이를 증가시킴에 따라 정확도를 측정함으로써 각 방법이 매우 깊은 훈련에 어떤 영향을 미치는지 평가한다.

특히 Batch norm의 높은 학습률 능력이 중요하다고 생각하기 때문에 0.1의 학습률을 default로 사용한다.

 

Fixup을 3가지 베이스라인 방법과 비교한다.

(1) 각 잔차 블락의 output을 1/루트2 로 재조정한다.

(2) 각 잔차 블락의 output 분산이 1에 근접하도록 직교 초기화를 한 후 처리한다.(in english, post-process) (LSUV)

(3) batch normalization

 

Figure 3

Figure 3: default 학습 속도를 가진 CIFAR-10에서 다양한 방식으로 잔차 네트워크 깊이에 대한 시험 정확도 측정 결과. Fixup 방법이 매우 깊은 네트워크에도 batch norm과 같은 학습 속도로 학습할 수 있음을 알 수 있다. (Higher is better)

Fixup은 10,000개의 레이어에도 불구하고 첫 단계에서 batch norm의 성능과 일치한다. 파랑과 노랑선을 보면, batch norm과 동일한 학습 속도로 학습을 수행할 수 없다.

 

4.2 IMAGE CLASSIFICATION

이미지 분류 애플리케이션에서 배치 정규화를 대체할 Fixup 기능을 평가해보자.

CIFAR-10 dataset에서 우리는 ResNet-110을 기본 하이퍼 파라미터로 먼저 테스트한다. (결과는 Table 1에서 확인)

Fixup은 표준 초기화와 비교해서 시험 오류가 7%로 상대적으로 개선되었지만, 훈련의 난이도, 어려움에 상당한 차이를 보인다.

 

Fixup을 한 네트워크는 배치 정규화와 동일한 학습 속도로 훈련되고 빠르게 수렴하는 반면에, 우리는 0.1배 최대 학습 속도로 Xavier initialized ResNet-110를 훈련시키는 것에 실패했다.

 

Table 1의 시험 오류 차이는 최적화의 어려움보다는 batch norm의 regularization 영향때문일 가능성이 높다. 더 나은 regularization으로 fixup network를 수행했을 때, 시험 오류 차이는 사라지고, 우리는 norm layer가 없는 CIFAR-10과 SVHN에 대한 최첨단 결과를 얻는다.

 

Table 1: Results on CIFAR-10 with ResNet-110 (mean/median of 5 runs; lower is better).

 

 

ImageNet dataset에서 우리는 각각 100, 200 단계를 훈련받은 ResNet-50, ResNet-101 아키텍처로 Fixup을 벤치마킹한다.

CIFAR-10 dataset에 대한 조사 결과와 마찬가지로,

(1) Fixup을 사용한 훈련은 빠르고 안정적이다. 기본 하이퍼 파라미터 사용.

(2) Fixup만으로도 표준 초기화의 시험 오류가 상당히 개선되었다.

(3) Fixup과 Batch norm 사이의 시험 오류 차이가 크다.

 

추가 검사 결과 Fixup 초기화 모델은 Batch norm 모델과 비교해서 학습 오류가 상당히 낮은 것으로 나타났다. 즉, Fixup은 overfitting으로 인해 어려움을 겪는다.

따라서 우리는 Mixup을 사용하여 더 강력한 regularization을 적용하였고, 추가적인 large regularization을 사용할 때, 스칼라 승수화 편향의 학습율을 10배 줄이는 것에 이롭다는 것을 발견한다. (->0.1) Best Mixup coefficients는 교차 검증을 통해 확인되며, Batch norm, Group norm, Fixup의 경우 각각 0.2, 0.1, 0.7이다. (결과는 Table 2에서 확인)

더 나은 regularization과 함께 Fixup의 성능이 Group norm과 동등하다는 점에 주목한다.

 

Table 2: ImageNet test results using the ResNet architecture. (Lower is better.)

 

4.3 MACHINE TRANSLATION

Fixup의 일반성을 입증하기 위해, 기계 번역용 최첨단 신경망인 Transformer에 norm layer를 대체하는 것에 적용해본다. 구체적으로, 우리는 fairseq library를 사용하고, 베이스라인 모델을 수정하여 3장의 fixup을 따른다.

 

우리는 IWSLT(독일어-영어) 와 WMT(영어-독일어) 두 개의 표준 기계 번역 dataset를 평가한다.

IWSLT dataset에서 {0.3, 0.4, 0.5, 0.6}의 dropout 확률을 교차검증하고, Fixup과 Layernorm 베이스라인(기준선) 둘다에 최적일 수 있는 0.5를 찾는다.

WMT dataset에서는 0.4 dropout 확률을 사용한다. 모든 모델들은 20만 업데이트에 훈련받았다.

 

"Layer normalization is most critical to stabilize the training process... removing layer normalization results in unstable training runs"

"훈련 과정을 안정화하기 위해선 레이어 norm이 가장 중요하다. 이를 제거하면 훈련 실행이 불안정해진다."

 

그러나, 우리는 Fixup을 통한 훈련이 매우 안정적이고 기본 모델만큼 빠르다고 생각한다. (결과는 Table 3에서 확인)

 

놀랍게도, dropout의 강력한 reguarlization 효과 덕분에 Layernorm이 fixup으로 대체되었을 때, 모델에 overfitting이 없어진다는 것을 발견했다! Fixup은 두 dataset 에서 Transformer 모델을 사용하여 최첨단 결과를 일치시키거나 대체한다.

 

Table 3: Comparing Fixup vs. LayerNorm for machine translation tasks. (Higher is better.)

 

 

5. RELATED WORK

Normalization methods.

norm 방법은 매우 깊은 잔차 네트워크 훈련을 가능하게 했고, 현재 가장 성공적인 딥러닝 아키텍처의 필수 구성 요소이다. 신경망 훈련을 위한 모든 norm 방법은 활성화 또는 가중치를 통계에서 계산된 실제 숫자로 나누거나, 활성화 함수의 실제 숫자 통계로 빼서 일부 구성요소(활성화 또는 가중치)를 normalize 한다.

Fixup은 초기화 또는 훈련 중 통계를 계산하지 않으므로 norm 방법이 아니다.

 

Theoretical analysis of deep networks.

중요한 이론이다.

최근 연구들에서 표준 초기화가 문제가 있다는 이전 연구와 비슷한 결론에 도달한다. (본 논문의 내용)

 

Understanding batch normalizations.

표준 초기화가 매우 가파른 소실 표면으로 이어진다.

우리는 3장에서 경험적으로 가파른 손실 표면이 더 작은 초기화를 사용함으로써 잔차 네트워크에 대해 완화될 수 있다는 것을 보여주었다.

다른 연구에서 (batch) normalization 과 weight 감소가 효과적인 학습율에 미치는 영향을 연구했다. 그들의 결과는 우리에게 각 잔차 분기에 승수를 포함하도록 한다.

 

ResNet initialization in pratice.

 

 


 

댓글