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

基于中文關(guān)鍵短語的自動(dòng)提取方法綜述
邊緣的超低功耗關(guān)鍵短語檢測

邊緣的超低功耗關(guān)鍵短語檢測

評論