色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

通過FPGA實現深度神經網絡的解決方案

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-03-19 08:58 ? 次閱讀

隨著“Alexa”、“Hey Siri”或“Hi Google”等多個產品成功響應關鍵詞,關鍵字檢測 (KWS) 已成為越來越多嵌入式應用的一項重要要求。雖然典型的先進 KWS 解決方案依賴于復雜的卷積神經網絡 (CNN) 和其他深度神經網絡 (DNN) 機器學習算法,但資源受限型產品的開發人員可以使用二值神經網絡 (BNN) 獲得所需的準確結果。

本文介紹了將 KWS 添加到可穿戴設備和其他低功耗物聯網設備的優勢,以及所面臨的各項挑戰。在描述 BNN 架構及其為何適用于資源受限型 KWS 應用之后,本文還介紹了一種通過低功耗 FPGA 實現 BNN 的可用解決方案。該解決方案將用于展示如何利用一小部分 CNN 資源要求,為低功耗 KWS 應用實現 CNN 的高精度

KWS 的起源和演進

KWS 也被也稱為關鍵詞檢測,多年來一直應用于信息處理應用。例如,在文檔處理中,KWS 提供了一種更有效的光學字符識別替代方法,可為大規模數字化文檔編制索引。隨著聲控服務在智能手機、手表、家用產品等設備中變得可用,基于語音的 KWS 方法在產品開發中迅速獲得關注。在這些產品中,“始終運行”功能允許產品連續處理音頻輸入,尋找可激活基于語音的用戶界面的關鍵字。

諸如 XMOS VocalFusion 4-Mic 套件之類板級產品可與 Amazon 語音服務完全集成,提供了一種即用型解決方案,可在許多應用中添加語音助手服務。但對于功率預算有限的可穿戴設備或其他電池供電型產品,開發人員很大程度上只能去尋找自己的 KWS 解決方案。

過去,實現自定義 KWS 機制要求開發人員不僅在音頻工程方面具有深厚背景,而且在時間模式識別的統計方法應用方面也具有同樣的要求。過去幾十年來,基于隱馬爾可夫模型和相關算法的統計方法為字識別解決方案提供了基礎。

最近,像卷積神經網絡 (CNN) 這樣的 DNN 架構已經開始用作許多 KWS 應用的基礎。

滿足深度神經網絡 (DNN) 要求

DNN 架構基于多層神經元,這些神經元經過訓練,可從輸入數據中提取特征,并預測輸入數據對應于訓練期間所用類之一的概率1。特別是得益于這些算法實現的高識別精度,CNN 架構已成為圖像識別的卓越方法。

同樣,不同類型的 CNN 架構已經在包括 KWS 實現在內的語音處理中取得了成功。“傳統”CNN 架構的難點在于其尺寸和處理要求。例如,在圖像處理中,CNN 模型已經增長到數百兆字節的大小。大存儲容量加上廣泛的數值計算要求,對模型處理平臺提出了很高的要求。

用于實現傳統 CNN 架構的方法提供的幫助很少。CNN 和其他 DNN 算法通過對網絡中每層的每個神經元執行通用矩陣乘法 (GEMM) 運算,實現其精度。在訓練期間,當模型可能需要處理數百萬個標記的特征向量以獲得預期結果時,GEMM 和其他矩陣計算的數量可以很容易地達到數十億,從而推動了圖形處理單元 (GPU) 在此模型開發階段加速處理的需求。當部署模型以在應用中執行推理時,人們希望維持低延時和高精度,這繼續決定了在要求最為嚴苛的應用中對 GPU 的需求。

在具有較為適中的推理要求的應用中,開發人員可以通過犧牲延時和精度來部署傳統 CNN,即使在 Raspberry Pi Foundation Raspberry Pi 3 等通用平臺上,或基于 Arm? Cortex?-M7 的 MCU(例如 Microchip Technology、NXP 或 STMicroelectronics 的 MCU)上亦如此2。

但是,對于對推理準確性和延時提出嚴格要求的應用,傳統 CNN 算法在資源有限的平臺上根本不實用。CNN 提出的存儲器和處理要求遠遠超出了典型線路供電型消費產品內置的嵌入式系統的資源范圍,更不用說電池供電型可穿戴設備或其他預期提供“始終運行”的KWS 功能的移動設計。模型壓縮技術的發展需要 DNN 算法能夠支持這些平臺。

高效的 DNN 方法

為了解決呈螺旋上升的模型尺寸問題,機器學習科學家已經找到了在無顯著精度損失的情況下大幅降低存儲器需求的方法。例如,研究人員修剪了對結果貢獻很小的內部網絡連接。他們還將內部參數所需的精度降低到 8 位甚至 5 位值。通過應用上述方法和其他方法,他們在無明顯精度損失的情況下,將行業黃金標準 CNN 模型的尺寸減小 30 倍至 49 倍,從而減少了存儲器需求3。

除了降低存儲器需求外,模型壓縮技術還有助于降低處理要求:修剪減少了所需計算次數,而精度降低則加快了計算速度。

但是,即使降低了精度,這些網絡仍需要大量屬于機器學習算法核心的 GEMM 運算。這些運算的范圍不僅推動了對推理平臺高性能硬件的需求,而且還直接影響了這些平臺的功率預算。饋送這些矩陣運算需要大量訪問存儲器,單是這方面的功耗,就輕易超過電池供電型設備的功率預算。

為了解決移動設備的存儲器、處理和功耗限制,研究人員已將模型壓縮的概念擴展到極致。研究人員將模型參數量化為 +1 或 -1(或 0)值,以建立稱為二值神經網絡 (BNN) 的架構,而不是簡單地將內部參數的精度降低到 8 位或更低位。

BNN 如何將 KWS 引入資源有限的設計

在基本拓撲方面,BNN 與 CNN 大致相同,并且所含層類型相同(包括卷積層、歸一化層、激活層和池化層)。這些層內使用 1 位參數(權重與偏置值),在運算上差異巨大。

BNN 不是執行傳統 CNN 中所需的 32 位浮點 GEMM 運算,而是可以使用更簡單的按位 XNOR 運算。雖然這種方法可能導致訓練時間延長,但研究人員發現,BNN 模型的準確率幾乎與使用 32 位浮點值的模型相當4。二進制化參數的使用不僅減少了 BNN 的存儲器占用空間,而且還減少了其存儲器訪問要求,因為可以在單字訪問周期中獲取多個 1 位參數,并且饋送 XNOR 運算所需的參數更少。

BNN 的計算簡化后,處理要求也隨之顯著降低。因此,BNN 可以在不顯著影響精度的情況下,實現比先前方法更高的推理率。在一項研究中,研究人員比較了在 Xilinx XC7Z020 FPGA 片上系統 (SoC) 上實現 CNN 和 BNN 的性能,其中該片上系統在基于 XC7Z020 的開發平臺(如 Digilent 的 ZedBoard)上運行。使用 XC7Z020 FPGA 后,兩個 DNN 均實現了高效性能,但 CNN 實現了每瓦特 7.27 每秒十億次運算 (GOPS),而 BNN 在相同零件上的數據為 44.2 GOPS/瓦5。

由于其可編程性和高能效,FPGA 已成為使用 CNN 的應用(如嵌入式視覺)的熱門推理平臺6。先進的 FPGA 組合了嵌入式存儲器和多個并行處理數字信號處理 (DSP) 單元,可加快 GEMM 和其他矩陣計算。雖然 BNN 需要的 DSP 資源僅是 CNN 所需的一小部分,但 FPGA 仍然非常適合這些架構。例如,開發人員可利用能夠加速此架構中二進制卷積或其他按位運算的專用邏輯,來增強其基于 FPGA 的 BNN。

但是,對于專注于大型應用的典型開發人員而言,即使縮短項目日程以適應快速發展的應用領域(如可穿戴設備和其他聲控連接產品),只要對基于 FPGA 的 DNN 進行優化設計,不論類型如何,都會造成拖延。Lattice Semiconductor 的 SensAI? 技術堆棧通過專門的 DNN IP、參考設計、設計服務以及用于實現推理模型的簡單 FPGA 開發工作流程消除了這一障礙。

基于 FPGA 的 BNN 解決方案

SensAI 將 DNN IP 與神經網絡編譯器結合在一個工作流程中,旨在加快實現通過行業標準機器學習框架(包括 Caffe 和 TensorFlow)創建的神經網絡模型(圖 1)。

通過FPGA實現深度神經網絡的解決方案

圖 1:Lattice SensAI 技術堆棧可幫助開發人員使用通過標準機器學習框架創建的 CNN 和 BNN 模型,在 Lattice iCE40 UltraPlus 和 ECP5 FPGA 上實現低功耗推理引擎。(圖片來源:Lattice Semiconductor)

Lattice 的 CNN IP 旨在與 Lattice ECP5 FPGA 配合使用,支持在 Lattice 基于 ECP5 的嵌入式視覺開發套件上運行 1 W 或更低功耗的高性能圖像識別功能。但是,對于資源受限的設計,Lattice 的 BNN IP 使開發人員能夠充分利用這種高效架構,在低功耗 Lattice ICE40 UltraPlus FPGA 上實現推理引擎。

使用 Lattice BNN IP 后,這些基于 ICE40 UltraPlus 的推理引擎可以在顯著降低運行功耗、使用更少存儲器和處理資源的情況下實現高精度。Lattice 通過 KWS 推理模型的完整 ICE40 UltraPlus FPGA 實現,展示了此 BNN IP 的效率,其中推理模型實現在 Lattice 移動開發平臺 (MDP) 上的運行功耗約為 1 mW。

Lattice SensAI BNN IP 包括實現 BNN 推理解決方案所需的全套模塊(圖 2)。

通過FPGA實現深度神經網絡的解決方案

圖 2:Lattice SensAI IP 提供了在 Lattice iCE40 UltraPlus FPGA 上實現 BNN 解決方案所需的全套模型層、存儲器子系統、控制邏輯和系統接口。(圖片來源:Lattice Semiconductor)

除了支持卷積、池化和其他 DNN 層功能外,該 IP 還有多個存儲器子系統,包括用于訓練期間所開發模型的固定參數和推理期間所執行計算的中間結果的子系統。除了輸入、輸出和控制線的接口邏輯外,該 IP 還提供了一個控制子系統,用于處理實現模型操作的命令序列。

對于新項目,開發人員使用 Lattice Radiant 軟件包中的一些簡單菜單為其特定設計生成基本 IP 內核。這里,開發人員只需使用 Radiant IP 配置向導中提供的菜單選項,為所需存儲器(8、16 或 64 KB)和二進制類型(+ 1/-1 或 +1/0)配置 BNN IP 塊。開發人員通過使用另一個 Radiant 菜單來完成此簡單設置過程,生成 RTL 和其他支持文件,Radiant FPGA 程序員使用這些文件,根據其所選 BNN 配置對設備進行編程。

雖然此 FPGA 編程工作流程為 BNN 模型提供了底層執行平臺,但模型本身的編程遵循 SensAI 環境中的單獨路徑。

在 SensAI 工作流程的模型開發部分,開發人員使用 Lattice 神經網絡編譯器將 Caffe 或 TensorFlow 模型轉換成相應文件,這些文件包含在所配置 BNN 核心上實現這些模型所需的模型參數和命令序列。在最后一步中,開發人員使用 Radiant 將模型文件和 FPGA 比特流文件加載到 FPGA 平臺中。

KWS 實現

Lattice 利用了一個旨在運行于 Lattice MDP 之上的基于 BNN 的完整 KWS 模型演示此 BNN 開發過程。MDP 本身就是一個出色的平臺,結合了 iCE40 UltraPlus FPGA 和一系列可能在典型低功耗移動應用中遇到的外設。

此開發板集成了四個 iCE40 UltraPlus 器件,在演示該板內置的 1.54 英寸顯示屏、640 x 480 圖像傳感器和 RGB LED 的應用中,每個器件都有展示。該板還包含一整套傳感器,包括壓力傳感器、羅盤傳感器、3 軸線性加速計、3D 加速計和 3D 陀螺儀。針對像關鍵字檢測這樣的音頻應用,該電路板還包括兩個 I2S 麥克風和兩個 PDM 麥克風。對于要求更高的應用,開發人員可以將 Lattice 的 8 麥克風 LF-81AGG-EVN 子板插入 MDP,以支持音頻波束形成,從而在聲控應用中增強方向響應(圖 3)。

圖 3:Lattice 移動開發平臺 (MDP) 集成了一套廣泛的支持功能和外設,同時為 8 麥克風陣列(圖中顯示為與 MDP 相連)等擴展組件提供連接器。(圖片來源:Lattice Semiconductor)

該開發板的內置電源管理電路允許開發人員采用內部鋰離子電池實現獨立操作,或采用外部電源為該板供電。在開發過程中,可通過主機開發平臺 USB 連接為該板供電。此主機可運行 Lattice iCEcube2,用于創建自定義設計,或運行 Lattice Radiant 編程器,以使用像 Lattice 關鍵詞檢測演示這樣預先建立的設計對板載 iCE40 FPGA 進行編程。

Lattice DNN 演示(包括用于關鍵字詞檢測的演示)提供了一整套常規情況下通過 SensAI 工作流生成的文件。因此,開發人員使用 Radiant 編程器即可加載這些文件,以評估模型的性能,例如關鍵字詞檢測演示中的 BNN 推理模型。

對于希望檢查實現細節的開發人員,演示項目還提供模型文件,包括 TensorFlow .pb 文件以及 Caffe .proto 和 .caffeemodel 文件。開發人員可以檢查這些模型以評估所提供的網絡設計。對于具有更多特殊要求的應用,這些模型可用作開發人員自有模型的起點。通常,設計人員會發現基于典型 CNN 類型設計的拓撲。

在 Lattice 關鍵詞檢測演示項目中,所提供的 BNN 網絡設計使用熟悉的拓撲結構,重復多個階段,每個階段包括卷積層、批量歸一化層、縮放層、ReLu 激活層和池化層(圖 4)。盡管與傳統的 CNN 設計在很大程度上無甚區別,但 Lattice BNN 實現采用內部二值參數和相關機制,這是此高效架構的核心。

通過FPGA實現深度神經網絡的解決方案

圖 4:BNN 包含在 Lattice 演示項目中,使用一個由三個相似卷積模塊組成的流水線執行關鍵詞檢測,每個卷積模塊包括卷積層、批量歸一化層、縮放層、ReLu 激活層和池化層。(圖片來源:Lattice/Ethereon)

Lattice 演示使用用于管理從外部閃存加載的音頻流和命令序列的模塊,將此 BNN 推理模型實現為嵌入 FPGA 中的 BNN 加速器引擎實現(圖 5)。

通過FPGA實現深度神經網絡的解決方案

圖 5:Lattice 關鍵詞檢測演示在單個低功耗 Lattice iCE40 UltraPlus FPGA 上實現了一個完整的 KWS 系統。(圖片來源:Lattice Semiconductor)

這里,I2S 主模塊接受來自外部麥克風的音頻數據,并將數據傳遞到音頻緩沖器。音頻到指紋塊進而從緩沖器中讀取音頻樣本,并使用從濾波器組存儲區讀取的濾波器生成基本音頻頻譜圖。此操作可提供合適的結果,且沒有傳統 FFT 頻譜圖的計算復雜性。

最后,BNN 加速器引擎使用此經處理的音頻流進行推理,產生三種可能的輸出:靜默、關鍵詞、無關鍵詞。

在配置好開發板并加載演示文件后,開發人員只需通過為 MDP 板供電并說出關鍵詞(在本例中為“seven”一詞)即可運行演示。當推理引擎檢測到關鍵詞時,FPGA 將打開 MDP 中的內置 RGB LED。

總結

機器學習功能強大,可為增強可穿戴設備和其他移動應用提供強大的解決方案,例如與聲控用戶界面配合使用的關鍵字檢測。雖然像 CNN 這樣的機器學習模型架構可以提供高度準確的結果,但是它們對存儲器、處理和功率的要求通常超出電池供電型設備的資源能力。

如本文所述,BNN 架構解決了這些問題。使用 Lattice Semiconductor 的先進機器學習解決方案,開發人員可以借助這一功耗僅約 1 mW 的 KWS 模型快速增強其設計。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1629

    文章

    21729

    瀏覽量

    603008
  • 神經網絡
    +關注

    關注

    42

    文章

    4771

    瀏覽量

    100715
  • 機器學習
    +關注

    關注

    66

    文章

    8406

    瀏覽量

    132565
收藏 人收藏

    評論

    相關推薦

    FPGA深度神經網絡中的應用

    、低功耗等特點,逐漸成為深度神經網絡在邊緣計算和設備端推理的重要硬件平臺。本文將詳細探討FPGA深度神經網絡中的應用,包括其優勢、設計流程
    的頭像 發表于 07-24 10:42 ?656次閱讀

    分享幾個用FPGA實現的小型神經網絡

    今天我們分享幾個用FPGA實現的小型神經網絡,側重應用。
    的頭像 發表于 07-24 09:30 ?1177次閱讀
    分享幾個用<b class='flag-5'>FPGA</b><b class='flag-5'>實現</b>的小型<b class='flag-5'>神經網絡</b>

    殘差網絡深度神經網絡

    殘差網絡(Residual Network,通常簡稱為ResNet) 是深度神經網絡的一種 ,其獨特的結構設計在解決深層網絡訓練中的梯度消失和梯度爆炸問題上取得了顯著的突破,并因此成為
    的頭像 發表于 07-11 18:13 ?1071次閱讀

    簡單認識深度神經網絡

    深度神經網絡(Deep Neural Networks, DNNs)作為機器學習領域中的一種重要技術,特別是在深度學習領域,已經取得了顯著的成就。它們通過模擬人類大腦的處理方式,利用多
    的頭像 發表于 07-10 18:23 ?1007次閱讀

    如何在FPGA實現神經網絡

    可編程門陣列(FPGA)作為一種靈活、高效的硬件實現方式,為神經網絡的加速提供了新的思路。本文將從FPGA實現
    的頭像 發表于 07-10 17:01 ?1904次閱讀

    深度神經網絡概述及其應用

    通過模仿人類大腦神經元的連接方式和處理機制,設計多層神經元結構來處理復雜的數據模式,從而在各種數據驅動的問題中展現出強大的能力。本文將從深度神經網絡
    的頭像 發表于 07-04 16:08 ?936次閱讀

    深度神經網絡與基本神經網絡的區別

    在探討深度神經網絡(Deep Neural Networks, DNNs)與基本神經網絡(通常指傳統神經網絡或前向神經網絡)的區別時,我們需
    的頭像 發表于 07-04 13:20 ?840次閱讀

    深度神經網絡的設計方法

    深度神經網絡(Deep Neural Networks, DNNs)作為人工智能領域的重要技術之一,通過模擬人腦神經元之間的連接,實現了對復
    的頭像 發表于 07-04 13:13 ?453次閱讀

    bp神經網絡深度神經網絡

    BP神經網絡(Backpropagation Neural Network)是一種常見的前饋神經網絡,它使用反向傳播算法來訓練網絡。雖然BP神經網絡在某些方面與
    的頭像 發表于 07-03 10:14 ?829次閱讀

    卷積神經網絡訓練的是什么

    、訓練過程以及應用場景。 1. 卷積神經網絡的基本概念 1.1 卷積神經網絡的定義 卷積神經網絡是一種前饋深度學習模型,其核心思想是利用卷積操作提取輸入數據的局部特征,并
    的頭像 發表于 07-03 09:15 ?397次閱讀

    卷積神經網絡的原理與實現

    1.卷積神經網絡(Convolutional Neural Networks,簡稱CNN)是一種深度學習模型,廣泛應用于圖像識別、視頻分析、自然語言處理等領域。 卷積神經網絡是一種前饋神經網絡
    的頭像 發表于 07-02 16:47 ?565次閱讀

    卷積神經網絡的基本結構及其功能

    。 引言 深度學習是機器學習的一個分支,它通過模擬人腦神經網絡的結構和功能,實現對數據的自動學習和特征提取。卷積神經網絡
    的頭像 發表于 07-02 14:45 ?1545次閱讀

    深度神經網絡模型有哪些

    深度神經網絡(Deep Neural Networks,DNNs)是一類具有多個隱藏層的神經網絡,它們在許多領域取得了顯著的成功,如計算機視覺、自然語言處理、語音識別等。以下是一些常見的深度
    的頭像 發表于 07-02 10:00 ?1326次閱讀

    神經網絡架構有哪些

    神經網絡架構是機器學習領域中的核心組成部分,它們模仿了生物神經網絡的運作方式,通過復雜的網絡結構實現信息的處理、存儲和傳遞。隨著
    的頭像 發表于 07-01 14:16 ?695次閱讀

    詳解深度學習、神經網絡與卷積神經網絡的應用

    在如今的網絡時代,錯綜復雜的大數據和網絡環境,讓傳統信息處理理論、人工智能與人工神經網絡都面臨巨大的挑戰。近些年,深度學習逐漸走進人們的視線,通過深
    的頭像 發表于 01-11 10:51 ?2025次閱讀
    詳解<b class='flag-5'>深度</b>學習、<b class='flag-5'>神經網絡</b>與卷積<b class='flag-5'>神經網絡</b>的應用
    主站蜘蛛池模板: www.色小姐| 欧美性喷潮xxxx| 国产性夜夜性夜夜爽91| 嘟嘟嘟WWW在线观看视频高清| 9久爱午夜视频| WWW久久只有这里有精品| 超碰免费视频caopoom9| 大屁股妇女流出白浆| 国产精品1区2区| 国产在线精品亚洲观看不卡欧美| 国产人成精品综合欧美成人| 国产三级精品三级在线观看| 精品免费久久久久久影院| 国产在线综合色视频| 久久精品热线免费| 久久精品av| 强开乳罩摸双乳吃奶视频| 无码AV精品一区二区三区| 亚洲AV无码专区国产乱码网站| 亚洲三级视频| 99视频精品免视3| 国产精品久久久久秋霞影视| 精品国产午夜肉伦伦影院| 嗯 用力啊 嗯 c我 啊哈老师| 制服的微热| a级男女性高爱潮高清试看| 国产成人欧美日韩在线电影| 久久国产香蕉| 人妻免费视频公开上传| 亚洲欧美在无码片一区二区| java农村野外妇女hd| 经典三级四虎在线观看| 日本精品久久无码影院| 野花日本大全免费观看3中文版| cntv官网| 绝逼会被锁| 亚洲视频成人| 国产99精品视频一区二区三区| 擼擼擼麻豆密臀AV| 亚洲国产成人在线视频| 白丝制服被啪到喷水很黄很暴力|