0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Cortex-M處理器上實現(xiàn)高精度關(guān)鍵詞語音識別方案

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2020-12-10 21:40 ? 次閱讀

作者:吳湛

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

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

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

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

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

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

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

2. 有限的計算資源

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4779

    瀏覽量

    101080
  • 語音識別
    +關(guān)注

    關(guān)注

    38

    文章

    1742

    瀏覽量

    112847
  • Cortex-M
    +關(guān)注

    關(guān)注

    2

    文章

    229

    瀏覽量

    29819
收藏 人收藏

    評論

    相關(guān)推薦

    請問ADS1263能做到多高精度?實現(xiàn)高精度應(yīng)該注意什么?

    我想實現(xiàn)每通道10K以上采樣率,測量范圍為-500mV ~+500mV,請問ADS1263能做到多高精度實現(xiàn)高精度應(yīng)該注意什么,比如電壓基準源應(yīng)該選用什么器件?應(yīng)該選用什么電源器件
    發(fā)表于 01-01 06:28

    基于IMX8MM處理器Cortex-A核和Cortex-M核的RPMsg通信方案

    RPMsg全稱為 remote processor messages,是一種基于virtio的消息傳遞總線,專為異構(gòu)處理器系統(tǒng)之間的通信設(shè)計。
    的頭像 發(fā)表于 12-06 10:07 ?1886次閱讀
    基于IMX8MM<b class='flag-5'>處理器</b><b class='flag-5'>Cortex</b>-A核和<b class='flag-5'>Cortex-M</b>核的RPMsg通信<b class='flag-5'>方案</b>

    NRK3502系列芯片 | 制氧機離線語音識別方案

    NRK3502芯片制氧機離線語音識別方案制氧機離線語音識別方案是基于NRK3502藍牙雙模智能
    的頭像 發(fā)表于 12-04 01:02 ?196次閱讀
    NRK3502系列芯片 | 制氧機離線<b class='flag-5'>語音</b><b class='flag-5'>識別</b><b class='flag-5'>方案</b>

    如何使用Ozone分析Cortex-M異常

    Ozone可以幫助用戶快速分析和查找導(dǎo)致CPU故障的軟件bug。本文解釋如何使用Ozone的調(diào)試功能,深入了解Cortex-M架構(gòu)的這些錯誤。
    的頭像 發(fā)表于 11-29 11:14 ?894次閱讀
    如何使用Ozone分析<b class='flag-5'>Cortex-M</b>異常

    離線語音識別芯片,讓您的產(chǎn)品“聽懂會說”

    產(chǎn)品介紹NRK3502系列芯片是九芯電子新推出的一款藍牙雙模智能語音IoT芯片。芯片集成32位CPU處理器,包含UART、GPIO、SPI、SD卡、I2C、ADC、TouchSensor等外圍接口
    的頭像 發(fā)表于 11-17 01:01 ?277次閱讀
    離線<b class='flag-5'>語音</b><b class='flag-5'>識別</b>芯片,讓您的產(chǎn)品“聽懂會說”

    利用Sitara AM57x處理器處理器SDK實現(xiàn)工業(yè)機器視覺的2D物體識別

    電子發(fā)燒友網(wǎng)站提供《利用Sitara AM57x處理器處理器SDK實現(xiàn)工業(yè)機器視覺的2D物體識別.pdf》資料免費下載
    發(fā)表于 10-10 09:36 ?0次下載
    利用Sitara AM57x<b class='flag-5'>處理器</b><b class='flag-5'>上</b>的<b class='flag-5'>處理器</b>SDK<b class='flag-5'>實現(xiàn)</b>工業(yè)機器視覺的2D物體<b class='flag-5'>識別</b>

    物聯(lián)網(wǎng)系統(tǒng)中高精度RTK定位方案實現(xiàn)_高精度定位模塊

    物聯(lián)網(wǎng)系統(tǒng)中為什么要使用高精度定位模塊 物聯(lián)網(wǎng)系統(tǒng)中使用高精度定位模塊的原因主要體現(xiàn)在以下幾個方面: 提高定位精度 厘米級高精度高精度定位
    的頭像 發(fā)表于 09-26 17:53 ?1496次閱讀
    物聯(lián)網(wǎng)系統(tǒng)中<b class='flag-5'>高精度</b>RTK定位<b class='flag-5'>方案</b>的<b class='flag-5'>實現(xiàn)</b>_<b class='flag-5'>高精度</b>定位模塊

    如何在MSP430?實現(xiàn)內(nèi)置振蕩高精度定時

    電子發(fā)燒友網(wǎng)站提供《如何在MSP430?實現(xiàn)內(nèi)置振蕩高精度定時.pdf》資料免費下載
    發(fā)表于 09-14 11:10 ?0次下載
    如何在MSP430?<b class='flag-5'>上</b><b class='flag-5'>實現(xiàn)</b>內(nèi)置振蕩<b class='flag-5'>器</b>的<b class='flag-5'>高精度</b>定時<b class='flag-5'>器</b>

    嵌入式微處理器有哪些類型 嵌入式微處理器有哪些產(chǎn)品

    在不同的領(lǐng)域和應(yīng)用中發(fā)揮作用,如消費電子產(chǎn)品、智能家居、工業(yè)自動化、汽車電子、醫(yī)療器械等。 以下是一些常見的嵌入式微處理器類型和產(chǎn)品: ARM Cortex-M系列: ARM Cortex-M系列是一種低成本、低功耗的嵌入式微
    的頭像 發(fā)表于 04-21 14:48 ?2056次閱讀

    高精度電流采集探頭:精準測量電流的關(guān)鍵工具

    在電力系統(tǒng)、電子設(shè)備測試和工業(yè)自動化等領(lǐng)域,準確測量電流是至關(guān)重要的。高精度電流采集探頭作為一種關(guān)鍵工具,能夠實現(xiàn)對電流信號的精確采集和測量。本文將深入探討高精度電流采集探頭的工作原理
    的頭像 發(fā)表于 04-15 10:29 ?1034次閱讀
    <b class='flag-5'>高精度</b>電流采集探頭:精準測量電流的<b class='flag-5'>關(guān)鍵</b>工具

    瑞薩推出基于Arm Cortex-M23處理器的RA0微控制(MCU)系列

    全球半導(dǎo)體解決方案供應(yīng)商瑞薩電子(TSE:6723)宣布推出基于Arm Cortex-M23處理器的RA0微控制(MCU)系列。全新32位通用MCU RA0系列產(chǎn)品除了
    的頭像 發(fā)表于 04-14 10:12 ?888次閱讀
    瑞薩推出基于Arm <b class='flag-5'>Cortex-M</b>23<b class='flag-5'>處理器</b>的RA0微控制<b class='flag-5'>器</b>(MCU)系列

    Cortex-M0+內(nèi)核介紹

    和8位的價位實現(xiàn)32位性能。處理器的低門數(shù)使其能夠部署在需要簡單功能的應(yīng)用中。 作為ARM Cortex-M處理器系列的最新成員,32位Cortex
    的頭像 發(fā)表于 03-27 09:13 ?1140次閱讀
    <b class='flag-5'>Cortex-M</b>0+內(nèi)核介紹

    瑞薩電子宣布推出基于Arm Cortex-M23處理器的RA2A2微控制產(chǎn)品群

    全球半導(dǎo)體解決方案供應(yīng)商瑞薩電子(TSE:6723)今日宣布推出基于Arm Cortex-M23處理器的RA2A2微控制(MCU)產(chǎn)品群。
    的頭像 發(fā)表于 03-22 10:57 ?749次閱讀
    瑞薩電子宣布推出基于Arm <b class='flag-5'>Cortex-M</b>23<b class='flag-5'>處理器</b>的RA2A2微控制<b class='flag-5'>器</b>產(chǎn)品群

    業(yè)界首款基于Arm Cortex-M85處理器的MCU

    所有RA8系列MCU均利用Arm Cortex-M85處理器和Arm的Helium技術(shù)所帶來的高性能,結(jié)合矢量/SIMD指令集擴展,能夠在數(shù)字信號處理器(DSP)和機器學習(ML)的實施方面獲得相比
    發(fā)表于 03-05 14:14 ?788次閱讀
    業(yè)界首款基于Arm <b class='flag-5'>Cortex-M</b>85<b class='flag-5'>處理器</b>的MCU

    Cortex-M85內(nèi)核單片機如何快速上手

    2022年4月,Arm推出了全新的MCU級內(nèi)核Cortex-M85。截止目前(2024年2月),Cortex-M85是最新、最強的Cortex-M內(nèi)核。
    發(fā)表于 02-29 09:35 ?802次閱讀
    <b class='flag-5'>Cortex-M</b>85內(nèi)核單片機如何快速上手