全離線,無延遲!谷歌手機更新語音識別系統,模型大小僅80M

大資料文摘發表於2019-03-13

全離線,無延遲!谷歌手機更新語音識別系統,模型大小僅80M

大資料文摘出品

來源:ai.googleblog

編譯:周素雲、魏子敏

識別延遲一直是裝置端語音識別技術需要解決的重大問題,谷歌手機今天更新了手機端的語音識別技術——Gboard,重磅推出了一款端到端、全神經、基於裝置的語音識別器,支援Gboard中的語音輸入。通過谷歌最新的(RNN-T)技術訓練的模型,該模型精度超過CTC,並且只有80M,可直接在裝置上執行。

2012年,語音識別研究獲得新突破——深度學習可以提高識別的準確性,最早探索這項技術的產品便是谷歌語音搜尋了。這標誌這語音識別革命的開始,從深層神經網路(DNNs)到遞迴神經網路(RNNs),長短期記憶網路(LSTMs),卷積網路(CNNs)等等,新的架構和開發質量每年都在快速提升。在發展過程中,識別延遲仍然是攻關難點。

今天,谷歌官方宣佈,推出一款端到端、全神經、基於裝置的語音識別器,支援Gboard中的語音輸入。

全離線,無延遲!谷歌手機更新語音識別系統,模型大小僅80M

在谷歌最近的論文“移動裝置的流媒體端到端語音識別”中,提出了一種使用RNN感測器(RNN-T)技術訓練的模型,並且可以在手機上實現。這意味著即使你的手機網路延遲,甚至處於離線狀態,新的識別器也始終可用。

谷歌論文下載連結:

https://arxiv.org/abs/1811.06621

該模型以單詞級別執行,也就是說,當你說話時,它會逐個字元地輸出單詞,就像是你自己在敲鍵盤一樣。

全離線,無延遲!谷歌手機更新語音識別系統,模型大小僅80M

語音識別的歷史

最初,語音識別系統由這樣幾個部分組成,將音訊片段(通常為10毫秒幀)對映到音素的聲學模型,將音素連線在一起形成單詞的發音模型,語言模型給出相應的短語。這些元件在早期系統中都是相互獨立的。

大約在2014年,研究人員開始專注於訓練單個神經網路,將輸入音訊波形直接對映到輸出句子。

也就是說,通過給定一系列音訊特徵,生成一系列單詞或字形來建立學習模型,這種seq2seq模型的出現促進了“attention-based ”和“listen-attend-spell” 模型的進展。

這些模型期望在識別準確度上做出突破,但其需要通檢查整個輸入序列來工作,並且在輸入時不允許輸出,這就很難實現實時語音轉錄了。

幾乎同一時間,一個被稱為CTC的獨立技術出現了,成功解決了識別延時的問題,採用CTC技術也就成為邁向RNN-T架構最重要一步。

遞迴神經網路感測器

RNN-Ts是一種非注意機制的seq2seq模型。與大多數seq2seq模型(通常需要處理整個輸入序列(在我們的例子中是波形)以產生輸出(句子))不同,RNN-T可以連續處理輸入樣本和流輸出符號,這種屬性對於語音識別尤其友好。在實現過程中,輸出符號是字母表的字元。RNN-T識別器會逐個輸出字元,並在適當的位置輸入空格。它通過反饋迴圈執行此操作,該迴圈將模型預測的符號反饋到其中,以預測下一個符號,如下圖所示。

全離線,無延遲!谷歌手機更新語音識別系統,模型大小僅80M

訓練這樣一隻有效執行的模型已經很困難,並且隨著我們開發的進展——進一步將單詞錯誤率降低了5%,模型變得更加計算密集。為了解決這個問題,我們開發了並行實現,使得RNN-T損失功能可以在Google的高效能Cloud TPU v2硬體上大批量執行。這在訓練中實現了約3倍的加速。

離線識別

全離線,無延遲!谷歌手機更新語音識別系統,模型大小僅80M

在傳統的語音識別引擎中,我們上面描述的聲學、發音和語言模型會被“組合”成一個大的圖搜尋演算法。當語音波形被呈現給識別器時,“解碼器”在給定輸入訊號的情況下,會在該圖中搜尋相似度最高的路徑,並讀出該路徑所採用的字序列。

通常,解碼器採用基礎模型的有限狀態感測器(FST)表示。然而,儘管有複雜的解碼技術,圖搜尋演算法仍然非常之大,以我們的模型為例,可以達到了2GB。如此大的模型根本無法在移動裝置上執行,因此這種方法需要在連線時才能正常工作。

為了提高語音識別的有效性,我們試圖通過直接在裝置上執行新模型,來避免通訊網路的延遲和不可靠性。因此,我們的端到端方法不需要在大型解碼器圖上進行搜尋。

相反,只通過單個神經網路的波束搜尋進行。我們訓練的RNN-T提供與傳統的基於伺服器的模型相同的精度,但只有450MB,可以更加智慧地使用引數和打包資訊。然而,即使在今天的智慧手機上,450MB也不小了,並且,通過如此龐大的網路傳輸訊號依然很慢。

進一步的,我們通過使用引數量化和混合核心技術來縮小模型,我們在2016年開發了這一技術並在TensorFlow精簡版庫上公開提供了模型優化工具包。

模型量化相對於訓練的浮點模型提供4倍壓縮,在執行時提供4倍加速,使我們的RNN-T比單核上的實時語音執行得更快。壓縮後,我們模型的最終大小達到了80MB。

終於,噹噹噹,我們的新型裝置端神經網路Gboard語音識別器上線了。最初的版本,我們僅提供英語語言,適配所有Pixel手機。鑑於行業趨勢,隨著專業硬體和演算法改進的融合,我們希望這裡介紹的技術可以很快用於更多語言和更廣泛的應用領域。

相關報導:

https://ai.googleblog.com/2019/03/an-all-neural-on-device-speech.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31562039/viewspace-2638286/,如需轉載,請註明出處,否則將追究法律責任。

相關文章