0
本文作者: 陳圳 | 2016-08-05 17:57 |
雷鋒網(wǎng)按:本文作者CSDN周建丁,在本文將會介紹 1)基于深度學(xué)習(xí)語音識別的最新進展及未來的發(fā)展趨勢;2)微軟深度學(xué)習(xí)工具CNTK。
作為人工智能領(lǐng)域的一個重要方向,語音識別近年來在深度學(xué)習(xí)(Deep Learning)的推動下取得了重大的突破,為人機語音交互應(yīng)用的開發(fā)奠定了技術(shù)基礎(chǔ)。語音識別技術(shù)演進及實現(xiàn)方法、效果,既是語音識別從業(yè)者需要系統(tǒng)掌握的知識,也是智能化應(yīng)用開發(fā)者應(yīng)當(dāng)了解的內(nèi)容。日前,微軟研究院首席研究員、《解析深度學(xué)習(xí)-語音識別實踐》第一作者俞棟接受CSDN專訪,深入解析了基于深度學(xué)習(xí)的語音識別的最新技術(shù)方向,和微軟團隊的實踐心得,并對微軟開源的深度學(xué)習(xí)工具CNTK的迭代思路做了介紹。
俞棟介紹了deep CNN、LFMMI、深度聚類、PIT和RNN生成模型等最新的用于語音識別的深度學(xué)習(xí)模型,以及《解析深度學(xué)習(xí)-語音識別實踐》中提到的遷移學(xué)習(xí)、計算型網(wǎng)絡(luò)(CN)等技術(shù)。他表示,更困難環(huán)境下的識別(如遠場、高噪音、或帶口音的語音識別)會是下一個需要解決的問題,目前他的團隊就專注于研發(fā)對各種場景都具有更強識別能力的模型,如deep CNN以及能提升遠場識別率的模型(如PIT)。
作為研究人員,俞棟同樣注重工程方面的實用性。問題的重要性、研究方向的潛力、解決方案的普適性和工程上的便利性,是他選擇研究方向的四個重要考量因素。從工程的角度,他認為,計算型網(wǎng)絡(luò)在語音識別中的應(yīng)用,需要考慮訓(xùn)練的難易程度、模型的大小、以及運行時的速度、時延和能耗。這其實也是CNTK未來迭代的核心訴求。
此外,他表示,深度學(xué)習(xí)只是眾多人工智能技術(shù)中的一種,主要擅長非線性特征提取和端到端的基于梯度的優(yōu)化,無法單獨用來解決許多實際問題,把多種技術(shù)有機地結(jié)合起來才是最佳方案。
俞棟,1998年加入微軟公司,現(xiàn)任微軟研究院首席研究員,兼任浙江大學(xué)兼職教授和中科大客座教授。語音識別和深度學(xué)習(xí)方向的資深專家,出版了兩本專著,發(fā)表了160多篇論文,是60項專利的發(fā)明人及深度學(xué)習(xí)開源軟件CNTK的發(fā)起人和主要作者之一。曾獲2013年IEEE信號處理協(xié)會最佳論文獎?,F(xiàn)擔(dān)任IEEE語音語言處理專業(yè)委員會委員,曾擔(dān)任IEEE/ACM音頻、語音及語言處理匯刊、IEEE信號處理雜志等期刊的編委。
以下為采訪實錄:
|語音識別的最新進展
CSDN:能否介紹當(dāng)前語音識別領(lǐng)域最讓您興奮的一些進展,以及您目前所做的一些有趣的工作?
俞棟:自從2010年我們在大詞匯量語音識別系統(tǒng)里成功引入深層神經(jīng)網(wǎng)絡(luò)后,語音識別研究和應(yīng)用就進入了深度學(xué)習(xí)時代。最近這幾年語音識別領(lǐng)域的發(fā)展速度大大超出了我們的預(yù)期,每年都有新的更有效的模型和方法被提出來。
在最近的這一年里,有幾項工作讓我覺得很有意思。
第一項工作是包括IBM、微軟、訊飛、上海交大等研究機構(gòu)報告的深層卷積網(wǎng)絡(luò)(deep CNN)在大詞匯量語音識別中的成功應(yīng)用。之前我們一般僅在底層使用卷積網(wǎng)絡(luò),在那樣的框架下卷積網(wǎng)絡(luò)大大增加工作量但識別上的性能優(yōu)勢并不明顯,所以在書中我們沒有花很大的篇幅介紹這方面的工作。但當(dāng)我們應(yīng)用類似于圖像識別中所用的諸如VGG、GoogleNet、和ResNet那樣的深層卷積網(wǎng)絡(luò)時,識別率有了很大的提升,甚至超過了之前表現(xiàn)最佳的深層雙向LSTM。由于時延(latency)的原因,雙向LSTM不能用于實時系統(tǒng),而深層卷積網(wǎng)絡(luò)的時延比較小而且可控,所以可以用于實時語音識別系統(tǒng)中。
第二項工作是約翰霍普金斯大學(xué)Dan Povey博士主導(dǎo)的lattice free MMI(LFMMI)。為了提高語音識別系統(tǒng)構(gòu)建過程的魯棒性,傳統(tǒng)語音識別系統(tǒng)的構(gòu)建需要經(jīng)過很多步驟。最近幾年里,許多研究人員都在嘗試通過端到端(end-to-end)優(yōu)化直接構(gòu)建識別系統(tǒng)以省去其他步驟,最有影響力的工作是基于LSTM的Connectionist Temporal Classification(CTC)模型。Google和百度都報告說成功應(yīng)用了該技術(shù),但據(jù)我們所知,直接使用CTC需要大量的調(diào)參工作因而總的建模時間反而更長,否者效果很差?;蛘哒f這一方法在新任務(wù)上的可重復(fù)性較差。而LFMMI從傳統(tǒng)的MMI序列訓(xùn)練方法發(fā)展而來,引入了CTC的一些概念,也可以實現(xiàn)端到端的訓(xùn)練,但構(gòu)建過程更容易重復(fù),魯棒性更高。
第三和第四項工作是對雞尾酒會問題的解決方案。雞尾酒會是語音識別里一個很難但很重要的問題。最近有兩項工作使我們看到了解決這一問題的曙光。
一項是MERL的John Hershey博士為主提出的深度聚類(Deep Clustering)方法。他們的方法通過把混合語音的每個time-frequency bin結(jié)合它的context映射到一個新的空間,使得在這一空間中屬于同一說話人的bin距離較小因而可以聚類到一起。
另一項是我們和Aalborg大學(xué)合作提出的具有置換不變性的訓(xùn)練方法(permutation invariant training,PIT)。PIT通過自動尋找分離出的信號和標(biāo)注的語源之間的最佳匹配來優(yōu)化語音分離這一目標(biāo)。這兩種方法各有千秋,我個人的觀點是PIT更有潛力一些,最終解決問題的有可能是PIT的某種改進或這兩種方法的某種組合。
另外在基于RNN生成模型的識別方法(例如sequence-to-sequence模型)上最近也有一些進展,但總的來說,這一方面的研究還在初步階段。
我最近在做三項工作:
一項是deep CNN,我們差不多與其他幾個研究組同時發(fā)現(xiàn)了deep CNN在大詞匯量語音識別中的優(yōu)越性能;
一項是基于 PIT的語音分離,我是這項工作的主導(dǎo)者和主要貢獻者;
第三項是基于RNN生成模型的識別方法,我們有一些新的想法,但這項工作還在初級階段。
|深度學(xué)習(xí)與語音識別
CSDN:概括地說,除了特征提取,深度學(xué)習(xí)在語音識別領(lǐng)域主要還發(fā)揮哪些作用?
俞棟:深度學(xué)習(xí)目前最主要的作用仍然在特征提取上。即使deep CNN也可以看成是一個更復(fù)雜的特征提取器。但正如你可以想見的,深度學(xué)習(xí)的作用不僅僅是特征提取。比如我們兩年前提出的prediction-adaptation-correction(PAC)模型可以把一些識別上的行為特征比如預(yù)測、自適應(yīng)、和糾偏直接建在模型里。又比如,我們在書中提到的noise-aware和speaker-aware自適應(yīng)方法可以通過網(wǎng)絡(luò)結(jié)構(gòu)直接實現(xiàn)自適應(yīng)建模。再比如,PIT模型可以直接由深度學(xué)習(xí)模型分離語音,而基于CTC和RNN生成模型的識別方法更是直接由深度學(xué)習(xí)模型產(chǎn)生識別結(jié)果。
CSDN:您與鄧力博士合著的《解析深度學(xué)習(xí)-語音識別實踐》系統(tǒng)地介紹了基于DNN的語音識別技術(shù),哪些人應(yīng)該讀這本書?他們會收獲些什么?這本書適合入門嗎?需要讀者具備什么知識基礎(chǔ)?
俞棟:對于正在或?qū)硐霃氖抡Z音識別研究或工程實踐的學(xué)者、學(xué)生、和工程師,這本書都會對他們有所助益。而這也正是我們寫這本書的初衷。在這本書里,我們試圖描繪基于深度學(xué)習(xí)的語音識別技術(shù)的整個框架和主要技術(shù)。因為我本人一直奮斗在科研的第一線,所以在書中我們能夠提供各種方法提出的基本思路、具體的數(shù)學(xué)推導(dǎo)、以及實現(xiàn)上的細節(jié)和經(jīng)驗。我們希望這本書可以成為大家的reference book。不同的讀者可以在書中找到他們想要了解的東西。對于非語音識別領(lǐng)域的研究人員,這本書中提到的方法和思想對他們解決自己的問題也會有所幫助,因為這些都是通用的。
這本書同樣適合入門。事實上北美和日本都有大學(xué)把本書作為本科或研究生語音處理課程的教材或參考書之一。要讀懂這本書,讀者只需要基本的微積分、概率論、和矩陣分析的知識。當(dāng)然,學(xué)過機器學(xué)習(xí)會對里面提到的一些基本概念有更好的認識,而有傳統(tǒng)語音識別系統(tǒng)的知識有助于理解識別系統(tǒng)的整個框架以及序列層面上的區(qū)分度訓(xùn)練(sequence-level discriminative training)。
CSDN:您介紹了很多提高魯棒性的方法,有哪一種是您最喜歡的嗎?
俞棟:從實用的角度看,基于輔助信息(auxiliary information)的方法例如noise-aware和speaker-aware模型、以及基于SVD和KLD regularization的自適應(yīng)方法目前最簡單有效。
CSDN:書中專門談到了遷移學(xué)習(xí),舉了一些例子,如歐洲語言到中文普通話的成功遷移,那么哪些因素決定共享DNN隱層架構(gòu)在當(dāng)前語音識別領(lǐng)域的邊界和局限?遷移學(xué)習(xí)在語音識別領(lǐng)域推廣應(yīng)用的挑戰(zhàn)是什么?
俞棟:理論上來講基于共享DNN隱層架構(gòu)的多語言遷移學(xué)習(xí)沒有本質(zhì)上的局限,這是因為你總能找到某個層面,在這個層面上語音特征非常類似,即使是非常不同的語言,比如西語與中文。從工程實踐的角度來講,會有權(quán)衡。一般來講,遷移學(xué)習(xí)想要實現(xiàn)兩個目標(biāo),一個是快速學(xué)習(xí)新任務(wù)(在這里是新語言),一個是減少學(xué)習(xí)新任務(wù)所需的數(shù)據(jù)。所以如果一個新語言有足夠的數(shù)據(jù)而運算工具不是問題,那么直接訓(xùn)練可能更好,這是因為一個已經(jīng)收斂的模型比較難調(diào)整到新語言上,就好像一個成年人學(xué)新語言比幼兒會難一些。但是如果數(shù)據(jù)和運算工具有一個不足,那么基于共享DNN隱層架構(gòu)的多語言遷移學(xué)習(xí)就會對你的最終系統(tǒng)有幫助。
值得指出的是,基于共享DNN隱層架構(gòu)的遷移學(xué)習(xí)也可以用于喚醒詞識別(hot-word detection)中以支持用戶自選喚醒詞。圖像識別中也有類似的應(yīng)用,比如,用ImageNet訓(xùn)練出來的分類器的隱層可以用于image captioning或其他圖像分類任務(wù)。另外,我們這里提到的是特征層面的遷移,其他層面的遷移也有可能但會困難很多。
CSDN:書中還強調(diào)了計算型網(wǎng)絡(luò)(CN)在新語音識別系統(tǒng)中的作用,考慮CN需要注意哪些問題?熱門的LSTM RNN被高估了嗎?
俞棟:從學(xué)術(shù)研究的角度來講最重要的是分析模型各變量之間的關(guān)系,然后用計算型網(wǎng)絡(luò)來實現(xiàn)這些關(guān)系。從工程的角度來講,還要考慮訓(xùn)練的難易程度、模型的大小、以及運行時的速度、時延和能耗。
LSTM 在許多模型中仍然有重要的作用。不過我們發(fā)現(xiàn)一些其他模型在某些問題上可以和LSTM表現(xiàn)接近甚至超過它,比如前面提到的deep CNN在非特定人語音識別上能超過LSTM,而GRU和基于Rectified Linear Unit 的RNN在很多時序問題上和LSTM表現(xiàn)接近但更簡單。
|未來技術(shù)趨勢
CSDN:語音識別的未來技術(shù)方向,其中哪些是您的團隊所關(guān)注的?您如何確定一個技術(shù)研究的方向?
俞棟:我們認為更困難環(huán)境下的識別比如遠場、高噪音、或帶口音的語音識別會是下一個需要解決的問題,我們的研究也側(cè)重在這些方面。我們目前專注于研發(fā)對各種場景都具有更強識別能力的模型比如 deep CNN 以及能提升遠場識別率的模型比如PIT。我們也關(guān)注可能引發(fā)技術(shù)革新的其他新想法比如基于RNN生成模型的識別系統(tǒng)。
對于研究方向,我個人主要基于如下四個方面來決定:
問題的重要性。我們側(cè)重解決重要的問題而不管問題本身是簡單還是困難。
研究方向或方法的潛力而不僅僅是目前的表現(xiàn)。如果一個方法目前表現(xiàn)不夠佳,但是具有很大的可擴展性和想象空間,那么我們會在這個方向上推進。
解決方案的普適性。我們更喜歡能解決一類問題或多個場景的方法而不是某個特定問題或場景的方法。
工程上的便利性。我們更喜歡簡潔的方法,簡潔的方法更便于工程實現(xiàn)和快速迭代。
CSDN:訓(xùn)練關(guān)鍵的發(fā)音特征并泛化,目前有什么樣的進展?您認為技術(shù)成熟還需要什么條件?
俞棟:我們現(xiàn)在的所有模型都不對關(guān)鍵的發(fā)音特征做任何預(yù)設(shè),模型參數(shù)完全是從數(shù)據(jù)中學(xué)出來的。
在機器學(xué)習(xí)中,有個著名的bias and variance dilemma。擬合能力弱的模型一般有較小的方差引起的錯誤率,比較不容易過擬合,但有較大的由偏差引起的錯誤率。而擬合能力強的模型則反之。由偏差引起的錯誤率不容易減小,但是由方差引起的錯誤率卻可以通過增加訓(xùn)練數(shù)據(jù)來減小。深度學(xué)習(xí)模型其實就是擬合能力較強的一類模型,目前解決泛化能力(或由方差引起的錯誤率)的主要方法就是增加訓(xùn)練數(shù)據(jù)。
但是人可以用少得多的訓(xùn)練數(shù)據(jù)達到在不同場合下的較高的識別率,尤其是對未見場合的泛化能力人遠遠超過深度學(xué)習(xí)。我個人做過一些這方面的探索,比如讓每個音素學(xué)習(xí)一個在多種環(huán)境下都適用的模板(或mask),但遺憾的是這些嘗試并不成功。目前我們還沒有發(fā)現(xiàn)具有這種強泛化能力的模型。要解決這個問題,機器學(xué)習(xí)算法必須能夠自動識別各層次低維流型上不同sample的相同點和不同點,并知道對哪個問題用哪個層次上的特征。
CSDN:未來三五年的語音識別領(lǐng)域,是否還有一些非深度學(xué)習(xí)方法具有挖掘的潛力(或者可以和深度學(xué)習(xí)進行結(jié)合實現(xiàn)更好的效果)?
俞棟:其實目前的主流語音識別技術(shù)仍然集成了傳統(tǒng)方法和深度學(xué)習(xí)方法。如果把深度學(xué)習(xí)定義為任何具有多級非線性處理的系統(tǒng),那么任何含有深度學(xué)習(xí)模塊的系統(tǒng)都是深度學(xué)習(xí)系統(tǒng)。但這并不表示深度學(xué)習(xí)就是全部。
從更廣泛的范圍來看,深度學(xué)習(xí)只是眾多人工智能技術(shù)中的一種,它的主要長處還是在于非線性特征提取和端到端的基于梯度的優(yōu)化。許多問題都不能僅僅使用深度學(xué)習(xí)技術(shù)來完成。比如AlphaGo 其實就是集成了深度學(xué)習(xí)、強化學(xué)習(xí)、和蒙特卡洛樹搜索技術(shù)。我個人認為應(yīng)該讓每個技術(shù)做它擅長的事,把多種技術(shù)有機地結(jié)合起來會是解決很多實際問題的最佳方案。
|新技術(shù)學(xué)習(xí)方法
CSDN:這本書的參考文獻數(shù)量達到了450多份,包括很多論文,這可能得益于您的IEEE的工作,但目前各個大會/期刊收的論文非常多,能否介紹一些快速選擇和研讀論文的通用方法?
俞棟:你會發(fā)現(xiàn),雖然論文很多,但主要的進展仍然是由幾個主要的研究機構(gòu)和個人推動的。如果你沒有足夠的時間,那么跟蹤這些研究機構(gòu)和個人會是一個比較有效的方法。如果你能與他們建立良好的關(guān)系,你甚至可以在他們的工作正式出版之前就了解他們的進展或得到文章的預(yù)印本。如果你還有時間,我建議你去參加相關(guān)的學(xué)術(shù)會議。學(xué)術(shù)會議是信息交流的場所,你可以了解到大家都在討論什么問題和方法,推薦閱讀哪一篇文章,注意哪一項工作。
當(dāng)然,并不是每篇文章都值得仔細研讀。我會閱讀概要、簡介、和總結(jié)以對一篇文章有個大致的了解,而只花更多時間在有新思想、新方法、新視角或者新結(jié)論的具有潛力的工作上。
|CNTK加速模型訓(xùn)練速度
CSDN:您認為CNTK在語音識別算法開發(fā)中的優(yōu)勢如何體現(xiàn)?
俞棟:就我個人所知,許多新的語音識別模型都是基于CNTK開發(fā)的。我們一開始開發(fā)CNTK主要就是為語音識別的研究服務(wù)的。即使今天CNTK能方便地支持圖像、視頻、文本、以及其他信息的處理,它對于語音識別模型的支持仍然比較好。CNTK非常靈活,它支持各種主流模型,比如 DNN、CNN、LSTM,同時可以自定義各種新模型,比如PIT模型和PAC模型就都是完全由CNTK構(gòu)建的。另外,因為CNTK也是我們產(chǎn)品線上的主要工具,所以我們開發(fā)了許多高效率高性能的并行算法。這些算法極大地提升了像語音識別這樣需要大量訓(xùn)練數(shù)據(jù)的任務(wù)的訓(xùn)練速度。
CSDN:能否介紹CNTK的Python支持的進展?未來對于其他語言如Matlab、R、Java、Lua、Julia的支持是如何規(guī)劃的?
俞棟:我們在已經(jīng)發(fā)布的1.5和1.6版本中已經(jīng)有對Python的支持。在將要發(fā)布的2.0版本中我們會提供更完善的支持,另外2.0版的API也會更完整、更靈活。在新的API框架下,加入對其他語言的支持會變得很容易。
CSDN:CNTK可擴展GPU的能力值得稱道,但大規(guī)模部署GPU能耗同樣不小,現(xiàn)在有不少FPGA、ASIC加速方案的嘗試,CNTK會做類似擴展的考慮嗎?
俞棟:事實上,感謝我們工程師的優(yōu)化工作,我們目前的所有語音識別系統(tǒng)都可以在單CPU上實現(xiàn)實時識別。所以在serving端,GPU能耗還不是問題。 但我們預(yù)見到單CPU的瓶頸,所以在CNTK上也在部署低精度低能耗的CPU/GPU架構(gòu)。當(dāng)然,我們也有同事在做FPGA的工作。
CSDN:深度學(xué)習(xí)用于語音識別的形式往往是混合模型,您認為是否有必要考慮CNTK與非深度機器學(xué)習(xí)系統(tǒng)的整合,比如Yahoo!的Caffe-On-Spark?
俞棟:在運行環(huán)境上的集成方面,黃學(xué)東博士(1993年被微軟從卡內(nèi)基梅隆大學(xué)聘請來主導(dǎo)語音識別項目)主導(dǎo)的Philly項目有做類似的工作。
CSDN:在未來半年CNTK會有哪些重要的更新?
俞棟:我們會有更好更靈活的API層,會提供更全面的Python支持,會進一步提升訓(xùn)練的效率,對稀疏矩陣會做更好的支持,會支持低精度計算。當(dāng)然,更多種類的更復(fù)雜的計算節(jié)點(比如LFMMI)也會加入到工具中。
CSDN:除了CNTK,還有哪些深度學(xué)習(xí)開源技術(shù)是您喜歡的?
俞棟:TensorFlow、Torch、MxNet、Theano等都是不錯的深度學(xué)習(xí)開源工具。每種工具都有自己的特點和長處。
CCAI 2016中國人工智能大會將于8月26-27日在京舉行。
原文鏈接:http://geek.csdn.net/news/detail/93513
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。