在近二十年來,尤其是引入深度學(xué)習(xí)以后,語音識別取得了一系列重大突破,并一步步走向市場并搭載到消費級產(chǎn)品中。然而在用戶體驗上,「遲鈍」可以算得上這些產(chǎn)品最大的槽點之一,這也意味著語音識別的延遲問題已經(jīng)成為了該領(lǐng)域研究亟待解決的難點。日前,谷歌推出了基于循環(huán)神經(jīng)網(wǎng)絡(luò)變換器(RNN-T)的全神經(jīng)元設(shè)備端語音識別器,能夠很好地解決目前語音識別所存在的延遲難題。谷歌也將這項成果發(fā)布在了官方博客上。
2012 年,語音識別研究表明,通過引入深度學(xué)習(xí)可以顯著提高語音識別準確率,因此谷歌也較早地在語音搜索等產(chǎn)品中采用深度學(xué)習(xí)技術(shù)。而這也標志著語音識別領(lǐng)域革命的開始:每一年,谷歌都開發(fā)出了從深度神經(jīng)網(wǎng)絡(luò)(DNN)到循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、長短期記憶網(wǎng)絡(luò)(LSTM)、卷積網(wǎng)絡(luò)(CNNs)等一系列新的架構(gòu),進一步地提高了語音識別的質(zhì)量。然而在此期間,延遲問題依舊是該領(lǐng)域需要攻克的主要難點——當(dāng)語音助手能夠?qū)崿F(xiàn)快速回答問題時,用戶會感覺它有幫助得多。
日前,谷歌正式宣布推出端到端、全神經(jīng)元的設(shè)備端語音識別器,為 Gboard 中的語音輸入提供支持。在谷歌 AI 最近的一篇論文《移動設(shè)備的流媒體端到端語音識別》(Streaming End-to-End Speech Recognition for Mobile Devices,論文閱讀地址:https://arxiv.org/abs/1811.06621)中,其研究團隊提出了一種使用循環(huán)神經(jīng)網(wǎng)絡(luò)變換器(RNN-T,https://arxiv.org/pdf/1211.3711.pdf)技術(shù)訓(xùn)練的模型,該技術(shù)也足夠精簡可應(yīng)用到手機端上。這就意味著語音識別不再存在網(wǎng)絡(luò)延遲或故障問題——新的識別器即便處于離線狀態(tài)也能夠運行。該模型處理的是字符水平的語音識別,因此當(dāng)人在說話時,它會逐個字符地輸出單詞,這就跟有人在實時鍵入你說的話一樣,同時還能達到你對鍵盤聽寫系統(tǒng)的預(yù)期效果。
該圖對比了識別同一句語音時,服務(wù)器端語音識別器(左邊)以及新的設(shè)備端語音識別器(右邊)的生成情況。
關(guān)于語音識別的一點歷史
傳統(tǒng)而言,語音識別系統(tǒng)由幾個部分組成:一個將語音分割(一般為 10 毫秒的框架)映射到音素的聲學(xué)模型;一個將因素合成單詞的發(fā)音模型;以及一個表達給定短語可能性的語言模型。在早期的系統(tǒng)中,對這些組成部分的優(yōu)化都是單獨進行的。
在 2014 年左右,研究人員就開始重點訓(xùn)練單個神經(jīng)網(wǎng)絡(luò),來直接將一個輸入語音波形映射到一個輸出句子。研究人員采用這種通過給定一系列語音特征生成一系列單詞或字母的序列到序列(sequence-to-sequence)方法開發(fā)出了「attention-based」(https://arxiv.org/pdf/1506.07503.pdf)和「listen-attend-spell」(https://arxiv.org/pdf/1508.01211.pdf)模型。雖然這些模型在準確率上表現(xiàn)很好,但是它們一般通過回顧完整的輸入序列來識別語音,同時當(dāng)輸入進來的時候也無法讓數(shù)據(jù)流輸出一項對于實時語音轉(zhuǎn)錄必不可少的特征。
與此同時,當(dāng)時的一項叫做CTC(connectionist temporal classification)的技術(shù)幫助將生產(chǎn)式識別器的延遲時間減半。事實證明,這項進展對于開發(fā)出 CTC 最新版本(改版本可以看成是 CTC 的泛化)中采用的 RNN-T 架構(gòu)來說,是至關(guān)重要的一步。
循環(huán)神經(jīng)網(wǎng)絡(luò)變換器(RNN-T)
RNN-T 是不采用注意力機制的序列到序列模型的一種形式。與大多數(shù)序列到序列模型需要處理整個輸入序列(本文案例中的語音波形)以生成輸出(句子)不同,RNN-T 能持續(xù)地處理輸入的樣本和數(shù)據(jù)流,并進行符號化的輸出,這種符號化的輸出有助于進行語音聽寫。在谷歌研究人員的實現(xiàn)中,符號化的輸出就是字母表中的字符。當(dāng)人在說話時,RNN-T 識別器會逐個輸出字符,并進行適當(dāng)留白。在這一過程中,RNN-T 識別器還會有一條反饋路徑,將模型預(yù)測的符號輸回給自己以預(yù)測接下來的符號,具體流程如下圖所示:
RNN-T 的表示:用 x 表示輸入語音樣本;用 y 表示預(yù)測的符號。預(yù)測的符號(Softmax 層的輸出)y(u-1)通過預(yù)測網(wǎng)絡(luò)被輸回給模型,確保預(yù)測同時考慮到當(dāng)前的語音樣本以及過去的輸出。預(yù)測和解碼網(wǎng)絡(luò)都是LSTM RNN,聯(lián)合的模型則是前饋網(wǎng)絡(luò)(feedforward network ,相關(guān)論文查看地址:https://www.isca-speech.org/archive/Interspeech_2017/pdfs/0233.PDF)。預(yù)測網(wǎng)絡(luò)由 2 個擁有 2048 個單元的層和 1 個有著 640 個維度的投射層組成。解碼網(wǎng)絡(luò)則由 8 個這樣的層組成。圖源:Chris Thornton
有效地訓(xùn)練這樣的模型本來就已經(jīng)很難了,然而使用谷歌開發(fā)的這項能夠進一步將單詞錯誤率減少 5% 的新訓(xùn)練技術(shù),對計算能力也提出了更高的要求。對此,谷歌開發(fā)了一種平行實現(xiàn)的方法,讓 RNN-T 的損失函數(shù)能夠大批地在谷歌的高性能云平臺 TPUv2 芯片上高效運行。
離線識別
在傳統(tǒng)的語音識別引擎中,上文中提到的聲學(xué)、發(fā)音和語言模型被「組合」成一個邊緣用語音單元及其概率標記的大搜索圖(search graph)。在給定輸入信號的情況下,當(dāng)語音波形抵達識別器時,「解碼器」就會在圖中搜索出概率最大的路徑,并讀出該路徑所采用的單詞序列。一般而言,解碼器假設(shè)基礎(chǔ)模型由 FST(Finite State Transducer)表示。然而,盡管現(xiàn)在已經(jīng)有精密的解碼技術(shù),但是依舊存在搜索圖太大的問題——谷歌的生成式模型的搜索圖大小近 2GB。由于搜索圖無法輕易地在移動電話上托管,因此采用這種方法的模型只有在在線連接的情況中才能正常工作。
為了提高語音識別的有效性,谷歌研究人員還試圖通過直接將在設(shè)備上托管新模型來避免通信網(wǎng)絡(luò)的延遲及其固有的不可靠性。因此,谷歌提出的這一端到端的方法,不需要在大型解碼器圖上進行搜索。相反,它采取對單個神經(jīng)網(wǎng)絡(luò)進行一系列搜索的方式進行解碼。同時,谷歌研究人員訓(xùn)練的 RNN-T 實現(xiàn)了基于服務(wù)器的傳統(tǒng)模型同樣的準確度,但是該模型大小僅為 450MB,本質(zhì)上更加密集、更加智能地利用了參數(shù)和打包信息。不過,即便對于如今的智能手機來說,450 MB 依舊太大了,這樣的話當(dāng)它通過如此龐大的網(wǎng)絡(luò)進行網(wǎng)絡(luò)信號傳輸時,速度就會變得很慢。
對此,谷歌研究人員通過利用其于 2016 年開發(fā)的參數(shù)量化(parameter quantization )和混合內(nèi)核(hybrid kernel)技術(shù)(https://arxiv.org/abs/1607.04683),來進一步縮小模型的大小,并通過采用 ensorFlow Lite 開發(fā)庫中的模型優(yōu)化工具包來對外開放。與經(jīng)過訓(xùn)練的浮點模型相比,模型量化的壓縮高出 4 倍,運行速度也提高了 4 倍,從而讓 RNN-T 比單核上的實時語音運行得更快。經(jīng)過壓縮后,模型最終縮小至 80MB。
谷歌全新的全神經(jīng)元設(shè)備端 Gboard 語音識別器,剛開始僅能在使用美式英語的 Pixel 手機上使用。考慮到行業(yè)趨勢,同時隨著專業(yè)化硬件和算法的融合不斷增強,谷歌表示,希望能夠?qū)⑦@一技術(shù)應(yīng)用到更多語言和更廣泛的應(yīng)用領(lǐng)域中去。
-
谷歌
+關(guān)注
關(guān)注
27文章
6192瀏覽量
105942 -
語音識別
+關(guān)注
關(guān)注
38文章
1742瀏覽量
112888
原文標題:語音識別如何突破延遲瓶頸?谷歌推出了基于 RNN-T 的全神經(jīng)元設(shè)備端語音識別器
文章出處:【微信號:CAAI-1981,微信公眾號:中國人工智能學(xué)會】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論