超越整句的流式多級Attention:解密百度輸入法背後的語音識別模型

2020-12-11 機器之心Pro

機器之心原創

作者:曉坤、思源

1 月 16 日,百度輸入法舉辦了「AI·新輸入全感官輸入 2.0」發布會,正式對外發布百度輸入法 AI 探索版,這是一款默認輸入方式為全語音輸入、並以注意力機制為語音核心的新產品。新語音模型結合了 CTC 和 Attention,為每日數億條語音識別調用提供硬核支持,本文將帶你一觀新模型是如何勸君「動口不動手」。

全語音交互對於語音識別準確率要求極高。百度表示,其 AI 探索版的語音輸入用戶體驗提升得益於四項重大突破,分別是在在線語音、離線語音、中英混合語音以及方言四個領域上實現的。

關於在線語音識別,百度發布了流式多級的截斷注意力建模(SMLTA),將在線語音識別準確率相對於上一代 Deep Peak 2 再次提升 15%,並實現了基於 SMLTA 模型的在線語音識別服務大規模上線應用。

在離線語音識別中,百度通過持續優化去年 1 月發布的 Deep Peak 2 系統,讓離線語音輸入相對準確率再次提升,並表示可以保證在沒網的情況下實現輸入法的流暢快速使用。百度輸入法「中英自由說」可以在不影響中文語音輸入準確率的情況下,實現高精準的中英文混合語音識輸入(例如,可以準確地區分「有你的快遞」和「you need cry dear」)。「方言自由說」則將普通話和六大方言融合成一個語音識別模型,在輸入時可以無需設置自由切換,無論是普通話和方言之間,還是方言和方言之間。

開啟百度輸入法 AI 探索版後,點擊語音按鈕,除了可以說出你要記錄的內容,讓輸入法幫你直接錄入轉文字。還可以呼喚「小度小度」語音助手,並說出相應指令,即可實現語音修改、發表情、發彈幕、發文件等一系列操作,滿足與輸入相關的周邊需求。可以說,百度輸入法 AI 探索版的核心功能就是語音識別。

百度輸入法 AI 探索版界面

在下文中,機器之心將介紹百度輸入法中部署的最新在線語音識別模型——SMLTA 的架構細節。簡言之,SMLTA 就是流式多級的截斷注意力模型,是融合了 CTC、LSTM 和 attention 等近年語音識別技術的集大成者。百度表示,SMLTA 是在業界首個截斷模型能超越整句的注意力模型,同時這也是第一次實現了基於 Attention 技術的在線語音識別服務的大規模上線。

可大規模工業使用的基於注意力建模的語音識別

CTC 模型和注意力 (Attention) 模型在學術界都不是新名詞。尤其是注意力模型,是近些年研究的熱點,注意力模型已經在實驗室內被證明能夠實現語音識別的端到端建模,這種建模將使得語音識別系統極度簡化。相對於包括 CTC 在內的所有傳統語音識別技術而言,注意力模型都被認為有較高的識別率。但這都只是在實驗室得到的實驗結論。注意力模型在投入實際工業應用中還會遇到大量的問題,例如無法做到一邊傳語音一邊識別從而導致用戶等待時間太長的問題和無法保證長句字識別時候的識別精度的問題等。

百度採用的是一種名為「流式多級的截斷注意力模型(SMLTA)」,其中流式表示可以直接對語音的小片段(而不是必須整句),進行一個片段一個片段地增量解碼,多級表示堆疊多層注意力模型,而最後的截斷則表示利用 CTC 模型的尖峰信息,把語音切割成一個一個小片段,注意力模型建模和解碼可以在這些小片段上展開。這樣的模型就是支撐起每天數億條識別任務的核心方法,也是工業上大規模使用注意力模型進行語音識別的範例。

其實想要了解百度的工業級語音模型,看看下面這張結構圖就夠了,其目前已經被證明在大規模應用上有非常好的效果。後面我們主要圍繞這張圖介紹 SMLTA 模型的具體結構:

如上所示為 SMLTA,最下面的輸入聲波會按照 CTC 尖峰的分布,被截斷為一個個語音小片段(時間步),也就是 h 所表示的內容。除了截斷外,這裡 CTC 模型的另外一個核心作用是把短時平穩的語音信息抽象成高度集中的局部信息。之後的注意力建模就是在這個一個個小片段上進行的,這樣的注意力建模被稱作局部注意力建模。

按照 CTC 建模的特性,每一個語音小片段預測的就是一個基本建模單元(比如音節,或者高頻音素組合)。在對每個語音小片段進行注意力建模前,百度進行了一個編碼過程。編碼過程抽取出來的特徵就是代表這個建模單元的最本質描述特徵 c。在注意力建模之後,百度又採用了 2 層 LSTM 模型,來描述每個單元的最本質描述特徵 c 和識別結果之間的一對一的映射關係,從而實現完美的實現了端到端建模。這種建模方式,使得語音識別擺脫之前複雜的動態規劃解碼器帶來的系統的冗餘和複雜,使得語音識別過程變成一個簡單的滾動生成過程:在一個時間步生產一個識別結果,然後滾動到下一個時間步,再生成下一個識別結果,直到識別過程結束。

由於該方法把傳統的全局的注意力建模轉換成局部注意力建模,所以這個過程也是一個絕對可以流式實現的過程,無論多長的句子,都可以通過截段來實現流式解碼和精準的局部注意力建模,同時也實現了流式解碼。

由於 CTC 模型必然存在著插入和刪除等錯誤,這些錯誤會影響截斷的效果,也就是影響語音小片段的定義,從而一定影響最終的模型精度。因此,在百度的 SMLTA 中採用了一種多級注意力結構。這種多級結構描述工作原理描述如下:具體而言,在上圖不同的語音片段 h 上,第一層注意力機制會注意當前語音片段以及過去所有一段時間內的語音片段的語音特徵信息,也就是注意不同發音對當前預測的重要性,且重要性是由注意力的權重α來決定的。直觀而言,第一層 Attention 注意到的是 CTC 截斷的「音」,這些音組合起來能表示某個具體的文字的特徵,也就是輸出結果 c。而第二層 Attention 是建立在前一層注意到的特徵 c 之上,對第一層注意力模型的輸出再進行第二次注意力學習。如果第一次注意力的學習結果存在冗餘信息的話,經過第二次注意力建模,就能找到真正需要集中注意力的注意力點。

所以工業級的 SMLTA 模型最核心的部分還是利用 CTC 模型的尖峰對連續音頻流做截斷,然後在每個截斷的小語音片段上進行注意力建模。傳統的注意力模型必須需要在整句範圍內建模,而百度的注意力模型卻可以在小片段上建模。核心原因是因為 CTC 模型的尖峰信息所對應的特徵表示是高度局部集中的。這種高度局部集中的特徵表示,使得僅對當前截斷的小片段做注意建模,就能夠實現對當前建模單元的高精準描述。而不需要像之前那樣對一個很大範圍的聲音信息進行「集中注意力」。

這就是流式的、多級的截斷注意力模型,它解決了傳統注意力模型不能進行流建模和解碼的問題,並且依靠截斷,實現了對長句子的高精準的注意力建模,同時也解決了 CTC 模型的插入或刪除錯誤對注意力模型的影響。CTC 建模和注意力建模這兩者的結合,對於學術或研究還是有很重要意義的,更不用說流式實時解碼對工業應用的貢獻了。

語音識別模型的迭代

SMLTA 也可以看成是百度上一代語音識別模型 Deep Peak 2 的進一步優化。Deep Peak 2 的全稱叫做「基於 LSTM 和 CTC 的上下文無關音素組合建模」。上下文無關建模方式是指:把高頻出現的音素聯合在一起,形成一個音素組合體,然後將這個音素組合體作為一個基本建模單元。Deep Peak 2 還通過聲學模型學習和語言信息學習相分離的訓練方法,使用音素組合來保留最重要的音素連接特性,從而避免了上下文無關建模時的過擬合問題。這種建模方式可以顯著縮小建模單元,帶來更快的解碼速度。

相比之下,SMLTA 對 Deep Peak 2 的核心改進在於局部注意力和多級注意力的引入,可以看成是將 Deep Peak2 通過結合注意力機制來獲取更大範圍和更有層次的上下文信息。這種改進一般而言會造成計算量的增加,但百度表示,其整體計算量和上一代的 Deep Peak 2 是技術相當的。整個工業產品部署完全是 CPU 部署,無需額外的 GPU 就可以完成。成本低廉,適合大規模推廣使用。

By the Way

機器之心在發布會現場還見識到了百度輸入法 AI 探索版的一項很有意思的功能——凌空手寫。它不需要特殊的手寫筆,也不需要類似深度攝像頭或多目攝像頭等硬體,只需要最普通的 RGB 攝像頭即可。如下圖所示,使用者只要對著攝像頭豎起手指就可以在空氣中開始寫字,寫完後張開手掌,就能結束寫字,輸入法會開始識別並將對應文字輸出。圖中的使用者正在嘗試寫一個「紹」字,已輸出的「凌空手寫張」也是用這個功能寫的。

凌空手寫採用雙神經網絡模型的方案:一個是基於灰度圖的指尖跟蹤模型,另一個是基於多方向特徵文字識別模型。此外,研發團隊發現鋸齒和連筆在三維空間的手寫識別中對識別率影響較大,於是對抗鋸齒和連筆消除算法進行了大量優化工作。無論實用性如何,這麼好玩的功能還是值得試試~

本文為機器之心原創,轉載請聯繫本公眾號獲得授權

相關焦點

  • 日均語音請求量10億次的幕後,百度輸入法的技術原點
    在2019年,百度輸入法在線語音識別準確率相對提升15%,超越行業最優競品15%,才能抗住用戶對語音輸入的高標準、嚴要求,再次刷新業界紀錄。第二,訪問量的激增也勢必會讓輸入法遭遇各種不同的網絡環境。而百度輸入法通過技術優化,將普通話和六大方言融合成一個語音識別模型,實現了方言與方言、方言與普通話的混合語音輸入,讓用戶可以免切換就能「方言自由說」,free is not free(自由不是免費的),人情味的背後則是百度輸入法技術人員的不懈努力。
  • 百度語音的「一小步」,可能是語音技術「登月計劃」的一大步
    這其中,在線語音領域全球首創的流式多級的截斷注意力模型(SMLTA,全稱為「Streaming trancated multi-layer attention」)成為焦點,這也意味著,學術界談論多年的注意力模型終於實現了大規模在線商用。此舉意義重大。
  • 史上最強的語音輸入法誕生,百度是如何做到的?
    其一在於流式解碼。以谷歌 LAS 為代表的傳統 Attention 模型幾乎全部基於整句建模。簡單來說,用戶需要經歷一個整句錄製完成-上傳伺服器-建模分析的過程,輸入法在其中充當的角色類似翻譯APP,用戶需要付出不小的時間成本。其二在於長句識別準確率下降。
  • 百度CTO王海峰:百度輸入法實現中英語音混輸
    [PConline資訊]2019年百度AI開發者大會今日舉行,百度首席技術官王海峰發表演講。王海峰宣布,百度大腦升級至5.0,形成了包括基礎層、感知層、認知層、平臺層和AI安全五大部分的核心架構。百度大腦5.0成為軟硬體一體的AI大生產平臺,核心算法再獲重大突破,首次公布端到端AI計算架構,並實現了AI計算、計算架構與應用場景的創新融合。他表示,深度學習正在推動人工智慧進入工業大發展時代。現場,百度語音技術部高級總監高亮展示了百度輸入法中英混輸技術。
  • 百度AI開發者大會輸入法現場大飆Rap!高難度中英文混合語音識別...
    在7月3日「Baidu Create2019」百度AI開發者大會現場,百度首席技術官王海峰在演講中表示,「百度研發了流式多級的截斷注意力模型(SMLTA),使語音識別的準確率大幅提升並保持了非常高的速度,這是首個基於流式注意力的語音識別線上服務,百度輸入法語音識別的準確率因此相對提升15%以上」。
  • 百度輸入法:用完我把鍵盤都扔了!英語和方言都能識別的輸入法!
    ,大大降低了辦公的效率,而百度輸入法的中英文語音混輸功能,則可以利用語音輸入進行中英文混輸,真正做到了"說完即可識別"的效果,並且百度輸入法是市面上唯一一個可以在離線模式下進行中英文語音混輸的輸入法,大大提高了碼字的效率。
  • 雲復工帶來語音輸入猛增 百度輸入法日均語音請求量破10億次
    隨著全面雲復工、雲複課的到來,線上溝通需求指數級增加,比打字速度更快還不用動手的語音輸入優勢凸顯,擁有在線語音識別、離線語音識別、中英自由說、方言自由說四大突破的百度輸入法備受用戶青睞。一下子湧入的用戶需求讓百度輸入法語音請求量激增,春節以來日均語音請求量超10億次,而正是憑藉在AI技術方面的領先優勢,百度輸入法「扛住」了來自高流量和用戶高標準的雙重「高壓」,為用戶提供不卡頓、不出錯的語音輸入服務,同時再次刷新業界紀錄。百度輸入法四項重大突破百度輸入法語音輸入的超高準確率來自於百度世界領先的語音技術。
  • 百度輸入法強勢來襲,語音領域超越競品15%,能用說的決不動手!
    最近百度重磅推出旗下全新版輸入法,憑藉全新語音交互體驗為用戶打開新世界的大門,輸入法不止是拼音打字那樣簡單,還有更多黑科技玩法。比如百度快速精準的全語音輸入,語音鬥圖體驗,中英方言自由隨心說等等,今天就帶大家簡單體驗一番。
  • 中英混合和六大方言語音輕鬆識別,百度輸入法讓你想怎麼說就怎麼說
    首先,百度輸入法洞察到年輕圈層的「中英文混合」表達方式,以及不同地區用戶的「方言輸入」需求,因此通過不斷優化技術和訓練新的識別模型,從而實現了「中英文混合識別」與「方言自動識別」兩大功能突破。讓用戶可以自由地使用自己熟悉的表達方式。據悉,百度輸入法是目前唯一實現了高精準中英文混合語音輸入、唯一實現了方言免切換語音輸入的輸入法產品。
  • 中英混合和六大方言語音輕鬆識別 百度輸入法讓你想怎麼說就怎麼說
    首先,百度輸入法洞察到年輕圈層的「中英文混合」表達方式,以及不同地區用戶的「方言輸入」需求,因此通過不斷優化技術和訓練新的識別模型,從而實現了「中英文混合識別」與「方言自動識別」兩大功能突破。讓用戶可以自由地使用自己熟悉的表達方式。據悉,百度輸入法是目前唯一實現了高精準中英文混合語音輸入、唯一實現了方言免切換語音輸入的輸入法產品。
  • 語音識別準確率行業第一,中英、方言混輸百度輸入法都沒在怕的!
    業內首創的流式截斷多層注意力建模使其在語音輸入功能精準度方面表現突出,實現了在線語音識別、離線語音識別、中英自由說和方言自由說四大能力突出的「最強語音輸入」,語音輸入準確率及綜合表現體驗方面均處於行業首位。
  • 百度輸入法新增方言語音識別,看下有沒有你家鄉的方言
    只得一提的是,國內首次將Attention技術引入到滑行輸入領域,做到根據用戶滑行趨勢即可進行精準識別。該技術其實也很符合中國人長久以來的輸入法方式,大大提高了輸入效率,超越行業最高水平15%。除此之外百度輸入法的手寫模型也全面升級,它是基於百度自研的飛槳框架,使用百度nlp領域頂尖深度學習模型。
  • 百度輸入法首創離線中英自由說,識別流暢度與精準度均行業領先
    這項基於中英文SMLTA模型的創新功能,讓用戶在弱網甚至無網絡環境中,依然可以順暢地進行中英文語音混輸,且識別準確率和有網絡時一樣優秀, 準確率超過98%。百度輸入法在此前推出的"在線中英自由說"功能基礎上,藉助AI技術賦能對語音輸入進行了又一次重大升級,大幅提升了用戶交互效率,全感官輸入2.0再迎重磅升級。
  • 低功耗、高精度 AI開發者大會百度正式發布鴻鵠晶片
    在語音識別算法方面,高亮首先介紹了流式多級的截斷注意力模型SMLTA。據悉,百度在傳統的注意力模型基礎上,創新性地採用了第二代深度尖峰技術,對整句語音進行動態截斷,變為一段一段的流式識別。在此基礎上,百度還使用了多級注意力模型來進一步提高精度。這不僅是國際上首次實現局部注意力建模性能超越整句注意力建模,更是國際上首次在線語音識別系統大規模使用注意力模型。
  • 離線中英混合語音識別準確率超98%!百度輸入法帶你體驗「有網沒網...
    這項基於中英文SMLTA模型的創新功能,讓用戶在弱網甚至無網絡環境中,依然可以順暢地進行中英文語音混輸,且識別準確率和有網絡時一樣優秀, 準確率超過98%。百度輸入法在此前推出的「在線中英自由說」功能基礎上,藉助AI技術賦能對語音輸入進行了又一次重大升級,大幅提升了用戶交互效率,全感官輸入2.0再迎重磅升級。
  • 百度輸入法更懂你的表達,趕快去體驗吧
    重點是,無需做任何語言切換,可以直接識別中英雙語,大大提升了溝通效率。說看起來只是一個簡單的小功能,但是其背後展現了百度強大AI能力和語音識別能力。一直以來,語音交互都被視為智能設備的發展方向之一,而百度不但在硬體上推出了語音交互晶片,而且在軟體上也通過百度輸入法展現了強大語音識別算法,在軟硬體兩個方面同時進發,實力相當不容小覷。
  • 百度發布AI輸入法:語音識別精度提升15%支持凌空手寫
    【網易智能訊1月16日消息】今天,百度召開新品發布會,宣布百度輸入法AI探索版正式發布,這是一款默認輸入方式為全語音輸入,並調動表情、肢體等全感官輸入的產品。據了解,百度首先宣布了在語音技術方面取得的突破,流式截斷的多層注意力建模(SMLTA)已經將在線語音識別精度提升了15%,這一技術能夠解決傳統Attention模型在識別中的時延性,以及因此導致的無法進行大規模在線語音實時交互的問題。
  • 百度大腦5.0實現史上最大升級 發布遠場語音交互晶片「鴻鵠」
    提出流式多級的截斷注意力模型SMLTA 升級後的百度大腦5.0更加強調AI技術的標準化、自動化和模塊化。 百度語音技術部高級總監高亮介紹,識別方面,百度提出流式多級的截斷注意力模型SMLTA,這是國際上首次實現局部注意力建模超越整句的注意力模型,也是國際上首次實現在線語音大規模使用注意力模型。 SMLTA在大幅提升識別速度的同時,也提高了識別準確率。在輸入法有效產品相對準確率提升15%,音箱有效產品相對準確率提升20%。
  • 懂AI更懂你 百度輸入法突破世界級語音技術限制給輸入「加速」
    既「解放雙手」還能「提升效率」,提起手機輸入法裡大眾最熟悉的AI功能,語音輸入絕對排得上前幾名。而足夠「優秀」的語音輸入功能不僅要識別準,語種多、支持離線工作,還要深挖用戶的操作細節,不斷打造更多高效智能的創新功能。在手機輸入法行業,「最懂AI」的百度輸入法正是其中的佼佼者。
  • 國內首家支持多國語言混輸,百度輸入法讓語音輸入更加「自由」
    很多社交軟體都支持使用語音發送消息,但是由於語音信息無法直觀的查看信息內容,導致接收信息的一方有時會感到厭煩。雖然可以長按轉換成文字,但是如果是在嘈雜的環境下、普通話發音不標準、使用方言環境下,以及使用一些特定專用名詞時,長按轉換文字功能就變得十分雞肋。而且一般社交APP自帶的語音轉文字功能也存在識別不準的問題,甚至在良好的輸入環境下,識別能力有時也會令人無奈。