當前位置: 華文問答 > 數位

基於CTC等端到端語音辨識方法的出現是否標誌著統治數年的HMM方法終結?

2017-05-08數位

我覺得首先要明確的是HMM是一個數學過程,很多東西都可以等效於HMM。其次,就是所謂「端到端」的意義,不同的定義下包括了:

1. 聲學模型自動學習時間對準:這是一個很狹義的端到端定義且顯然不是一個恰當的定義,因為傳統上所有語音辨識系統都是這麽做的。

2. 聲學模型自動學習時間對準 + grapheme建模:這主要是說聲學模型的建模單元可以是拼寫用的字母,而不是字典中的音標相關的單元。這樣辨識器就可以直接輸出詞串而無需額外的字典了。grapheme的研究在語音辨識中已經存在了很多年,2014年Alex Graves將它與CTC結合發表了基於CTC的端到端系統(當然還包括一個借鑒了類似MMI和MBR思路的改進的CTC準則)。

3. 基於機器轉譯中流行的encoder-decoder模型的思路:使用單一的「序列到序列」模型聯合學習了聲學模型、語言模型、字典等等語音辨識中的所有模組。對字典的學習仍然主要是基於grapheme的思路。

4. raw waveform的聲學模型:2014年Google和RWTH Aachen分別獨立的研究了直接使用原始的waveform而不是經過FFT以及分幀加窗等預處理過的語音特征做聲學模型建模的問題,並且逐漸得到了和傳統方法相近的結果。這也可以看作一種特征提取和聲學模型層次的端到端(如果定義1都能算作端到端的話...)。

明確了這一些,下面來主要討論下時下研究最多的基於CTC的「端到端」方法,以及它和HMM方法的聯系。

首先CTC是使用了一階馬可夫假設的。而且一個簡單的方法是可以用一個每個建模單元都是單狀態的HMM來實作CTC。我覺得這種和HMM方法的相似性也是為什麽CTC在端到端方法中更流行:因為只需要非常簡單的修改(再引入相臨幀如果輸出相同就塌縮成一個輸出等等)就可以很容易的復用大量的經典HMM框架下的演算法和程式碼,包括解碼、lattice rescore等等。

其實CTC的主要問題恰恰是它的一些優點,比如要自己從零學習所有時間對準。研究表明這需要海量的訓練數據(比如Google提到需要大於40000小時)才能夠媲美傳統方法的效果。另外可能是因為blank模型存在的緣故,CTC的posterior distribution非常的sharpe,這樣的性質會帶來一些有趣的工作,比如上海交大的phone synchronised decoding,但同時也會給第一響應但時間、後處理中的置信度等帶來問題。

所以說CTC是如何革命性的方法,無論在數學意義上、在歷史沿革意義上(因為語音研究中有不少類似的方法)、在實用性意義上都是不完全恰當的。CTC的所謂的「流行」很多的體現在廣告效應上,產品中使用CTC的似乎並不多。這也容易理解,畢竟無論是學術圈、還是工業界,都是不斷需要推廣新的概念來推動發展的,而CTC當時在各方面都處在一個恰當的位置上,並且其中包含一些有趣的思路。

當然也可以期待隨著更多的人開始探索CTC方法,它也會不斷的被完善,比如Google在其中引入的數據采樣的思路就很有意思。但同時類似的情況也會發生在基於HMM的方法中。比如在Interspeech 2016中,Dan Povey博士的Lattice-free MMI的工作,在HMM框架下引入了一些在CTC中常用的idea(以及很多高超的工程技巧),得到的效果幾乎是穩定的遠好於CTC的。還有Tara Sainath博士的low frame rate系統,更是只加入了數據采樣的思路就在傳統hybrid HMM系統中引入了一些CTC的特性,又規避了相應的問題。總之,CTC的主要思路和一系列小的設計都很有趣,但每個工程設計都有自己的優缺點,並且從道理上都很容易想清楚,所以個人認為CTC已經並且還將作為一種重要的模版方法留在時序問題的模式辨識研究中,但是在比如語音辨識這樣的專業領域的頂尖研究中,各種方法都會不斷融合改變,CTC會變得不是CTC了。但相對的,HMM卻還是HMM,因為它本質上是個價值很廣泛的數學過程……

另外更有意思的還是encoder decoder方法的端到端模型,這在神經網路機器轉譯中已經體現出了它的價值。但在語音辨識中使用還面臨許許多多重要問題,比如對額外的語言知識的整合、在含雜訊等復雜數據中的學習等等。這些問題也導致了目前encoder decoder方法即使在最簡單的語音辨識問題中也只能以高得多的運算代價得到比傳統方法差不少的效果。但長遠來說,我們也仍然可以期待它取得長足進展。