一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

基于蜂鳥(niǎo)E203和神經(jīng)網(wǎng)絡(luò)硬件加速器

安芯教育科技 ? 來(lái)源:安芯教育科技 ? 作者:安芯教育科技 ? 2022-07-25 09:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

摘要

語(yǔ)音關(guān)鍵詞識(shí)別(Keyword Spotting, KWS)技術(shù)已普遍應(yīng)用在以電池為主的供電設(shè)備中,對(duì)于此類(lèi)設(shè)備低功耗是一個(gè)重要考慮的因素。然而,單獨(dú)的低功耗神經(jīng)網(wǎng)絡(luò)因注重功耗的降低,難以適應(yīng)高噪聲環(huán)境下的使用,為了能靈活適應(yīng)不同噪聲場(chǎng)景,并盡可能降低系統(tǒng)功耗與面積,本文提出了一種基于蜂鳥(niǎo)E203和神經(jīng)網(wǎng)絡(luò)硬件加速器的自適應(yīng)噪聲環(huán)境超低功耗語(yǔ)音關(guān)鍵詞識(shí)別系統(tǒng)。

本文設(shè)計(jì)的SoC系統(tǒng)處理器基于RISC-V指令集,通過(guò)NICE協(xié)處理器接口接入所設(shè)計(jì)的語(yǔ)音識(shí)別神經(jīng)網(wǎng)絡(luò)加速器,處理器通過(guò)自定義指令可控制加速器開(kāi)關(guān)并讀取運(yùn)算數(shù)據(jù),數(shù)據(jù)最后通過(guò)E203處理器處理并將識(shí)別結(jié)果實(shí)時(shí)顯示在OLED屏上,同時(shí)可通過(guò)語(yǔ)音控制OLED屏上的貪吃蛇小游戲。此外,該系統(tǒng)可針對(duì)低信噪比和高信噪比噪聲環(huán)境切換不同精度的神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)在噪聲持續(xù)變化的環(huán)境中,根據(jù)信噪比大小自動(dòng)選擇合適的工作模式。在語(yǔ)音識(shí)別加速器算法上,本文實(shí)現(xiàn)了基于SNR預(yù)測(cè)模塊的神經(jīng)網(wǎng)絡(luò)。第一,本文引入了SNR預(yù)測(cè)模塊,對(duì)環(huán)境噪聲進(jìn)行預(yù)測(cè)。在高信噪比環(huán)境下使用超低功耗的近似權(quán)重二值化神經(jīng)網(wǎng)絡(luò)(Binary Weight Neural Network, BWN),在低信噪比環(huán)境下使用帶噪聲訓(xùn)練的精確BWN神經(jīng)網(wǎng)絡(luò)。第二,在高信噪比環(huán)境下,為了降低神經(jīng)網(wǎng)絡(luò)的復(fù)雜度,本文針對(duì)神經(jīng)網(wǎng)絡(luò)訓(xùn)練提出了逐步量化方案,篩選出適合將網(wǎng)絡(luò)權(quán)重量化到1bit的網(wǎng)絡(luò)模型,引入近似計(jì)算單元以降低功耗,同時(shí)針對(duì)能量化為BWN的網(wǎng)絡(luò)模型,采用軟硬件協(xié)同設(shè)計(jì)的方法進(jìn)行算法定制優(yōu)化,整體算法能實(shí)現(xiàn)12個(gè)語(yǔ)音關(guān)鍵詞的識(shí)別,在近麥克風(fēng)語(yǔ)音環(huán)境下準(zhǔn)確率為89.1%,在15dB信噪比環(huán)境下準(zhǔn)確率為86.5%。第三,在低信噪比環(huán)境下,為了不降低神經(jīng)網(wǎng)絡(luò)的識(shí)別率,本文選擇帶噪聲訓(xùn)練的精確BWN神經(jīng)網(wǎng)絡(luò),在0dB信噪比環(huán)境下準(zhǔn)確率為88%。

本文基于TSMC 22nm ULL工藝,完成了語(yǔ)音識(shí)別加速器的綜合(Design Compiler, DC)、功耗分析(PrimeTime PX, PTPX)以及后端版圖設(shè)計(jì)工作,版圖設(shè)計(jì)面積為0.6mm2。當(dāng)工作頻率為250kHz,IO驅(qū)動(dòng)電壓為1.8V,SRAM電壓為0.6V,logic電路電壓為0.39V時(shí)可以實(shí)現(xiàn)對(duì)語(yǔ)音關(guān)鍵詞的實(shí)時(shí)判斷,HVT工藝下加速器芯片功耗約為6.7μW。

系統(tǒng)功能介紹

9efcf982-0bb6-11ed-ba43-dac502259ad0.png


圖1 自適應(yīng)噪聲環(huán)境的超低功耗語(yǔ)音關(guān)鍵詞識(shí)別系統(tǒng)功能框圖

自適應(yīng)噪聲環(huán)境的超低功耗語(yǔ)音關(guān)鍵詞識(shí)別系統(tǒng)總體功能框圖如上圖1所示,總體功能框圖主要分為E203處理器部分、語(yǔ)音識(shí)別加速器部分,以及軟硬件分別驗(yàn)證成功后的SoC系統(tǒng)搭建部分,各部分實(shí)現(xiàn)的功能如下所述:

E203處理器實(shí)現(xiàn)功能:E203處理器主要負(fù)責(zé)通過(guò)在軟件與硬件語(yǔ)音識(shí)別加速器之間進(jìn)行控制與數(shù)據(jù)讀寫(xiě),并通過(guò)按鍵與屏幕顯示的方式實(shí)現(xiàn)良好的人機(jī)交互體驗(yàn),其主要包括如下三個(gè)部分:NICE接口、加速器控制以及OLED顯示。

NICE接口:NICE接口部分實(shí)現(xiàn)了通過(guò)E203處理器對(duì)語(yǔ)音識(shí)別加速器的控制與數(shù)據(jù)讀寫(xiě),語(yǔ)音識(shí)別加速器通過(guò)標(biāo)準(zhǔn)的NICE接口接入E203處理器中,在NICE接口中自定義指令,接收E203發(fā)送的從加速器控制部分寫(xiě)入的指令,實(shí)現(xiàn)對(duì)語(yǔ)音識(shí)別加速器的開(kāi)啟和關(guān)閉,并持續(xù)使用寄存器接收加速器運(yùn)行結(jié)果,接收的運(yùn)行結(jié)果通過(guò)NICE接口返回到E203處理器中,并傳送到OLED顯示部分。

加速器控制:語(yǔ)音識(shí)別加速器控制部分首先在軟件實(shí)現(xiàn)了NICE自定義指令的函數(shù),通過(guò)實(shí)現(xiàn)加速器開(kāi)關(guān)函數(shù)以及全局變量的控制,實(shí)現(xiàn)軟件控制加速器的開(kāi)啟和關(guān)閉。此外,通過(guò)接入外部的按鍵中斷實(shí)現(xiàn)按鍵控制語(yǔ)音識(shí)別的開(kāi)啟和關(guān)閉。

OLED顯示:OLED顯示部分通過(guò)E203處理器接收NICE接口返回的運(yùn)行結(jié)果,對(duì)運(yùn)行結(jié)果進(jìn)行處理,得到每次的關(guān)鍵詞識(shí)別結(jié)果以及當(dāng)前所處的噪聲場(chǎng)景。處理后得到的結(jié)果,通過(guò)軟件與E203處理器驅(qū)動(dòng)連接的OLED屏幕,并實(shí)時(shí)顯示在屏幕上。

語(yǔ)音識(shí)別加速器部分主要實(shí)現(xiàn)了通過(guò)使用數(shù)字硅麥對(duì)當(dāng)前環(huán)境聲音進(jìn)行采樣,對(duì)輸入語(yǔ)音信號(hào)進(jìn)行MFCC特征提取以及SNR噪聲預(yù)測(cè),提取后的特征作為神經(jīng)網(wǎng)絡(luò)的輸入,在經(jīng)過(guò)SNR噪聲預(yù)測(cè)選擇使用不同的網(wǎng)絡(luò)模塊后,輸入進(jìn)對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)當(dāng)中,神經(jīng)網(wǎng)絡(luò)將輸入特征進(jìn)行運(yùn)算、處理后,得到最終識(shí)別的結(jié)果,并通過(guò)NICE接口返回E203處理器當(dāng)中,其主要包括如下三個(gè)部分,I2S模塊、MFCC模塊、神經(jīng)網(wǎng)絡(luò)模塊以及數(shù)據(jù)流調(diào)度和系統(tǒng)控制部分。

I2S模塊:I2S模塊主要用于將數(shù)字硅麥輸入的串行信號(hào)緩存并轉(zhuǎn)成并行數(shù)據(jù)輸出到MFCC中,其硬件功能實(shí)現(xiàn)主要通過(guò)接口設(shè)計(jì)對(duì)輸入輸出信號(hào)定義的接口進(jìn)行規(guī)范設(shè)計(jì),并輸出對(duì)硅麥的控制信號(hào),數(shù)據(jù)緩存用于將輸入的串行數(shù)據(jù)暫存、轉(zhuǎn)化成并行數(shù)據(jù),以及最后將并行數(shù)據(jù)輸出的輸出部分。

MFCC模塊:MFCC模塊主要用于將輸入的語(yǔ)音信號(hào)進(jìn)行特征提取,轉(zhuǎn)化成更易于神經(jīng)網(wǎng)絡(luò)識(shí)別的特征數(shù)據(jù),此外,還通過(guò)SNR預(yù)測(cè)模塊對(duì)輸入語(yǔ)音信號(hào)的噪聲場(chǎng)景進(jìn)行區(qū)分。MFCC算法的實(shí)現(xiàn)主要分為預(yù)加重、分幀、FFT,梅爾濾波,以及SNR噪聲預(yù)測(cè)算法。硬件功能的實(shí)現(xiàn)主要分為接口的設(shè)計(jì)、MFCC和SNR預(yù)測(cè)的算法實(shí)現(xiàn),數(shù)據(jù)測(cè)試以及功能實(shí)現(xiàn)部分。

神經(jīng)網(wǎng)絡(luò)模塊:神經(jīng)網(wǎng)絡(luò)模塊主要用于將MFCC輸出的特征信號(hào)通過(guò)前饋神經(jīng)網(wǎng)絡(luò)進(jìn)行運(yùn)算并輸出最終的識(shí)別精度。在算法層次部分,神經(jīng)網(wǎng)絡(luò)模塊主要分為卷積層、全連接(FC)層,以及之間的RELU、BN層,算法部分通過(guò)MATLAB搭建并訓(xùn)練得出識(shí)別精度,驗(yàn)證了模型的可行性,在低噪聲場(chǎng)景下,為滿足低功耗的需求,采用DOREFA量化二值化與近似計(jì)算單元相結(jié)合的方式,而在高噪聲場(chǎng)景下,為滿足抗噪聲需求,采用帶噪聲訓(xùn)練與精確計(jì)算相結(jié)合的方式。硬件實(shí)現(xiàn)部分主要是將前饋神經(jīng)網(wǎng)絡(luò)進(jìn)行電路上的設(shè)計(jì)與實(shí)現(xiàn),主要分為神經(jīng)網(wǎng)絡(luò)算法的實(shí)現(xiàn),包括卷積層、FC層、BN層以及RELU層的電路實(shí)現(xiàn),權(quán)重、數(shù)據(jù)的存儲(chǔ)以及數(shù)據(jù)調(diào)度。

控制模塊:系統(tǒng)控制模塊與數(shù)據(jù)調(diào)度主要負(fù)責(zé)控制整體的加速器系統(tǒng)結(jié)構(gòu)以及各個(gè)功能模塊之間的數(shù)據(jù)流調(diào)度。

E203處理器部分實(shí)現(xiàn)的功能主要通過(guò)C語(yǔ)言進(jìn)行軟件代碼的編寫(xiě),并在IDE上進(jìn)行調(diào)試,語(yǔ)音識(shí)別加速器部分的功能實(shí)現(xiàn)主要通過(guò)Verilog進(jìn)行編寫(xiě),仿真后燒錄到FPGA板上進(jìn)行功能驗(yàn)證。兩部分均完成后,通過(guò)Nuclei_Studio IDE將軟件代碼燒錄到開(kāi)發(fā)板上進(jìn)行整體SoC的搭建及功能驗(yàn)證。

系統(tǒng)架構(gòu)介紹

架構(gòu)設(shè)計(jì)

9f1ce4fe-0bb6-11ed-ba43-dac502259ad0.png


圖2 自適應(yīng)噪聲環(huán)境的超低功耗語(yǔ)音關(guān)鍵詞識(shí)別系統(tǒng)架構(gòu)設(shè)計(jì)框圖

自適應(yīng)噪聲環(huán)境的超低功耗語(yǔ)音關(guān)鍵詞識(shí)別系統(tǒng)架構(gòu)設(shè)計(jì)框圖如上圖2所示,蜂鳥(niǎo)E203核通過(guò)系統(tǒng)存儲(chǔ)總線訪問(wèn)FLASH存儲(chǔ),F(xiàn)LASH用于存放燒錄進(jìn)開(kāi)發(fā)板的軟件代碼,此外,系統(tǒng)存儲(chǔ)總線還連接JTAG接口用于外部的軟件調(diào)試和代碼的燒錄。E203核還通過(guò)私有設(shè)備總線訪問(wèn)GPIO,GPIO外接按鍵中斷以及OLED屏幕,以外部的控制輸入及顯示輸出。處理器核還通過(guò)NICE協(xié)處理器接口訪問(wèn)語(yǔ)音識(shí)別加速器,并進(jìn)行指令的寫(xiě)入與運(yùn)算結(jié)果的讀出。

語(yǔ)音加速器主要I2S模塊、MFCC架構(gòu)以及神經(jīng)網(wǎng)絡(luò)加速器模塊組成,外部的語(yǔ)音輸入通過(guò)數(shù)字硅麥接收,并將串行輸入數(shù)據(jù)輸入I2S模塊,同時(shí)I2S模塊輸出數(shù)字硅麥的片選、聲道選擇等控制信號(hào)。

I2S模塊由數(shù)據(jù)接收、異步FIFO、以及數(shù)據(jù)預(yù)處理三個(gè)部分組成。數(shù)據(jù)接收用于接收外部串行輸入信號(hào)并進(jìn)行移位寄存,輸出32bit的并行數(shù)據(jù),異步FIFO用于將輸出32bit并行數(shù)據(jù)暫存,并同步到讀時(shí)鐘域,當(dāng)讀使能信號(hào)到來(lái)后,32bit的輸出經(jīng)過(guò)數(shù)據(jù)預(yù)處理,最終轉(zhuǎn)化成13bit有效輸出輸入到MFCC模塊當(dāng)中。

MFCC模塊的硬件架構(gòu)主要由預(yù)加重、分幀、FFT、Mel濾波、以及SNR預(yù)測(cè)模塊組成,各個(gè)模塊架構(gòu)主要負(fù)責(zé)實(shí)現(xiàn)對(duì)應(yīng)的功能及算法(如基-2FFT、CODIC算法、SNR預(yù)測(cè)算法),模塊之間除直接進(jìn)行輸入輸出外,還有相應(yīng)的存儲(chǔ)RAM和輸出RAM負(fù)責(zé)數(shù)據(jù)的調(diào)度。MFCC模塊實(shí)現(xiàn)對(duì)語(yǔ)音輸入的特征提取,并輸出到神經(jīng)網(wǎng)絡(luò)加速器模塊當(dāng)中。

在神經(jīng)網(wǎng)絡(luò)加速器模塊,首先需要在軟件層次進(jìn)行神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的確定、以及BWN網(wǎng)絡(luò)模型參數(shù)的訓(xùn)練驗(yàn)證,在硬件架構(gòu)層次上則要實(shí)現(xiàn)對(duì)應(yīng)的前饋神經(jīng)網(wǎng)絡(luò)每層運(yùn)算需要的算法以及整體的控制與數(shù)據(jù)調(diào)度。神經(jīng)網(wǎng)絡(luò)硬件架構(gòu)主要分為網(wǎng)絡(luò)層控制器、訪存控制器、以及存儲(chǔ)和計(jì)算單元,其中,網(wǎng)絡(luò)層控制器負(fù)責(zé)架構(gòu)整體的控制,當(dāng)前層的確定以及不同層的切換。訪存控制器在接收網(wǎng)絡(luò)層控制器的控制信號(hào)后,負(fù)責(zé)將當(dāng)前層所需數(shù)據(jù)從存儲(chǔ)單元調(diào)度到計(jì)算單元,以及當(dāng)前層計(jì)算完成后將運(yùn)算完成的輸出數(shù)據(jù)寫(xiě)回存儲(chǔ)單元。存儲(chǔ)單元主要分為數(shù)據(jù)存儲(chǔ)RAM以及權(quán)重存儲(chǔ)RAM,分別負(fù)責(zé)存儲(chǔ)每一層所需的輸入數(shù)據(jù)以及相應(yīng)的權(quán)重。計(jì)算單元主要負(fù)責(zé)對(duì)應(yīng)計(jì)算算法的實(shí)現(xiàn),PE陣列實(shí)現(xiàn)數(shù)據(jù)與權(quán)重的卷積/二值,以及全連接運(yùn)算,BN_RELU則用于實(shí)現(xiàn)對(duì)應(yīng)的激活函數(shù)以及歸一化函數(shù)。

其次,從低功耗角度出發(fā),我們?cè)O(shè)計(jì)了復(fù)用的PE子計(jì)算,可適配完成卷積(二值)和全連接(二值全連接)計(jì)算,重新調(diào)整了神經(jīng)網(wǎng)絡(luò)加速器模塊的數(shù)據(jù)調(diào)度方式,減少了整個(gè)電路的面積。

版圖設(shè)計(jì)

對(duì)于語(yǔ)音識(shí)別加速器模塊,我們還完成了后端版圖設(shè)計(jì),如下圖3所示,具體的面積參數(shù)如下表1所示。電路綜合后的功耗細(xì)節(jié)圖如下圖4所示,整體電路的功耗為6.70uW,其中神經(jīng)網(wǎng)絡(luò)加速器模塊的功耗為3.66uW,MFCC模塊功耗為1.07uW,I2S模塊和其他模塊功耗為0.45uW。圖4(b)展示了電路中組合邏輯功耗、寄存器功耗以及SRAM功耗占比,可以看到訪存功耗占比為67.6%,寄存器功耗占比為19.3%,組合邏輯功耗占比為13.1%,由此可見(jiàn)本電路實(shí)際的計(jì)算功耗占比較少,這得益于所采用的權(quán)重二值化處理方式,使得電路大量的乘法操作變?yōu)榧臃ú僮鳌?/p>

表1 版圖參數(shù)

9f48a2ce-0bb6-11ed-ba43-dac502259ad0.png

9f6225dc-0bb6-11ed-ba43-dac502259ad0.png


圖3 神經(jīng)網(wǎng)絡(luò)加速器模塊的VLSI實(shí)現(xiàn)版圖設(shè)計(jì)

9f9f82ec-0bb6-11ed-ba43-dac502259ad0.png


圖4 神經(jīng)網(wǎng)絡(luò)加速器模塊的 VLSI實(shí)現(xiàn)功耗占比

硬件加速器詳細(xì)設(shè)計(jì)

高噪聲環(huán)境——帶噪聲精確BWN神經(jīng)網(wǎng)絡(luò)

在高噪聲場(chǎng)景中,語(yǔ)音信號(hào)的信噪比往往很低,因此,本系統(tǒng)采用精度較高的精確BWN神經(jīng)網(wǎng)絡(luò),同時(shí)在訓(xùn)練集中加載了0dB的白噪聲訓(xùn)練,實(shí)現(xiàn)噪聲場(chǎng)景下的高精度

低噪聲環(huán)境——無(wú)噪聲近似BWN神經(jīng)網(wǎng)絡(luò)

在低噪聲場(chǎng)景中,輸入的語(yǔ)音信號(hào)相對(duì)來(lái)說(shuō)更為清晰,被系統(tǒng)識(shí)別到的難度更低,在電路實(shí)現(xiàn)中,滿足性能要求前提下功耗是衡量電路設(shè)計(jì)的重要指標(biāo)之一,完全可以采用加入近似計(jì)算單元的功耗BWN來(lái)設(shè)計(jì),同時(shí)去除數(shù)據(jù)集中的白噪聲,使用clean的數(shù)據(jù)集訓(xùn)練,最終識(shí)別精度并沒(méi)有下降太多。該方案在不增加網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜度,不增加網(wǎng)絡(luò)深度和神經(jīng)元個(gè)數(shù)的情況下,使系統(tǒng)在常開(kāi)工作時(shí)的功耗更低。

由于神經(jīng)網(wǎng)絡(luò)具有天然容錯(cuò)性,有許多傳統(tǒng)的近似乘法單元曾經(jīng)被應(yīng)用在DNN神經(jīng)網(wǎng)絡(luò)中,比如截?cái)噙M(jìn)位乘法器,共享乘法器,迭代對(duì)數(shù)乘法器等。雖然BWN網(wǎng)絡(luò)權(quán)重已經(jīng)量化到了1bit, 但是仍然保有繼續(xù)優(yōu)化的空間。在3×3的卷積核里,會(huì)有9個(gè)16bit的數(shù)據(jù)進(jìn)行位運(yùn)算,之后這9個(gè)數(shù)據(jù)再累加,輸出卷積核最后的結(jié)果。9個(gè)數(shù)據(jù)的累加最終會(huì)得到一個(gè)最大為20bit的數(shù)據(jù),對(duì)于一個(gè)20bit的數(shù)據(jù)來(lái)說(shuō),在其低位如果有部分信息丟失,其實(shí)對(duì)整個(gè)數(shù)據(jù)的整體精度影響不大,況且神經(jīng)網(wǎng)絡(luò)本身就帶有一定的容錯(cuò)性,微小的誤差可能并不會(huì)對(duì)網(wǎng)絡(luò)的結(jié)果帶來(lái)極大的變動(dòng),但是從硬件電路的實(shí)現(xiàn)角度來(lái)考慮,引入近似計(jì)算可較大地降低整個(gè)電路的功耗以及面積,十分具有研究?jī)r(jià)值,正是基于上述考量,來(lái)評(píng)估在加法運(yùn)算中引入近似的可行性。

乘法運(yùn)算涉及到移位、位運(yùn)算和累加三個(gè)過(guò)程,因此能夠?qū)崿F(xiàn)近似的空間更大,對(duì)于純累加的運(yùn)算過(guò)程,能夠使用近似的就是在單個(gè)加法器了,最常用的加法器近似手段則是LOA,即Low Or Adder,低位或門(mén)加法器,用邏輯或門(mén)來(lái)替換低位的加法器來(lái)實(shí)現(xiàn)近似,其電路結(jié)構(gòu)如圖5所示:

9fc463dc-0bb6-11ed-ba43-dac502259ad0.png


圖5 LOA加法器

面向多信噪比的KWS神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)

在前面已經(jīng)提出了本系統(tǒng)的兩種神經(jīng)網(wǎng)絡(luò),在本節(jié)中,將對(duì)網(wǎng)絡(luò)中的主要模塊進(jìn)行可重構(gòu)復(fù)用設(shè)計(jì),可以從模塊級(jí)了解本文的神經(jīng)網(wǎng)絡(luò)的具體工作模式。由前文中可知神經(jīng)網(wǎng)絡(luò)算法中在面向高信噪比語(yǔ)音環(huán)境時(shí),為了降低功耗,使用了LOA近似計(jì)算單元。具體結(jié)構(gòu)如圖6。

9ff443ae-0bb6-11ed-ba43-dac502259ad0.png


圖6 CNN加速器架構(gòu)圖

如圖6所示的是在語(yǔ)音關(guān)鍵詞分類(lèi)模塊中,語(yǔ)音數(shù)據(jù)和權(quán)重?cái)?shù)據(jù)分別存儲(chǔ)在SRAM中,當(dāng)SNR預(yù)測(cè)模塊得到的是低信噪比的噪聲環(huán)境時(shí),語(yǔ)音數(shù)據(jù)經(jīng)過(guò)可重構(gòu)PE_ARRAY陣列模塊進(jìn)行網(wǎng)絡(luò)計(jì)算。當(dāng)SNR預(yù)測(cè)模塊得到的結(jié)果是高信噪比時(shí),語(yǔ)音數(shù)據(jù)經(jīng)過(guò)可重構(gòu)PE_ARRAY陣列模塊進(jìn)行網(wǎng)絡(luò)計(jì)算。

如圖6所示,硬件中有三片sram,分別存儲(chǔ)語(yǔ)音數(shù)據(jù),在高信噪比環(huán)境下的權(quán)重1和在低信噪比環(huán)境下的權(quán)重2。Memory controller模塊用于生成地址和計(jì)算時(shí)分別調(diào)用SRAM中的具體數(shù)據(jù)。Layer controller是使用狀態(tài)機(jī)控制當(dāng)前計(jì)算網(wǎng)絡(luò)所處層級(jí)??芍貥?gòu)PE_ARRAY陣列模塊用于網(wǎng)絡(luò)計(jì)算,共有BN_RELU模塊用于每層卷積操作之后對(duì)數(shù)據(jù)進(jìn)行歸一化處理。

軟件實(shí)現(xiàn)

自定義指令的編寫(xiě)

軟件實(shí)現(xiàn)最關(guān)鍵的問(wèn)題是實(shí)現(xiàn)RISC-V自定義指令并可以確實(shí)控制蜂鳥(niǎo)核里nice接口連接的協(xié)處理器,具體的語(yǔ)音識(shí)別加速器的設(shè)計(jì)在上一節(jié)已被充分介紹,蜂鳥(niǎo)E203的開(kāi)源核給我們拓展協(xié)處理器預(yù)留了nice接口,并且學(xué)習(xí)資料豐富,根據(jù)預(yù)留的拓展接口以及相應(yīng)的通信協(xié)議,我們成功把語(yǔ)音識(shí)別加速器掛載到核上面,具體不再贅述。

自適應(yīng)噪聲切換

在實(shí)現(xiàn)噪聲模塊功能這方面,我們團(tuán)隊(duì)提出了兩種方案,分別是根據(jù)SNR預(yù)測(cè)在硬件上設(shè)計(jì)電路的硬件方案以及在軟件上設(shè)置閾值來(lái)檢測(cè)環(huán)境的軟件方案。

硬件方案的具體思路是在運(yùn)算時(shí),累加一段時(shí)間區(qū)間內(nèi)的語(yǔ)音信號(hào)能量,噪聲信號(hào)實(shí)際上就是能量的高低,噪聲越高信號(hào)中也就含有越多的能量,硬件方案正是基于這個(gè)思路來(lái)檢測(cè)環(huán)境噪聲強(qiáng)度。

而軟件方案則是借助我們系統(tǒng)內(nèi)蜂鳥(niǎo)E203處理器,利用處理器的靈活控制的特點(diǎn),外接聲音檢測(cè)模塊,并設(shè)置一個(gè)噪聲閾值,當(dāng)模塊檢測(cè)到外部環(huán)境中的噪聲超過(guò)這個(gè)閾值時(shí),給處理器發(fā)送一個(gè)低信號(hào),而在處理器中則記錄低信號(hào)出現(xiàn)的次數(shù),一段時(shí)間內(nèi),如果出現(xiàn)低信號(hào)的次數(shù)超過(guò)了處理器中設(shè)置的高噪聲的閾值,那么可以認(rèn)為當(dāng)前環(huán)境噪聲較高,需要切換工作模式。

系統(tǒng)實(shí)物圖

a019656c-0bb6-11ed-ba43-dac502259ad0.png

致謝

在此表示衷心的感謝芯來(lái)科技設(shè)立的RISV-MCU 社區(qū),社區(qū)中豐富的學(xué)習(xí)資料幫助我們團(tuán)隊(duì)快速上手了蜂鳥(niǎo)E203的初步使用,清晰的文件分類(lèi)讓我們查閱學(xué)習(xí)非常方便,跟社區(qū)中其他參賽隊(duì)伍交流也使得我們受益良多。

同時(shí)特別感謝社區(qū)中的胡燦等其他老師,我們團(tuán)隊(duì)在設(shè)計(jì)這個(gè)系統(tǒng)的過(guò)程中,遇到了許多問(wèn)題,胡燦老師平易近人,很耐心地解答問(wèn)題,讓我們學(xué)到了很多,幫助我們最終完成了整個(gè)系統(tǒng)。

感謝芯來(lái)科技的創(chuàng)始人胡振波先生,胡先生為了RISC-V在國(guó)內(nèi)的推廣殫精竭慮,特別編寫(xiě)了基于RISC-V的開(kāi)源蜂鳥(niǎo)核E203,十分令人傾佩,我們團(tuán)隊(duì)購(gòu)買(mǎi)了先生編寫(xiě)的《嵌入式開(kāi)發(fā)快速入門(mén)》和《教你設(shè)計(jì)CPU》兩本書(shū),學(xué)習(xí)書(shū)中的內(nèi)容讓我們團(tuán)隊(duì)在應(yīng)用蜂鳥(niǎo)核時(shí)更加得心應(yīng)手。

在項(xiàng)目設(shè)計(jì)之初,我們團(tuán)隊(duì)也遇到很多問(wèn)題,能解決這些問(wèn)題,得益于隊(duì)友之間的信任和鼓勵(lì),也得益于大賽組委會(huì)給大家提供了這樣的優(yōu)秀平臺(tái)。希望集創(chuàng)賽可以越辦越好!

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    460

    文章

    52529

    瀏覽量

    441366
  • 加速器
    +關(guān)注

    關(guān)注

    2

    文章

    827

    瀏覽量

    39140
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4814

    瀏覽量

    103734
  • E203
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    297

原文標(biāo)題:【2021集創(chuàng)賽作品分享】第十九期 | 自適應(yīng)噪聲環(huán)境的超低功耗語(yǔ)音關(guān)鍵詞識(shí)別系統(tǒng)

文章出處:【微信號(hào):Ithingedu,微信公眾號(hào):安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何統(tǒng)計(jì)蜂鳥(niǎo)E203的分支預(yù)測(cè)率?

    想請(qǐng)問(wèn)大家如何統(tǒng)計(jì)蜂鳥(niǎo)E203的分支預(yù)測(cè)率,我嘗試在exu_commit模塊里統(tǒng)計(jì),但是發(fā)現(xiàn)預(yù)測(cè)率都有寫(xiě)問(wèn)題,想請(qǐng)教以下大家
    發(fā)表于 06-10 07:05

    MAX78002帶有低功耗卷積神經(jīng)網(wǎng)絡(luò)加速器的人工智能微控制技術(shù)手冊(cè)

    的Maxim超低功耗微控制相結(jié)合。通過(guò)這款基于硬件的卷積神經(jīng)網(wǎng)絡(luò)(CNN)加速器,即使是電池供電的應(yīng)用也可執(zhí)行AI推理,同時(shí)功耗僅為微焦耳級(jí)。
    的頭像 發(fā)表于 05-08 10:16 ?222次閱讀
    MAX78002帶有低功耗卷積<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b><b class='flag-5'>加速器</b>的人工智能微控制<b class='flag-5'>器</b>技術(shù)手冊(cè)

    TPU處理的特性和工作原理

    張量處理單元(TPU,Tensor Processing Unit)是一種專(zhuān)門(mén)為深度學(xué)習(xí)應(yīng)用設(shè)計(jì)的硬件加速器。它的開(kāi)發(fā)源于對(duì)人工智能(AI)和機(jī)器學(xué)習(xí)應(yīng)用的需求,尤其是深度學(xué)習(xí)中的神經(jīng)網(wǎng)絡(luò)計(jì)算。
    的頭像 發(fā)表于 04-22 09:41 ?1501次閱讀
    TPU處理<b class='flag-5'>器</b>的特性和工作原理

    請(qǐng)問(wèn)蜂鳥(niǎo)e203如何提高主頻?

    蜂鳥(niǎo)e203的主域頻率是16Mhz,假如需要將主頻提高到200MHZ(所使用的板卡是支持200M的),有什么辦法嗎? 目前已嘗試的工作:直接使用外部mmcm模塊生成一個(gè)100MHZ的時(shí)鐘替換
    發(fā)表于 04-17 06:35

    請(qǐng)問(wèn)蜂鳥(niǎo)e203如何提高主頻?

    蜂鳥(niǎo)e203的主域頻率是16Mhz,假如需要將主頻提高到200MHZ(所使用的板卡是支持200M的),有什么辦法嗎? 目前已嘗試的工作:直接使用外部mmcm模塊生成一個(gè)100MHZ的時(shí)鐘替換
    發(fā)表于 03-07 12:28

    蜂鳥(niǎo)E203的NICE接口如何移植到其他RISCV核上?

    蜂鳥(niǎo)E203的NICE接口移植到其他RISCV核上
    發(fā)表于 03-07 08:49

    e203在vivado硬件里自定義指令識(shí)別為非法指令怎么解決?

    e203自定義指令硬件模塊設(shè)計(jì),修改內(nèi)核,綜合沒(méi)錯(cuò)誤,軟件也修改工具鏈通過(guò)并產(chǎn)生verilog文件,但在vivado硬件里自定義指令識(shí)別為非法指令怎么解決
    發(fā)表于 03-07 07:34

    BP神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)的比較

    多層。 每一層都由若干個(gè)神經(jīng)元構(gòu)成,神經(jīng)元之間通過(guò)權(quán)重連接。信號(hào)在神經(jīng)網(wǎng)絡(luò)中是前向傳播的,而誤差是反向傳播的。 卷積神經(jīng)網(wǎng)絡(luò)(CNN) : CNN主要由卷積層、池化層和全連接層組成。
    的頭像 發(fā)表于 02-12 15:53 ?678次閱讀

    數(shù)據(jù)中心中的FPGA硬件加速器

    ? 再來(lái)看一篇FPGA的綜述,我們都知道微軟包括國(guó)內(nèi)的云廠商其實(shí)都在數(shù)據(jù)中心的服務(wù)中部署了FPGA,所以這篇論文就以數(shù)據(jù)中心的視角,來(lái)看下FPGA這個(gè)硬件加速器。 還是一樣,想要論文原文的可以私信
    的頭像 發(fā)表于 01-14 10:29 ?668次閱讀
    數(shù)據(jù)中心中的FPGA<b class='flag-5'>硬件加速器</b>

    人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法

    在上一篇文章中,我們介紹了傳統(tǒng)機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí)和多種算法。在本文中,我們會(huì)介紹人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法,供各位老師選擇。 01 人工神經(jīng)網(wǎng)絡(luò) ? 人工神經(jīng)網(wǎng)絡(luò)模型之所
    的頭像 發(fā)表于 01-09 10:24 ?1219次閱讀
    人工<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的原理和多種<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>架構(gòu)方法

    卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的比較

    在深度學(xué)習(xí)領(lǐng)域,神經(jīng)網(wǎng)絡(luò)模型被廣泛應(yīng)用于各種任務(wù),如圖像識(shí)別、自然語(yǔ)言處理和游戲智能等。其中,卷積神經(jīng)網(wǎng)絡(luò)(CNNs)和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)是兩種常見(jiàn)的模型。 1. 結(jié)構(gòu)差異 1.1 傳統(tǒng)神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 11-15 14:53 ?1887次閱讀

    RNN模型與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的區(qū)別

    神經(jīng)網(wǎng)絡(luò)是機(jī)器學(xué)習(xí)領(lǐng)域中的一種強(qiáng)大工具,它們能夠模擬人腦處理信息的方式。隨著技術(shù)的發(fā)展,神經(jīng)網(wǎng)絡(luò)的類(lèi)型也在不斷增加,其中循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)(如前饋
    的頭像 發(fā)表于 11-15 09:42 ?1140次閱讀

    Moku人工神經(jīng)網(wǎng)絡(luò)101

    Moku3.3版更新在Moku:Pro平臺(tái)新增了全新的儀器功能【神經(jīng)網(wǎng)絡(luò)】,使用戶能夠在Moku設(shè)備上部署實(shí)時(shí)機(jī)器學(xué)習(xí)算法,進(jìn)行快速、靈活的信號(hào)分析、去噪、傳感調(diào)節(jié)校準(zhǔn)、閉環(huán)反饋等應(yīng)用。如果您
    的頭像 發(fā)表于 11-01 08:06 ?675次閱讀
    Moku人工<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>101

    適用于數(shù)據(jù)中心應(yīng)用中的硬件加速器的直流/直流轉(zhuǎn)換解決方案

    電子發(fā)燒友網(wǎng)站提供《適用于數(shù)據(jù)中心應(yīng)用中的硬件加速器的直流/直流轉(zhuǎn)換解決方案.pdf》資料免費(fèi)下載
    發(fā)表于 08-26 09:38 ?0次下載
    適用于數(shù)據(jù)中心應(yīng)用中的<b class='flag-5'>硬件加速器</b>的直流/直流轉(zhuǎn)換<b class='flag-5'>器</b>解決方案

    NPU和GPU有什么區(qū)別

    NPU(Neural Processing Unit,神經(jīng)網(wǎng)絡(luò)處理) 是一種專(zhuān)門(mén)設(shè)計(jì)用于加速神經(jīng)網(wǎng)絡(luò)運(yùn)算的硬件加速器。它的核心理念是模擬人
    的頭像 發(fā)表于 08-13 09:32 ?2452次閱讀