阿里云年会人机大战-技术大揭秘
引言
在上一篇文章中人工智能PK金牌速記員之實戰(zhàn)錄,我們講述了阿里云年會人機大戰(zhàn)背后的故事。技術(shù)Geek們可能就好奇了?現(xiàn)場的實時轉(zhuǎn)錄系統(tǒng)是怎么回事? 其中核心的語音識別系統(tǒng)到底是什么,工作原理是什么? 阿里云iDST的語音識別系統(tǒng)準確率為什么可以做到這么高,有什么獨得之秘?本文將會將這些問題的答案一一揭曉。
人機大戰(zhàn)之現(xiàn)場
?
上圖是視頻的截圖,展示的就是阿里云年會人機大戰(zhàn)的現(xiàn)場情形, 阿里云的掌門人孫權(quán)在臺上演講,自動語音系統(tǒng)和速記員分別給出演講的文本內(nèi)容,同時投屏,現(xiàn)場PK正確率。其中,左邊的屏幕展示語音識別的結(jié)果,作為字幕顯示在實時圖像上;另一邊則是全球速記亞軍姜毅先生將演講內(nèi)容速記下來,以白屏黑字的方式顯示給觀眾。
現(xiàn)在問題來了,阿里云iDST的系統(tǒng)是如何做到實時轉(zhuǎn)錄并將語音識別的結(jié)果作為字幕展示給觀眾的呢?
實時轉(zhuǎn)錄系統(tǒng)架構(gòu)
這里給出了演示系統(tǒng)的軟硬件架構(gòu)如下圖所示。
- 音頻方案
在音頻方面,現(xiàn)場嘉賓的講話內(nèi)容通過無線麥克風(fēng)傳遞到USB聲卡。為了實現(xiàn)同時語音識別和現(xiàn)場放音的效果,USB聲卡的輸出中一路送到調(diào)音臺然后到現(xiàn)場的揚聲器播放給觀眾,另一路則通過PC軟件進行音頻采集,將采集到的音頻數(shù)據(jù)發(fā)送到阿里云語音服務(wù)器上運行語音識別,并將語音識別的文本結(jié)果實時返回,為實時產(chǎn)生字幕做準備。
?
- 視頻方案
在視頻方面,現(xiàn)場也會產(chǎn)生兩路視頻輸入: 一方面攝影師通過攝像機拍攝嘉賓演講的畫面?zhèn)骰氐街锌嘏_;另一方面,流式返回的語音識別結(jié)果文本通過渲染產(chǎn)生滾動的字幕效果,并展示在一個純綠屏圖像上。最后,在中控臺處,通過摳屏軟件將滾動的字幕疊加在嘉賓演講畫面上,產(chǎn)生實時字幕的效果。
在整個系統(tǒng)中,最為核心的算法部分就是一個是語音識別服務(wù)部分,它的作用就是將嘉賓的演講內(nèi)容實時轉(zhuǎn)換為文本內(nèi)容。那么現(xiàn)在問題又來了,語音識別是怎么工作的呢?
?
語音識別技術(shù)概覽
語音識別就是把語音轉(zhuǎn)換為文字的技術(shù)。經(jīng)過幾十年的發(fā)展,它已經(jīng)成為目前人工智能領(lǐng)域發(fā)展的較為成熟的一個應(yīng)用方向。那么看似神秘的語音識別技術(shù)背后的基本原理到底是怎么回事呢?鑒于篇幅原因,這里只簡單的解釋一下語音識別的基本原理。
?
目前,主流的語音識別系統(tǒng)多采用統(tǒng)計機器學(xué)習(xí)方法完成。一個典型的語音識別系統(tǒng)由以下幾個模塊所組成:
- 語音采集模塊。在此模塊中,麥克風(fēng)錄入的語音通過采集之后得到一個數(shù)字化的語音信號表示,比如一個16k采樣率16bit的數(shù)字化語音表示,就是將每秒的語音表示為1,6000個16-bit的整數(shù);
特征提取模塊。該模塊的主要任務(wù)是把采集的數(shù)字語音信號轉(zhuǎn)換為特征向量,供聲學(xué)模型處理; - 聲學(xué)模型。聲學(xué)模型用來表征人的語音跟語音識別產(chǎn)生的文本在聲音上的相似程度。傳統(tǒng)上通常使用隱含馬爾科夫模型-混合高斯模型(HMM-GMM),近些年多使用隱含模型科夫模型-深度神經(jīng)網(wǎng)模型(HMM-DNN)或者其他改進模型表示。
- 發(fā)音詞典。發(fā)音詞典包含語音識別系統(tǒng)所能處理的所有的詞匯及其發(fā)音,發(fā)音詞典實際提供了聲學(xué)模型建模單元與語言模型建模單元間的映射關(guān)系。
- 語言模型。語言模型對系統(tǒng)所針對的語言進行建模,用來評估識別出的文本的“流暢程度”。目前應(yīng)用最廣的一種是基于統(tǒng)計的N元文法(Ngram)及其變體。
- 解碼器。解碼器是語音識別系統(tǒng)的核心之一,其任務(wù)是對輸入的特征矢量,根據(jù)聲學(xué)模型和語言模型,尋找能夠以最大概率輸出該特征矢量的詞串,通常使用基于束搜索(beam search)的維特比算法完成這個搜索過程。
?
上面所述就是一般的語音識別系統(tǒng)的背后基本原理,在很多科普性的介紹中都有所涉及。實際上iDST的語音識別系統(tǒng)也落在上述介紹的基本框架中,但是iDST的語音識別系統(tǒng)為什么有這么高的準確率,有什么獨得之秘呢?
IDST語音識別系統(tǒng)
臺上一分鐘,臺下十年功。在阿里云年會上iDST語音識別系統(tǒng)所展示的超高準確率是建立在iDST語音團隊同學(xué)豐富的業(yè)界經(jīng)驗和過去一年辛勤工作所產(chǎn)生的深厚積累上的。這里就簡單介紹一下iDST語音識別系統(tǒng)所有的獨到特點。
- 業(yè)內(nèi)領(lǐng)先的聲學(xué)模型建模技術(shù)BLSTM
在語音識別的聲學(xué)模型方面,iDST團隊擁有業(yè)內(nèi)最領(lǐng)先的BLSTM (bi-directional long-short-term-memory) 建模技術(shù),可以通過序列建模的方式,同時使用語音時序序列中的歷史信息和“未來”序列信息;保證了聲學(xué)模型建模的最佳準確性,有效地提升語音識別的準確率,相比于上一代的基于深度神經(jīng)網(wǎng)(DNN)的聲學(xué)模型建模方法,相對性能提升可以達到15%-20%。為了實現(xiàn)BLSTM技術(shù),iDST語音組的同學(xué)還原創(chuàng)性的解決了BLSTM在訓(xùn)練效率和實際部署中的延遲問題, 成為世界上第一個在工業(yè)實時系統(tǒng)中部署B(yǎng)LSTM技術(shù)的團隊, 關(guān)于該技術(shù)的介紹請參考云棲文社區(qū)的文章。
- 業(yè)內(nèi)領(lǐng)先的超大規(guī)模的語言模型建模技術(shù)
正如上一章所說,語言模型在語音識別系統(tǒng)中的作用就是用來評估句子的通順程度。語言模型的一個核心指標是模型對測試文本的匹配程度(使用困惑度來表示)。在實際應(yīng)用中,語言模型對領(lǐng)域的相關(guān)性越強,對語料的覆蓋度越高,識別效果就越好。為了增加語言模型的覆蓋度,保證對各個領(lǐng)域的識別性能。iDST借助阿里云的計算優(yōu)勢,使用了全網(wǎng)語料作為訓(xùn)練數(shù)據(jù),自主開發(fā)了基于Max-Compute的并行語言模型訓(xùn)練工具, 訓(xùn)練產(chǎn)生了規(guī)模高達百億 ngram 條目的超大語言模型(模型文件大小高達數(shù)百G字節(jié))。正是有了這樣大規(guī)模的語言模型,使得iDST的語音識別系統(tǒng)可以很好的識別很多生僻的詞,比如“羋月傳中的葵姑扮演者”這種新潮詞,比如古詩詞的識別,比如各種學(xué)科術(shù)語等等,都不在話下。
- 業(yè)內(nèi)領(lǐng)先的語音識別解碼技術(shù)
語音識別解碼器是語音識別在工業(yè)界部署的核心問題。雖然解碼器的基本原理為人所知(維特比搜索),并且一個玩具的解碼器原型只需要200行左右的代碼就可以工作,但是一個真正工業(yè)級的解碼器確是目前語音識別中真正最具挑戰(zhàn)性的問題。
語音識別解碼是一個真正的計算密集型和內(nèi)存密集型的計算流程。解碼器的第一個挑戰(zhàn)是,聲學(xué)模型(深度神經(jīng)網(wǎng))打分是一個典型的計算密集型過程(矩陣乘法),為了保證這一部分的效率,iDST的同學(xué)做了各種算法優(yōu)化(量化解碼,模型壓縮等)和指令優(yōu)化(針對各種硬件平臺),降低了這一部分的計算量。
解碼器中面臨的一個更大的挑戰(zhàn)是如何在語音識別中使用超大規(guī)模語言模型,因為巨大的模型可能使得解碼過程中內(nèi)存成為瓶頸,而且解碼中對語言模型的反復(fù)查找會使計算成為瓶頸。 為了達到在解碼過程中使用超大語言模型的目的, iDST的同學(xué)對語言模型的存貯表示以及和解碼器的核心算法以及跟語言模型的交互方式進行了深度的定制。既節(jié)省了解碼時的語言模型內(nèi)存耗費,又充分利用了解碼過程中的信息,減少了語言模型部分的計算量,使得在線使用成為可能。實際上,即使在整個世界上范圍內(nèi),能夠使用這種規(guī)模的語言模型用于單遍解碼的語音識別系統(tǒng)也屈指可數(shù)。
對應(yīng)這部分,iDST的同學(xué)會寫相應(yīng)的文章來闡述這一部分的奧秘。
?
- 模型的快速迭代和訓(xùn)練
另外一個取得這么優(yōu)秀性能的原因是模型的快速迭代和訓(xùn)練。語音識別中的聲學(xué)模型和語言模型技術(shù)需要基于海量數(shù)據(jù)進行學(xué)習(xí)的,那么如何完成在海量數(shù)據(jù)上的快速迭代就變得尤為重要。在上面提到的大規(guī)模語言模型訓(xùn)練工具之外, iDST還基于阿里云的基礎(chǔ)架構(gòu),構(gòu)建了GPU集群的多機并行深度學(xué)習(xí)系統(tǒng)用來完成聲學(xué)模型的訓(xùn)練(詳情請參考GPU訓(xùn)練的文章 。這樣系統(tǒng)的快速迭代就變成了可能。
- 高性能計算支持
正如上面所述,語音識別本身是個計算密集型系統(tǒng)。為了保證演示當(dāng)天達到最佳的效果,在年會當(dāng)天,使用的HPC是阿里云帶GPU加速的新一代高性能計算平臺,單節(jié)點計算性能高達16TFLOPS,加上算法優(yōu)化,保證了語音識別的實時響應(yīng)速度。
?
好了,專為技術(shù)Geek們準備的揭秘就到這里了。如果還對其中的技術(shù)細節(jié)感興趣,請參考阿里iDST的云棲社區(qū)公眾號吧。
?
?
總結(jié)
以上是生活随笔為你收集整理的阿里云年会人机大战-技术大揭秘的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MYSQL 更改数据库data存储目录
- 下一篇: 2016年4月11日作业(法律法规、标准