SlideShare a Scribd company logo
1 of 20
Where to Apply Dropout in Recurrent Neural
Networks for Handwriting Recognition?
Gyeong-hoon Lee
Chungnam National University
e-mail : ghlee0304@cnu.ac.kr
[Data Mining Lab Seminar]
Aug. 7. 2017
1
Abstract
1. 드롭 아웃 기법 : 신경망을 위한 데이터 기반(data-driven)의 정규화 방법.
2. 훈련 도중 히든 레이어의 유닛을 일정한 확률로 탈락하여 각 훈련 과정을 반복하면 가중치를 공유하는
지수적 구조의 네트워크를 샘플링하는 것과 동일한 효과를 얻음.
3. Dropout은 speech recognition 및 computer vision의 다양한 작업에 대하여 MLP와 CNN의 적용되어옴.
4. 이 논문 이전에 MDLSTM-RNN에서 손글씨 단어 및 line 인식을 위해 dropout을 사용하는 방법을 제안함.
MDLSTM-RNN(Multi-Dimensional LSTM – RNN)
5. 이 논문에서는 LSTM에서 상대적으로 더 나은 위치에 dropout을 다르게 적용함으로써 더 많은 개선이
이루어졌음을 보임.
2
Introduction
1. Dropout은 효율적인 정규화 방법이라는 것이 알려져 있다.
2. 일부 논문에서는 dropout반복적인 층을 가진 아키텍처에서 일반화 능력을 상당히 증가시킬 수 있음을 보여주었다.
3. 특히 [4] 에서는 손글씨 문자 인식에 대하여, [7] 에서 언어 모델링과 음성인식에 대하여 dropout이 이루어짐.
5. [4]에서는 모든 반복 연결(recurrent connections)이 전체 입력에 대하여 계산이 된 후 dropout이 적용된다.
6. [7]에서 dropout은 두 개의 LSTM 레이어 사이에 적용된다.
* dashed arrow에 dropout이 적용
3
Introduction
7. LSTM cell의 내부 혹은 그 전에 적용하지 않는 것은 LSTM 세포 내의 암기능력을 위협하는 것을 방지하는 것이다.
8. 하지만, 이 논문에서는 LSTM 네트워크에서 드롭 아웃에 가장 적합한 장소를 이론적으로 기반하지 않고 어디에서 적용
해야하는지를 테스트하기 위한 광범위한 실험을 수행한다.
9. 실험 결과에 따르면 dropout을 위한 최적의 장소는 [4]와 [7]에 의해 직관적으로 선택되지 않은 장소이다.
4
Different places where dropout can be applied
1. [4]와 [7]에서, 드롭 아웃은 LSTM 의 바깥쪽에만 사용되므로 반복 연결에 영향을 미치지 않는다.
2. 이론적으로 두 개의 레이어간에 드롭아웃을 적용할 수 있다. 단, 활성화 함수를 거친 후에 사용한다.
3. 그림 1은 LSTM 레이어와 관련하여 드롭 아웃이 적용될 수 있는 여러 장소를 설명한다.
4. LSTM 레이어는 재귀(왼쪽에서 오른쪽으로, 오른쪽에서 왼쪽으로)를 나타내는 수평 화살표가 있는 레이어이다.
5
Different places where dropout can be applied
(a) Before : LSTM의 모든 입력에 대해 적용
두 가지의 가능성이 있다. 첫번째는 두 방향에 동일한 LSTM입력을 dropout하는 것이다.
다른 방법은 left-to-right LSTM 및 from-right-to-left LSTM에 대해 dropout할 다른 입력을 샘플링하는 것이다.
경험적 결과가 대략적으로 동일하고 첫번째 옵션으로 결과를 제시한다.
(b) Inside : recurrence loop안에 LSTM의 output 값들에 대해 적용 즉 t+1번째 output을 계산하기 전에
t번째의 output에 적용
(c) After : 모든 recurrence iteration들 이후에 LSTM output에 적용
6
Experimental Setup – Databases
A. Databases - Rimes
- The Rimes database[11] 은 시뮬레이션 된 프랑스어 메일의 손글씨 문자들의 이미지들로 이루어져있다.
이 논문은 ICDAR 2011 대회의 설정을 따른다.
- 이용 가능한 데이터는 1,500 단락의 학습 세트이며, 이미지에서 수동으로 추출되며, 100단락의 평가세트이다.
- 훈련 세터의 마지막 149개 단락(약 10%)을 검증 세트로 제시하고 나머지 1,391 개의 단락에 대해 시스템을 학습한다
7
A. Databases - IAM
- The IAM dadtabase[12]는 손글씨 페이지들의 이미지들로 이루어져 있음.
- 다른 작성자에 의해 복사된 LOB corpus (Lancaster-Oslo/Bergen Corpus) 로부터 추출한 영어 텍스트에 해당한다.
- 데이터베이스는 학습을 위해 747개의 이미지, 유효성 검사를 위해 116개의 이미지, 평가를 위해 336개의 이미지로
분리된다.
• LOB corpus : 1970년대에 컴파일 된 영국 영어 텍스트의 백만 단어 모음집.
A. Databases - Bentham
- 18세기와 19세기 경 영국 철학자 Jeremy Bentham의 개인 메모 이미지가 포함되어 있음.
- 이 논문에서는 HTRtS competition[13]의 설정을 따름.
- 훈련집합 : 350 page, 평가집합(validation set) : 50 page, 테스트집합 : 33page
- 모든 이미지는 300DPI의 해상도를 가지고 있음.
- 이미지에서 측정된 평균 문자 폭
Rimes : 38px, IAM : 39px, Bentham : 33px
Experimental Setup – Databases
8
B. Preprocessing
- 이 시스템들은 주석이 달린 텍스트 라인으로부터 학습되어진다.
- 라인은 [14]에 설명 된 접근법을 사용하여 제거됩니다.
[14] R.Buse et al, “A structural and relational approach to handwritten word recognition”, IEEE, 1997
- 대비는 가장 어두운 픽셀을 검정색으로 5%로 매핑하고, 가장 밝은 색을 하얀색으로 70%로 매핑하여 사이를 선형 보간을 하여
quasi-binarized 이미지를 생성.
- 빈 문맥을 설명하기 위하여 왼쪽과 오른쪽에 20개의 흰 픽셀들이 추가.
- 모든 라인 이미지들은 높이가 72픽셀로 정규화되었다.
Experimental Setup – Preprocessing
9
Experimental Setup – Feature Extraction
C. Feature Extraction
이 논문에서는 두 종류의 feature를 가지는 데이터를 사용한다.
- handcrafted features : 빛(lighting), 색(color), 날카로움(sharpness) 등을 나타냄 [15]
[15] A.-L et al, “Dynamic and Contextual Information in HMM modeling for Handwriting Recognitions”, IEEE, 2011.
- Raw pixel intensities : 각 픽셀 당 세기(intensities) -> 정규화(normalization)하여 사용.
두 경우 모두 sliding window는 고정된 사이즈의 벡터를 추출하기 위하여 전처리된 이미지의 각 라인을 스캔한다.
10
Experimental Setup – Recurent Neural Networks
D. Recurrent Neural Networks
- For the two types of input features (handcrafted and pixels), we trained Bidirectional LSTM-RNNs.
- The network architectures considered in this paper alternate LSTM layers with recurrent connections in the two
directions (from-left-to-right and from-right-to-left), and feedforward tanh layers.
1) 세 개의 층으로 구성
2) 각 방향의 하나의 LSTM 마다 200개의 유닛
3) 각 글씨(character)에 대하여 하나의 output에 softmax output이 설정
4) sequence에서 부분 샘플링은 하지 않음
5) CTC(Connectionist Temporal Classification) 를 이용하여 RNN을 훈련
6) SGD(Stochastic Gradient Descent and) with a learning rate of 0.001,
7) loss function : the sequence Negative Log-Likelihood (NLL).
-> 20epoch동안 loss가 줄어 들지 않으면 training stop
11
Experimental Setup – Language Model
E. 언어 모델을 이용한 decoding(Decoding with a Language Model)
- 디코딩은 Kaldi toolkit을 이용하여 라인 단위로 수행.
- Rimes의 경우 4-gram language model 사용
- IAM의 경우 3-gram language model 사용
- Bentham의 경우 4-gram language model 사용
* Language Model의 자세한 설명은 생략
12
Experimental Results(A)
A. 어휘 제약이 없는 독립 RNN에서의 다른 위치의 dropout
(Dropout at Different Positions in standalone RNNs without Lexical Constrains)
1) 이 실험에서는 각각의 다른 층에 대한 드롭 아웃 효과를 연구.
LSTM층에 대하여 dropout의 위치의 효과를 비교하고 적용하는 층에 대한 효과를 비교한다.
2) Rimes, IAM과 Bentham 데이터 셋에 대하여 실험을 수행.
3) 언어 모델링없이 RNN을 이용하여 얻은 문자 오류율(RNN-CER%)는 Table 2에 기록.
13
- 하나의 레이어에 하나의 위치에 dropout을 적용할 시 결과
1) Position별 결과 (최고 효과 결과 개수/총 데이터셋 개수)
∙ 각 레이어를 기준으로 Position을 비교해보면, 1st layer를 제외하고,
대체적으로 before에 dropout을 적용하는 것이 inside 또는 after에
적용하는 것이 좋아보이고, inside보다 after에 적용하는 것이 좋아
보인다.
2) Layer별 결과 (최고 효과 결과 개수/총 데이터셋 개수)
∙ 각 Position을 기준으로 Layer를 비교해보면, after의 경우를 제외하고
일반적으로 3rd(top)에 적용하는 것보다 1st 또는 2nd 와 같이 낮은
레이어에 적용하는 것이 낫다.
Experimental Results(A)
14
- 모든 레이어에 적용할 때, 하나의 Position에 적용하는 경우
3) Position별 결과 (최고 효과 결과 개수/총 데이터셋 개수)
before : 4/6
inside : 2/6
after : 0/6
∙ Rimes와 Bentham에 대하여 LSTM의 첫번째 Position인 before를 선택
하는 것이, IAM의 경우 두번째 Position인 inside를 선택하는 것이 최고
의 선택으로 보인다.
∙ 더욱이, 모든 레이어에 적용할 경우, 모든 Position에 적용하는 것보다
알맞은 Position에 적용하는 것이 더 좋다.
Experimental Results(A)
15
- 모든 Position에 적용할 때, 하나의 Layer에 적용하는 경우
4) Layer별 결과 (최고 효과 결과 개수/총 데이터셋 개수)
1st : 5/6
2nd : 1/6
3rd : 0/6
∙ LSTM의 before, inside, after에 모두 dropout을 적용할 경우, 세 번째
(마지막) 레이어를 선택했을 때 제일 좋지 않은 효과를 가진다.
Experimental Results(A)
16
Experimental Results(B)
B. Language Model을 사용한 RNN에 대한 결과(1)
언어 모델을 포함하여 전체 시스템에서 모든 LSTM 레이어에서 서로 다른 위치에 적용한 dropout의 결과를 기록
1) Rimes 데이터에 대하여 RNN 단독 모델의 경우 before에
dropout을 적용한 것이 제일 높았음에도 불구하고, LSTM들의
after에 dropout을 적용하는 것이 가장 좋은 결과를 얻었다.
2) IAM 데이터에 대하여 LSTM들의 inside에 dropout을 적용하는
것이 조금 더 좋은 결과를 얻었다.
Word error rate(WER)
17
Experimental Results(B)
B. Language Model을 사용한 RNN에 대한 결과(2)
표 4에서 dropout position을 다르게 선택(before or after)하여 결합되었을 때의 결과.
낮은 layer에서의 LSTM 전에 dropout을 적용, 상위 layer에서의 LSTM후에 dropout적용.
- RNN만으로(괄호안) 일부 LSTM들 이전(before)에 dropout을 항
상 적용하는 것이 LSTM 전부의 after에 적용하는 것보다 낫다.
- 전체 시스템의 경우 상단(top) LSTM 이후(after)에 드롭 아웃을
추가하면 이전(before)보다 드롭 아웃에 대한 결과가 향상.
- 반면에, 전체 시스템에 대하여 top LSTM after에 dropout을 적용
하는 것이 거의 항상 before에만 적용하는 것보다 향상되고
before와 after의 최상의 조합은 before전체와 after전체에 적용
한 효과보다 좋다.
- Handcrafted Features에서의 최적의 조합은 낮은 layer 2개의
before에 적용, 마지막 layer의 after에 적용하는 것이고 Pixel에
서의 최적의 조합은 before과 after에 전체에 적용하는 것이다.
18
Experimental Results
B. Language Model을 사용한 RNN에 대한 결과(3)
Rimes 데이터의 Handcrafted features를 사용하여 evaluation set에 적용한 최종 결과
IAM 데이터의 Handcrafted features를 사용하여 evaluation set에 적용한 최종 결과
19
Conclusion
- 이 논문에서는 BLSTM-RNNs에서의 다른 position에 dropout이 적용될 때의 효과에 대해서 보였다.
- 오직 LSTM layer들의 이후(after)에 적용하는 것이 항상 최적화되어있는 것이 아니다.
- RNN만 사용하는 경우에 대하여 recurrent connection들의 이전(before)에 적용하는 것이 좋은 선택으로
보인다.
- 완전한 인식 시스템의 경우(RNN+LM), 마지막 LSTM layer의 이후(after)에 적용하는 것이 WER이 개선을
보인다는 점이 중요하다.
- dropout은 이 네트워크의 input과 output에 적용하는 것이 좋은 것으로 보인다.

More Related Content

What's hot

머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical Model머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical Model
Jungkyu Lee
 
Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...
taeseon ryu
 

What's hot (14)

Howto_Tensorflow+Linear Regression
Howto_Tensorflow+Linear RegressionHowto_Tensorflow+Linear Regression
Howto_Tensorflow+Linear Regression
 
8. Logistic Regression
8. Logistic Regression8. Logistic Regression
8. Logistic Regression
 
Slam algorithms
Slam algorithmsSlam algorithms
Slam algorithms
 
머피's 머신러닝, Mixture model and EM algorithm
머피's 머신러닝, Mixture model and EM algorithm머피's 머신러닝, Mixture model and EM algorithm
머피's 머신러닝, Mixture model and EM algorithm
 
여러 컨볼루션 레이어 테크닉과 경량화 기법들
여러 컨볼루션 레이어 테크닉과 경량화 기법들여러 컨볼루션 레이어 테크닉과 경량화 기법들
여러 컨볼루션 레이어 테크닉과 경량화 기법들
 
A Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding AutoencoderA Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding Autoencoder
 
Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명
 
머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical Model머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical Model
 
Rnn개념정리
Rnn개념정리Rnn개념정리
Rnn개념정리
 
Chapter 9 - convolutional networks
Chapter 9 - convolutional networksChapter 9 - convolutional networks
Chapter 9 - convolutional networks
 
Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...
 
Attention is all you need 설명
Attention is all you need 설명Attention is all you need 설명
Attention is all you need 설명
 
Chapter 10 sequence modeling recurrent and recursive nets
Chapter 10 sequence modeling recurrent and recursive netsChapter 10 sequence modeling recurrent and recursive nets
Chapter 10 sequence modeling recurrent and recursive nets
 
FCN to DeepLab.v3+
FCN to DeepLab.v3+FCN to DeepLab.v3+
FCN to DeepLab.v3+
 

Similar to Where to Apply Dropout in Recurrent Neural Networks for Handwriting Recognition?

컴퓨터 프로그램 구조와 해석 3.5
컴퓨터 프로그램 구조와 해석 3.5컴퓨터 프로그램 구조와 해석 3.5
컴퓨터 프로그램 구조와 해석 3.5
HyeonSeok Choi
 
15.ai term project_final
15.ai term project_final15.ai term project_final
15.ai term project_final
호상 장
 

Similar to Where to Apply Dropout in Recurrent Neural Networks for Handwriting Recognition? (20)

Character-Aware Neural Language Models
Character-Aware Neural Language ModelsCharacter-Aware Neural Language Models
Character-Aware Neural Language Models
 
MRC recent trend_ppt
MRC recent trend_pptMRC recent trend_ppt
MRC recent trend_ppt
 
[224] 번역 모델 기반_질의_교정_시스템
[224] 번역 모델 기반_질의_교정_시스템[224] 번역 모델 기반_질의_교정_시스템
[224] 번역 모델 기반_질의_교정_시스템
 
deep encoder, shallow decoder reevaluating non-autoregressive machine transl...
deep encoder, shallow decoder  reevaluating non-autoregressive machine transl...deep encoder, shallow decoder  reevaluating non-autoregressive machine transl...
deep encoder, shallow decoder reevaluating non-autoregressive machine transl...
 
CNN
CNNCNN
CNN
 
Convolutional rnn
Convolutional rnnConvolutional rnn
Convolutional rnn
 
DP 알고리즘에 대해 알아보자.pdf
DP 알고리즘에 대해 알아보자.pdfDP 알고리즘에 대해 알아보자.pdf
DP 알고리즘에 대해 알아보자.pdf
 
3.unsupervised learing
3.unsupervised learing3.unsupervised learing
3.unsupervised learing
 
Neural Machine Translation 기반의 영어-일본어 자동번역
Neural Machine Translation 기반의 영어-일본어 자동번역Neural Machine Translation 기반의 영어-일본어 자동번역
Neural Machine Translation 기반의 영어-일본어 자동번역
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical Methodology
 
Mlp logical input pattern classfication report doc
Mlp logical input pattern classfication report docMlp logical input pattern classfication report doc
Mlp logical input pattern classfication report doc
 
3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)
 
파이콘 한국 2019 튜토리얼 - LRP (Part 2)
파이콘 한국 2019 튜토리얼 - LRP (Part 2)파이콘 한국 2019 튜토리얼 - LRP (Part 2)
파이콘 한국 2019 튜토리얼 - LRP (Part 2)
 
Dl from scratch(7)
Dl from scratch(7)Dl from scratch(7)
Dl from scratch(7)
 
2.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-22.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-2
 
컴퓨터 프로그램 구조와 해석 3.5
컴퓨터 프로그램 구조와 해석 3.5컴퓨터 프로그램 구조와 해석 3.5
컴퓨터 프로그램 구조와 해석 3.5
 
자연어5 | 1차강의
자연어5 | 1차강의자연어5 | 1차강의
자연어5 | 1차강의
 
2012 Ds 01
2012 Ds 012012 Ds 01
2012 Ds 01
 
Machine translation survey vol2
Machine translation survey   vol2Machine translation survey   vol2
Machine translation survey vol2
 
15.ai term project_final
15.ai term project_final15.ai term project_final
15.ai term project_final
 

More from Lee Gyeong Hoon (7)

Nlp study1
Nlp study1Nlp study1
Nlp study1
 
Vae
VaeVae
Vae
 
Mylab
MylabMylab
Mylab
 
Gan
GanGan
Gan
 
Svmtf
SvmtfSvmtf
Svmtf
 
The fastalgorithmfordeepbeliefnets
The fastalgorithmfordeepbeliefnetsThe fastalgorithmfordeepbeliefnets
The fastalgorithmfordeepbeliefnets
 
세미나 20170929
세미나 20170929세미나 20170929
세미나 20170929
 

Recently uploaded

Recently uploaded (8)

공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 

Where to Apply Dropout in Recurrent Neural Networks for Handwriting Recognition?

  • 1. Where to Apply Dropout in Recurrent Neural Networks for Handwriting Recognition? Gyeong-hoon Lee Chungnam National University e-mail : ghlee0304@cnu.ac.kr [Data Mining Lab Seminar] Aug. 7. 2017
  • 2. 1 Abstract 1. 드롭 아웃 기법 : 신경망을 위한 데이터 기반(data-driven)의 정규화 방법. 2. 훈련 도중 히든 레이어의 유닛을 일정한 확률로 탈락하여 각 훈련 과정을 반복하면 가중치를 공유하는 지수적 구조의 네트워크를 샘플링하는 것과 동일한 효과를 얻음. 3. Dropout은 speech recognition 및 computer vision의 다양한 작업에 대하여 MLP와 CNN의 적용되어옴. 4. 이 논문 이전에 MDLSTM-RNN에서 손글씨 단어 및 line 인식을 위해 dropout을 사용하는 방법을 제안함. MDLSTM-RNN(Multi-Dimensional LSTM – RNN) 5. 이 논문에서는 LSTM에서 상대적으로 더 나은 위치에 dropout을 다르게 적용함으로써 더 많은 개선이 이루어졌음을 보임.
  • 3. 2 Introduction 1. Dropout은 효율적인 정규화 방법이라는 것이 알려져 있다. 2. 일부 논문에서는 dropout반복적인 층을 가진 아키텍처에서 일반화 능력을 상당히 증가시킬 수 있음을 보여주었다. 3. 특히 [4] 에서는 손글씨 문자 인식에 대하여, [7] 에서 언어 모델링과 음성인식에 대하여 dropout이 이루어짐. 5. [4]에서는 모든 반복 연결(recurrent connections)이 전체 입력에 대하여 계산이 된 후 dropout이 적용된다. 6. [7]에서 dropout은 두 개의 LSTM 레이어 사이에 적용된다. * dashed arrow에 dropout이 적용
  • 4. 3 Introduction 7. LSTM cell의 내부 혹은 그 전에 적용하지 않는 것은 LSTM 세포 내의 암기능력을 위협하는 것을 방지하는 것이다. 8. 하지만, 이 논문에서는 LSTM 네트워크에서 드롭 아웃에 가장 적합한 장소를 이론적으로 기반하지 않고 어디에서 적용 해야하는지를 테스트하기 위한 광범위한 실험을 수행한다. 9. 실험 결과에 따르면 dropout을 위한 최적의 장소는 [4]와 [7]에 의해 직관적으로 선택되지 않은 장소이다.
  • 5. 4 Different places where dropout can be applied 1. [4]와 [7]에서, 드롭 아웃은 LSTM 의 바깥쪽에만 사용되므로 반복 연결에 영향을 미치지 않는다. 2. 이론적으로 두 개의 레이어간에 드롭아웃을 적용할 수 있다. 단, 활성화 함수를 거친 후에 사용한다. 3. 그림 1은 LSTM 레이어와 관련하여 드롭 아웃이 적용될 수 있는 여러 장소를 설명한다. 4. LSTM 레이어는 재귀(왼쪽에서 오른쪽으로, 오른쪽에서 왼쪽으로)를 나타내는 수평 화살표가 있는 레이어이다.
  • 6. 5 Different places where dropout can be applied (a) Before : LSTM의 모든 입력에 대해 적용 두 가지의 가능성이 있다. 첫번째는 두 방향에 동일한 LSTM입력을 dropout하는 것이다. 다른 방법은 left-to-right LSTM 및 from-right-to-left LSTM에 대해 dropout할 다른 입력을 샘플링하는 것이다. 경험적 결과가 대략적으로 동일하고 첫번째 옵션으로 결과를 제시한다. (b) Inside : recurrence loop안에 LSTM의 output 값들에 대해 적용 즉 t+1번째 output을 계산하기 전에 t번째의 output에 적용 (c) After : 모든 recurrence iteration들 이후에 LSTM output에 적용
  • 7. 6 Experimental Setup – Databases A. Databases - Rimes - The Rimes database[11] 은 시뮬레이션 된 프랑스어 메일의 손글씨 문자들의 이미지들로 이루어져있다. 이 논문은 ICDAR 2011 대회의 설정을 따른다. - 이용 가능한 데이터는 1,500 단락의 학습 세트이며, 이미지에서 수동으로 추출되며, 100단락의 평가세트이다. - 훈련 세터의 마지막 149개 단락(약 10%)을 검증 세트로 제시하고 나머지 1,391 개의 단락에 대해 시스템을 학습한다
  • 8. 7 A. Databases - IAM - The IAM dadtabase[12]는 손글씨 페이지들의 이미지들로 이루어져 있음. - 다른 작성자에 의해 복사된 LOB corpus (Lancaster-Oslo/Bergen Corpus) 로부터 추출한 영어 텍스트에 해당한다. - 데이터베이스는 학습을 위해 747개의 이미지, 유효성 검사를 위해 116개의 이미지, 평가를 위해 336개의 이미지로 분리된다. • LOB corpus : 1970년대에 컴파일 된 영국 영어 텍스트의 백만 단어 모음집. A. Databases - Bentham - 18세기와 19세기 경 영국 철학자 Jeremy Bentham의 개인 메모 이미지가 포함되어 있음. - 이 논문에서는 HTRtS competition[13]의 설정을 따름. - 훈련집합 : 350 page, 평가집합(validation set) : 50 page, 테스트집합 : 33page - 모든 이미지는 300DPI의 해상도를 가지고 있음. - 이미지에서 측정된 평균 문자 폭 Rimes : 38px, IAM : 39px, Bentham : 33px Experimental Setup – Databases
  • 9. 8 B. Preprocessing - 이 시스템들은 주석이 달린 텍스트 라인으로부터 학습되어진다. - 라인은 [14]에 설명 된 접근법을 사용하여 제거됩니다. [14] R.Buse et al, “A structural and relational approach to handwritten word recognition”, IEEE, 1997 - 대비는 가장 어두운 픽셀을 검정색으로 5%로 매핑하고, 가장 밝은 색을 하얀색으로 70%로 매핑하여 사이를 선형 보간을 하여 quasi-binarized 이미지를 생성. - 빈 문맥을 설명하기 위하여 왼쪽과 오른쪽에 20개의 흰 픽셀들이 추가. - 모든 라인 이미지들은 높이가 72픽셀로 정규화되었다. Experimental Setup – Preprocessing
  • 10. 9 Experimental Setup – Feature Extraction C. Feature Extraction 이 논문에서는 두 종류의 feature를 가지는 데이터를 사용한다. - handcrafted features : 빛(lighting), 색(color), 날카로움(sharpness) 등을 나타냄 [15] [15] A.-L et al, “Dynamic and Contextual Information in HMM modeling for Handwriting Recognitions”, IEEE, 2011. - Raw pixel intensities : 각 픽셀 당 세기(intensities) -> 정규화(normalization)하여 사용. 두 경우 모두 sliding window는 고정된 사이즈의 벡터를 추출하기 위하여 전처리된 이미지의 각 라인을 스캔한다.
  • 11. 10 Experimental Setup – Recurent Neural Networks D. Recurrent Neural Networks - For the two types of input features (handcrafted and pixels), we trained Bidirectional LSTM-RNNs. - The network architectures considered in this paper alternate LSTM layers with recurrent connections in the two directions (from-left-to-right and from-right-to-left), and feedforward tanh layers. 1) 세 개의 층으로 구성 2) 각 방향의 하나의 LSTM 마다 200개의 유닛 3) 각 글씨(character)에 대하여 하나의 output에 softmax output이 설정 4) sequence에서 부분 샘플링은 하지 않음 5) CTC(Connectionist Temporal Classification) 를 이용하여 RNN을 훈련 6) SGD(Stochastic Gradient Descent and) with a learning rate of 0.001, 7) loss function : the sequence Negative Log-Likelihood (NLL). -> 20epoch동안 loss가 줄어 들지 않으면 training stop
  • 12. 11 Experimental Setup – Language Model E. 언어 모델을 이용한 decoding(Decoding with a Language Model) - 디코딩은 Kaldi toolkit을 이용하여 라인 단위로 수행. - Rimes의 경우 4-gram language model 사용 - IAM의 경우 3-gram language model 사용 - Bentham의 경우 4-gram language model 사용 * Language Model의 자세한 설명은 생략
  • 13. 12 Experimental Results(A) A. 어휘 제약이 없는 독립 RNN에서의 다른 위치의 dropout (Dropout at Different Positions in standalone RNNs without Lexical Constrains) 1) 이 실험에서는 각각의 다른 층에 대한 드롭 아웃 효과를 연구. LSTM층에 대하여 dropout의 위치의 효과를 비교하고 적용하는 층에 대한 효과를 비교한다. 2) Rimes, IAM과 Bentham 데이터 셋에 대하여 실험을 수행. 3) 언어 모델링없이 RNN을 이용하여 얻은 문자 오류율(RNN-CER%)는 Table 2에 기록.
  • 14. 13 - 하나의 레이어에 하나의 위치에 dropout을 적용할 시 결과 1) Position별 결과 (최고 효과 결과 개수/총 데이터셋 개수) ∙ 각 레이어를 기준으로 Position을 비교해보면, 1st layer를 제외하고, 대체적으로 before에 dropout을 적용하는 것이 inside 또는 after에 적용하는 것이 좋아보이고, inside보다 after에 적용하는 것이 좋아 보인다. 2) Layer별 결과 (최고 효과 결과 개수/총 데이터셋 개수) ∙ 각 Position을 기준으로 Layer를 비교해보면, after의 경우를 제외하고 일반적으로 3rd(top)에 적용하는 것보다 1st 또는 2nd 와 같이 낮은 레이어에 적용하는 것이 낫다. Experimental Results(A)
  • 15. 14 - 모든 레이어에 적용할 때, 하나의 Position에 적용하는 경우 3) Position별 결과 (최고 효과 결과 개수/총 데이터셋 개수) before : 4/6 inside : 2/6 after : 0/6 ∙ Rimes와 Bentham에 대하여 LSTM의 첫번째 Position인 before를 선택 하는 것이, IAM의 경우 두번째 Position인 inside를 선택하는 것이 최고 의 선택으로 보인다. ∙ 더욱이, 모든 레이어에 적용할 경우, 모든 Position에 적용하는 것보다 알맞은 Position에 적용하는 것이 더 좋다. Experimental Results(A)
  • 16. 15 - 모든 Position에 적용할 때, 하나의 Layer에 적용하는 경우 4) Layer별 결과 (최고 효과 결과 개수/총 데이터셋 개수) 1st : 5/6 2nd : 1/6 3rd : 0/6 ∙ LSTM의 before, inside, after에 모두 dropout을 적용할 경우, 세 번째 (마지막) 레이어를 선택했을 때 제일 좋지 않은 효과를 가진다. Experimental Results(A)
  • 17. 16 Experimental Results(B) B. Language Model을 사용한 RNN에 대한 결과(1) 언어 모델을 포함하여 전체 시스템에서 모든 LSTM 레이어에서 서로 다른 위치에 적용한 dropout의 결과를 기록 1) Rimes 데이터에 대하여 RNN 단독 모델의 경우 before에 dropout을 적용한 것이 제일 높았음에도 불구하고, LSTM들의 after에 dropout을 적용하는 것이 가장 좋은 결과를 얻었다. 2) IAM 데이터에 대하여 LSTM들의 inside에 dropout을 적용하는 것이 조금 더 좋은 결과를 얻었다. Word error rate(WER)
  • 18. 17 Experimental Results(B) B. Language Model을 사용한 RNN에 대한 결과(2) 표 4에서 dropout position을 다르게 선택(before or after)하여 결합되었을 때의 결과. 낮은 layer에서의 LSTM 전에 dropout을 적용, 상위 layer에서의 LSTM후에 dropout적용. - RNN만으로(괄호안) 일부 LSTM들 이전(before)에 dropout을 항 상 적용하는 것이 LSTM 전부의 after에 적용하는 것보다 낫다. - 전체 시스템의 경우 상단(top) LSTM 이후(after)에 드롭 아웃을 추가하면 이전(before)보다 드롭 아웃에 대한 결과가 향상. - 반면에, 전체 시스템에 대하여 top LSTM after에 dropout을 적용 하는 것이 거의 항상 before에만 적용하는 것보다 향상되고 before와 after의 최상의 조합은 before전체와 after전체에 적용 한 효과보다 좋다. - Handcrafted Features에서의 최적의 조합은 낮은 layer 2개의 before에 적용, 마지막 layer의 after에 적용하는 것이고 Pixel에 서의 최적의 조합은 before과 after에 전체에 적용하는 것이다.
  • 19. 18 Experimental Results B. Language Model을 사용한 RNN에 대한 결과(3) Rimes 데이터의 Handcrafted features를 사용하여 evaluation set에 적용한 최종 결과 IAM 데이터의 Handcrafted features를 사용하여 evaluation set에 적용한 최종 결과
  • 20. 19 Conclusion - 이 논문에서는 BLSTM-RNNs에서의 다른 position에 dropout이 적용될 때의 효과에 대해서 보였다. - 오직 LSTM layer들의 이후(after)에 적용하는 것이 항상 최적화되어있는 것이 아니다. - RNN만 사용하는 경우에 대하여 recurrent connection들의 이전(before)에 적용하는 것이 좋은 선택으로 보인다. - 완전한 인식 시스템의 경우(RNN+LM), 마지막 LSTM layer의 이후(after)에 적용하는 것이 WER이 개선을 보인다는 점이 중요하다. - dropout은 이 네트워크의 input과 output에 적용하는 것이 좋은 것으로 보인다.