AI賦予機器聽覺:資料才是王道!
隨著晶片供應商持續提升裝置性能,未來更先進的AI聲源應用將超越基本的語音控制,賦予機器聽覺,使其能以聲音更智慧地判斷周遭環境…
當我試著扣下扳機,子彈隨即擊發,但槍聲並不如我期待的那樣響亮…
從我現在所在的半電波暗室內聽起來,這種槍聲並不像一般開槍擊發時所發出的巨響,根據我業餘的判斷,它更像是氣球爆破的聲音。
不過,在這家人工智慧(AI)聲源辨識公司Audio Analytic的音訊實驗室中,音訊專家——Audio Analytic執行長Chris Mitchell告訴我,就音訊而言,實際的槍聲可不像是氣球爆破的聲音。我承認我想錯了。
在半電波暗室中開槍發出了一種奇怪的「爆裂聲」,跟我們預期的那種槍聲不太一樣…
(來源:Audio Analytic/EE Times)
那麼走到電波暗室外面再度擊發看看,這次它發出來的槍聲聽起來就比較像是電影中可能聽到的經典槍響了。
這兩項展示的目的在於說明槍枝實際上發出的聲響與我們通常聽到的槍響,其間是有差別的——我們一般聽到的槍響是由周圍環境聲音的反射和迴音構成的。
如果想設計一種能夠可靠地檢測槍聲的AI,那麼區隔這兩種槍響絕對至關重要。Mitchell解釋說,因為我們希望這種AI功能只會對於真的槍枝發出的槍聲做出反應,而不必對環境中的任何聲音都有反應。
Audio Analytic記錄並標記了數百萬種聲音,以用於訓練其AI模型進行聲源辨識。
(來源:Audio Analytic)
在Audio Analytic位於英國劍橋市郊的實驗室中還配置了許多警報器、門鈴以及來自世界各地的數十種煙霧報警器。Mitchell說,由於感測器中的放射性物質影響,使得這些裝置的聲音甚至比槍聲還更難擷取。不過,Audio Analytic把這些裝置發出來的聲音,連同一些狗吠聲和窗戶破裂等聲音事件都仔細地記錄下來,用於訓練該公司的AI模型進行聲源辨識。
這些機器學習模型可用於賦予機器聽覺,使其能夠根據環境中發生的聲音來感知情境。這可能意味著一套可用於監聽煙霧警報、玻璃破碎或槍聲的安全監控系統,但還有更多的消費裝置應用可以分析用戶所在的音訊場景,以及利用此情境採取行動或巧妙地調整音訊輸出加以回應。
Mitchell說,訓練AI模型準確辨識聲音的關鍵就在於「資料」(data)。收集高品質的資料並確切地標記這些資料,對於創建即使在運算能力有限情況下也能實現準確聲源辨識的高效模型至關重要。
TinyML模型
在Audio Analytic位於劍橋市中心的辦公室中,技術副總裁Dominic Binks展示了該公司的最新成果之一——以一種適用於Arm Cortex-M0 +裝置的模型,實現特定聲音的AI辨識,例如可在嬰兒哭泣時進行預測的模型;該模型執行於恩智浦(NXP)的Kinetis KL82微控制器(MCU)上。
Dominic Binks
Binks說:「採用特定處理器,對於進行機器學習並沒什麼幫助。」KL82其實內建大容量的Flash (128kB)和RAM (96kB),但沒有DSP或其他專用處理,功耗僅幾十毫瓦(mW)。
但要將該公司的ai3軟體庫安裝在MCU上並非易事。Binks表示,移除針對大型系統設計的功能(例如錄製和播放聲音以及除錯工具等功能),使得軟體大幅縮水。「嬰兒哭聲」(baby cry)檢測模型,也是該公司的最小模型之一。
Binks還介紹其團隊如何以組合語言編寫操作,以處理32位元溢位(overflow)——即2個INT32整數相乘的乘積,或為64位元整數。如此就能將處理每個音訊樣本所需的時間減少到所要求的16ms限制(以16kHz一次取樣256個樣本,意味著需要一次處理16ms的音訊)。
他說:「透過執行這些組合程式碼,我們通常可以將執行時間縮短至11-12ms,這為我們保留了一些空間得以因應更多的工作要求。」他強調,為了因應即時的輸入資料串流,音訊特別需要的是處理頻寬而不只是運算能力。
Audio Analytic展示其為製造商市場設計的NXP標準MCU開發板,以及一款Adafruit I2S麥克風。當偵測到嬰兒哭聲時,LED就會變色。
(來源:Audio Analytic)
標記資料
聲源辨識(sound recognition)和語音辨識(speech recognition)是不一樣的。對於AI而言,聲音的辨識基本上是相當複雜的任務。那麼Audio Analytic如何成功地將其模型擬合到如此小的裝置上?
Binks說:「這對於我們來說並不難,因為[我們的模型]是從很小型開始設計。」
Audio Analytic的聲源辨識模型AuditoryNET極其特殊,很大一部份的關鍵在於用來進行訓練的高品質標記資料。標記是必不可少的基本元素:它們會告訴模型哪些部份的聲音具有相關性,因此,嬰兒哭聲模型最終才能學會以哭聲本身來建立特性,而不會以哭聲之間的呼吸聲作為依據。
Chris Mitchell
Binks說:「標註資料有助於機器僅提取相應於特定聲音的有關部份。如果您提供的資料多於需求,那麼處理時的變數就更多。我們經常發現,標記的資料越準確,[在訓練中]提供給機器學習模型的資料就越多,而它們取得的資料就越小。其間顯然存在著限制,但整體而言,由於這些模型能夠概推到更多的資料,使其得以更有效地辨識出聲音真正顯著的特徵。」
Audio Analytic的Alexandria聲景圖(sound map)以視覺化呈現了這個概念。該聲景圖以2D方式呈現該公司音訊資料集中約700個標記類型的1,500萬種聲源,包括從緊急警報和警鈴到各種聲音,如笑聲、咳嗽和打噴嚏等。Mitchell解釋說,對特定聲音進行分類意味著在聲景圖上把相關景點周圍圈在一起。
「資料越複雜和分散,雜訊越大,所繪製的形狀就越複雜,顯示系統出錯的可能性就越大。那麼,建立的[模型]最終也會變得相當大,因為您必須添加更多參數來描述更大型的事件。」Mitchell解釋說:「在最小型、最緊湊以及更清晰表現等所要擷取的聲音基本變數之間,必須能恰如份地進行權衡——不多也不少。如果20%的標記在50ms之後消失,表示在模型中包含了很多根本不應該有的東西。這可能因此學會了很多不必要的參數,而從記憶體的資源的觀點來看,這些都是在做白工。」
Alexandria聲景圖是其Audio Analytic音訊資料集中1,500萬種聲音的2D視覺呈現。各種顏色代表不同的聲音類別。從許多未連接的聲音可能出現重疊或獨特的特徵,突顯出教導機器聽音辨識的複雜性。
(來源:Audio Analytic)
相較於語音和語言處理模型有著大量的開源訓練資料,針對聲音的處理則沒有這樣的資料集。為了擷取並標記這些訓練資料,Audio Analytic必須大量投資,因此,這也成為該公司的重要IP。
AuditoryNET模型也是Audio Analytic從無到有一手建立起來的。
聲音模型與廣泛使用的語音和語言處理模型截然不同。相較於分析語音,聲音產生的實際過程變化更大。一般的聲音也比言語更不受限制;任何聲音都可以沿用其他的聲音序列。因此,模式辨識問題以及由此產生的機器學習模型都跟語音模型完全不同。
實際應用
將聲源辨識嵌入於小型MCU,可望開啟許多應用。像是智慧型手機、消費性電子產品、耳塞、穿戴式裝置、家電或任何帶有MCU的產品,或許曾經是複雜的運算密集型任務,如今將會有更實際的前景。智慧型手機通常採用M4級處理器執行喚醒字元檢測,因而從應用處理器(AP)中移除了該功能——如今,你可以想像一種類似的功能,它可用於辨識多種不同的聲音,執行於低成本的M0+協同處理器上,但已足以實現常時開啟的運轉效率。
該公司之前還有一項展示是在Ambiq Micro處理器上執行,使用一對AA電池就能運作數年。該展示使用基於Cortex-M4超低功耗核心的Ambiq Micro SPOT (次閾值功率最佳化技術)處理器,以及一款Vesper壓電MEMS麥克風,即使是在常時傾聽的情況下也不會消耗功率。該展示證明了超低功耗麥克風和處理器的組合,就足以迅速偵測諸如玻璃破碎等衝擊性聲響。
使用超低功耗Ambiq Micro的處理器和Vesper MEMS麥克風展示,顯示響應速度已足以偵測到諸如玻璃破碎等衝擊聲響。
(來源:Audio Analytic)
Mitchell想像了一個這樣的世界:當偵測到嬰兒哭聲時,智慧家庭系統就能自動調低用戶電視的音量,並且播放嬰兒房的現場音訊,甚至可能將電視切換成子母畫面,同步顯示來自嬰兒監視系統的影像。當然,除此之外還有更多有趣的應用尚待發掘。除了辨識特定聲源,ai3還可將音訊環境分類為不同的場景,然後使用此資訊調整來自消費裝置(如頭戴式耳機)的音訊結果。
例如,當一個人從一個場景(例如火車站)移動到完全不同的音訊環境(如安靜的列車上),即可調整等化器(EQ)設定或增強頭戴式耳機上的主動降噪效果。此外,還可以結合對於特定聲音的反應,例如在聽到緊急警報或警鈴時啟動混合模式。
當然,這一類型的應用完美結合機器學習模型、訓練資料和硬體,如今已完全可行了。展望未來,隨著晶片供應商持續提高其裝置性能,並根據機器學習的需求進行調整,我們可以想像更複雜先進的AI音訊應用,它將超越基本的語音控制,在資源受限的硬體上執行。這一整體效果將會賦予機器聽覺,使其能以聲音更成功地判斷周遭環境,最終變得更聰明。
編譯:Susan Hong
(參考原文:AI Sound Recognition on a Cortex-M0: Data is King,by Sally Ward-Foxton)
訂閱EETimes Taiwan電子報
加入我們官方帳號LINE@,最新消息一手掌握!