最近在學習語音識別的知識,發現李宏毅老師今年也出了相應的視頻,相應的課件可以從下面的位置獲取:http://speech.ee.ntu.edu.tw/~tlkagk/courses_DLHLP20.html
Youtube視頻:
https://youtu.be/AIKu43goh-8
https://youtu.be/BdUeBa6NbXA
https://youtu.be/CGuLuBaLIeI
課件:
http://speech.ee.ntu.edu.tw/~tlkagk/courses/DLHLP20/ASR%20%28v12%29.pdf
CTC
CTC的全稱是Connectionist Temporal Classification
Model
爲了做到Online speech recognition,encoder只能使用uni-directional RNN,不能使用bi-directional RNN.
然後,將直接輸入到線性classifier中,生成對應token distribution。左側爲classifier的設計。
其中,代表不可識別的符號。
CTC將輸出的token做處理,參考下面的圖。之前看過比較好的介紹,也可以參考:https://zhuanlan.zhihu.com/p/42719047
Train
CTC在訓練過程中,存在的一個問題:因爲文本的長度可能遠小於語音的長度,所以,預測的token要比label多很多,而且,其中,還包含了無效字符,那麼,如何讓label和預測的token對齊?
像下面這個案例,就可能有很多做組合,最後的結果都是“好棒”。
在訓練過程中,應該拿哪一個來做label,後面會詳細介紹。
CTC的侷限
CTC一般配合LM一起使用,要不然WER會比較高。所以,有人認爲CTC不屬於end-to-end model的範圍。
CTC的侷限
所以,經過學習以後,可以發現:LAS的encoder就是CTC。