Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Normalization 방법

23,248 views

Published on

오사카 대학 Nishida Geio군이 Normalization 관련기술 을 정리한 자료입니다.

Normalization이 왜 필요한지부터 시작해서
Batch, Weight, Layer Normalization별로 수식에 대한 설명과 함께
마지막으로 3방법의 비교를 잘 정리하였고
학습의 진행방법에 대한 설명을 Fisher Information Matrix를 이용했는데, 깊이 공부하실 분들에게만 필요할 듯 합니다.

Published in: Technology
  • Hi there! I just wanted to share a list of sites that helped me a lot during my studies: .................................................................................................................................... www.EssayWrite.best - Write an essay .................................................................................................................................... www.LitReview.xyz - Summary of books .................................................................................................................................... www.Coursework.best - Online coursework .................................................................................................................................... www.Dissertations.me - proquest dissertations .................................................................................................................................... www.ReMovie.club - Movies reviews .................................................................................................................................... www.WebSlides.vip - Best powerpoint presentations .................................................................................................................................... www.WritePaper.info - Write a research paper .................................................................................................................................... www.EddyHelp.com - Homework help online .................................................................................................................................... www.MyResumeHelp.net - Professional resume writing service .................................................................................................................................. www.HelpWriting.net - Help with writing any papers ......................................................................................................................................... Save so as not to lose
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • People laughed at me until I� ●●● https://url.cn/5ouhNaM
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Girls for sex in your area are there: tinyurl.com/areahotsex
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: www.bit.ly/sexinarea
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating for everyone is here: www.bit.ly/2AJerkH
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Normalization 방법

  1. 1. Layer Normalization Jimmy Lei Ba Jamie Ryan Kiros Geoffrey E.Hinton 작성자 : Nishida Geio 번역 : 김홍배
  2. 2. • Layer Normalization 논문개요 • 배경 • Batch Normalization • Weight Normalization • Layer Normalization • 이상 3가지의 비교 목차
  3. 3. • 목적 State-of-the-art한 DNN의 학습시간을 단축시키고 싶다 ! 중간층의 출력을 정규화함으로써 실현 • 아이디어 Batch Normalization을 바꿔서 만들어봄. 1. Batch size에 의존하지 않음(온라인 학습 및 작은 mini-batch도 OK) 2. 학습과 Test의 계산방법이 동일 3. 그대로 RNN에 적용 가능 • 그외 타관련 연구와의 비교 Layer Normalization 개요
  4. 4. 배경 : DNN연구의 Bottle -neck 엄청난 학습시간 • VGG net(Karen Simonyan et al. ICLR 2015) 16/19층CNN+FC GPU: 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 RNN GPU: Tesla k80 96개 학습시간:1주 미만
  5. 5. 배경 : 학습시간을 줄이기 위해서 머쉰에 우겨 넣기 • DNN연산의 병렬화(Jeffrey Dean et al. NIPS 2012) 데이터 및 DNN 자체를 분할해서 계산 통신지연 및 SW의 복잡화가 과제
  6. 6. 학습의 효율을 높이자 •구배법자체를개선  2차 미분을 다루게 된다면 계산 cost가 엄청남 배경 : 학습시간을 줄이기 위해서 Ill-conditioned problem  어디로 튈지 예측 불가
  7. 7. 学習の効率を上げる • Parameter 의 공간기하를 수정한다.  Batch Normalization(Sergey Ioffe et al. NIPS 2015)으로 학습시간 단축에 성공  구배손실의 문제가 해결 (Saturation Actuation함수도 사용 가능) 배경 : 학습시간을 줄이기 위해서 학습의 효율을 높이자 뒤에서 설명 Well-conditioned problem  잘 정돈된 문제
  8. 8. 배경 : 구배손실 문제란 ? 활성화함수의 포화영역 • 활성화 함수(Activation Function)에 있어서 포화영역 (Saturation Region)의 미분값은 거의 “0” 이다. • 오차의 역전파가 감소하여 입력층에서의 구배가 “0”이 될 우려 데 이 터 의 흐 름 오 차 의 역 전 파 포화영역 포화영역
  9. 9. • 포화영역을 없애자 ! ReLU(x) = max(x,0) • 초기화에 대한 연구 • 작은 학습률을 사용  학습에 의해 포화영역으로 가는 것을 방지 해결책 학습에 시간이 걸리는 이유 중에 하나 Q. 도대체 왜、DNN은 최적화하면서 포화상태로 네트웍이 빠지는 것일까 ? A. 학습할 때마다 각층의 출력분포가 바뀐다.(internal) covariate shift가 생기기 때문 배경 : 구배손실 문제란 ?
  10. 10. • 공변량의 변화가 발생하는 경우의 학습은 도메인 학습으로서 잘 처리됨. • 논문에서는 DNN의 각층마다에서 일어나는 공변량의 변화에 대하여 고찰 배경 : covariate shift (공변량 변화) 훈련시와 Test시의 입력분포의 변화 입출력 규칙(주어진 입력에 대하여 출력의 생성규칙)은 훈련시 와 test시에 다르지 않지만,입력(공변량)의 분포가 훈련시 와 Test시에 다른 상황을 공변량 변화라고 부른다. 공변량의 변화 하에서의 학습지도 杉山 将 日本神経回路学会誌, vol.13, no3, pp.111-118, 20 06
  11. 11. • 중간층으로의 입력분포 :  정해진 입력분포를 각층에서 유지하지 못함  밑층의 parameter에 의존 DNN에서 각층마다의 입력분포 • 입력층으로의 입력분포 : 평균0 분산1 로 선형변환하면 잘 됨 입력분포 평균0,분산1로 규격화 중간층 입력분포 밑층 parameter에 의존 학습을 할 때마다 중간층으로의 입력분포 가 변화한다.(Internal Covariate Shift) 배경 : covariate shift (공변량 변화)
  12. 12. (Internal)공변량 변화가 DNN에 생기면 입력분포 평균0, 분산1로 규격화 평균0, 분산1 입력분포 축 입력분포p(μ=0,σ=1) 입력분포 q(p) 입력분포 r(q) 배경 : covariate shift (공변량 변화) • 각 입력층에서 학습 시에 가정했던 입력분포가 변화  parameter가 결과적으로 엉뚱한 방향으로 업데이드 될 우려  네트웍이 포화상태로 빠지기 쉬운 상태가 된다  층이 깊어질 수록 영향이 큼
  13. 13. (内的)共変量シフトがDNNで起きると 입력분포q(p)를 전제로 학습 배경 : covariate shift (공변량 변화) • 각 입력층에서 학습시에 가정했던 입력분포가 변화  parameter가 결과적으로 엉뚱한 방향으로 업데이드 될 우 려  네트웍이 포화상태로 빠지기 쉬운 상태가 됨  층이 깊어질 수록 영향이 큼 입력분포 평균0, 분산1로 규격화 평균0, 분산1 입력분포 축 입력분포p(μ=0,σ=1) 입력분포 q(p) 입력분포 r(q) (Internal)공변량 변화가 DNN에 생기면
  14. 14. 입력분포p를 전제하여 학습 (이쪽은 문제없음) (内的)共変量シフトがDNNで起きると 배경 : covariate shift (공변량 변화) • 각 입력층에서 학습시에 가정했던 입력분포가 변화  parameter가 결과적으로 엉뚱한 방향으로 업데이드 될 우려  네트웍이 포화상태로 빠지기 쉬운 상태가 됨  층이 깊어질 수록 영향이 큼 (Internal)공변량 변화가 DNN에 생기면 입력분포 평균0, 분산1로 규격화 평균0, 분산1 입력분포 축 입력분포p(μ=0,σ=1) 입력분포 q(p) 입력분포 r(q) 입력분포q(p)를 전제로 학습
  15. 15. 입력분포 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)를 전제로 학습
  16. 16. 입력분포 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)를 전제로 학습
  17. 17. 배경 : 은익층의 정규화 정규화 층의 도입 • 각 중간층에서 출력을 정규화한다  각 중간층의 입력분포를 일정하게  큰 학습률의 사용이 가능  학습의 효율을 개선시킴 • 다양한 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 입력분포 축
  18. 18. Batch Normalization
  19. 19. 𝑇 • 뉴런의 입력합 : 𝑎𝑖 𝑎𝑖 = 𝑤𝑖 𝑥 • 뉴런의 출력 : ℎ𝑖 ℎ𝑖 = 𝑓(𝑎𝑖 + 𝑏𝑖 ) BN : 은익 unit의 정규화 뉴런의 기본형 hi f(ai+bi) bi ai wi x
  20. 20. BN : 은익 unit의 정규화 정규화와 비선형함수 • 𝑎𝑖 : 𝑎𝑖를 평균0,분산1로 정규화  뉴론의 출력분포가 바뀜  Gain parameter g𝑖를 도입 ai wi x f(ai+bi) norm bi hi ー
  21. 21. ai x wi f(ai+bi) norm bi hi ー ai batch size BN : 은익 unit의 정규화 • 각 뉴론의 batch마다 계산 Batch Normalization
  22. 22. BN : 실험결과 Mega ! ImageNet classification • GoogLeNet이 기준 • 학습률을 높여서 실험  x5-14배 학습이 빠름  점차적으로 올리면 더 효과적
  23. 23. BN : 잘 되는 이유 BN에 의한 가중치 scale 보정 • 학습률을 높이면 가중치의 scale이 커지게 됨  역오차전파에서 오차가 발산하는 원인 • BN은 scale을 정규화하여 발산을 방지 Jacobi도 같음 구배는 1/𝑎배(적당히 구속) scale(𝑎)해도 출력은 같음𝐵𝑁(Wu)= 𝐵𝑁((aW)u) 𝜕𝐵𝑁 𝑎𝑊 𝑢 𝜕𝑢 = 𝜕𝐵𝑁 𝑊𝑢 𝜕𝑢 𝜕𝐵𝑁 𝑎𝑊 𝑢 𝜕(𝑎𝑊) = 1 𝑎 𝜕𝐵𝑁 𝑊𝑢 𝜕𝑊
  24. 24. Weight Normalization
  25. 25. WN : Weight Normalization • 가중치를 정규화 • mini-batch sample간 의존관계가 없음 • 온라인 및 RNN으로 확장 가능 • CNN과 같이 가중치 수가 작은 것에 대해 효과적 • 데이터에 의존한 가중치 초기화가 가능 • 대략적으로는 BN의 low-cost적인 근사계산
  26. 26. • 각 뉴런의 출력으로부터 가중치를 정규화 μ = 𝐸[t], σ = 𝐸 𝑡 − 𝜇 2 WN : 은익 unit 정규화 Weight Normalization 𝑊 ← 1 𝜎 𝑊, 𝑏 ← 𝑏 − μ 𝜎 𝒕 = 𝒘 𝑇 𝒙 + 𝑏 h= f 𝑡−𝜇 𝜎 = f( 𝑊 𝑇 x + 𝑏 )
  27. 27. Layer Normalization
  28. 28. LN : Layer Normalization • 동일한 층의 뉴런간 정규화 • mini-batch sample간 의존관계가 없음 • 온라인 및 RNN으로 확장 가능 • CNN의 경우 Batch Norm보다 잘 작동하지 않는다 ?
  29. 29. ai x wi f(ai+bi) norm bi hi ー x wi+1 f(ai+1+bi+1) bi+1 hi+1 ー ai+1 • 각층의 뉴런마다 계산 • BN의 batch size를 뉴런으로 바꾸기만 LN : 은익 unit 정규화 Layer Normalization • H는 동일층의 뉴런 수
  30. 30. LN : batch size 의존성 LN은 영향 적음batch-size 128 batch-size 4 BN가 불안정
  31. 31. LN : LN LSTM Q&A 작업 BN을 RNN용으로 확장한 논문
  32. 32. LN : LN과 WN의 LSTM 성능비교 DRAW (MNIST의 생성) • BN논문과 LN논문에서 Baseline 결과가 다르다 • LN쪽이 성능이 좋은가 ? • 논문은 이러한 것에 대하여 코멘트가 없다. (Tim Salimans et al. 2016) (Jimmy Lei Ba et al. 2016)
  33. 33. BN과 WN과 LN 무엇이 다른가 ? • 각각출력을정규화한다  정규화의 성질은 ? • 가중치및데이터에정수를곱하거나바이어스를 더해보면  출력이 변하지 않을까 ? 변할까 ? • 학습은어떻게진행될까?  Capture the curvature of the manifold structure implicitly from the fisher information volume. norm norm norm
  34. 34. 가중치 변화에 대한 출력의 불변성~LN을 예로 ~ BN과 WN과 LN
  35. 35. 데이터 변화에 대한 출력의 불변성~LN을 예로 ~ BN과 WN과 LN
  36. 36. 학습의 진행방법? • 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 information quantity matrix  The network model is approximated by Generalized Linear Model (GLM) • 결론  LN의 정규화 parameter σ는 학습이 진행됨에 따라 커져서 학습률을 낮춤으로서 학습을 안정화 시켜줌 BN과 WN과 LN
  37. 37. GLM에 의한 해석준비 • Generalized Linear Model (GLM)에 의하여 근사 •F(θ)에 주목 BN과 WN과 LN
  38. 38. GLM에 의한 해석 •정규화하지 않은 경우의 F(θ) • LN의 F(θ ) GLM에 의한 해석 BN과 WN과 LN
  39. 39. •정규화하지 않은 경우의 F(θ) • LN의 F(θ ) 곡률이 입력데이터의 크기에 의존 입력데이터의 크기는 반영되기 어렵다 (정규화되어 있기 때문) BN과 WN과 LN GLM에 의한 해석
  40. 40. • LN의 F(θ ) •정규화하지 않은 경우의 F(θ) Wi 방향: wi가2배→σi도 약2배 ⇒ wi 방향의 곡률은1/2로 ⇒ 학습률의 저하로 볼 수 있다. BN과 WN과 LN GLM에 의한 해석
  41. 41. Gain에 의한 비교~BN,LN~ 출력을 결정하는 중요한 parameter • 입력의 크기에 영향을 받지 않는(BN) 덜 받는(LN)  Gain의 update는 예측오차 정도의 크기 정규화 됨 BN과 WN과 LN
  42. 42. ゲインによる比較~WN~ 출력을 결정하는 중요한 parameter • 입력의 크기에 영향을 받는(WN)  Gain의 updat는 예측오차 정도의 크기와 입력(ai)의 크기에 의존  BN과 LN에 비해 학습이 안정적이지 못할 가능성이 있음 Gain에 의한 비교 - WN BN과 WN과 LN
  43. 43. 정리하면 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  B at c h s i z e 가 커 도 안 정  입력 데이터의 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

×