微軟首席研究員俞棟:告訴你深度學習最新進展

 2016-08-05 17:57:00.0

雷鋒網(公衆號:雷鋒網)按:本文作者CSDN周建丁,在本文將會介紹 1)基於深度學習語音識別的最新進展及未來的發展趨勢;2)微軟深度學習工具CNTK。

作爲人工智能領域的一個重要方向,語音識別近年來在深度學習(Deep Learning)的推動下取得了重大的突破,爲人機語音交互應用的開發奠定了技術基礎。語音識別技術演進及實現方法、效果,既是語音識別從業者需要系統掌握的知識,也是智能化應用開發者應當瞭解的內容。日前,微軟研究院首席研究員、《解析深度學習-語音識別實踐》第一作者俞棟接受CSDN專訪,深入解析了基於深度學習的語音識別的最新技術方向,和微軟團隊的實踐心得,並對微軟開源的深度學習工具CNTK的迭代思路做了介紹

俞棟介紹了deep CNN、LFMMI、深度聚類、PIT和RNN生成模型等最新的用於語音識別的深度學習模型,以及《解析深度學習-語音識別實踐》中提到的遷移學習、計算型網絡(CN)等技術。他表示,更困難環境下的識別(如遠場、高噪音、或帶口音的語音識別)會是下一個需要解決的問題,目前他的團隊就專注於研發對各種場景都具有更強識別能力的模型,如deep CNN以及能提升遠場識別率的模型(如PIT)。

作爲研究人員,俞棟同樣注重工程方面的實用性。問題的重要性、研究方向的潛力、解決方案的普適性和工程上的便利性,是他選擇研究方向的四個重要考量因素。從工程的角度,他認爲,計算型網絡在語音識別中的應用,需要考慮訓練的難易程度、模型的大小、以及運行時的速度、時延和能耗。這其實也是CNTK未來迭代的核心訴求。

此外,他表示,深度學習只是衆多人工智能技術中的一種,主要擅長非線性特徵提取和端到端的基於梯度的優化,無法單獨用來解決許多實際問題,把多種技術有機地結合起來纔是最佳方案。

微軟首席研究員俞棟:告訴你深度學習最新進展

俞棟,1998年加入微軟公司,現任微軟研究院首席研究員,兼任浙江大學兼職教授和中科大客座教授。語音識別和深度學習方向的資深專家,出版了兩本專著,發表了160多篇論文,是60項專利的發明人及深度學習開源軟件CNTK的發起人和主要作者之一。曾獲2013年IEEE信號處理協會最佳論文獎。現擔任IEEE語音語言處理專業委員會委員,曾擔任IEEE/ACM音頻、語音及語言處理彙刊、IEEE信號處理雜誌等期刊的編委。

以下爲採訪實錄:

|語音識別的最新進展

CSDN:能否介紹當前語音識別領域最讓您興奮的一些進展,以及您目前所做的一些有趣的工作?

俞棟:自從2010年我們在大詞彙量語音識別系統裏成功引入深層神經網絡後,語音識別研究和應用就進入了深度學習時代。最近這幾年語音識別領域的發展速度大大超出了我們的預期,每年都有新的更有效的模型和方法被提出來。

在最近的這一年裏,有幾項工作讓我覺得很有意思。

第一項工作是包括IBM、微軟、訊飛、上海交大等研究機構報告的深層卷積網絡(deep CNN)在大詞彙量語音識別中的成功應用。之前我們一般僅在底層使用卷積網絡,在那樣的框架下卷積網絡大大增加工作量但識別上的性能優勢並不明顯,所以在書中我們沒有花很大的篇幅介紹這方面的工作。但當我們應用類似於圖像識別中所用的諸如VGG、GoogleNet、和ResNet那樣的深層卷積網絡時,識別率有了很大的提升,甚至超過了之前表現最佳的深層雙向LSTM。由於時延(latency)的原因,雙向LSTM不能用於實時系統,而深層卷積網絡的時延比較小而且可控,所以可以用於實時語音識別系統中。

第二項工作是約翰霍普金斯大學Dan Povey博士主導的lattice free MMI(LFMMI)。爲了提高語音識別系統構建過程的魯棒性,傳統語音識別系統的構建需要經過很多步驟。最近幾年裏,許多研究人員都在嘗試通過端到端(end-to-end)優化直接構建識別系統以省去其他步驟,最有影響力的工作是基於LSTM的Connectionist Temporal Classification(CTC)模型。Google和百度都報告說成功應用了該技術,但據我們所知,直接使用CTC需要大量的調參工作因而總的建模時間反而更長,否者效果很差。或者說這一方法在新任務上的可重複性較差。而LFMMI從傳統的MMI序列訓練方法發展而來,引入了CTC的一些概念,也可以實現端到端的訓練,但構建過程更容易重複,魯棒性更高。

第三和第四項工作是對雞尾酒會問題的解決方案。雞尾酒會是語音識別裏一個很難但很重要的問題。最近有兩項工作使我們看到了解決這一問題的曙光。

一項是MERL的John Hershey博士爲主提出的深度聚類(Deep Clustering)方法。他們的方法通過把混合語音的每個time-frequency bin結合它的context映射到一個新的空間,使得在這一空間中屬於同一說話人的bin距離較小因而可以聚類到一起。

另一項是我們和Aalborg大學合作提出的具有置換不變性的訓練方法(permutation invariant training,PIT)。PIT通過自動尋找分離出的信號和標註的語源之間的最佳匹配來優化語音分離這一目標。這兩種方法各有千秋,我個人的觀點是PIT更有潛力一些,最終解決問題的有可能是PIT的某種改進或這兩種方法的某種組合。

另外在基於RNN生成模型的識別方法(例如sequence-to-sequence模型)上最近也有一些進展,但總的來說,這一方面的研究還在初步階段。

我最近在做三項工作:

一項是deep CNN,我們差不多與其他幾個研究組同時發現了deep CNN在大詞彙量語音識別中的優越性能;

一項是基於 PIT的語音分離,我是這項工作的主導者和主要貢獻者;

第三項是基於RNN生成模型的識別方法,我們有一些新的想法,但這項工作還在初級階段。

|深度學習與語音識別

CSDN:概括地說,除了特徵提取,深度學習在語音識別領域主要還發揮哪些作用?

俞棟:深度學習目前最主要的作用仍然在特徵提取上。即使deep CNN也可以看成是一個更復雜的特徵提取器。但正如你可以想見的,深度學習的作用不僅僅是特徵提取。比如我們兩年前提出的prediction-adaptation-correction(PAC)模型可以把一些識別上的行爲特徵比如預測、自適應、和糾偏直接建在模型裏。又比如,我們在書中提到的noise-aware和speaker-aware自適應方法可以通過網絡結構直接實現自適應建模。再比如,PIT模型可以直接由深度學習模型分離語音,而基於CTC和RNN生成模型的識別方法更是直接由深度學習模型產生識別結果。

CSDN:您與鄧力博士合著的《解析深度學習-語音識別實踐》系統地介紹了基於DNN的語音識別技術,哪些人應該讀這本書?他們會收穫些什麼?這本書適合入門嗎?需要讀者具備什麼知識基礎?

俞棟:對於正在或將來想從事語音識別研究或工程實踐的學者、學生、和工程師,這本書都會對他們有所助益。而這也正是我們寫這本書的初衷。在這本書裏,我們試圖描繪基於深度學習的語音識別技術的整個框架和主要技術。因爲我本人一直奮鬥在科研的第一線,所以在書中我們能夠提供各種方法提出的基本思路、具體的數學推導、以及實現上的細節和經驗。我們希望這本書可以成爲大家的reference book。不同的讀者可以在書中找到他們想要了解的東西。對於非語音識別領域的研究人員,這本書中提到的方法和思想對他們解決自己的問題也會有所幫助,因爲這些都是通用的。

這本書同樣適合入門。事實上北美和日本都有大學把本書作爲本科或研究生語音處理課程的教材或參考書之一。要讀懂這本書,讀者只需要基本的微積分、概率論、和矩陣分析的知識。當然,學過機器學習會對裏面提到的一些基本概念有更好的認識,而有傳統語音識別系統的知識有助於理解識別系統的整個框架以及序列層面上的區分度訓練(sequence-level discriminative training)。

CSDN:您介紹了很多提高魯棒性的方法,有哪一種是您最喜歡的嗎?

俞棟:從實用的角度看,基於輔助信息(auxiliary information)的方法例如noise-aware和speaker-aware模型、以及基於SVD和KLD regularization的自適應方法目前最簡單有效。

CSDN:書中專門談到了遷移學習,舉了一些例子,如歐洲語言到中文普通話的成功遷移,那麼哪些因素決定共享DNN隱層架構在當前語音識別領域的邊界和侷限?遷移學習在語音識別領域推廣應用的挑戰是什麼?

俞棟:理論上來講基於共享DNN隱層架構的多語言遷移學習沒有本質上的侷限,這是因爲你總能找到某個層面,在這個層面上語音特徵非常類似,即使是非常不同的語言,比如西語與中文。從工程實踐的角度來講,會有權衡。一般來講,遷移學習想要實現兩個目標,一個是快速學習新任務(在這裏是新語言),一個是減少學習新任務所需的數據。所以如果一個新語言有足夠的數據而運算工具不是問題,那麼直接訓練可能更好,這是因爲一個已經收斂的模型比較難調整到新語言上,就好像一個成年人學新語言比幼兒會難一些。但是如果數據和運算工具有一個不足,那麼基於共享DNN隱層架構的多語言遷移學習就會對你的最終系統有幫助。

值得指出的是,基於共享DNN隱層架構的遷移學習也可以用於喚醒詞識別(hot-word detection)中以支持用戶自選喚醒詞。圖像識別中也有類似的應用,比如,用ImageNet訓練出來的分類器的隱層可以用於image captioning或其他圖像分類任務。另外,我們這裏提到的是特徵層面的遷移,其他層面的遷移也有可能但會困難很多。

CSDN:書中還強調了計算型網絡(CN)在新語音識別系統中的作用,考慮CN需要注意哪些問題?熱門的LSTM RNN被高估了嗎?

俞棟:從學術研究的角度來講最重要的是分析模型各變量之間的關係,然後用計算型網絡來實現這些關係。從工程的角度來講,還要考慮訓練的難易程度、模型的大小、以及運行時的速度、時延和能耗。

LSTM 在許多模型中仍然有重要的作用。不過我們發現一些其他模型在某些問題上可以和LSTM表現接近甚至超過它,比如前面提到的deep CNN在非特定人語音識別上能超過LSTM,而GRU和基於Rectified Linear Unit 的RNN在很多時序問題上和LSTM表現接近但更簡單。

微軟首席研究員俞棟:告訴你深度學習最新進展

|未來技術趨勢

CSDN:語音識別的未來技術方向,其中哪些是您的團隊所關注的?您如何確定一個技術研究的方向?

俞棟:我們認爲更困難環境下的識別比如遠場、高噪音、或帶口音的語音識別會是下一個需要解決的問題,我們的研究也側重在這些方面。我們目前專注於研發對各種場景都具有更強識別能力的模型比如 deep CNN 以及能提升遠場識別率的模型比如PIT。我們也關注可能引發技術革新的其他新想法比如基於RNN生成模型的識別系統。

對於研究方向,我個人主要基於如下四個方面來決定:

問題的重要性。我們側重解決重要的問題而不管問題本身是簡單還是困難。

研究方向或方法的潛力而不僅僅是目前的表現。如果一個方法目前表現不夠佳,但是具有很大的可擴展性和想象空間,那麼我們會在這個方向上推進。

解決方案的普適性。我們更喜歡能解決一類問題或多個場景的方法而不是某個特定問題或場景的方法。

工程上的便利性。我們更喜歡簡潔的方法,簡潔的方法更便於工程實現和快速迭代。

CSDN:訓練關鍵的發音特徵並泛化,目前有什麼樣的進展?您認爲技術成熟還需要什麼條件?

俞棟:我們現在的所有模型都不對關鍵的發音特徵做任何預設,模型參數完全是從數據中學出來的。

在機器學習中,有個著名的bias and variance dilemma。擬合能力弱的模型一般有較小的方差引起的錯誤率,比較不容易過擬合,但有較大的由偏差引起的錯誤率。而擬合能力強的模型則反之。由偏差引起的錯誤率不容易減小,但是由方差引起的錯誤率卻可以通過增加訓練數據來減小。深度學習模型其實就是擬合能力較強的一類模型,目前解決泛化能力(或由方差引起的錯誤率)的主要方法就是增加訓練數據。

但是人可以用少得多的訓練數據達到在不同場合下的較高的識別率,尤其是對未見場合的泛化能力人遠遠超過深度學習。我個人做過一些這方面的探索,比如讓每個音素學習一個在多種環境下都適用的模板(或mask),但遺憾的是這些嘗試並不成功。目前我們還沒有發現具有這種強泛化能力的模型。要解決這個問題,機器學習算法必須能夠自動識別各層次低維流型上不同sample的相同點和不同點,並知道對哪個問題用哪個層次上的特徵。

CSDN:未來三五年的語音識別領域,是否還有一些非深度學習方法具有挖掘的潛力(或者可以和深度學習進行結合實現更好的效果)?

俞棟:其實目前的主流語音識別技術仍然集成了傳統方法和深度學習方法。如果把深度學習定義爲任何具有多級非線性處理的系統,那麼任何含有深度學習模塊的系統都是深度學習系統。但這並不表示深度學習就是全部。

從更廣泛的範圍來看,深度學習只是衆多人工智能技術中的一種,它的主要長處還是在於非線性特徵提取和端到端的基於梯度的優化。許多問題都不能僅僅使用深度學習技術來完成。比如AlphaGo 其實就是集成了深度學習、強化學習、和蒙特卡洛樹搜索技術。我個人認爲應該讓每個技術做它擅長的事,把多種技術有機地結合起來會是解決很多實際問題的最佳方案。

|新技術學習方法

CSDN:這本書的參考文獻數量達到了450多份,包括很多論文,這可能得益於您的IEEE的工作,但目前各個大會/期刊收的論文非常多,能否介紹一些快速選擇和研讀論文的通用方法?

俞棟:你會發現,雖然論文很多,但主要的進展仍然是由幾個主要的研究機構和個人推動的。如果你沒有足夠的時間,那麼跟蹤這些研究機構和個人會是一個比較有效的方法。如果你能與他們建立良好的關係,你甚至可以在他們的工作正式出版之前就瞭解他們的進展或得到文章的預印本。如果你還有時間,我建議你去參加相關的學術會議。學術會議是信息交流的場所,你可以瞭解到大家都在討論什麼問題和方法,推薦閱讀哪一篇文章,注意哪一項工作。

當然,並不是每篇文章都值得仔細研讀。我會閱讀概要、簡介、和總結以對一篇文章有個大致的瞭解,而只花更多時間在有新思想、新方法、新視角或者新結論的具有潛力的工作上。

|CNTK加速模型訓練速度

CSDN:您認爲CNTK在語音識別算法開發中的優勢如何體現?

俞棟:就我個人所知,許多新的語音識別模型都是基於CNTK開發的。我們一開始開發CNTK主要就是爲語音識別的研究服務的。即使今天CNTK能方便地支持圖像、視頻、文本、以及其他信息的處理,它對於語音識別模型的支持仍然比較好。CNTK非常靈活,它支持各種主流模型,比如 DNN、CNN、LSTM,同時可以自定義各種新模型,比如PIT模型和PAC模型就都是完全由CNTK構建的。另外,因爲CNTK也是我們產品線上的主要工具,所以我們開發了許多高效率高性能的並行算法。這些算法極大地提升了像語音識別這樣需要大量訓練數據的任務的訓練速度。

CSDN:能否介紹CNTK的Python支持的進展?未來對於其他語言如Matlab、R、Java、Lua、Julia的支持是如何規劃的?

俞棟:我們在已經發布的1.5和1.6版本中已經有對Python的支持。在將要發佈的2.0版本中我們會提供更完善的支持,另外2.0版的API也會更完整、更靈活。在新的API框架下,加入對其他語言的支持會變得很容易。

CSDN:CNTK可擴展GPU的能力值得稱道,但大規模部署GPU能耗同樣不小,現在有不少FPGA、ASIC加速方案的嘗試,CNTK會做類似擴展的考慮嗎?

俞棟:事實上,感謝我們工程師的優化工作,我們目前的所有語音識別系統都可以在單CPU上實現實時識別。所以在serving端,GPU能耗還不是問題。 但我們預見到單CPU的瓶頸,所以在CNTK上也在部署低精度低能耗的CPU/GPU架構。當然,我們也有同事在做FPGA的工作。

CSDN:深度學習用於語音識別的形式往往是混合模型,您認爲是否有必要考慮CNTK與非深度機器學習系統的整合,比如Yahoo!的Caffe-On-Spark?

俞棟:在運行環境上的集成方面,黃學東博士(1993年被微軟從卡內基梅隆大學聘請來主導語音識別項目)主導的Philly項目有做類似的工作。

CSDN:在未來半年CNTK會有哪些重要的更新?

俞棟:我們會有更好更靈活的API層,會提供更全面的Python支持,會進一步提升訓練的效率,對稀疏矩陣會做更好的支持,會支持低精度計算。當然,更多種類的更復雜的計算節點(比如LFMMI)也會加入到工具中。

CSDN:除了CNTK,還有哪些深度學習開源技術是您喜歡的?

俞棟:TensorFlow、Torch、MxNet、Theano等都是不錯的深度學習開源工具。每種工具都有自己的特點和長處。

CCAI 2016中國人工智能大會將於8月26-27日在京舉行。

原文鏈接:http://geek.csdn.net/news/detail/93513

微軟首席研究員俞棟:告訴你深度學習最新進展

文章來源:雷鋒網