一顆芯片解決所有語音交互,百度做了一項改變行業的技術革新

一顆芯片解決所有語音交互,百度做了一項改變行業的技術革新

雷鋒網 AI 科技評論按:端到端一體化的技術,再次顯出強大的功能。

4月20日,百度旗下人工智能品牌小度發佈了新款無屏智能音箱——小度智能音箱 2 紅外版。據百度官方介紹,該音箱搭載了百度首款針對遠場語音交互研發的鴻鵠芯片,性能上有三大提升:

1)在語音識別上錯誤率平均降低30%;2)高噪聲下首次喚醒率提升10%以上,且達到家居場合使用的超低誤報要求;3)平均工作功耗僅 100mw左右,待機功耗下降90%。

這樣的性能提升在業界可謂首屈一指,值得探索。

AI 科技評論對其背後技術做了詳細分析,認為這主要得益於在他們在語音交互方面提出的兩大「端到端一體化」創新,

1)在軟件層面。目前智能音箱領域流行的語音交互方案為:先語音增強,後語音識別。這種過程把語音交互分割成了兩個獨立的過程,在優化過程中往往目標不一致。而百度直接採用了“基於複數卷積神經網絡的語音增強和聲學建模一體化端到端建模技術”(很長的一段話,關鍵詞:複數卷積、端到端、增強和建模一體化),以字識別準確率作為唯一的優化目標。

2)在硬件層面。傳統上,智能音箱的語音喚醒一般是兩級喚醒,這需要一顆低功耗喚醒芯片和一顆計算性能高的主芯片來配合完成。這種框架導致平均功耗極大(1W以上),且對主芯片的算力要求極高。百度提出了端到端軟硬一體化框架,將所有語音交互任務都放到一顆低功耗語音交互芯片(鴻鵠)上,主芯片無需承載複雜的語音交互的計算功能,顯著節省語音交互部分對整體系統資源的佔用。

這在軟、硬兩個層面革新,對整個(遠場)語音交互都是顛覆性的。

一、軟件層面:語音增強和聲學建模一體化端到端建模技術

首先我們來分析一下,智能音箱的語音交互的軟件層面為什麼必須選擇端到端建模的處理方式。

傳統上,為了提升遠場語音識別的準確率,一般會使用麥克風陣列作為拾音器,利用多通道語音信號處理技術,增強目標信號,提升語音識別精度。

目前,絕大多數在售的智能音箱產品系統所採用的多通道語音識別系統,都是由一個前端增強模塊和一個後端語音識別聲學建模模塊串聯而成的:

一顆芯片解決所有語音交互,百度做了一項改變行業的技術革新

圖片來源於2019年11月,百度語音引擎論壇

前端增強模塊通常包括到達方向估計(DOA)和波束生成(BF)。DOA技術主要用於估計目標聲源的方向,BF技術則利用目標聲源的方位信息,增強目標信號,抑制干擾信號。

一顆芯片解決所有語音交互,百度做了一項改變行業的技術革新

圖片來源於網絡

後端語音識別聲學建模模塊,會對這一路增強後的語音信號進行深度學習建模。但,

1)波束區域拾音方法有侷限性。上面這一類語音增強技術大都是採用基於MSE的優化準則,從聽覺感知上使得波束內語音更加清晰,波束外的背景噪音更小。但是聽覺感知和識別率並不完全一致。而且這種方法在噪音內容也是語音內容的時候(例如電視和人在同一個方向時),性能會急劇下降。

2)增強和識別模塊優化目標不一致。前端語音增強模塊的優化過程獨立於後端識別模塊。該優化目標與後端識別系統的最終目標不一致。目標的不統一很可能導致前端增強模塊的優化結果在最終目標上並非最優。

3)真實產品環境複雜,傳統方法會影響使用體驗。基於波束區域拾音的方法嚴重依賴於聲源定位的準確性,但對於首次喚醒,由於還不知道聲源的位置,所以首次喚醒率往往很低。

對這些問題最好的解決,就是將語音增強和語音識別的建模進行端到端一體化,設計一套深度學習模型,輸入是多路麥克信號,輸出是目標語言的文字,模型的優化目標只有一個,即字準確率。

一顆芯片解決所有語音交互,百度做了一項改變行業的技術革新

圖片來源於2019年11月,百度語音引擎論壇

2017 年穀歌團隊曾最早提出採用神經網絡來解決前端語音增強和語音聲學建模的一體化建模問題。

但谷歌提出的FCLP結構(Factored Complex Linear Projection)仍然是以信號處理方法為出發點,用一個深度學習網絡去模擬和逼近信號波束,因此也會受限於信號處理方法的一些先驗假設。相對於傳統基於數字信號處理的麥克陣列算法,谷歌得到了16%的相對錯誤率降低。

百度採用了類似的思想,即做“語音增強和語音聲學建模一體化”的端到端建模,不過他們所採用的是“基於複數的卷積神經網絡”。

一顆芯片解決所有語音交互,百度做了一項改變行業的技術革新

圖片來源於2019年11月,百度語音引擎論壇

相比於谷歌的方法,該方法徹底拋棄了數字信號處理學科的先驗知識,模型結構設計和數字信號處理學科完全脫鉤,充分發揮了CNN網絡的多層結構和多通道特徵提提取的優勢。

在保留原始特徵相位信息的前提下,這個模型同時實現了前端聲源定位、波束形成和增強特徵提取。該模型底部CNN抽象出來的特徵,直接送入端到端的流式多級的截斷注意力模型(SMLTA)中,從而實現了從原始多路麥克信號到識別目標文字的端到端一體化建模。

整個網絡的優化準則完全依賴於語音識別網絡的優化準則來做,即完全以識別率提升為目標來做模型參數調優。

賈磊曾在去年11月「百度大腦·語音能力引擎論壇」上向雷鋒網AI科技評論介紹說:“我們的模型能提取生物的信號本質特徵,作為對比,Google的系統是假設兩路麥克信號對應頻帶之間的信息產生關係,這沒有挖掘頻帶之間的信息,這也是Google在識別率上偏低的原因。”

一顆芯片解決所有語音交互,百度做了一項改變行業的技術革新

圖片來源於2019年11月,百度語音引擎論壇

如前面提到,相對於百度智能音箱之前產品所採用的基於傳統“數字信號處理的前端增強模塊”+“後端語音識別聲學建模過程”的串聯方法,這種基於複數卷積神經網絡的語音增強和聲學建模一體化端到端建模技術,獲得了錯誤率超過30%以上的降低。

30%的降低,這也是近期深度學習遠場識別技術中,最大幅度的產品性能提升。

同時,由於這種建模方式是端到端一體化,無需定位聲源,因此就避免了傳統上由於定位出錯而導致的識別準確率急劇下降。特別是對於首次喚醒(沒有定位信息),高噪音下這種技術的首次喚醒率最大幅度可以提升10%以上,且能保證高精準喚醒的同時,誤報率非常低。這是一點,是業內傳統技術無法做到的事情。

這種方法的成功,說明了一點:“端到端建模”將成為遠場語音識別產業應用的重要發展方向。

基於這種研究,賈磊在去年曾向記者表示:“三年以內,遠場語音技術的識別率將達到近場識別率,因為有了這個技術,遠場識別問題基本可以得到解決,這是一個很大的跨學科創新。”

需要一提的是,這個端到端網絡所佔內存不到200K,因此非常適合內嵌到芯片當中。

二、硬件層面:端到端軟硬一體遠場語音交互方案

百度在智能音箱上的第二個提升要歸功於他們提出的端到端軟硬一體化遠場語音交互方案。

一顆芯片解決所有語音交互,百度做了一項改變行業的技術革新

圖片來源於2019年11月,百度語音引擎論壇

我們仍從傳統方法說起。

對於智能音箱,喚醒是一個重要的問題。目前業界採用的低功耗喚醒方案常用的方式是兩級喚醒。第一級喚醒計算量很小,主要用於監聽,是全天候運轉的。第二級喚醒計算量很大,是在發生可能疑似喚醒的時候來做決策。通常用的低功耗芯片的遠場語音交互解決方案,都是低功耗芯片部分只承載第一級喚醒,這樣全天候的監聽過程不會耗電特別多。如果發生疑似喚醒,跑在一個更強計算力的主芯片上的第二級喚醒再進行第二次檢測,最終確定喚醒是不是發生。這樣的兩級機制,使得主芯片的算力和資源都要向第二級喚醒傾斜。

需要指出的一點是,智能音箱的上述兩級芯片都是基於ARM芯片,這種芯片做語音喚醒和識別,一方面是成本很高(因為對計算能力要求較高),另一方面功耗也很高。一般來說,平均功耗在 1 W 以上。

針對這樣的問題,顯然設計出一款專用的語音交互芯片,1)通過自定義指令集,來提升算力;2)更重要的是,把所有原來跑在主芯片上的語音交互全部放在這顆芯片中,從而主芯片無需再承載複雜的語音交互的計算功能,這可以顯著節省語音交互部分對整體資源的佔用;同時主芯片也可以選擇比較廉價的芯片。

一顆芯片解決所有語音交互,百度做了一項改變行業的技術革新

圖片來源於小度智選商城

百度推出的鴻鵠芯片,據官方介紹,採用了雙核Hifi4 架構自定義指令集,超大內存,臺積電40nm工藝(對於更高的工藝也沒有必要),此外100mw左右平均工作功耗,即可同時支持遠場語音交互核心的陣列信號處理和可用於喚醒的深度學習計算能力。芯片架構上,鴻鵠內嵌了上面提到的端到端一體化的建模算法,在內存結構和分級內存加載策略,以及cache、雙核通信等結構上做了定製化的工作,能夠實現深度學習計算過程和數據加載的高度並行。

這裡需要指出的是,由於鴻鵠芯片可以完成所有語音交互(遠場拾音、喚醒、定位等)的功能,這就使得,經鴻鵠芯片提取的特徵可以直接傳遞到雲端,在雲端進行高精準識別,而無需佔用主芯片的任何計算資源。這種軟硬一體的端到端架構,實現了高性能語音體驗和極低成本智能硬件的統一。

以百度官方的數據,這次新發布的智能音箱平均待機功耗只有100毫瓦左右,這完全滿足 3C 產品的 0.5 瓦的待機標準,這也意味著任何一個國家認證的節能、環保的綠色家電產品,都可以搭載鴻鵠語音芯片。因此可以說,鴻鵠芯片也是業界首個達到該標準的集成完整遠場語音交互端側技術的語音芯片產品。

這種對能耗的壓縮,是傳統基於ARM芯片的架構所無法承擔的使命。

此外,家居場合除了對喚醒精度有較高要求外,還需要有極低的誤報,否則就會出現“深更半夜客廳莫名其妙地出現歌聲”的詭異現象。在傳統的低功耗喚醒方案中,是否喚醒取決於放在主芯片中的決策模型,因此喚醒的誤報水平也取決於它。但如果選用鴻鵠這種端到端的方案,則能避免多級喚醒所引入的錯誤,從而降低誤報率。

三、語音交互領域,端到端的革新

回過頭來,我們去看百度提出的這整套技術所帶來的識別錯誤率降低,首次喚醒率提升(同時誤報率極低)以及待機功耗下降,顯然還有可提升的空間。這種“可提升”,是由其在軟、硬兩個層面的革新所帶來的。

首先他們提出的“端到端建模技術”,直接將語音增強和聲學建模兩個過程融合為一,避免了在各自過程中優化不統一所帶來的錯誤率下降,全局的優化目標只有一個,即字準確率。這種想法徹底拋棄了各種先驗知識(以及所帶來的錯誤),模型結構設計和數字信號處理學科完全脫鉤,充分發揮了CNN網絡的多層結構和多通道特徵提提取的優勢,是一個顛覆性的思想,顯然還有更多可開拓的空間。

另一方面,將模型嵌入芯片,用一顆芯片解決所有語音交互問題。不但具備較高的喚醒精度還具備超低的誤報。這種新的軟硬一體化架構,直接解放了主芯片,大大降低了對主芯片運算性能的要求,從而在價格和功耗上都能得到大幅度優化。這種架構的革新,必將成為改變整個智能音箱(遠場交互場景)行業的一次技術革新。

一顆芯片,即可同時解決全部的語音交互功能且功耗如此之低,百度鴻鵠無疑為全球業界打造出了一個新的標杆。而回歸到智能音箱本身,軟硬一體化的大規模使用,或許也將對業內其他廠商帶來不小的壓力。

雷鋒網報道。


分享到:


相關文章: