이번에 리뷰할 논문은 Facebook AI에서 발표한, Self-Training for End-to-End Speech Recognition [1] 이며, Pseudo labels을 활용한 self-training에 대한 내용임
Overview
1. Self-training with pseudo-labels
2. Pseudo-labelled data set을 사용한 학습이 기준 모델의 정확도를 크게 향상시킬 수 있음을 보임
- 작은 쌍의 labeled 데이터셋에서 강력한 베이스라인 (음향 모델) training
- Pseudo-label을 생성하기 위해 대규모 text corpus에서 훈련된 LM으로 안정적인 디코딩 수행
- 시퀀스 간 모델의 일반적인 error에 조정된 filtering mechanism 제안
- Seq2Seq 모델에서 자주 접하게 되는 실수를 해결 하기 위해, 제안하는 pseudo-label filtering에 대한 heuristic 및 confidence-based approach 평가
-> Looping and early stopping
- 또한, 학습 중 여러 모델을 결합하는 앙상블 접근 방식 제안
-> 레이블 다양성을 개선하고 모델이 잡음이 있는 pseudo-label에 대해 지나치게 확신하지 않도록 함
Background & Issue
1. ASR 시스템을 구축하기 위해 많은 양의 transcribed data 필요
- Labeled 데이터 양이 감소하면 end-to-end 모델의 성능 저하
- 많은 양의 오디오를 transcribing 하는 것은 expensive, time-consuming
- Unpaired audio and text를 활용하기 위해 semi-supervised learning이 제안됨
2. Self-training
- Semi-supervised learning 기법 중 하나인 self-training 방법 채용
- 훨씬 더 작은 labeled 데이터에서 학습된 모델로부터 생성된 잡음이 있는 label을 사용
Proposed model
1. Baseline model architecture [2]

- 앞서 리뷰한 TDS block 논문 아키텍처를 사용
2. Inference
- Beam search를 사용하여 가능성이 가장 높은 hypothesis 탐색
ˉY=argmaxYlogPAM(Y|X)+αlogPLM(Y)+β|Y| ...(1)
- α는 LM의 weight임
- β는 seq2seq 모델에서 흔히 볼 수있는 조기 중지 문제를 피하기위한 토큰 insertion [3]
-> 디코딩 중에 발생하는 모델의 실수로 인해, 음성의 특정 frame을 건너 뛰어 일부 단어가 decoding이 안되는 문제
-> 이는 특히 외부 언어 모델을 사용할 때 많이 발생
- [2]의 모델을 활용하여 decoder 안정화 (random sampling, EOS threshold)
logPu(EOS|y<u)<γ⋅maxc≠EOSlogPu(c|y<u)
- 위의 식이 성립될 경우에 EOS 사용
- γ는 튜닝 가능한 hyperparameter임
3. Semi-supervised Self-training
1) Supervised learning setting
- 우리가 많이 사용하는 supervised learning setting은 입력 X와 그에 해당하는 label Y가 있으며, 이를 paired dataset이라 부름. 이는 아래와 같음
D=(X1,Y1),...,(Xn,Yn)
- 아래의 식처럼, D에 대해 학습된 모델은 레이블이 있는 Y에 주어진 ground-truth의 가능성을 최대화 함
∑(X,Y)∈DlogP(Y|X) ...(2)
2) Semi-supervised setting
- mathcalD 외에 label이 없는 오디오 데이터 세트 X 및 페어링되지 않은 텍스트 데이터 세트 mathcalY 만 포함 됨
- 먼저, 식 (2)를 최대화하여 mathcalD에서 AM 모델을 훈련함
- 둘째, mathcalY에서 LM 교육
- 셋째, 두 모델을 결합하여 식 (1)을 적용하고, label이 지정되지 않은 각 데이터에 대한 pseudo label을 생성하고, 아래와 같이 paired pseudo label을 이룬 데이터 세트를 얻음
D=(Xi,¯Yi)|Xi∈X
- 마지막으로 새 AM은 mathcalD와 D의 조합에 대해 아래와 같은 목표로 훈련 할 수 있음
∑(X,Y)∈DlogP(Y|X)+∑(X,Y)∈DlogP(ˉY|X)
3) Proposed filtering
- Pseudo-labelled dataset ˉD는 noisy ˉY를 포함하고 있음
- Filtering은 ˉD의 크기와 pseudo-label 사이에 balance를 이루기 위해 사용됨
- Seq2seq에 특화된 두 가지 heuristic-based filtering 기능 제안
-> Confidence-based filtering [4]과 추가 결합 가능하며, 문장 수준에 적용
-> c번 이상 반복되는 n-gram을 포함하는 pseudo-label을 제거하여 루프를 필터링 함
-> EOS확률이 threshold 이상인 ˆY을 유지함으로써, early stopping을 해결할 수 있음
-> 또한, 완전한 ˆY을 찾지 않고 beam search이 종료되는 경우에 대해서도 필터링 함
4) Confidence-based filtering [4]
- Decoder가 디코딩 된 ˉY에 대해 얼마나 확신하는가?
- Sentence-level confidence Csent는 아래의 식인 평균 단어 신뢰도로 계산됨
Csent1N∑Ni=1cwi
- Word confidence cwi는 Confusion Network [5]의 i번째 step에 있는 단어 wi의 사후 확률임
- Word sequence 및 posterior 값은 예상되는 WER을 최소화하는 Minimum Bayes Risk Decoding [6]에 의해 얻어짐
5) Confusion network [5]
- 디코딩 결과가 얼마나 정확한지 검증하는 기법으로 사용 됨
- Word graph 혹은 Finite-state Machine에서 state 간 transition 스코어의 합이 1이 되도록 확률로 normalize한 모델

- 이외에도 알아두면 좋을 것들: Lattice-based word error minimization algorithm
-> Lattice alignment algorithm
-> Intra-word clustering
-> Inter-word clustering
-> Pruning
-> The consensus hypothesis
-> Score scaling
- 올해 안에 확인해보기
6) Minimum Bayes decoding [6]
- ASR에 사용되는 MAP rule은 다음과 같음
W∗=argmaxwP(W|O)
- W 는 word-sequence 이고, O는 observation sequence이며
- 이를 통해 WER과 관련된 Minimum Bayes Risk 추정치 제공 (Levenshtein edit distance를 기준으로 WER 사용하기 때문)
W∗=argminw∑w′P(W′|OL(W,W′))
- 여기에서 L(W,W′)는 word sequence W와 W′사이의 Levenshtein edit distance임
- 또한, P(W′|O)는 모델에 의해 W′에 할당된 posterior 확률임
다시 3)으로 돌아와서, - 각 pseudo-label에 대해 seq2seq에서 length-normalized log likelihood를 confidence score로 계산한 것은 아래의 식과 같음
ConfidenceScore(¯Yi)=logPAM(¯Yi|Xi)|¯Yi|
- 여기에서 |¯Yi|는 각 발화의 토큰 수임
7) Ensembles in self-training
7-1) 문제점
- Self-training에서 여러 모델을 활용하는 방법은 추론 중 모델들의 score 결합
- 더 높은 품질의 single pseudo-labelled 세트를 생성할 수 있음
- 하지만 $M$이 증가하면 디코딩 프로세스가 heavyweight 됨
7-2) Proposed sample ensemble
- Given $M$ bootstrapped AM, 각 모델에 대한 pseudo-labelled 된 dataset ¯Dm을 병렬로 생성
- 이후 pseudo-label의 모든 $M$ set을 uniform 가중치와 combine
- 훈련 중 아래의 식을 최적화
∑(X,Y∈D)logP(Y|X)+1M∑Mm=1∑X,Y∈DmlogP(ˉY|X)
- Implementation으로, 먼저 labelled $\mathcal{D}$를 이용하여 randomly initialized weights로 모델 M 학습
- 이후, 각각의 모델에 맞춰 tuning된 hyper-parameter로 ¯Dm생성
- 학습 동안, 모델 $M$중 하나에서 매 epoch마다 target으로 pseudo-label을 균일하게 샘플링함
Experiments
1. Data (LibriSpeech)
- Paired dataset: Train-clean 100
- Unpaired dataset (clean): Train-clean-360
- Unparied dataset (noisy): Train-other-500
- Realistic for self training
-> LibriSpeech는 총 14,476권의 공개 도서에서 파생되어 생성된 데이터셋임
-> LM을 위한 훈련 데이터에서 AM 훈련 셋과 관련된 모든 책 제거 (997개)
- NLTK toolkit for text normalization
--> 문장 분할 적용, 소문자로 모두 변경, ` 를 제외한 구두점 제거, 하이픈 공백으로 대체
2. Model
- 각각 10, 14 및 16 채널과 k = 21이 있는 3 개 그룹의 9 개의 TDS 블록
- Soft-window 사전 교육 (attention 수렴을 위해), teacher-forcing, 20%의 dropout, 1%의 random sampling, 10%의 Label smoothing, 정규화를위한 1%의 word piece sampling
- SentencePiece [7]을 사용하여 "train-clean-100"의 transcripts에서 5,000 개의 word piece을 대상 토큰으로 계산
3. Training
- Pseudo-labels 학습시 8GPUs 사용
- Learning rate가 0.05 인 200 Epoch 동안 momentum이 없는 SGD 사용
- GPU 1개를 사용할 때 Epoch 40마다 0.5 씩 decay, GPU 8개에 Epoch 80 개씩 decay 먹임
- wav2letter ++ 프레임 워크 사용 [8]
4. LM
- ConvLM [9]과 동일한 model architecture 및 학습 방법 사용하여 word piece 학습
- 모든 beam search hyper-parameter는 pseudo-label 생성 전 dev set에서 조정
Results
1. Label measure
- Ground truth와 비교하여 필터링 된 pseudo-label의 WER로 정의함 (논문 자체에서 이렇게 했다는 말임)
2. Heuristic filtering

- No EOS + n-gram필터를 c=2,n=4에 적용
- 이후 필터링 된 데이터 세트 위에 confidence-based filtering 추가
- Confidence score에 대한 threshold 조정 시 pseudo-label 품질 개선됨 (그림 참조)
3. Model ensembles

- 여러 모델을 결합하면 특히 노이즈가 많은 설정에서 성능 향상
- 6개 모델과 heuristic filtering을 통해 13.7%의 상대적 개선률 획득
- 두 가지 필터링 기술이 ensemble과 효과적으로 결합 됨을 보임
- Sample ensemble이 학습 시간에 동일한 utterance에 대해 서로 다른 transcript를 사용하기 때문에 모델이 noise가 포함된 pseudo-label에 지나치게 확신하는 것을 방지함

4. Comparison with Literature
- 원본 책(label)과 비교를 하였는데 이때 쓰인 measure는 WRR (WER Recovery Rate) 이며 아래와 같음
baselineWER−semi−supervisedWERbaselineWER−oracleWER
- WRR를 통해 pseudo-label과 연결할 수 있는 baseline과 oracle 사이의 간격을 보임

5. Comparison with other semi-supervised learning

- Seq2seq model에서 동일한 음성으로 실험 조건 세팅
- 기존 연구 (semi-supervised)
--> Cycle TTE [10]: input과 output사이에 cycle-consistency loss 도입
--> ASR+TTS [11]: TTS 모듈을 활용하여 unpaired text에서 합성 데이터 생성
- 제안한 Self-training 방법이 기존 연구 보다 약 65.1% 우수한 WER 생성
Why?
- TDS 기반 encoder
- 실제 설정에서 쉽게 얻을 수 있는 훨씬 더 큰 unpaired text corpus 활용
Conclusion
- 대규모 Unlabelled dataset을 이용한 self-training은 end-to-end 시스템의 상당한 개선을 가져옴
- 기존의 Seq2seq 모델 및 앙상블에서 발생하는 문제점에 맞게 조정된 필터링 메커니즘의 효과
- Self-training에도 효과적임을 보임
- TDS block 및 이 논문 모두 Decoding, External LM 등에 대한 사전 지식이 있어야 충분히 이해할 수 있는 레벨이었음
- 소량의 Self-training을 통해 data augmentation 효과 및 unseen data의 distribution등의 개선을 기대할 수 있을 것 같고, real scenario에 사용해봄직 함
[1] Kahn, Jacob, Ann Lee, and Awni Hannun. "Self-training for end-to-end speech recognition." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.
[2] Kahn, Jacob, Ann Lee, and Awni Hannun. "Self-training for end-to-end speech recognition." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.
[3] Chorowski, Jan, and Navdeep Jaitly. "Towards Better Decoding and Language Model Integration in Sequence to Sequence Models." Proc. Interspeech 2017 (2017): 523-527.
[4] Veselý, Karel, Mirko Hannemann, and Lukáš Burget. "Semi-supervised training of deep neural networks." 2013 IEEE Workshop on Automatic Speech Recognition and Understanding. IEEE, 2013.
[5] Mangu, Lidia, Eric Brill, and Andreas Stolcke. "Finding consensus in speech recognition: word error minimization and other applications of confusion networks." Computer Speech & Language 14.4 (2000): 373-400.
[6] Xu, Haihua, et al. "An improved consensus-like method for Minimum Bayes Risk decoding and lattice combination." 2010 IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2010.
[7] Kudo, Taku, and John Richardson. "SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processing." Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing: System Demonstrations. 2018.
[8] Vineel Pratap, Awni Hannun, Qiantong Xu, Jeff Cai, Jacob Kahn, Gabriel Synnaeve, et al., "Wav2letter++: A fast opensource speech recognition system", International Conference on Acoustics Speech and Signal Processing (ICASSP), 2019.
[9] Dauphin, Yann N., et al. "Language modeling with gated convolutional networks." International conference on machine learning. PMLR, 2017.
[10] Takaaki Hori, Ramon Astudillo, Tomoki Hayashi, Yu Zhang, Shinji Watanabe and Jonathan Le Roux, "Cycle-consistency training for end-to-end speech recognition", International Conference on Acoustics Speech and Signal Processing (ICASSP), 2019.
[11] Murali Karthick Baskar, Shinji Watanabe, Ramon Astudillo, Takaaki Hori, Luk áš Burget and Jan Černockỳ, "Semi-supervised sequence-to-sequence ASR using unpaired speech and text", Interspeech, 2019.
'Paper Review > Speech Recognition' 카테고리의 다른 글
Almost Unsupervised Text to Speech and Automatic Speech Recognition 리뷰 (0) | 2021.07.05 |
---|---|
Sequence-to-sequence speech recognition with time-depth separable convolutions 리뷰 (0) | 2021.07.04 |
SpecAugment 리뷰 (2) | 2021.01.10 |
Feature Learning in Deep Neural Networks - A Study on Speech Recognition Tasks (0) | 2021.01.08 |
Listen, Attend and Spell 리뷰 (0) | 2019.03.19 |