語音在與智能手機、平板電腦和個人輔助系統交互中的廣泛使用,使語音作為其他技術的首選HMI(人機界面)的使用迅速起步。例如,在當今的智能家居中,用戶可以要求Alexa打開或關閉燈,鎖門和調節恒溫器。隨著這項技術變得越來越普遍,對使用高精度、緊湊和節能的基于神經網絡的關鍵短語檢測解決方案來增加人與機器之間交互的技術解決方案的需求正在增加。與需要網絡連接的云連接神經網絡 (NN) 關鍵短語檢測實現不同,基于邊緣的解決方案在邊緣執行所有計算,不會記錄或將數據傳輸到云。
本文將介紹一種專為網絡邊緣設計的基于 NN 的關鍵短語檢測解決方案。這些二值化型號可在低功耗UltraPlus? FPGA上運行。本文將討論當使用包含嘈雜背景(如音樂或聊天噪音)的數據集訓練 NN 時,如何在嘈雜環境中使用關鍵短語檢測。在這種情況下,神經網絡使用公共數據集進行訓練,以檢測單詞“七”。關鍵短語檢測可用于廣泛的應用,而無需個人助理設備。可能的應用包括智能燈開關、智能電視和 AVR,通過音量增大和減小等命令管理設備。
一、引言
長期以來,使用語音命令來控制人機界面(HMI)一直是系統設計人員的目標。可追溯到20世紀中葉的流行科幻電視節目和電影,如“星際迷航”和“星球大戰”,給了我們一個語音世界可能是什么樣子的暗示。但是,為現實生活中的消費應用開發低成本、高能效的解決方案已被證明是難以捉摸的。
然而,在過去幾年中,亞馬遜的Alexa和蘋果的Siri等流行的AI應用程序的出現以及它們將語音命令轉換為系統操作的能力加速了向基于語音的HMI的遷移。這些快速發展為越來越多的智能家居解決方案打開了大門,這些解決方案依賴于關鍵短語檢測。今天,用戶可以要求Alexa通過互聯網訂購產品,打開燈,鎖門,設置家庭恒溫器,甚至給草澆水。
通常,這些支持語音的HMI執行識別云中的關鍵短語所需的計算。在許多情況下,設計師將他們的應用程序插入預先存在的基礎設施中,例如亞馬遜的Alexa。然而,這一發展戰略面臨一些限制。首先是成本。在云中的服務器上運行關鍵短語檢測算法的解決方案每次訪問云中的資源時都必須按分鐘付費。此外,構建基于云的邊緣解決方案的開發人員必須支付 NRE 以針對特定設備訓練他們的解決方案,然后為他們發布的每個解決方案支付版稅。將設計插入預先存在的基礎設施的設計人員將看到成本上升,因為他們轉向Wi-Fi模型需要更強大的處理器來獲取數據,分析數據,將其發送到邊緣設備,并通過Wi-Fi收聽命令。
此外,依賴互聯網連接會帶來額外的風險。如果連接斷開,使用互聯網連接將數據傳輸到云可能會導致服務中斷。通過互聯網傳輸數據也會帶來潛在的黑客風險。從用戶的角度來看,互聯網連接為侵犯隱私和安全問題打開了大門。依賴于直接位于設備上的計算資源的邊緣解決方案可避免這些潛在問題。
二、新方法
本文探討了一種不同的方法,為位于網絡邊緣的設備提供更低成本的關鍵短語檢測。利用在開發高精度、緊湊和低成本的二值化神經網絡 (NN) 模型方面的進步,以及新一代超低功耗現場可編程門陣列 (FPGA) 的改進,設計人員現在可以構建關鍵短語檢測解決方案,在邊緣執行所有計算,從而消除與云連接 NN 關鍵短語檢測實現相關的連接、安全和隱私問題。
通過在本地執行關鍵短語檢測,與基于云的解決方案相比,此設計策略可顯著節省成本。它也不依賴其他生態系統來運作。如果在基于云的解決方案中互聯網連接失敗,系統將失敗。基于邊緣的本地解決方案不會冒此風險。安全和隱私問題不是威脅。本地解決方案更易于用戶設置和運行。最后,使用萊迪思的超低功耗iCE40 Ultra Plus FPGA,這種方法為設計人員節省了大量功耗,這是電池供電設備的一個重要考慮因素。例如,本演示文稿中描述的解決方案僅消耗7 mW。
將經濟實惠的智能家居應用推向邊緣的一個關鍵步驟是開發能夠在低密度、低功耗 FPGA 上運行的二值化神經網絡模型。在云中使用浮點計算的深度學習技術對于邊緣的消費者應用程序是不切實際的。相反,設計人員必須開發計算效率高的解決方案,既要滿足精度目標,又要符合消費市場的成本、尺寸和功耗限制。因此,在邊緣操作的設計人員必須使用使用盡可能少位的數學運算。
設計人員可以簡化計算的一種方法是從浮點切換到定點甚至基本整數。通過補償浮點到定點整數的量化,使用二值化 NN 的設計人員可以開發訓練速度更快、精度更高的解決方案,并將定點、低精度整數 NN 的性能提高到接近浮點版本的水平。要構建簡單的邊緣設備,訓練必須創建具有 1 位權重的 NN 模型。這些模型被稱為二值化神經網絡(BNN)。
通過使用 1 位值而不是更大的數字,BNN 可以消除乘法和除法的使用。這允許使用 XOR 和彈出計數計算卷積,從而節省大量成本并節省高達 16 倍的功耗。借助當今的 FPGA,設計人員擁有一個高度靈活的平臺,可提供所需的所有存儲器、邏輯和 DSP 資源。
三、NN實施
下面的討論描述了一個關鍵短語檢測解決方案的示例,該解決方案專為邊緣應用而設計,并在具有BNN軟核的iCE40 UltraPlus FPGA中實現。在正常工作期間,關鍵短語檢測實現在功耗低于1mW的情況下偵聽聲音。一旦系統檢測到聲音,它就會激活 1 秒的緩沖并調用 BNN。BNN直接在原始輸入上運行,而不是在傳統的頻譜圖和MFCC預處理上操作。代表 1 秒音頻的 16K 原始樣本通過重疊的一維卷積層,變成 30 張 32x32x3 圖像,每張代表 10 毫秒的音頻樣本。然后將輸出傳遞到主 BNN 進行處理。
BNN 有四層深,每層執行如下所示的功能:
二進制卷積是輸入數據和 1 位權重的 1 位乘法。在這種情況下,乘法被 XOR 函數取代。批量規范化和縮放使激活規范化,并在 BNN 訓練階段提供幫助。整流線性單元 (ReLu) 將低于特定閾值的數據設置為 0,高于相同閾值的數據設置為 1。池對圖像的每個相鄰像素執行,并選擇概率最高的有意義像素。此函數減少了后續步驟中所需的計算量。全連接層通常是最后一層,它占據了前一層中的每個神經元。它在下一層的神經元上也有一定的重量。此函數通常計算成本高昂,因此它是作為神經元明顯較少的最后一個操作執行的。
BNN使用GPU進行訓練,并運行標準的訓練工具,如Café和TensorFlow。使用的訓練數據集是一個公共訓練集,其中包含 1K+ 人 65,000 個 30 個短詞的 1 秒長話語。此階段稱為訓練階段。然后,訓練工具的輸出通過萊迪思半導體的神經網絡編譯器工具進行格式化,以供FPGA設計使用。您可以將權重視為在邊緣硬件上進行推理時使用的關鍵短語的模板。選擇的關鍵詞是“七”。
四、制度實施
為了演示系統的功能,工程師使用了HiMax HM01B0 UPduino擴展板和iCE40 UltraPlus FPGA。這是一款低成本的Arduino外形電路板,旨在展示FPGA的功能。該板具有兩個直接連接到 FPGA 的 I2S 麥克風、用于 FPGA 設計的外部閃存和權重激活存儲。它還具有 LED 以指示關鍵短語的檢測。用戶可以直接對著麥克風講話。檢測到關鍵短語后,LED 將亮起。
五、性能
在此應用中,FPGA設計頻率和處理長度可以用功耗來換取。在27MHz時,16K原始樣本相當于1秒的音頻處理,可以在25ms內處理,同時消耗7.7mW。當頻率降低到13.5MHz時,功耗降至4.2mW,相同的1秒音頻樣本在50ms內處理完畢。
關鍵短語檢測通常必須在嘈雜的環境中運行,而無需添加額外的硬件來消除噪聲和回聲。該實現通過使用包含噪聲背景的數據集訓練 NN 來實現此目標,而無需定位和波束成形。經過訓練的 NN 像人類一樣檢測關鍵字,但也有類似的限制。添加了具有各種隨機人群噪音水平(咖啡館、會議等)的數據集,并添加了關鍵詞。使用更高噪聲級別訓練的 NN 對噪聲的魯棒性更強,但需要更響亮的關鍵短語。
BNN 可以檢測多達 10 個 1 秒的關鍵短語,使其成為通過語音進行 HMI 的理想選擇。為了提高檢測精度,采用時域濾波器僅在發生連續檢測時才報告關鍵短語檢測。該設計為單個關鍵短語提供高達 99% 的準確率,為多達 5 個關鍵短語提供高達 90% 的準確率。
六、結語
將 AI 帶到邊緣帶來了幾個重大挑戰。然而,它也提供了巨大的機會。正如該項目所證明的那樣,使用實施BNN而不是基于云的資源的FPGA將AI構建到設備中可以大大降低硬件成本,同時加快響應時間。同時,將處理保持在本地可提高安全性并節省寶貴的帶寬和服務器使用成本。
審核編輯:郭婷
-
智能手機
+關注
關注
66文章
18611瀏覽量
183147 -
存儲器
+關注
關注
38文章
7637瀏覽量
166548 -
神經網絡
+關注
關注
42文章
4810瀏覽量
102939
發布評論請先 登錄
能效比達2TOPS/W!解密邊緣AI芯片低功耗設計之法
超低功耗MCU軟件設計技巧與選型

迅通科技推出PTR54H20:超低功耗藍牙6.0模塊

蜂窩物聯網的超低功耗特性
超低功耗藍牙6.0模塊PTR5415全新上市

DA14531-00000FX2 超低功耗藍牙5.1 SOC芯片介紹
笙泉科技超低功耗、高性價比MCU(M0+ : MG32L00)
貿澤電子開售ADI超低功耗MCU
MAX32675C超低功耗Arm? Cortex?-M4F MCU

stm32低功耗設計技巧
0.1mA!24GHz超低功耗人體存在毫米波雷達模組

適用于超低功耗和低功耗應用的獨特高效隔離式DC/DC轉換器

評論