色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 新品快遞 > 如何在Cortex-M處理器上實(shí)現(xiàn)高精度關(guān)鍵詞識(shí)別

          如何在Cortex-M處理器上實(shí)現(xiàn)高精度關(guān)鍵詞識(shí)別

          作者: 時(shí)間:2018-01-29 來(lái)源:電子產(chǎn)品世界 收藏

              

          image001.jpg

           

          本文引用地址:http://cafeforensic.com/article/201801/375072.htm

            我們可以對(duì)神經(jīng)網(wǎng)絡(luò)架構(gòu)進(jìn)行優(yōu)化,使之適配微控制器的內(nèi)存和計(jì)算限制范圍,并且不會(huì)影響精度。我們將在本文中解釋和探討深度可分離卷積神經(jīng)網(wǎng)絡(luò)在  上實(shí)現(xiàn)關(guān)鍵詞識(shí)別的潛力。

            關(guān)鍵詞識(shí)別 (KWS) 對(duì)于在智能設(shè)備上實(shí)現(xiàn)基于語(yǔ)音的用戶交互十分關(guān)鍵,需要實(shí)時(shí)響應(yīng)和高精度,才能確保良好的用戶體驗(yàn)。最近,神經(jīng)網(wǎng)絡(luò)已經(jīng)成為 KWS 架構(gòu)的熱門選擇,因?yàn)榕c傳統(tǒng)的語(yǔ)音處理算法相比,神經(jīng)網(wǎng)絡(luò)的精度更勝一籌。

              

          image002.jpg

           

            關(guān)鍵詞識(shí)別神經(jīng)網(wǎng)絡(luò)管道

            由于要保持“永遠(yuǎn)在線”,KWS 應(yīng)用的功耗預(yù)算受到很大限制。雖然 KWS 應(yīng)用也可在專用 DSP 或高性能 CPU 上運(yùn)行,但更適合在 Arm  微控制器上運(yùn)行,有助于最大限度地降低成本,Arm  微控制器經(jīng)常在物聯(lián)網(wǎng)邊緣用于處理其他任務(wù)。

            但是,要在基于 Cortex-M 的微控制器上部署基于神經(jīng)網(wǎng)絡(luò)的 KWS,我們面臨著以下挑戰(zhàn):

            1. 有限的內(nèi)存空間

            典型的 Cortex-M 系統(tǒng)最多提供幾百 KB 的可用內(nèi)存。這意味著,整個(gè)神經(jīng)網(wǎng)絡(luò)模型,包括輸入/輸出、權(quán)重和激活,都必須在這個(gè)很小的內(nèi)存范圍內(nèi)運(yùn)行。

            2. 有限的計(jì)算資源

            由于 KWS 要保持永遠(yuǎn)在線,這種實(shí)時(shí)性要求限制了每次神經(jīng)網(wǎng)絡(luò)推理的總運(yùn)算數(shù)量。

            以下是適用于 KWS 推理的典型神經(jīng)網(wǎng)絡(luò)架構(gòu):

            ? 深度神經(jīng)網(wǎng)絡(luò) (DNN)

            DNN 是標(biāo)準(zhǔn)的前饋神經(jīng)網(wǎng)絡(luò),由全連接層和非線性激活層堆疊而成。

            ? 卷積神經(jīng)網(wǎng)絡(luò) (CNN)

            基于 DNN 的 KWS 的一大主要缺陷是無(wú)法為語(yǔ)音功能中的局域關(guān)聯(lián)性、時(shí)域關(guān)聯(lián)性、頻域關(guān)聯(lián)性建模。CNN 則可將輸入時(shí)域和頻域特征當(dāng)作圖像處理,并且在上面執(zhí)行 2D 卷積運(yùn)算,從而發(fā)現(xiàn)這種關(guān)聯(lián)性。

            ? 循環(huán)神經(jīng)網(wǎng)絡(luò) (RNN)

            RNN 在很多序列建模任務(wù)中都展現(xiàn)出了出色的性能,特別是在語(yǔ)音識(shí)別、語(yǔ)言建模和翻譯中。RNN 不僅能夠發(fā)現(xiàn)輸入信號(hào)之間的時(shí)域關(guān)系,還能使用“門控”機(jī)制來(lái)捕捉長(zhǎng)時(shí)依賴關(guān)系。

            ? 卷積循環(huán)神經(jīng)網(wǎng)絡(luò) (CRNN)

            卷積循環(huán)神經(jīng)網(wǎng)絡(luò)是 CNN 和 RNN 的混合,可發(fā)現(xiàn)局部時(shí)間/空間關(guān)聯(lián)性。CRNN 模型從卷積層開始,然后是 RNN,對(duì)信號(hào)進(jìn)行編碼,接下來(lái)是密集全連接層。

            ? 深度可分離卷積神經(jīng)網(wǎng)絡(luò) (DS-CNN)

            最近,深度可分離卷積神經(jīng)網(wǎng)絡(luò)被推薦為標(biāo)準(zhǔn) 3D 卷積運(yùn)算的高效替代方案,并已用于實(shí)現(xiàn)計(jì)算機(jī)視覺的緊湊網(wǎng)絡(luò)架構(gòu)。

            DS-CNN 首先使用獨(dú)立的 2D 濾波,對(duì)輸入特征圖中的每個(gè)通道進(jìn)行卷積計(jì)算,然后使用點(diǎn)態(tài)卷積(即 1x1),合并縱深維度中的輸出。通過(guò)將標(biāo)準(zhǔn) 3D 卷積分解為 2D和后續(xù)的 1D,參數(shù)和運(yùn)算的數(shù)量得以減少,從而使得更深和更寬的架構(gòu)成為可能,甚至在資源受限的微控制器器件中也能運(yùn)行。

            在 Cortex-M 上運(yùn)行關(guān)鍵詞識(shí)別時(shí),內(nèi)存占用和執(zhí)行時(shí)間是兩個(gè)最重要因素,在設(shè)計(jì)和優(yōu)化用于該用途的神經(jīng)網(wǎng)絡(luò)時(shí),應(yīng)該考慮到這兩大因素。以下所示的神經(jīng)網(wǎng)絡(luò)的三組限制分別針對(duì)小型、中型和大型 Cortex-M 系統(tǒng),基于典型的 Cortex-M 系統(tǒng)配置。

              

          image003.jpg

           

            KWS 模型的神經(jīng)網(wǎng)絡(luò)類別 (NN) 類別,假定每秒 10 次推理和 8 位權(quán)重/激活

            要調(diào)節(jié)模型,使之不超出微控制器的內(nèi)存和計(jì)算限制范圍,必須執(zhí)行超參數(shù)搜索。下表顯示了神經(jīng)網(wǎng)絡(luò)架構(gòu)及必須優(yōu)化的相應(yīng)超參數(shù)。

              

          image004.jpg

           

            神經(jīng)網(wǎng)絡(luò)超參數(shù)搜索空間

            首先執(zhí)行特征提取和神經(jīng)網(wǎng)絡(luò)模型超參數(shù)的窮舉搜索,然后執(zhí)行手動(dòng)選擇以縮小搜索空間,這兩者反復(fù)執(zhí)行。下圖總結(jié)了適用于每種神經(jīng)網(wǎng)絡(luò)架構(gòu)的最佳性能模型及相應(yīng)的內(nèi)存要求和運(yùn)算。DS-CNN 架構(gòu)提供最高的精度,而且需要的內(nèi)存和計(jì)算資源也低得多。

              

          image005.jpg

            最佳神經(jīng)網(wǎng)絡(luò)模型中內(nèi)存與運(yùn)算/推理的關(guān)系

            KWS 應(yīng)用部署在基于 Cortex-M7 的 STM32F746G-DISCO 開發(fā)板上(如下圖所示),使用包含 8 位權(quán)重和 8 位激活的 DNN 模型,KWS 在運(yùn)行時(shí)每秒執(zhí)行 10 次推理。每次推理(包括內(nèi)存復(fù)制、MFCC 特征提取、DNN 執(zhí)行)花費(fèi)大約 12 毫秒。為了節(jié)省功耗,可讓微控制器在余下時(shí)間處于等待中斷 (WFI) 模式。整個(gè) KWS 應(yīng)用占用大約 70 KB 內(nèi)存,包括大約 66 KB 用于權(quán)重、大約 1 KB 用于激活、大約 2 KB 用于音頻 I/O 和 MFCC 特征。

              

          image006.jpg

           

            Cortex-M7 開發(fā)板上的 KWS 部署

            總而言之,Arm Cortex-M 可以在關(guān)鍵詞識(shí)別應(yīng)用中達(dá)到很高的精度,同時(shí)通過(guò)調(diào)整網(wǎng)絡(luò)架構(gòu)來(lái)限制內(nèi)存和計(jì)算需求。DS-CNN 架構(gòu)提供最高的精度,而且需要的內(nèi)存和計(jì)算資源也低得多。

            代碼、模型定義和預(yù)訓(xùn)練模型可從 github.com/ARM-software 獲取。

            我們?nèi)碌臋C(jī)器學(xué)習(xí)開發(fā)人員網(wǎng)站提供一站式資源庫(kù)、詳細(xì)產(chǎn)品信息和教程,幫助應(yīng)對(duì)網(wǎng)絡(luò)邊緣的機(jī)器學(xué)習(xí)所面臨的挑戰(zhàn)。

            本博客基于白皮書“網(wǎng)絡(luò)邊緣:微控制器上的關(guān)鍵詞識(shí)別”(Hello Edge: Keyword Spotting on Microcontrollers),該白皮書最初發(fā)布在康奈爾大學(xué)圖書館網(wǎng)站上。要下載 Arm 白皮書副本,請(qǐng)點(diǎn)擊以下鏈接。

            https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2142-00-00-00-01-34-26/Arm_5F00_KeywordSpotting_5F00_Whitepaper.pdf



          關(guān)鍵詞: Cortex-M 處理器

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉