本文將描述一種針對網絡邊緣設計的基于 NN 的關鍵短語檢測解決方案。這些二值化模型可在低功耗 UltraPlus? FPGA 上運行。本文將討論當使用包含嘈雜背景(如音樂或聊天噪聲)的數據集訓練 NN 時,如何在嘈雜環境中使用關鍵短語檢測。在這種情況下,神經網絡使用公共數據集進行訓練,以檢測“七”這個詞。關鍵短語檢測可用于廣泛的應用,無需個人助理設備。可能的應用包括智能電燈開關、智能電視和 AVR,通過音量增大和減小等命令來管理設備。
一、引言
長期以來,使用語音命令來控制人機界面 (HMI) 一直是系統設計人員的目標。可以追溯到 20 世紀中葉的流行科幻電視節目和電影,例如《星際迷航》和《星球大戰》,向我們暗示了語音世界的樣子。但事實證明,為現實生活中的消費類應用開發低成本、高能效的解決方案是難以捉摸的。
然而,在過去幾年中,亞馬遜的 Alexa 和蘋果的 Siri 等流行的人工智能應用程序的出現,以及它們將語音命令轉換為系統操作的能力,加速了向基于語音的 HMI 的遷移。這些快速進步為越來越多依賴關鍵短語檢測的智能家居解決方案打開了大門。如今,用戶可以要求 Alexa 在互聯網上訂購產品、開燈、鎖門、設置家庭恒溫器,甚至給草澆水。
通常,這些支持語音的 HMI 執行識別云中的關鍵短語所需的計算。在許多情況下,設計師將他們的應用程序插入到預先存在的基礎設施中,比如亞馬遜的 Alexa。然而,這種發展戰略面臨著一些限制。首先最重要的是成本。在云中的服務器上運行關鍵短語檢測算法的解決方案必須在每次訪問云中的資源時按分鐘付費。此外,構建基于云的邊緣解決方案的開發人員必須向 NRE 支付費用,以針對特定設備訓練他們的解決方案,然后為他們交付的每個解決方案支付版稅。將他們的設計插入現有基礎設施的設計人員將看到他們的成本隨著他們轉向需要更強大的處理器來獲取數據、分析數據的 Wi-Fi 模型而增加,
此外,依賴互聯網連接會帶來額外的風險。如果連接中斷,使用互聯網連接將數據傳輸到云可能會導致服務中斷。通過互聯網傳輸數據也存在潛在的黑客攻擊風險。從用戶的角度來看,互聯網連接為侵犯隱私和安全問題打開了大門。依賴直接位于設備上的計算資源的邊緣解決方案避免了這些潛在問題。
二、新的方法
本文探討了一種不同的方法,可以為位于網絡邊緣的設備帶來成本更低的關鍵短語檢測。利用在開發高精度、緊湊和低成本的二值化神經網絡 (NN) 模型方面取得的進展,以及對新一代極低功耗現場可編程門陣列 (FPGA) 的改進,設計人員現在可以構建關鍵短語檢測解決方案,以執行所有計算都在邊緣,從而消除了與云連接的 NN 關鍵詞檢測實施相關的連接性、安全性和隱私問題。
通過在本地執行關鍵短語檢測,與基于云的解決方案相比,此設計策略可顯著節省成本。它也不依賴其他生態系統來運行。如果基于云的解決方案中的 Internet 連接失敗,則系統將失敗。本地的、基于邊緣的解決方案不會冒這種風險。安全和隱私問題不是威脅。本地解決方案更易于用戶設置和運行。最后,使用萊迪思的超低功耗 iCE40 Ultra Plus FPGA,這種方法為設計人員提供了顯著的節能效果,這是電池供電設備的一個重要考慮因素。例如,本演示文稿中描述的解決方案僅消耗 7 mW。
將負擔得起的智能家居應用帶到邊緣的關鍵步驟是開發能夠在低密度、低功耗 FPGA 上運行的二值化 NN 模型。在云端使用浮點計算的深度學習技術對于邊緣的消費者應用程序是不切實際的。相反,設計人員必須開發計算效率高的解決方案,既要滿足精度目標,又要符合消費市場的成本、尺寸和功率限制。因此,在邊緣工作的設計人員必須使用盡可能少的數學運算。
設計人員可以簡化計算的一種方法是從浮點切換到定點甚至基本整數。通過補償浮點到定點整數的量化,使用二值化神經網絡的設計人員可以開發出訓練更快、精度更高的解決方案,并將定點、低精度整數神經網絡的性能提高到接近浮點版本的水平。 為了構建簡單的邊緣設備,訓練必須創建具有 1 位權重的 NN 模型。這些模型稱為二值化神經網絡 (BNN)。
通過使用 1 位值而不是更大的數字,BNN 可以消除乘法和除法的使用。這允許使用 XOR 和彈出計數來計算卷積,從而導致顯著的成本和高達 16 倍的功耗節省。借助當今的 FPGA,設計人員擁有了一個高度靈活的平臺,可以提供他們所需的所有存儲器、邏輯和 DSP 資源。
三、神經網絡實現
下面的討論描述了一個關鍵短語檢測解決方案的示例,該解決方案專為邊緣應用而設計,并在具有 BNN 軟核的 iCE40 UltraPlus FPGA 中實現。在正常操作期間,關鍵短語檢測實現會在消耗不到 1mW 的情況下偵聽聲音。一旦系統檢測到聲音,它就會激活 1 秒的緩沖并調用 BNN。BNN 直接對原始輸入進行操作,而不是傳統的頻譜圖和 MFCC 預處理。代表 1 秒音頻的 16K 原始樣本通過重疊的 1D 卷積層,變成 30 個 32x32x3 圖像,每個圖像代表一個 10ms 音頻樣本。然后將輸出傳遞到主 BNN 進行處理。
BNN 有四層深,每層執行如下所示的功能:
二進制卷積是輸入數據和 1 位權重的 1 位乘法。在這種情況下,乘法被 XOR 函數代替。Batch Normalization 和 Scale 在 BNN 訓練階段對激活進行歸一化并提供幫助。整流線性單元 (ReLu) 將低于特定閾值的數據設置為 0,高于相同閾值的數據設置為 1。對圖像的每個相鄰像素執行池化,并選擇概率最高的有意義的像素。此功能減少了后續步驟所需的計算量。全連接層通常是最后一層,它占用前一層中的每個神經元。它對下一層的神經元也有一定的影響。這個函數通常計算量很大,因此它是作為最后一個操作執行的,其中神經元顯著減少。
BNN 使用 GPU 進行訓練,并運行 Café 和 TensorFlow 等標準訓練工具。使用的訓練數據集是一個公共訓練集,包含 65,000 個 1K+ 人 30 個短詞的 1 秒長的話語。這個階段被稱為訓練階段。然后,訓練工具的輸出通過萊迪思半導體的 NN 編譯器工具進行格式化,以供 FPGA 設計使用。您可以將權重視為邊緣硬件推理期間要使用的關鍵短語的模板。選擇的關鍵詞是“七”。
四。系統實施
為了演示系統的功能,工程師使用了帶有 iCE40 UltraPlus FPGA 的 HiMax HM01B0 UPduino 擴展板。這是一款低成本的 Arduino 外形板,旨在展示 FPGA 的功能。該板有兩個直接連接到 FPGA 的 I2S 麥克風、用于 FPGA 設計的外部閃存和權重激活存儲。它還具有用于指示檢測到關鍵短語的 LED。用戶可以直接對著麥克風講話。一旦檢測到關鍵短語,LED 就會亮起。
五、業績
在此應用中,FPGA 設計頻率和處理長度可以換取功耗。在 27MHz 時,16K 原始樣本,相當于 1 秒的音頻處理,可以在 25ms 內處理,同時消耗 7.7mW。當頻率降至 13.5MHz 時,功耗降至 4.2mW,同樣的 1 秒音頻樣本在 50ms 內處理完畢。
關鍵短語檢測通常必須在嘈雜的環境中運行,而無需添加額外的硬件來消除噪聲和回聲。該實現通過使用包含嘈雜背景的數據集訓練 NN 來實現這一目標,而無需定位和波束成形。訓練有素的 NN 像人類一樣檢測關鍵詞,但有類似的限制。帶有各種隨機人群噪音水平(咖啡廳、會議等)的數據集被添加到關鍵詞中。用較高噪聲水平訓練的 NN 對噪聲的魯棒性更強,但需要更響亮的關鍵短語。
BNN 可以檢測多達十個 1 秒的關鍵短語,非常適合通過語音進行 HMI。為了提高檢測精度,僅在連續檢測發生時才使用時域過濾器來報告關鍵短語檢測。該設計為單個關鍵短語提供高達 99% 的準確性,為多達 5 個關鍵短語提供高達 90% 的準確性。
結論
將人工智能帶到邊緣會帶來幾個重大挑戰。然而,它也提供了巨大的機會。正如該項目所展示的,使用 FPGA 實現 BNN 而不是基于云的資源將 AI 構建到設備中可以顯著降低硬件成本,同時加快響應時間。同時,保持本地處理可以提高安全性并節省寶貴的帶寬和服務器使用成本。
審核編輯:郭婷
-
FPGA
+關注
關注
1630文章
21796瀏覽量
605998 -
服務器
+關注
關注
12文章
9303瀏覽量
86061 -
AI
+關注
關注
87文章
31513瀏覽量
270330
發布評論請先 登錄
相關推薦
笙泉科技超低功耗、高性價比MCU(M0+ : MG32L00)
貿澤電子開售ADI超低功耗MCU
大普技術INS5T8111超低功耗RTC芯片介紹
![大普技術INS5T8111<b class='flag-5'>超低功耗</b>RTC芯片介紹](https://file1.elecfans.com/web3/M00/00/64/wKgZO2dJGG2AJCZ6AAARttZxb2E359.png)
MAX32675C超低功耗Arm? Cortex?-M4F MCU
![MAX32675C<b class='flag-5'>超低功耗</b>Arm? Cortex?-M4F MCU](https://file1.elecfans.com/web3/M00/00/45/wKgZO2dH6IWAHoipAAMCJrETtWk706.png)
stm32低功耗設計技巧
0.1mA!24GHz超低功耗人體存在毫米波雷達模組
![0.1mA!24GHz<b class='flag-5'>超低功耗</b>人體存在毫米波雷達模組](https://file1.elecfans.com//web2/M00/06/3F/wKgaombZF-OAGFw5AACBSLBtXfs16.jpeg)
適用于超低功耗和低功耗應用的獨特高效隔離式DC/DC轉換器
![適用于<b class='flag-5'>超低功耗</b>和<b class='flag-5'>低功耗</b>應用的獨特高效隔離式DC/DC轉換器](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
請問esp32的藍牙能不能保持超低功耗的監聽?
DA16600 超低功耗 Wi-Fi + 藍牙低功耗模塊開發套件數據手冊
![DA16600 <b class='flag-5'>超低功耗</b> Wi-Fi + 藍牙<b class='flag-5'>低功耗</b>模塊開發套件數據手冊](https://file1.elecfans.com/web2/M00/EA/AA/wKgZomZZmFaAfQEPAALkf3XSPBI228.png)
芯品#MAX78002 新型AI MCU,能夠使神經網絡以超低功耗運行
![芯品#MAX78002 新型AI MCU,能夠使神經網絡以<b class='flag-5'>超低功耗</b>運行](https://file1.elecfans.com/web2/M00/E2/CA/wKgaomY59_WAXWJrAAG8H3eHkPQ068.png)
安信可Rd-03L檢測使用—— 超低功耗實現人體存在檢測,上位機配置快速上手
![安信可Rd-03L<b class='flag-5'>檢測</b>使用—— <b class='flag-5'>超低功耗</b>實現人體存在<b class='flag-5'>檢測</b>,上位機配置快速上手](https://file1.elecfans.com//web2/M00/C6/31/wKgZomYGLziARMW0AACBSLBtXfs98.jpeg)
構建超低功耗精密高邊電流檢測電路,你的選擇是?
![構建<b class='flag-5'>超低功耗</b>精密高邊電流<b class='flag-5'>檢測</b>電路,你的選擇是?](https://file.elecfans.com/web2/M00/4C/78/poYBAGKyxUaAVCbBAAAfziEvOio242.jpg)
0.1毫安!超超超超超低功耗安信可雷達模組Rd-03L
![0.1毫安!超超超超<b class='flag-5'>超低功耗</b>安信可雷達模組Rd-03L](https://file1.elecfans.com//web2/M00/C3/DF/wKgaomXpMk6AFdsTAAGN6HqiF-M747.png)
評論