Download pptx - Normalization 방법

Transcript
Page 1: Normalization 방법

Layer Normalization

Jimmy Lei Ba Jamie Ryan Kiros Geoffrey E.Hinton

작성자 : Nishida Geio번역 : 김홍배

Page 2: Normalization 방법

• Layer Normalization 논문개요 • 배경

• Batch Normalization• Weight Normalization• Layer Normalization • 이상 3 가지의 비교

목차

Page 3: Normalization 방법

• 목적State-of-the-art 한 DNN 의 학습시간을 단축시키고 싶다 ! 중간층의 출력을 정규화함으로써 실현

• 아이디어Batch Normalization 을 바꿔서 만들어봄 .

1. Batch size 에 의존하지 않음 ( 온라인 학습 및 작은 mini-batch 도 OK)2. 학습과 Test 의 계산방법이 동일 3. 그대로 RNN 에 적용 가능

• 그외 타관련 연구와의 비교

Layer Normalization 개요

Page 4: Normalization 방법

배경 : DNN 연 구 의 Bot t le -neck엄청난 학습시간• VGG net(Karen Simonyan et al. ICLR 2015)

16/19 층 CNN+FCGPU: Titan Black 4 개 학습시간 :2~3 주

図 https://arxiv.org/pdf/1509.07627v1.pdf

• Google’s Neural Machine Translation system (Yonghui Wu et al.

2016)8 층 LSTM RNNGPU: Tesla k80 96 개 학습시간 :1 주 미만

Page 5: Normalization 방법

배경 : 학습시간을 줄이기 위해서머쉰에 우겨 넣기

• DNN 연산의 병렬화 (Jeffrey Dean et al. NIPS 2012)

데이터 및 DNN 자체를 분할해서 계산 통신지연 및 SW 의 복잡화가 과제

Page 6: Normalization 방법

학습의 효율을 높이자• 구배법 자체를 개선

2 차 미분을 다루게 된다면 계산 cost 가 엄청남

배경 : 학습시간을 줄이기 위해서

Ill-conditioned problem 어디로 튈지 예측 불가

Page 7: Normalization 방법

学習の効率を上げる

• Parameter 의 공간기하를 수정한다 . Batch Normalization(Sergey Ioffe et al. NIPS 2015) 으로 학습시간 단축에

성공 구배손실의 문제가 해결 (Saturation Actuation 함수도 사용

가능 )

배경 : 학습시간을 줄이기 위해서학습의 효율을 높이자

뒤에서 설명

Well-conditioned problem 잘 정돈된 문제

Page 8: Normalization 방법

배경 : 구배손실 문제란 ?활성화함수의 포화영역

• 활성화 함수 (Activation Function) 에 있어서 포화영역(Saturation Region) 의 미분값은 거의 “ 0” 이다 . • 오차의 역전파가 감소하여 입력층에서의 구배가 “ 0” 이 될 우려

데이터의 흐름

오차의 역전파

포화영역포화영역

Page 9: Normalization 방법

• 포화영역을 없애자 !ReLU(x) = max(x,0)• 초기화에 대한 연구

• 작은 학습률을 사용 학습에 의해 포화영역으로 가는 것을 방지

해결책학습에 시간이 걸리는 이유 중에 하나

Q. 도대체 왜、 DNN 은 최적화하면서 포화상태로 네트웍이 빠지는 것일까 ?A. 학습할 때마다 각층의 출력분포가 바뀐다 .(internal) covariate shift 가 생기기 때문

배경 : 구배손실 문제란 ?

Page 10: Normalization 방법

• 공변량의 변화가 발생하는 경우의 학습은 도메인 학습으로서 잘 처리됨 . • 논문에서는 DNN 의 각층마다에서 일어나는 공변량의 변화에 대하여 고찰

배경 : covariate shift ( 공변량 변화 )훈련시와 Test 시의 입력분포의 변화

입출력 규칙(주어진 입력에 대하여 출력의 생성규칙 ) 은 훈련시와 test 시에 다르지 않지만,입력(공변량)의 분포가 훈련시와 Test 시에 다른 상황을 공변량 변화라고 부른다 .

공변량의 변화 하에서의 학습지도 杉山 将 日本神経回路学会誌 , vol.13, no3, pp.111-118, 2006

Page 11: Normalization 방법

• 중간층으로의 입력분포 : 정해진 입력분포를 각층에서 유지하지 못함 밑층의 parameter 에 의존

DNN 에서 각층마다의 입력분포• 입력층으로의 입력분포 : 평균 0 분산 1 로 선형변환하면 잘 됨

입력분포평균 0, 분산 1 로 규격화

중간층 입력분포 밑층 parameter 에 의존

학습을 할 때마다 중간층으로의 입력분포가 변화한다 .(Internal Covariate Shift)

배경 : covariate shift ( 공변량 변화 )

Page 12: Normalization 방법

(Internal) 공변량 변화가 DNN 에 생기면

입력분포 평균 0, 분산 1 로 규격화

평균 0, 분산 1 입력분포 축

입력분포p(μ=0,σ=1)

입력분포 q(p)

입력분포 r(q)

배경 : covariate shift ( 공변량 변화 )

• 각 입력층에서 학습 시에 가정했던 입력분포가 변화 parameter 가 결과적으로 엉뚱한 방향으로 업데이드 될

우려 네트웍이 포화상태로 빠지기 쉬운 상태가 된다 층이 깊어질 수록 영향이 큼

Page 13: Normalization 방법

( 内的 ) 共変量シフトが DNN で起きると

입력분포 q(p) 를 전제로 학습

배경 : covariate shift ( 공변량 변화 )

• 각 입력층에서 학습시에 가정했던 입력분포가 변화 parameter 가 결과적으로 엉뚱한 방향으로 업데이드 될

우려 네트웍이 포화상태로 빠지기 쉬운 상태가 됨 층이 깊어질 수록 영향이 큼

입력분포 평균 0, 분산 1 로 규격화

평균 0, 분산 1 입력분포 축

입력분포p(μ=0,σ=1)

입력분포 q(p)

입력분포 r(q)

(Internal) 공변량 변화가 DNN 에 생기면

Page 14: Normalization 방법

입력분포 p 를 전제하여 학습( 이쪽은 문제없음 )

( 内的 ) 共変量シフトが DNN で起きると배경 : covariate shift ( 공변량 변화 )

• 각 입력층에서 학습시에 가정했던 입력분포가 변화 parameter 가 결과적으로 엉뚱한 방향으로 업데이드 될

우려 네트웍이 포화상태로 빠지기 쉬운 상태가 됨 층이 깊어질 수록 영향이 큼

(Internal) 공변량 변화가 DNN 에 생기면

입력분포 평균 0, 분산 1 로 규격화

평균 0, 분산 1 입력분포 축

입력분포p(μ=0,σ=1)

입력분포 q(p)

입력분포 r(q)

입력분포 q(p) 를 전제로 학습

Page 15: Normalization 방법

입력분포q(p)⇒q’(p)

입력분포r(q)⇒r’(q’)

학습후

입력분포p(μ=0,σ=1)⇒p

학습후의 입력분포는 q’(p)!⇒ 내적공변량 변화출력이 이상해지는 원인

( 内的 ) 共変量シフトが DNN で起きると배경 : covariate shift ( 공변량 변화 )

• 각 입력층에서 학습시에 가정했던 입력분포가 변화 parameter 가 결과적으로 엉뚱한 방향으로 업데이드 될

우려 네트웍이 포화상태로 빠지기 쉬운 상태가 됨 층이 깊어질 수록 영향이 큼

(Internal) 공변량 변화가 DNN 에 생기면

입력분포 평균 0, 분산 1 로 규격화

평균 0, 분산 1 입력분포 축

입력분포 q(p) 를 전제로 학습

Page 16: Normalization 방법

입력분포q(p)⇒q’(p)

입력분포r(q)⇒r’(q’)

학습후

입력분포p(μ=0,σ=1)⇒p

학습후의 입력분포는 q’(p)!⇒ 내적공변량 변화출력이 이상해지는 원인

( 内的 ) 共変量シフトが DNN で起きると배경 : covariate shift ( 공변량 변화 )

• 각 입력층에서 학습시에 가정했던 입력분포가 변화 parameter 가 결과적으로 엉뚱한 방향으로 업데이드 될

우려 네트웍이 포화상태로 빠지기 쉬운 상태가 됨 층이 깊어질 수록 영향이 큼

(Internal) 공변량 변화가 DNN 에 생기면

입력분포 평균 0, 분산 1 로 규격화

평균 0, 분산 1 입력분포 축

입력분포 q(p) 를 전제로 학습

Page 17: Normalization 방법

배경 : 은익층의 정규화정규화 층의 도입

• 각 중간층에서 출력을 정규화한다 각 중간층의 입력분포를 일정하게 큰 학습률의 사용이 가능 학습의 효율을 개선시킴

• 다양한 approach Batch Normalization(Sergey Ioffe et al. NIPS 2015)

Weight Normalization(Tim Salimans et al. NIPS 2016)

Layer Normalization(Jimmy Lei Ba et al. NIPS 2016)

norm

norm

norm

입력분포 평균 0, 분산 1 로 규격화

평균 0, 분산 1 입력분포 축

Page 18: Normalization 방법

Batch Normaliza-tion

Page 19: Normalization 방법

��

• 뉴런의 입력합 : 𝑎𝑖 𝑎𝑖 = 𝑤 𝑖 𝑥• 뉴런의 출력 : ℎ𝑖 ℎ𝑖= 𝑓(𝑎𝑖 + 𝑏𝑖 )

BN : 은익 unit 의 정규화뉴런의 기본형

hi

f(ai+bi)

bi

aiwi

x

Page 20: Normalization 방법

BN : 은익 unit 의 정규화정규화와 비선형함수

• : 𝑎𝑖 를 평균0 , 분산1로 정규화 뉴론의 출력분포가 바뀜 Gain parameter g𝑖 를 도입

aiwi

x

f(ai+bi)

norm

bi

hi

Page 21: Normalization 방법

aix

wi

f(ai+bi)

norm

bi

hi

ai

batch size

BN : 은익 unit 의 정규화

• 각 뉴론의 batch 마다 계산

Batch Normaliza-tion

Page 22: Normalization 방법

BN : 실험결과

Mega !

ImageNet classification• GoogLeNet 이 기준

• 학습률을 높여서 실험 x 5 -14 배 학습이 빠름 점차적으로 올리면 더 효과적

Page 23: Normalization 방법

BN : 잘 되는 이유BN 에 의한 가중치 scale 보정

• 학습률을 높이면 가중치의 scale 이 커지게 됨

역오차전파에서 오차가 발산하는 원인• BN 은 scale 을 정규화하여 발산을 방지

Jacobi 도 같음

구배는 1/𝑎 배 ( 적당히 구속 )

scale( )𝑎 해도 출력은 같음(Wu)

𝜕𝐵𝑁 ( (𝑎𝑊 )𝑢)𝜕𝑢 =

𝜕𝐵𝑁 (𝑊𝑢)𝜕𝑢

𝜕𝐵𝑁 ( (𝑎𝑊 )𝑢)𝜕 (𝑎𝑊 )

= 1𝑎𝜕𝐵𝑁 (𝑊𝑢 )

𝜕𝑊

Page 24: Normalization 방법

Weight Normaliza-tion

Page 25: Normalization 방법

WN :Weight Normalization

• 가중치를 정규화• mini-batch sample 간 의존관계가 없음 • 온라인 및 RNN 으로 확장 가능

• CNN 과 같이 가중치 수가 작은 것에 대해 효과적 • 데이터에 의존한 가중치 초기화가 가능 • 대략적으로는 BN 의 low-cost 적인 근사계산

Page 26: Normalization 방법

• 각 뉴런의 출력으로부터 가중치를 정규화

μ = 𝐸[t], σ =

WN : 은익 unit 정규화Weight Normaliza-tion

𝑊← 1𝜎 𝑊 ,𝑏←𝑏−μ  

𝜎

𝒕 = 𝒘𝑇𝒙 + 𝑏

h= f = f( + )

Page 27: Normalization 방법

Layer Normaliza-tion

Page 28: Normalization 방법

LN :Layer Normalization

• 동일한 층의 뉴런간 정규화

• mini-batch sample 간 의존관계가 없음

• 온라인 및 RNN 으로 확장 가능

• CNN 의 경우 Batch Norm 보다 잘 작동하지 않는다 ?

Page 29: Normalization 방법

ai

xwi

f(ai+bi)

norm

bi

hi

xwi+1

f(ai+1+bi

+1)b

i+1

hi+1ー

ai+1

• 각층의 뉴런마다 계산• BN 의 batch size 를 뉴런으로 바꾸기만

LN : 은익 unit 정규화Layer Normaliza-tion

• H 는 동일층의 뉴런 수

Page 30: Normalization 방법

LN : batch size 의존성LN 은 영향 적음 batch-size

128batch-size 4

BN 가 불안정

Page 31: Normalization 방법

LN : LN LSTMQ&A 작업

BN 을 RNN 용으로 확장한 논문

Page 32: Normalization 방법

LN : LN 과 WN 의 LSTM 성능비교DRAW (MNIST 의 생성 )

• BN 논문과 LN 논문에서 Baseline 결과가 다르다• LN 쪽이 성능이 좋은가 ? • 논문은 이러한 것에 대하여 코멘트가 없다 .

(Tim Salimans et al. 2016) (Jimmy Lei Ba et al. 2016)

Page 33: Normalization 방법

BN 과 WN 과 LN무엇이 다른가 ?• 각각 출력을 정규화한다

정규화의 성질은 ?

• 가중치 및 데이터에 정수를 곱하거나 바이어스를 더해보면

출력이 변하지 않을까 ? 변할까 ?

• 학습은 어떻게 진행될까 ? Capture the curvature of the manifold structure im-

plicitly from the fisher information volume.

norm

norm

norm

Page 34: Normalization 방법

가중치 변화에 대한 출력의 불변성 ~LN 을 예로~

BN 과 WN 과 LN

Page 35: Normalization 방법

데이터 변화에 대한 출력의 불변성 ~LN 을 예로 ~BN 과 WN 과 LN

Page 36: Normalization 방법

학습의 진행방법?

• If we consider that learning moves around manifolds, the curvature is implicitly captured by Fisher information quantity matrix

Approximate curvature quadratic form ds2 with Fisher in-formation

quantity matrix The network model is approximated by Generalized Lin-

ear Model(GLM) • 결론

LN 의 정규화 parameter σ 는 학습이 진행됨에 따라 커져서 학습률을 낮춤으로서 학습을 안정화 시켜줌

BN 과 WN 과 LN

Page 37: Normalization 방법

GLM 에 의한 해석준비

• Generalized Linear Model (GLM) 에 의하여 근사

• F(θ) 에 주목

BN 과 WN 과 LN

Page 38: Normalization 방법

GLM 에 의한 해석• 정규화하지 않은 경우의 F(θ)

• LN 의 F(θ)

GLM 에 의한 해석BN 과 WN 과 LN

Page 39: Normalization 방법

• 정규화하지 않은 경우의 F(θ)

• LN 의 F(θ)

곡률이 입력데이터의 크기에 의존

입력데이터의 크기는 반영되기 어렵다 ( 정규화되어 있기 때문 )

BN 과 WN 과 LNGLM 에 의한 해석

Page 40: Normalization 방법

• LN 의 F(θ)

• 정규화하지 않은 경우의 F(θ)Wi 방향 : wi 가2배→ σi 도 약2배⇒ wi 방향의 곡률은 1/2 로⇒ 학습률의 저하로 볼 수 있다 .

BN 과 WN 과 LNGLM 에 의한 해석

Page 41: Normalization 방법

Gain 에 의한 비교 ~BN,LN~출력을 결정하는 중요한 parameter

• 입력의 크기에 영향을 받지 않는 (BN) 덜 받는 (LN) Gain 의 update 는 예측오차 정도의 크기

정규화 됨

BN 과 WN 과 LN

Page 42: Normalization 방법

ゲインによる比較 ~WN~출력을 결정하는 중요한 parameter• 입력의 크기에 영향을 받는 (WN)

Gain 의 updat 는 예측오차 정도의 크기와 입력 (ai) 의 크기에 의존 BN 과 LN 에 비해 학습이 안정적이지 못할 가능성이 있음

Gain 에 의한 비교 - WNBN 과 WN 과 LN

Page 43: Normalization 방법

정리하면Batch Norm(Sergey Ioffe et al. NIPS 2015)

Weight Norm(Tim Salimans et al. NIPS 2016)

Layer Norm(Jimmy Lei Ba et al. NIPS 2016)

Pros

Batch s i ze 가 커 도 안정

입력 데이터의 scale 과 sift에 대하여 robust( 학습 시 )

가중치 벡터의 scale 에 대하여 robust

학습이 진행되면서 자연히 updated scale 이 작아짐

CNN 에서 효과적 가중치의 초기화가 중요 쉽게 구현 가중치 벡터의 scale 에

대하여 robust

작은 mini-batch 의 RNN에서 성과

입력 데이터의 scale 에 대해 robust

가중치 행렬의 scale 및 Sift 에 대해 robust

학습이 진행되면서 자연적으로 updated scale 이 작아짐

Cons

온라인 학습 △ RNN,LSTM △ 학습시와 test 시에 계산이

바뀜

학습이 다른 방법에 비해 불안정?

입력 데이터 의존성이 높다

CNN 과의 조합은 좋지않다? (BN 쪽이 좋은 경우가 있다 )

BN 과 WN 과 LN