深度學習語音領域問題?

_她夏了夏天丶

這是一個很多技術專家被問到過的問題:深度學習在語音方面(特別是語音識別)的研究,相比於圖像和文本,是否還值得投入精力去學習?技術是否已經達到了暫時的瓶頸?

其實,你這個問題中「語音」的範圍比較模糊,這裡暫圈定為「語音識別」。我們用機器之心不久前對騰訊AI Lab西雅圖實驗室負責人俞棟老師的專訪來回答你的疑問:


語音領域:Where are we standing?

機器之心:語音領域整體的研究處於一個什麼狀態?

俞棟:去年底在 NIPS 會議上南大的周志華教授還和我開玩笑說,「語音識別已經解決了,你不要做了。」相信很多人有類似的感覺。雖然很多公司已經宣稱可以在標準數據集或安靜的近場環境下達到「97% 識別率」、「超過人」等等水平,但是實際上市面上的產品,在很多真實應用場景下,尤其是遠場、中文夾雜英文、旁邊有人說話等等情況下,效果還遠遠達不到期望值。還有很多待研究的問題。

機器之心:從標準數據集到真實場景,待解決的問題都有哪些?

俞棟:有很多。比如,現在的系統魯棒性都不太高,而且都還依賴增加數據(包括合成的模擬數據)來提高魯棒性。這一點對於基於深度學習的系統來說尤為明顯:數據沒覆蓋的情況就做不好,是這類方法的一個侷限性。

這個世界的可能性是無限的,即使採集了幾十萬小時的數據,也不能覆蓋所有的情況,還是會有很多新的、沒見過的場景。而標準數據集的一個特點是,訓練集和測試集之間是強相關的,換言之,它們之間的不匹配度(mismatch)不大。

很多機器學習方法都要遵循一個基本假設:訓練集和測試集符合同一分佈。不滿足這一要求的話,學出來的模型的效果是沒有理論保證的。而真實場景,恰恰是不保證訓練集與測試集滿足同分布假設的情況。

在語音識別研究的歷史上,很早就有人意識到了這一問題,並開發出了很多自適應算法,試圖根據場景和環境的變化做自適應。目前來說,自適應算法起到了一定的作用,但是還不能完全解決魯棒性問題。

機器之心:理論上來講,推理的數據與訓練數據不滿足同分布假設的話,機器學習模型會整體失效。那麼自適應算法最終能夠解決魯棒性問題嗎?

俞棟:真實場景和訓練集之間所謂的「不滿足同分布假設」大概率來講不是「完全不滿足」,而是「近似」或者「滿足一些」。因此機器學習模型的識別率雖然會下降,模型仍然可用。只不過需要採用一些方法來彌補大致滿足與完全滿足同分布情況下的差距。

自適應算法只是其中一種方法,它有多個變種。比如可以用另外一個模型來判定分佈變化與否,甚至判定如何變化,從而將變化後的特徵或分佈「恢復」成和訓練時所見基本一樣的情況再進行識別。舉個例子,如果一個模型用我的聲音做訓練,然後去識別你的聲音,效果就會很差。但是如果有一個模型,專門刻畫人聲的特點,並且在訓練的時候,就把「說話人身份」(Speaker ID)作為一個重要的變量放進去,那麼今後在識別其他人的時候,只要把說話人身份替換掉,就能獲得識別率的上升了。問題在於,這種對於變化的估算也會引入誤差,相對的性能還是會有損失。

四個前沿問題的進展

機器之心:端到端模型之前,語音識別模型的發展歷程是什麼樣的?

俞棟:以前的語音識別系統基於高斯混合模型(Gaussian Mixture Model, GMM)和隱馬爾可夫模型(Hidden Markov Model),合在一起,叫 GMM-HMM 模型。

在 90 年代初期,伯克利大學的研究人員就開始用多層感知機加上隱馬爾可夫模型進行語音識別,由於模型由一個傳統的生成模型 HMM 和一個比較時髦的判別式模型神經網絡組成,他們稱其為混合模型(Hybrid Model)。2010 年,我們用深層神經網絡替換掉了淺層神經網絡,用上下文相關音素(Phoneme)替換單音素作為建模單元,仍然沿用混合模型的基本架構但增加了建模單元的數量,取得了識別效果上的突破。

最近的端到端模型則完全不再需要隱馬爾可夫模型,從頭到尾都是一整個神經網絡。有時候需要結合外部語言模型,如果數據比較多,連外部語言模型都不需要了。

機器之心:端到端識別模型有哪些進展呢?

俞棟:在即將召開的 ICASSP 上,谷歌會發表一些相關文章,部分預印版已經放在 arXiv 上了,文章裡提到當使用大量訓練數據時可以在語音搜索任務的某一個測試集上做到和混合模型一樣的效果。但是在真實場景下當出現沒見過的尾端(tail)搜索詞的情況下,效果還有差距,這表明這些模型記憶能力很強但是舉一反三的能力還比較欠缺。

但無論如何,這仍然是十分可觀的進展了,因為之前的端到端系統和混合模型之間的差距還很大,現在這個差距在縮小,甚至在某一場景下端到端模型可以做到超越,這都是比較大的進展。

騰訊 AI Lab 最近幾個月也做了一些類似的工作,在數據量比較少,也就是端到端系統的優勢更不能得到體現的情況下,用一些新的算法和技巧大幅提高了性能。

應該看到,在端到端系統上面,大家的投入是比較多的,也確實有一些比較有意思的進展。但是端到端系統是否能替代混合模型,仍然是未知數。

只有當新模型比舊模型好很多的時候,替換才會發生。當然,這裡的好是多方面的,不單單是識別率好,也可能是在其他指標不變的情況下你的運算量小了,或者是解碼速度提升了。

機器之心:端到端模型在產品中有實際應用嗎?

俞棟:目前的端到端系統基本上基於兩個框架,一個是 CTC(Connectionist Temporal Classification)框架,一個是基於注意力機制的 seq2seq 框架。

剛才提到的谷歌的論文用的是基於注意力的框架,投入使用相對較少。CTC 模型用得相對較多。騰訊的產品上既有 CTC 模型,也有混合模型,性能沒有太大區別。

CTC 的好處是可以採用更大的建模單元,壞處是存在一個隨機延遲的問題,即結果出來的時間不是預先可知的。隨機延遲的後果是斷句困難,這會給用戶造成一種「你怎麼比別人慢」的感覺。

因此,做交互的系統,比如語音助手類,大部分仍然在使用混合系統。而對實時性沒有要求的產品,比如 YouTube 的字幕生成器,因為可以離線,所以有延時也沒有關係。

機器之心:雞尾酒會問題的現狀如何?

俞棟:大家都很重視雞尾酒會問題,因為這是遠場裡必須解決的重要問題,因此也有蠻多進展。

一個當然就是我們之前提出的置換不變性訓練(Permutation Invariant Training)的方法,我們在很多場景下都做了不同的嘗試,也有其他的學校以及公司,在我們的工作上做了一些拓展。

此外還有其他重要的方法被提出來,比如 MERL 的深度聚類(deep clustering)方法和哥倫比亞大學的深度吸引子網絡(deep attractor network)。另外 NTT 還提出了一種跟我們不同的設定,我們的設定是兩人同時說話時,要將兩人分開,同時識別兩個人的語音。他們的設定是在兩個人同時說話時,只跟蹤其中一個人的聲音。在這個設定下我們也有一些有趣的進展。

不過這些都還屬於研究性工作,還沒有放在產品中。

機器之心:持續預測與適應的模型情況如何?

俞棟:這類模型的研究已經在我們的實驗室列項了,應該是一個很有「做頭」的問題,但是目前還沒有很多進展。值得一提的可能是預測雙向 RNN 的反向狀態使單向 RNN 的性能提升的工作。

機器之心:聲學前後端從獨立優化到聯合優化的進展如何?

俞棟:相比於獨立優化,現在業界的情況是前後端聯合優化已經佔了大多數。

前後端聯合優化把前端和後端緊緊綁在了一起,好處是如果前後端系統都是自己開發的,那麼效果會很好,壞處是一旦換一個前端/後端之後,會出現整體效果變差的情況。

因此,我們要針對場景進行不同的設計。在某些場景下,我們還是要分割開做優化。例如在聲學前端,降低噪聲和減小變形(distortion)就是一對要同時考慮的矛盾的目標,需要針對場景做特殊優化。


分享到:


相關文章: