[DLHLP 2020] Speech Recognition (5/7) — Alignment of HMM, CTC and RNN-T (optional)
前一章講解完HMM的模型後,本章將回到End-to-end的語音模型來介紹。End-to-end的模型基本上都是在計算P(Y|X)的機率。以LAS為例,我們就是在給定的語音特徵下(X)下,去計算可能獲取最終的詞句(Y)的機率大小。
若P(y|x)是一個聲音訊號的計算機率,當要訓練一段聲音訊號的時候,則可以參考圖一右下角卡通圖:每一段聲音訊號都會生成一個結果並放入下一個聲音訊號來訓練,則 P(Y|X) = p(a|X)p(b|a,X)…。值得一提的是,由於我們在解譯(Decoding)的時候,不太可能窮舉所有結果訊來訓練,因此我們需要Beam Search來協助我們進行解譯,解譯的過程可以說是在給定的X條件下,努力地找到最大的Y的結果。
Decoding: Y* = arg max(Y) logP(Y|X)
接下來的課程針對HMM, CTC, RNN-T 將會討論幾件事情:
- 如何窮舉可能的alignments?
- 如何將所有alignments加總?
- 兩種類的模型是如何進行訓練?
1. 如何窮舉可能的alignments?
speech — — →Speech recognition — — →Text
HMM
cat(Y) — — →duplicate to length T — — →ccaaat, caaaat, ….(h∈align (Y))
CTC
cat(Y) — — →duplicate/addØ to length T — — →cØaatt, ØcaØtØ, …
RNN-T
cat(Y) — — →add Ø*T — — →cØØØaØØtØ, cØØaØØtØØ,……
總結:三個模型是如何完成state的窮舉,若將上方所說的方格表簡化則如下: