感謝閱讀騰訊AI Lab微訊號第27篇文章,去年9月,AI Lab推送過一篇關於深度研究的論文概述,該論文由騰訊 AI Lab 副主任兼西雅圖實驗室負責人俞棟博士,與微軟首席應用科學家兼技術負責人李錦宇聯合撰寫,詳情可點選 這裡 檢視。
日前,媒體「機器之心」在騰訊 AI Lab 學術論壇上對俞棟博士進行了專訪,包括語音領域的研究現狀如何;是否得到了業界的肯定與應用;騰訊 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)就是一對要同時考慮的矛盾的目標,需要針對場景做特殊優化。
從語音的角度看先驗
機器之心:Yann LeCun 和 Christopher Manning 之前在史丹佛進行了一場關於先驗的討論。LeCun 傾向於使用盡可能少的先驗,因為作出的假設總會和一小部分資料衝突,從而限制最後能達到的最低錯誤率。而 Manning 傾向於認為當前的模型都還是「差勁的學習者」,學界需要對先驗以及結構更有信心,嘗試引入更豐富的結構,允許人們在更少的時間內、以更少的資料獲得更高效的學習器。站在語音研究者的角度,您如何看待先驗這一問題?
俞棟:先驗的作用可以說是一個哲學問題了。這兩位學者給出的答案不同,更多是因為他們的優化目標和場景不同。
LeCun 希望找到一個更通用的演算法,因此當然希望假設越少越好,跟問題越不相關越好。因為如果你針對某個特定問題加入先驗,那麼模型雖然可以保證這個問題的效果,但肯定會在某一些場景下工作得不好。
Chris Manning 的立場則不同:他面對的問題是,給定場景、給定現有模型,在這種前提下,如何把某一任務做好。這時,把先驗,尤其是網路結構型別的先驗新增進去,是會提升系統效能的。
這個問題也和訓練資料量有很大的關係。如果想要訓練一個能區分貓和老虎的分類器,但訓練資料只有 5 幅貓的圖片和 5 幅老虎的圖片,該如何選擇模型呢?這個設定下,大部分模型都無法工作,只有一種模型可以,就是新增了非常強的先驗的模型。比如說,模型設計者預先知道,老虎都在山裡跑,背景是綠色的,貓都在家裡,背景是灰白色的。那麼把這個先驗知識加進去,就可以設計一個簡單的模型,測試一下背景顏色,做個分類,大部分情況下就能分對了。但這些知識不是機器學出來的,是人放入的先驗知識。
如果訓練資料非常多,接近無窮多,這時情況更有利於 LeCun 的觀點,也就是做假設的意義不大甚至可能因假設不對起反作用。如果訓練資料不足,就需要人在模型設計階段把問題的特殊結構提取出來,新增進模型作為先驗。不過在現實場景下的絕大多數問題訓練資料都是不夠多的,所以某種先驗或者偏置是必須的。當然,最好的情況是機器自己能夠發現或總結這些特殊結構並加以利用。
機器之心:現階段的語音處理方面的資料量更接近於哪一端?
俞棟:在處理語音問題時,我們加了非常多先驗在裡面。如果目標是做通用的語音識別器,語音的資料量還差得遠,比如一個人說話聲音與兩個人、三個人混合的聲音就差很遠,所以語音的資料量還是遠遠不夠的。
但如果我們只關心某個特殊的應用場景比如「語音搜尋」,那麼在有些公司比如谷歌資料量有可能達到基本滿足要求的程度,但是這個專門為語音搜尋定製的識別器,一旦被用於識別其他內容,效果可能就沒那麼好了。
現在業界還是願意為了產品效能去投入採集資料的,因此初始訓練資料集的量不會太少。存在的問題是在產品投放出去之前,採集到的資料很可能和最終產品形態不一致,不是獨立同分布,因此訓練效果不夠好,只能用這部分資料 bootstrap 啟動一個系統。等到系統投放到市場上,採集到真實資料,再用真實資料提升模型效能,進入一個正向的迴圈。
資料是一個非常重要的資源,資料量不夠,很多模型沒辦法用,即使用上了,也達不到期望的要求。這是因為現在的機器學習有三個很重要的因素,分別是資料,計算力,和演算法,這三者加起來,才是最後系統的效能。三個要素中,如果缺少任何一個,系統的效能就會差很多。如果演算法比別人好一點,但是資料比別人少很多,那麼演算法的優勢很可能彌補不了資料的缺失,反之亦然。
機器之心:卷積神經網路(CNN)和迴圈神經網路(RNN)均可以被看做先驗的一種,卷積神經網路通常被用於空間資料而迴圈 神經網路多被用於時序資料,如何看待用卷積神經網路處理時序資料這樣的搭配呢?
俞棟:如果卷積的層數足夠多的話,理論上,它是可以和迴圈神經網路具有同等的能力的。
在訊號處理學科中,有兩種濾波器,分別叫做 IIR 和 FIR(Infinite Impulse Response Filter vs. Finite Impulse Response Filter),它們和兩種神經網路相對應。IIR 就相當於 RNN 模型,FIR 就相當於 CNN 模型,在卷積了足夠多層之後,它就能利用足夠遠的資訊(類似 RNN)。就好像在很多場景下,FIR 濾波器是可以近似 IIR 濾波器的。
因此 CNN 和 RNN 都是「可選的」,選擇時就要考慮其他因素:例如 RNN 相對於 CNN(或者是 IIR 相對於 FIR)訓練難度就要更大一些。但同時 RNN 更容易對變化很大的序列建模,比如依賴關係忽大忽小的情景,可能更適用 LSTM 這樣的模型來實現。
騰訊西雅圖實驗室:現狀與目標
俞棟:西雅圖實驗室成立於去年 5 月,更偏向基礎研究,主攻方向是語音處理和自然語言處理。這與深圳實驗室強調「研究+應用並重」側重點稍有不同。
過去一年,騰訊 AI Lab 西雅圖實驗室從我 1 個員工,發展到現在有 10 餘名全職語音和自然語言處理方向的員工;從沒有辦公場地,到辦公室裝修好,還在社群內舉辦了開放日活動。進展還不錯。
目前語音識別研究人員的方向主要可以分為聲學前端、聲學模型和語言模型三類。
其中,聲學前端主要圍繞在家居和車載環境所必須的麥克風陣列、降噪、去回聲、去混響、喚醒等功能;聲學模型部分主要關注如何將聲學訊號建模;最後,語言模型則對語言文字本身建模。
語言模型技術相對穩定,不同語言之間差異也不是特別大,一般擅長聲學模型的研究員也能做出不錯的語言模型,但是聲學前端和聲學模型所需的技能是完全不同的,因此要分別找到合適的人選。
機器之心:實驗室是如何選擇研究方向的呢?
俞棟:我們會考慮兩件事,一個是今天的問題:當下公司和客戶有哪些需求,如何去解決。另一個是明天的問題:兩到三年乃至更久之後,市場會有什麼樣的需求?
比如今天已經非常常見的遠場識別,其實在幾年前還是鮮為人知,或者說處於不被認可的狀態。這是因為一方面大家覺得沒有應用場景,另一方面遠場技術還沒發展到一定地步,沒有太好的結果。但是,亞馬遜的 Echo 問世之後,大家發現這個問題的解決雖然達不到完美,但也做得還可以了。當時 Echo 的團隊進行遠場研究已經有 3 、4 年了。他們就是在相關技術還不成熟的時候,更多地考慮了「明天」乃至「後天」問題,對 3 到 5 年後,我們會有何種應用、需要什麼技術進行預判,然後進入這一領域,投入研究。
機器之心:未來實驗室有哪些計劃呢?
俞棟:在人員方面,西雅圖實驗室今年的人員數預計會達到 20。當然,由於人工智慧火熱的現狀,以及我們希望維持一個較高的選人標準,這目標會有一定挑戰性。
2018 年,西雅圖團隊會和深圳的實驗室團隊繼續加強合作。希望能在進行前沿研究的同時,給今天的問題提供一些較好的解決方案。
此外,去年我們花了很多時間在從頭建立系統上,現在,不少元件已經準備好了,我們可以更快速地進行一些更有意思的研究,希望對學術界和我們自己的產品效能提升都有一些好的影響。