谷歌語音輸入法可離線識(shí)別啦!
這次出手的,又是谷歌 AI 團(tuán)隊(duì)。剛剛,他們?yōu)槠煜碌囊豢?a target="_blank">手機(jī)輸入法 Gboard (不要跟谷歌拼音輸入法搞混了啊~)上線了新功能:離線語音識(shí)別。目前這一新功能,只能在其自家的產(chǎn)品 Pixel 系列手機(jī)上使用。
廣大已經(jīng)下載或正在趕往下載路上的 Pixel 圈外人士,包括 iOS 用戶可能都會(huì)失望了。
他們是這樣描述這款新功能的配置的:端到端、全神經(jīng)、本地部署的語音識(shí)別系統(tǒng)。
在其最近的論文 “Streaming End-to-End Speech Recognition for Mobile Devices” 中,他們提出了一種基于 RNN-T(RNN transducer)的訓(xùn)練模型。
它非常緊湊,可滿足在手機(jī)上部署。這意味著不會(huì)出現(xiàn)太多網(wǎng)絡(luò)延遲或紊亂,即使用戶處于脫機(jī)狀態(tài),這款語音識(shí)別系統(tǒng)也始終可用。該模型始終以字符級(jí)工作, 因此即便你說話,它也會(huì)逐個(gè)字符地輸出單詞,就好像有人在實(shí)時(shí)鍵入并準(zhǔn)確在虛擬鍵盤聽寫出你說的話。
例如,下面兩張圖片中展示的是在聽寫系統(tǒng)中輸入相同句子時(shí)的情況展示:左側(cè)為服務(wù)器端,右側(cè)為本地端。哪邊的語音識(shí)別體驗(yàn)更好呢?
總結(jié)起來就是,“離線狀態(tài)下,沒有任何延遲。”這也是谷歌此次亮出的大殺器。
發(fā)生延遲是因?yàn)槟愕恼Z音數(shù)據(jù)必須從手機(jī)傳輸?shù)椒?wù)器上,解析完成后再返回。這可能需要幾毫秒甚至幾秒的時(shí)間。萬一語音數(shù)據(jù)包在以太網(wǎng)中丟失,則需要更長(zhǎng)的時(shí)間。
將語音轉(zhuǎn)換成毫秒級(jí)的文本需要相當(dāng)多的計(jì)算力。這不只簡(jiǎn)單是聽到聲音然后寫一個(gè)單詞那么簡(jiǎn)單,而是需要理解一個(gè)人講話的含義,以及背后涉及的很多有關(guān)語言和意圖的上下文語境。
在手機(jī)上是可以做到這一點(diǎn)的,但如此的話,又會(huì)很損耗電池電量。
語音識(shí)別模型簡(jiǎn)史
一般來講,語音識(shí)別系統(tǒng)由幾個(gè)部分組成:將音頻片段(通常為 10 毫秒幀)映射到音素的聲學(xué)模型、將音素連接起來形成單詞的發(fā)聲模型,以及一個(gè)表達(dá)給定模型的語言模型。在早期系統(tǒng),這些組件是相對(duì)獨(dú)立優(yōu)化的。
2014 年左右,研究人員開始專注于訓(xùn)練單個(gè)神經(jīng)網(wǎng)絡(luò),將輸入音頻波形直接映射到輸出句子。通過在給定一系列音頻特征的情況下生成一系列單詞或字形來學(xué)習(xí)模型,這種 sequence-to-sequence 的方法促使了 attention-based 和 listen-attend-spell(LAS)模型的誕生。雖然這些模型在準(zhǔn)確性方面表現(xiàn)出極大的前景,但它們通常會(huì)檢查整個(gè)輸入序列,并且在輸入時(shí)不允許輸出,這是實(shí)時(shí)語音轉(zhuǎn)錄的必要特征。
同時(shí),一種稱為 connectionist temporal classification(CTC)的技術(shù)有助于減少當(dāng)時(shí)識(shí)別系統(tǒng)的延時(shí)問題。這對(duì)于后來創(chuàng)建 RNN-T 架構(gòu)是一次重要的里程碑,也被看作是 CTC 技術(shù)的一次泛化。
(編者注:CTC,其全稱為 Connectionist Temporal Classfication,由 Graves 等人于 2006 年提出,用于訓(xùn)練遞歸神經(jīng)網(wǎng)絡(luò)(RNN)以解決時(shí)序可變的序列問題。它可用于在線手寫識(shí)別或識(shí)別語音音頻中音素等任務(wù)。發(fā)展到如今,CTC 早已不是新名詞,它在工業(yè)界的應(yīng)用十分成熟。例如,在百度近日公布的在線語音識(shí)別輸入法中,其最新語音模型在CTC 的基礎(chǔ)上還融合了 Attention 等新技術(shù)。)
何為RNN-T?
RNN-T 是一種不采用注意力機(jī)制的 sequence-to-sequence 模型。與大多數(shù) sequence-to-sequence 模型(通常需要處理整個(gè)輸入序列(在語音識(shí)別中即是波形)以產(chǎn)生輸出句子)不同,RNN-T 會(huì)連續(xù)處理輸入樣本和流輸出符號(hào)。
輸出符號(hào)是字母表的字符。RNN-T 會(huì)逐個(gè)輸出字符,并在適當(dāng)?shù)奈恢幂斎肟崭瘛Kㄟ^反饋循環(huán)執(zhí)行此操作,該訓(xùn)練將模型預(yù)測(cè)的符號(hào)反饋到其中以預(yù)測(cè)下一個(gè)符號(hào)。如下圖所示。
用輸入音頻樣本 x 和預(yù)測(cè)符號(hào) y 表示 RNN-T。預(yù)測(cè)符號(hào)(Softmax 層的輸出)通過預(yù)測(cè)網(wǎng)絡(luò)反饋到模型中。
有效訓(xùn)練這樣的模型已經(jīng)很困難,但隨著新開發(fā)的訓(xùn)練技術(shù)進(jìn)一步將單詞錯(cuò)誤率降低了 5%,它的計(jì)算強(qiáng)度變得更高。為了解決這個(gè)問題,研究人員開發(fā)了一個(gè)并行實(shí)現(xiàn)過程,因此 RNN-T 損失功能可以在 Google Cloud TPU v2 上大批量運(yùn)行。訓(xùn)練中實(shí)現(xiàn)了大約 3 倍的加速。
離線識(shí)別
在傳統(tǒng)的語音識(shí)別引擎中,聲學(xué)、發(fā)聲和語音模型組合成一個(gè)大的圖搜索(search graph),其邊緣用語音單元及其概率標(biāo)記。當(dāng)語音波形呈現(xiàn)給識(shí)別系統(tǒng)時(shí),“解碼器”在給定輸入信號(hào)的情況下會(huì)搜索圖中相似度最高的路徑,并讀出該路徑所采用字序列。通常,解碼器采用基礎(chǔ)模型的有限狀態(tài)傳感器(Finite State Transducer, FST)表示。然而,盡管有復(fù)雜的解碼技術(shù),圖搜索仍很困難,因?yàn)樯a(chǎn)模型幾乎有 2GB 大小。這可不是在移動(dòng)電話上想托管就可以實(shí)現(xiàn)的,因此這種方法需要在線連接才能正常使用。
為了提高語音識(shí)別的有效性,研究人員嘗試直接在設(shè)備上托管新模型以避免通信網(wǎng)絡(luò)的延遲和固有的不可靠性。因此,端到端的方法不需要在大型解碼器圖上進(jìn)行搜索。相反,解碼器包括通過單個(gè)神經(jīng)網(wǎng)絡(luò)的集束搜索(beam search)。RNN-T 與傳統(tǒng)的基于服務(wù)器端的模型具有相同的精度,但前者只有 450MB,而且更加智能地使用參數(shù)和打包信息。但即便在如今的智能手機(jī)上,450MB 還是占用了很大的空間,例如通過大型網(wǎng)絡(luò)是信號(hào)傳播可能會(huì)很慢。
因此,研究人員通過使用參數(shù)量化和混合內(nèi)核技術(shù)進(jìn)一步減小了模型大小。這項(xiàng)技術(shù)早在 2016 年就已發(fā)布,并在 TensorFlow Lite 版本中提供公開的模型優(yōu)化工具包。模型量化相對(duì)于訓(xùn)練的浮點(diǎn)模型提供 4 倍壓縮,在運(yùn)行時(shí)實(shí)現(xiàn)了 4 倍加速,這使得 RNN-T 比單核上的實(shí)時(shí)語音運(yùn)行得更快。壓縮后,最終模型大小只占 80MB。
效果如何?
谷歌公開這一新功能后,TechCrunch 評(píng)論稱,“鑒于 Google 的其他產(chǎn)品幾乎沒有是離線工作的,那么你會(huì)在離線狀態(tài)下寫一封電子郵件嗎?當(dāng)然,在網(wǎng)絡(luò)條件不好的情況下,這款應(yīng)用新功能可能會(huì)解決了用戶痛點(diǎn),但顯然,這還是有點(diǎn)諷刺(雞肋)。”
而這也一度吸引來了 HackerNews 上不少用戶評(píng)論,他們也將部分矛頭指向了所謂的“離線功能”:
“離線功能雖然不是最主要的吸引力,但正如本文中提到的,延遲問題的減少是巨大的。他們可能沒有提及的是對(duì)隱私問題的影響。不過,用戶一般不會(huì)離線處理事物,但如果需要來回的穩(wěn)定數(shù)據(jù)包流,連接網(wǎng)絡(luò)也是很麻煩的問題。”
不過,經(jīng)過嘗試后的用戶還是非常看好:“我只是將我的 Pixel1 代切換到飛行模型,并嘗試了語音輸入。果然,它的離線工作速度很快!這令人非常印象深刻(我之前嘗試過,但過去它只能理解一些特殊的短語。)
有多好方法可以實(shí)現(xiàn)這一功能呢,但我認(rèn)為任何應(yīng)用都能從這次語音的改進(jìn)中受益。“
為此,營(yíng)長(zhǎng)也特意下載了 Gboard、訊飛、百度三家語音輸入法,試看它們?cè)陲w行模式下的效果如何。
Round 1
Gboard:目前非 Pixel 手機(jī)中離線語音尚無法使用,且針對(duì)某些機(jī)型甚至不支持語音。不過,打字還是比較絲滑流暢的。
Round 2
訊飛:可下載離線語音包,不過在正常網(wǎng)絡(luò)通暢情況下,語音識(shí)別的速度和準(zhǔn)確性還是相當(dāng)高的。
Round 3
百度:也可下載離線語音,無網(wǎng)絡(luò)連接狀態(tài)下,語音識(shí)別效果還是可以的。
不知國(guó)內(nèi)經(jīng)常使用訊飛、百度輸入法的小伙伴們,看到這一消息有何想法?歡迎留言。
-
谷歌
+關(guān)注
關(guān)注
27文章
6221瀏覽量
107365 -
輸入法
+關(guān)注
關(guān)注
0文章
48瀏覽量
9865 -
語音識(shí)別
+關(guān)注
關(guān)注
39文章
1773瀏覽量
113830
原文標(biāo)題:Google又逆天:語音輸入離線實(shí)時(shí)輸出文字,僅占80MB!然而……
文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
Linux系統(tǒng)安裝中文環(huán)境和中文輸入法(下),觸覺智能嵌入式開發(fā)板

Linux系統(tǒng)安裝中文環(huán)境和中文輸入法(上),觸覺智能嵌入式開發(fā)板

空調(diào)語音控制方案NRK3501語音識(shí)別芯片-讓智能生活觸手可及!

離線語音識(shí)別技術(shù)引領(lǐng)智能語音燈具市場(chǎng)——NRK3502

NRK3502系列芯片 | 制氧機(jī)離線語音識(shí)別方案

【AWTK使用經(jīng)驗(yàn)】如何使用系統(tǒng)輸入法與開啟最大化窗口功能

微軟拼音輸入法導(dǎo)致KiCad卡死

EVS103智能純離線語音識(shí)別芯片介紹

TLV320AIC3204N1_L有語音輸入、IN1_R沒語音輸入時(shí),采集IN1_R的數(shù)據(jù)聲音是IN1_L端的聲音,為什么?
物聯(lián)網(wǎng)系統(tǒng)智能控制產(chǎn)品的語音識(shí)別方案_離線語音識(shí)別芯片分析

瑞芯微RK3566鴻蒙開發(fā)板Android11修改第三方輸入法為默認(rèn)輸入法

智能玩具用離線語音識(shí)別芯片有什么優(yōu)勢(shì)

什么是離線語音識(shí)別芯片?與在線語音識(shí)別的區(qū)別
【AWTK使用經(jīng)驗(yàn)】如何添加中文輸入法

評(píng)論