오사카 대학 Nishida Geio군이 Normalization 관련기술 을 정리한 자료입니다.
Normalization이 왜 필요한지부터 시작해서
Batch, Weight, Layer Normalization별로 수식에 대한 설명과 함께
마지막으로 3방법의 비교를 잘 정리하였고
학습의 진행방법에 대한 설명을 Fisher Information Matrix를 이용했는데, 깊이 공부하실 분들에게만 필요할 듯 합니다.
PR-217: EfficientDet: Scalable and Efficient Object DetectionJinwon Lee
TensorFlow Korea 논문읽기모임 PR12 217번째 논문 review입니다
이번 논문은 GoogleBrain에서 쓴 EfficientDet입니다. EfficientNet의 후속작으로 accuracy와 efficiency를 둘 다 잡기 위한 object detection 방법을 제안한 논문입니다. 이를 위하여 weighted bidirectional feature pyramid network(BiFPN)과 EfficientNet과 유사한 방법의 detection용 compound scaling 방법을 제안하고 있는데요, 자세한 내용은 영상을 참고해주세요
논문링크: https://arxiv.org/abs/1911.09070
영상링크: https://youtu.be/11jDC8uZL0E
발표자: 이활석(NAVER)
발표일: 2017.11.
최근 딥러닝 연구는 지도학습에서 비지도학습으로 급격히 무게 중심이 옮겨 지고 있습니다. 본 과정에서는 비지도학습의 가장 대표적인 방법인 오토인코더의 모든 것에 대해서 살펴보고자 합니다. 차원 축소관점에서 가장 많이 사용되는Autoencoder와 (AE) 그 변형 들인 Denoising AE, Contractive AE에 대해서 공부할 것이며, 데이터 생성 관점에서 최근 각광 받는 Variational AE와 (VAE) 그 변형 들인 Conditional VAE, Adversarial AE에 대해서 공부할 것입니다. 또한, 오토인코더의 다양한 활용 예시를 살펴봄으로써 현업과의 접점을 찾아보도록 노력할 것입니다.
1. Revisit Deep Neural Networks
2. Manifold Learning
3. Autoencoders
4. Variational Autoencoders
5. Applications
PR-217: EfficientDet: Scalable and Efficient Object DetectionJinwon Lee
TensorFlow Korea 논문읽기모임 PR12 217번째 논문 review입니다
이번 논문은 GoogleBrain에서 쓴 EfficientDet입니다. EfficientNet의 후속작으로 accuracy와 efficiency를 둘 다 잡기 위한 object detection 방법을 제안한 논문입니다. 이를 위하여 weighted bidirectional feature pyramid network(BiFPN)과 EfficientNet과 유사한 방법의 detection용 compound scaling 방법을 제안하고 있는데요, 자세한 내용은 영상을 참고해주세요
논문링크: https://arxiv.org/abs/1911.09070
영상링크: https://youtu.be/11jDC8uZL0E
발표자: 이활석(NAVER)
발표일: 2017.11.
최근 딥러닝 연구는 지도학습에서 비지도학습으로 급격히 무게 중심이 옮겨 지고 있습니다. 본 과정에서는 비지도학습의 가장 대표적인 방법인 오토인코더의 모든 것에 대해서 살펴보고자 합니다. 차원 축소관점에서 가장 많이 사용되는Autoencoder와 (AE) 그 변형 들인 Denoising AE, Contractive AE에 대해서 공부할 것이며, 데이터 생성 관점에서 최근 각광 받는 Variational AE와 (VAE) 그 변형 들인 Conditional VAE, Adversarial AE에 대해서 공부할 것입니다. 또한, 오토인코더의 다양한 활용 예시를 살펴봄으로써 현업과의 접점을 찾아보도록 노력할 것입니다.
1. Revisit Deep Neural Networks
2. Manifold Learning
3. Autoencoders
4. Variational Autoencoders
5. Applications
First part shows several methods to sample points from arbitrary distributions. Second part shows application to population genetics to infer population size and divergence time using obtained sequence data.
Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation
http://arxiv.org/abs/1609.08144
を読んでみたので、簡単にまとめました。間違い等は是非ご指摘ください。
First part shows several methods to sample points from arbitrary distributions. Second part shows application to population genetics to infer population size and divergence time using obtained sequence data.
Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation
http://arxiv.org/abs/1609.08144
を読んでみたので、簡単にまとめました。間違い等は是非ご指摘ください。
Explanation on Tensorflow example -Deep mnist for expert홍배 김
you can find the exact and detailed network architecture of 'Deep mnist for expert' example of tensorflow's tutorial. I also added descriptions on the program for your better understanding.
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...홍배 김
본 논문에서는 Hidden layer 뒤에 추가적인 새로운 시각중지 벡터
(visual sentinel vector)를 갖는 LSTM의 확장형을 채택함으로서
- 시각신호로부터 필요 시 언어모델로 전환이 가능한
Adaptive attention encoder-decoder framework을 제안하였고
- 이로 인하여 “white”, “bird”, “stop,”과 같은 시각적 단어에 대해서는 좀 더 이미지에 집중하고, “top”, “of”, “on.”의 경우에는 시각중지를 사용함으로서 Image Captioning의 정확도를 향상
InfoGAN: Interpretable Representation Learning by Information Maximizing Gene...홍배 김
InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets
오사카 대학 박사과정인 Takato Horii군이 작성한 자료
데이터 생성 모델로 우수한 GAN을 이용하여 비지도학습을 통해
"알기쉬게" 이미지의 정보를 표현하는 특징량을 "간단하게"획득하기
* 특징이 서로 얽혀있는 Physical space에서 서로 독립적인 Eigen space로 변환하는 것과 같은 원리
One-stage Network(YOLO, SSD 등)의 문제점 예를 들어 근본적인 문제인 # of Hard positives(object) << # of Easy negatives(back ground) 또는 large object 와 small object 를 동시에 detect하는 경우 등과 같이 극단적인 Class 간 unbalance나 난이도에서 차이가 나는 문제가 동시에 존재함으로써 발생하는 문제를 해결하기 위하여 제시된 Focal loss를 class간 아주 극단적인 unbalance data에 대한 classification 문제(예를 들어 1:10이나 1:100)에 적용한 실험결과가 있어서 정리해봤습니다. 결과적으로 hyper parameter의 설정에 매우 민감하다는 실험결과와 잘만 활용할 경우, class간 unbalance를 해결하기 위한 data level의 sampling 방법이나 classifier level에서의 특별한 고려 없이 좋은 결과를 얻을 수 있다는 내용입니다.
2019년 4월 27일에 있었던 한국게임학회 인공지능분과 두번째 모임에 진행했던 <Tensorflow 2.0 튜토리얼 - RNN> 강연자료입니다.
RNN 을 처음 접하는 분들을 위해 RNN 의 기본 개념을 짚어보며, Google Colab Sample Code 를 통해 2.0 에서 RNN 을 사용하는 방법을 간단하게 살펴봅니다.
Robot의 Gait optimization, Gesture Recognition, Optimal Control, Hyper parameter optimization, 신약 신소재 개발을 위한 optimal data sampling strategy등과 같은 ML분야에서 약방의 감초 같은 존재인 GP이지만 이해가 쉽지 않은 GP의 기본적인 이론 및 matlab code 소개
Anomaly detection using deep one class classifier홍배 김
- Anomaly detection의 다양한 방법을 소개하고
- Support Vector Data Description (SVDD)를 이용하여
cluster의 모델링을 쉽게 하도록 cluster의 형상을 단순화하고
boundary근방의 애매한 point를 처리하는 방법 소개
요즘 Image관련 Deep learning 관련 논문에서 많이 나오는
용어인 Invariance와 Equivariance의 차이를 알기쉽게 설명하는 자료를 만들어봤습니다. Image의 Transformation에 대해
Equivariant한 feature를 만들기 위하여 제안된 Group equivariant Convolutional. Neural Networks 와 Capsule Nets에 대하여 설명
Deep learning기법을 이상진단 등에 적용할 경우, 정상과 이상 data-set간의 심각한 unbalance가 문제. 본 논문에서는 GAN 기법을 이용하여 정상 data-set만의 Manifold(축약된 모델)를 찾아낸 후 Query data에 대하여 기 훈련된 GAN 모델로 Manifold로의 mapping을 수행함으로서 기 훈련된 정상 data-set과의 차이가 있는지 여부를 판단하여 Query data의 이상 유무를 결정하고 영상 내에 존재하는 이상 영역을 pixel-wise segmentation 하여 제시함.
2. • Layer Normalization 논문개요
• 배경
• Batch Normalization
• Weight Normalization
• Layer Normalization
• 이상 3가지의 비교
목차
3. • 목적
State-of-the-art한 DNN의 학습시간을 단축시키고 싶다 !
중간층의 출력을 정규화함으로써 실현
• 아이디어
Batch Normalization을 바꿔서 만들어봄.
1. Batch size에 의존하지 않음(온라인 학습 및 작은 mini-batch도 OK)
2. 학습과 Test의 계산방법이 동일
3. 그대로 RNN에 적용 가능
• 그외 타관련 연구와의 비교
Layer Normalization 개요
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. 배경 : 학습시간을 줄이기 위해서
머쉰에 우겨 넣기
• DNN연산의 병렬화(Jeffrey Dean et al. NIPS 2012)
데이터 및 DNN 자체를 분할해서 계산
통신지연 및 SW의 복잡화가 과제
6. 학습의 효율을 높이자
•구배법자체를개선
2차 미분을 다루게 된다면 계산 cost가 엄청남
배경 : 학습시간을 줄이기 위해서
Ill-conditioned problem
어디로 튈지 예측 불가
7. 学習の効率を上げる
• Parameter 의 공간기하를 수정한다.
Batch Normalization(Sergey Ioffe et al. NIPS 2015)으로 학습시간 단축에 성공
구배손실의 문제가 해결 (Saturation Actuation함수도 사용 가능)
배경 : 학습시간을 줄이기 위해서
학습의 효율을 높이자
뒤에서 설명
Well-conditioned problem
잘 정돈된 문제
8. 배경 : 구배손실 문제란 ?
활성화함수의 포화영역
• 활성화 함수(Activation Function)에 있어서 포화영역
(Saturation
Region)의 미분값은 거의 “0” 이다.
• 오차의 역전파가 감소하여 입력층에서의 구배가 “0”이 될 우려
데
이
터
의
흐
름
오
차
의
역
전
파
포화영역
포화영역
9. • 포화영역을 없애자 !
ReLU(x) = max(x,0)
• 초기화에 대한 연구
• 작은 학습률을 사용
학습에 의해 포화영역으로 가는 것을 방지
해결책
학습에 시간이 걸리는
이유 중에 하나
Q. 도대체 왜、DNN은 최적화하면서 포화상태로 네트웍이 빠지는 것일까 ?
A. 학습할 때마다 각층의 출력분포가 바뀐다.(internal) covariate shift가 생기기 때문
배경 : 구배손실 문제란 ?
10. • 공변량의 변화가 발생하는 경우의 학습은 도메인 학습으로서 잘 처리됨.
• 논문에서는 DNN의 각층마다에서 일어나는 공변량의 변화에 대하여 고찰
배경 : covariate shift (공변량 변화)
훈련시와 Test시의 입력분포의 변화
입출력 규칙(주어진 입력에 대하여 출력의 생성규칙)은 훈련시
와 test시에 다르지 않지만,입력(공변량)의 분포가 훈련시
와 Test시에 다른 상황을 공변량 변화라고 부른다.
공변량의 변화 하에서의 학습지도 杉山 将 日本神経回路学会誌, vol.13, no3, pp.111-118, 20
06
11. • 중간층으로의 입력분포 :
정해진 입력분포를 각층에서 유지하지 못함
밑층의 parameter에 의존
DNN에서 각층마다의 입력분포
• 입력층으로의 입력분포 :
평균0 분산1
로 선형변환하면 잘 됨
입력분포
평균0,분산1로 규격화
중간층 입력분포
밑층 parameter에 의존
학습을 할 때마다 중간층으로의 입력분포
가 변화한다.(Internal Covariate Shift)
배경 : covariate shift (공변량 변화)
12. (Internal)공변량 변화가 DNN에 생기면
입력분포
평균0, 분산1로 규격화
평균0, 분산1
입력분포 축
입력분포p(μ=0,σ=1)
입력분포 q(p)
입력분포 r(q)
배경 : covariate shift (공변량 변화)
• 각 입력층에서 학습 시에 가정했던 입력분포가 변화
parameter가 결과적으로 엉뚱한 방향으로 업데이드 될 우려
네트웍이 포화상태로 빠지기 쉬운 상태가 된다
층이 깊어질 수록 영향이 큼
13. (内的)共変量シフトがDNNで起きると
입력분포q(p)를 전제로 학습
배경 : covariate shift (공변량 변화)
• 각 입력층에서 학습시에 가정했던 입력분포가 변화
parameter가 결과적으로 엉뚱한 방향으로 업데이드 될 우
려
네트웍이 포화상태로 빠지기 쉬운 상태가 됨
층이 깊어질 수록 영향이 큼
입력분포
평균0, 분산1로 규격화
평균0, 분산1
입력분포 축
입력분포p(μ=0,σ=1)
입력분포 q(p)
입력분포 r(q)
(Internal)공변량 변화가 DNN에 생기면
14. 입력분포p를 전제하여 학습
(이쪽은 문제없음)
(内的)共変量シフトがDNNで起きると
배경 : covariate shift (공변량 변화)
• 각 입력층에서 학습시에 가정했던 입력분포가 변화
parameter가 결과적으로 엉뚱한 방향으로 업데이드 될 우려
네트웍이 포화상태로 빠지기 쉬운 상태가 됨
층이 깊어질 수록 영향이 큼
(Internal)공변량 변화가 DNN에 생기면
입력분포
평균0, 분산1로 규격화
평균0, 분산1
입력분포 축
입력분포p(μ=0,σ=1)
입력분포 q(p)
입력분포 r(q)
입력분포q(p)를 전제로 학습
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. 입력분포
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. 배경 : 은익층의 정규화
정규화 층의 도입
• 각 중간층에서 출력을 정규화한다
각 중간층의 입력분포를 일정하게
큰 학습률의 사용이 가능
학습의 효율을 개선시킴
• 다양한 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
입력분포 축
25. WN :
Weight Normalization
• 가중치를 정규화
• mini-batch sample간 의존관계가 없음
• 온라인 및 RNN으로 확장 가능
• CNN과 같이 가중치 수가 작은 것에 대해 효과적
• 데이터에 의존한 가중치 초기화가 가능
• 대략적으로는 BN의 low-cost적인 근사계산
32. LN : LN과 WN의 LSTM 성능비교
DRAW (MNIST의 생성)
• BN논문과 LN논문에서 Baseline 결과가 다르다
• LN쪽이 성능이 좋은가 ?
• 논문은 이러한 것에 대하여 코멘트가 없다.
(Tim Salimans et al. 2016) (Jimmy Lei Ba et al. 2016)
33. BN과 WN과 LN
무엇이 다른가 ?
• 각각출력을정규화한다
정규화의 성질은 ?
• 가중치및데이터에정수를곱하거나바이어스를
더해보면
출력이 변하지 않을까 ? 변할까 ?
• 학습은어떻게진행될까?
Capture the curvature of the manifold structure implicitly
from the fisher information volume.
norm
norm
norm
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. GLM에 의한 해석준비
• Generalized Linear Model (GLM)에 의하여 근사
•F(θ)에 주목
BN과 WN과 LN
39. •정규화하지 않은 경우의 F(θ)
• LN의 F(θ
)
곡률이 입력데이터의 크기에 의존
입력데이터의 크기는 반영되기 어렵다
(정규화되어 있기 때문)
BN과 WN과 LN
GLM에 의한 해석
40. • LN의 F(θ
)
•정규화하지 않은 경우의 F(θ)
Wi 방향: wi가2배→σi도 약2배
⇒ wi 방향의 곡률은1/2로
⇒ 학습률의 저하로 볼 수 있다.
BN과 WN과 LN
GLM에 의한 해석
41. Gain에 의한 비교~BN,LN~
출력을 결정하는 중요한 parameter
• 입력의 크기에 영향을 받지 않는(BN) 덜 받는(LN)
Gain의 update는 예측오차 정도의 크기
정규화 됨
BN과 WN과 LN
42. ゲインによる比較~WN~
출력을 결정하는 중요한 parameter
• 입력의 크기에 영향을 받는(WN)
Gain의 updat는 예측오차 정도의 크기와 입력(ai)의 크기에 의존
BN과 LN에 비해 학습이 안정적이지 못할 가능성이 있음
Gain에 의한 비교 - WN
BN과 WN과 LN
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