deview deep learning-김정희
DESCRIPTION
TRANSCRIPT
Deep Learning Machine Learning with Deep Neural Network
김정희 부장 / 딥러닝 연구 Lab NAVER LABS
CONTENTS 1. 왜 다시 Deep Learning 인가?
2. Deep Learning Tips����������� ������������������
3. Deep Learning 과 Speech Recognition����������� ������������������
1. 왜 다시 Deep Learning 인가?
1.1 Deep Neural Network
Deep Neural Network (DNN) 1. 1 개 이상의 Hidden Layer를 가진 Neural Network
Non Linear
Activation Sigmoid
C_1 C_2 C_n
���
���
���
���
Input Layer
Output Layer
Hidden Layer
Weight
1.1 Deep Neural Network
Non Linear
Activation Sigmoid
C_1 C_2 C_n
���
���
���
���
Hidden Layer
Weight
‘학교’, ‘학과’ ‘고양이’, ‘호랑이’
1.1 Deep Neural Network
[InputVector]T
tanhsigmoid
WeightMatrix!
"#
$
%&
T tanhsigmoid
…
Linear Multiplication
Non-Linear Activation
WeightMatrix!
"#
$
%&
T
1.2 Deep Learning의 부활
New Algorithms Big Data GPU
DNN-Back propagation 1. 1980년대에 개발된 방법
2. Overfitting 문제와 느린 학습으로 인해, Shallow Learning – SVM, GMM 에 완전히 밀림
1.2 Deep Learning의 부활
New Algorithms Big Data GPU
Re-Birth
1.2 Deep Learning의 부활
New Algorithms Big Data GPU
‘망설이는 호랑이는 벌보다 못하다’ – 사기열전 한신
1.3 New Algorithms
Pre-Training : Restricted Boltzmann Machine (RBM) 1. 2000 년 대 Deep Learning 의 새로운 시작
2. Unsupervised & Generative Training
Drop-Out 1. 2010 년 대 Overfitting 을 방지하기 위한 효율적 방법
2. Regularizer by Randomness
1.4 Pre-Training with RBM
1.5 Restricted Boltzmann Machine
Pre-Training : Restricted Boltzmann Machine (RBM) 1. Hidden Node 들 끼리, Visible Node 들 끼리는 Independent
2. Hidden Node 와 Visible Node 사이의 Weight는 Bipartite
V_1 … V_M
H_1 … H_N
Visible
Hidden
1.6 Learning Restricted Boltzmann Machine
New Algorithm GPU Big Data
Generative Training 1. p( Label | Image )를 Maximize 하는 것이 아니라, p(Image)를 Maximize 하기 위한 것
a.
b. Ideal 하게는 무한대의 Markov Chain – Monte Carlo
i
j
i i
j
i
j
t = 0
j
t = 1 t = 2 t = infinity
Δwij =< vihj >data − < vihj >model
1.7 Contrastive Divergence
Hinton 의 제안 ( Toronto Univ.) 1. 2002년 RBM을 이용한 Pre-Training
a. CD-1 만으로도 Overfitting 문제를 피할 수 있는 Initial Point
b. Generative Training 후 Discriminative Training
c.
t = 0 reconstruction data
i
j
i
j
t = 1
Δwij =< vihj >data − < vihj >recon
1.8 Layer Stacking
Greedy Algorithm
Visible Layer
Hidden Layer 1
Learn & Freeze
Visible Layer
Hidden Layer 1
Hidden Layer 2
Visible Layer
Hidden Layer 1
Hidden Layer 2
Hidden Layer 3
반복하여 Layer를 쌓는다
1.9 Drop-Out
Big Data
Drop-Out 1. Regularizer 의 일종
a. Randomness 를 추가함
2. Hidden Node를 모두 훈련시키지 않고, Random 하게 Drop Out 시킨다
a. 관련된 Weight들은 모두 훈련되지 않는다.
GPU Random Value > 0.6 Random Value < 0.6
1.9 Drop-Out
GPU
GPU
GPU
Multi Neural Networks 의 Merge
1.10 Rectified Linear Unit (ReLU)
Drop-Out & ReLU
1. Drop-Out 은 학습 Curve 의 수렴이 느리다
a. Drop Out 되고 남은 일부분만 학습되므로
2. Non-Linear Activation Function 의 교체
a. 일반적으로 사용되는 tanh, Logistic Sigmoid 대신
b. ReLU 사용
Logistic Sigmoid ReLU
1.11 Big Data
Big Data
포털, 검색 업체 들 대량의 학습 DB 보유 1. Modeling 을 정교하게 하기 위해서는 많은 Parameter 들이 필요
2. 많은 Parameter 들을 Overfitting 없이 훈련하려면 Big Data 필요
3. Google 음성 인식에 사용된 DB Size
a. 5800 시간 이상
b. DNN 훈련을 위한 입력 Data 20 억개 이상
c. 지금도 게속하여 수집되어지는 음성 인식 데이터로 성능 개선 진행 중
d. Google의 DB 수집 노력
• https://www.peanutgalleryfilms.com
1.12 GPU
Big Data
Training Time 1. New Algorithm 은 모두 Overfitting 을 방지 하기 위한 것
2. 추가 알고리즘에 의해 Training Time 은 더 늘어난다.
3. 다행히 DNN 의 Training 은 Non Linear Activation 을 제외하면 Matrix Operation
4. GPU
a. NVIDIA – CUBLAS
b. NVIDIA 최신 GPU
• GeForce GTX Titan
• CUDA Core 2688 개
2. Deep Learning Tips
2.1 RBM or Drop-Out ?
Drop-Out is better than RBM
1. Overfitting 을 막을 Pre-Training 목적이라면 굳이 RBM 쓸 필요 없음
2. Drop-Out 과 함께 Discriminative Training
a. 많은 hidden node 와 hidden layer
b. ReLU
c. Drop-Out
3. RBM의 효용성
a. Unsupervised Training
b. Feature Extractor
2.2 Input Data
Noisy 한 Real Data 가 많다면 굳이 RBM도 Drop-Out도 쓰지 않아도 됨
1. Noisy Data의 역할
a. Local Minimum에 빠지는 것을 방지해 준다
b. Regularizer by Randomness 의 역할
2. Noisy Data 가 없다면
a. 만들어서라도 넣어 주어야
• Image Data의 경우
ü 좌우 반전, 약간의 왜곡 등
• 음성의 경우
ü 임의의 배경 잡음 삽입
2.3 Noisy Data가 많다면
2.4 Learning Rate
계속 같은 Learning Rate를 써야 하나요?
1. Iteration이 진행 될 수록 Learning Rate를 감소
a. Validation Data Set을 설정
b. Test 해 보며 성능이 Saturation 할 때마다 감소시키는 것이 정석
c. 귀찮고, 얼마나 감소시켜야 하는지도 애매
• 음성 인식 AM의 경우
• Practically Exponentially 감소시키기
2.5 남은 어려운 점
DNN 을 훈련시키기 위해 결정되어져야 할 Parameters 1. DNN Structure
a. Input Layer 의 Node 개수
b. Output Layer 의 Node 개수
c. Hidden Layer 의 개수
d. Hidden Layer 의 Node 수
2. Training 단계 Parameters
a. Momentum
b. Learning Rate
c. Weight Initial Value
d. Drop Out 비율
e. Mini-Batch Size
f. Big-Batch Size
3. Deep Learning 과 Speech Recognition
3.1 Speech Recognition with DNN
Speech Recognition 1. Observation Data
a. Speech Signal : x
2. Maximum A Posteriori
a. p( w | x ) 를 최대로 하는 Word Sequence w
^w =
wargmaxp(w | x) =
wargmax p(x |w)p(w)
p(x)
3.1 Speech Recognition with DNN
Acoustic Model & Language Model 1. p(x)
a. w와 Independent 하므로 제외
2. p(w)
a. Prior Probability : Language Model
3. p( x | w )
a. Likelihood : Acoustic Model
b. 현재의 흐름은 DNN 을 이용하여 Acoustic Model을 표현
^w =
wargmaxp(w | x) =
wargmax p(x |w)p(w)
p(x)
3.2 Acoustic Model with DNN
Acoustic Model & Language Model 1. q
a. Word w 를 구성하는 Senone q
2. 기존 방법
1. p( x | q )를 표현하기 위해 Gaussian Mixture Model (GMM) 을 사용
2. p( x | q ) Acoustic Model을 GMM 대신 DNN 사용
p(x |w) =max p(xt | qt )t=1
T∏
3.3 HMM-DNN Hybrid
Gaussian Mixture Model (GMM) 의 대체 1. GMM Acoustic Model (AM)
a. 음성 신호의 Likelihood 를 표현
2. AM 을 DNN 으로 표현
s1 s2 s3 HMM
v
H(M)
H(M-1)
H(1) DNN …
Observation
Observation Probabilities
3.4 Deep Learning 음성인식 현황
Deep Learning NAVER 음성인식 서비스 1. 2013년 하반기부터 서비스
a. 기존 HMM-GMM 방식으로는 넘어설 수 없었던 수준
• 기존 GMM 방식과 DNN 방식은
청동기 시대 철기 시대의 차이
b. 지금도 계속 성능 개선 진행 중
2. Google, Microsoft 등 대부분 음성 인식 서비스 제공 업체들
이미 DNN 방식 사용
a. Google 은 2012 년 Jelly Bean 부터
b. Microsoft 는 2013년 하반기 부터
Q&A
THANK YOU