麻省理工開發出低功耗語音識別技術

語音識別 人工智能 機器學習 物聯網 人工智能快報 2017-03-28

自動語音識別技術在十多年之前還難登大雅之堂,但現在它正成為人們和主要計算設備之間進行交互的主要手段。

據麻省理工學院報道,該院的研究人員已成功開發出了自動語音識別的低功耗專用芯片。通常人們在手機上啟用一次語音識別軟件需要消耗1瓦左右的電量,而這款新芯片只需消耗0.2到10毫瓦的電量;當然,具體的能耗大小和需要識別的單詞數量有關。

在實際應用中,這可能意味著節約90%到99%的電量,從而使得語音控制可應用到相對簡單的電子設備中;包括電容量有限而需要從其所處環境中吸取能量的設備,以及幾個月才進行電池充電的設備。這些設備是構成“物聯網”(internet of things,IoT)的技術基礎。物聯網的構想是,交通工具、電器裝置、土木工程建築、生產設備、甚至家禽等都會裝上傳感器,這些傳感器會直接將相關信息發送給聯網的服務器,並由後者來協助完成維護保養和任務調度。

“語音輸入會成為很多可穿戴應用和智能設備順理成章的一個接口。”麻省理工學院研究人員表示,“這些設備的小型化必然要求提供不同於觸摸和鍵盤的交互方式。和在雲端進行這類語音操作相比,把語音功能嵌入到這些設備中可以降低能耗,這很關鍵。”

“我認為我們不是為某一特定應用而開發的這門技術。”研究人員補充道,“我們已經努力將這些基礎的功能做到位了,希望能讓系統設計者可以更好地進行設計取捨,這是採用現有的硬件或者軟件加速技術做不到的。”

研究人員在上週(2017年2月5-9日)舉行的國際固態電路會議(International Solid-State Circuits Conference)上發表了關於這款新芯片的論文。

1

電路喚醒

和其它最先進的人工智能系統一樣,當今性能最好的語音識別系統都基於神經網絡,即根據人腦建模的簡單信息處理器構建而成的虛擬網絡系統。該芯片的很多電路都圍繞著儘可能高效地實現語音識別網絡而設計。

但是,即便是最節能的語音識別系統,如果持續不中斷地運行,也會很快耗光設備的電量。針對這種情況,該芯片也包含了一個簡單的“語音活動檢測”(voice activity detection)電路來監聽環境中的噪聲,以甄別其中是否有人類語音;如果檢測到語音,芯片就會激活更大更復雜的語音識別電路。

實際上,出於實驗目的,研究人員設計的芯片有三個不同的語音活動檢測電路;它們的複雜程度不同,因而能耗也不一樣。哪種電路最節能與使用環境相關,但是在模擬的各種環境測試中,三種電路里最複雜電路所在的芯片總體表現最好。雖然這種電路自身的能耗接近最簡單電路的三倍,但是它的誤檢率要低得多;簡單電路經常誤激活整個芯片,導致整體能耗更高。

一個典型的神經網絡由數千個處理“節點”構成。每個節點只能進行簡單的計算,但節點之間緊密聯結。在常用於語音識別的神經網絡中,節點按層組織。語音數據通過底層輸入神經網絡,這一層的節點對數據進行處理並送入下一層節點,以此類推。頂層的輸出指明語音數據是某個特定語音的概率。

語音識別網絡體積太大,不能載入到芯片的內存裡,問題就來了:從芯片外存儲器中讀取數據到芯片中比從芯片自己的存儲中讀取數據更耗能。針對這一問題,麻省理工學院的研究人員的設計致力於使芯片從芯片外存儲器讀取的數據量最少。

2

帶寬管理

神經網絡中的一個節點可能從多個節點接受數據,也可能會把數據傳給多個節點。節點之間的這種多向聯結都有自己的權重值。一個聯結的權重值表示從這個聯結來的數據在數據接受節點進行計算時的重要性。減少芯片內存帶寬的第一步就是壓縮每個節點相關的權重值。數據只有放到芯片裡後才會進行解壓。

芯片還利用了語音識別的一個特有性質:一波又一波的數據必須通過網絡。進入的音頻信號都被分成多個10毫秒的增量數據,每一個增量數據都必須單獨進行評估。這種芯片每一次只載入神經網絡的一個節點,但這個節點要傳遞32個連續的10毫秒增量數據。

如果一個節點有12個輸出,那麼這32個傳遞數據便會得到384個輸出值,存放在芯片內存中。當要將這些輸出傳給下一層的節點時,每個輸出值都必然和其它11個值一起進行傳輸,每層都會做類似的處理。因此,該芯片也要求具備一定規模的片上內存電路來進行中間計算。芯片每次只從芯片外存儲器中讀取一個壓縮節點,這樣就保持了較低的能耗需求。

“對下一代的移動設備和可穿戴設備而言,實現語音識別的超低功耗很關鍵。”研究人員表示,“這是因為手錶、耳塞式耳機和眼鏡這類設備小型化趨勢明顯,需要不再依賴觸摸屏的用戶接口。語音是和這類設備進行交互的順理成章的方式。”

相關推薦

推薦中...