在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

在邊緣設備上設計和部署深度神經網絡的實用框架

MATLAB ? 來源:MATLAB ? 2024-12-20 11:28 ? 次閱讀

???? 機器學習深度學習應用程序正越來越多地從云端轉移到靠近數據源頭的嵌入式設備。隨著邊緣計算市場的快速擴張,多種因素正在推動邊緣人工智能的增長,包括可擴展性、對實時人工智能應用的不斷增長的需求,以及由強大而高效的軟件工具鏈補充的低成本邊緣設備的可用性。此外,需要避免通過網絡傳輸數據——無論是出于安全原因還是僅僅為了盡量減少通信成本。

邊緣人工智能涵蓋廣泛的設備、傳感器微控制器、片上多微處理器、應用處理器和專用片上系統——包括相對強大的邊緣服務器和物聯網模塊。參考社區,TinyML 基金會,成立于 2019 年,專注于開發機器學習模型并將其部署在內存、處理能力和能耗預算有限的資源極其受限的嵌入式設備上。TinyML 開辟了獨特的機會,包括可使用廉價電池甚至小型太陽能電池板供電的應用程序,以及在低成本硬件上本地處理數據的大規模應用程序。當然,TinyML 也帶來了各種挑戰。其中一個挑戰是機器學習和嵌入式系統開發人員必須優化應用程序的性能和占用空間,這需要熟練掌握人工智能和嵌入式系統。

在這樣的背景下,本文介紹了一種在邊緣設備上設計和部署深度神經網絡的實用框架。該框架基于 MATLABSimulink 產品,以及 STMicroelectronics Edge AI 工具,可幫助團隊快速提升深度學習和邊緣部署方面的專業知識,使他們能夠克服使用 TinyML 時遇到的常見障礙。這反過來又使他們能夠快速構建和基準測試概念驗證 TinyML 應用程序。在工作流程的第一步中,團隊使用 MATLAB 構建深度學習網絡,使用貝葉斯優化調整超參數,使用知識提煉,并使用修剪和量化壓縮網絡。最后一步,開發人員使用集成到 ST Edge AI Developer Cloud—一項免費的在線服務,用于在 STMicroelectronics 32 位 (STM32、Stellar) 微控制器和微處理器(包括配備集成 AI 的傳感器)上開發 AI,以對已部署的深度學習網絡的資源利用率和推理速度進行基準測試(圖 1)。

bf321964-bd28-11ef-8732-92fbcf53809c.png

圖 1. 將深度學習網絡部署到微控制器和邊緣設備的迭代工作流程。反饋回路有助于形成更精確、更微小的模型。

網絡設計、訓練和超參數優化

一旦工程師收集、預處理并準備好用于深度學習應用程序的數據集,下一步就是訓練和評估候選模型,其中可以包括預訓練模型,例如 NASNet、SqueezeNet、Inception-v3 和 ResNet-101,或者機器學習工程師使用深度網絡設計器(圖 2)。多個模型提供了可用于快速啟動開發的示例,包括以下示例模型:圖像,視頻,聲音 和激光雷達點云分類;物體檢測;姿勢估計;和波形分割。

bf551e6e-bd28-11ef-8732-92fbcf53809c.png

圖 2. 深度網絡設計器在設計器面板中顯示網絡的多層。

深度學習網絡的性能在很大程度上取決于控制其訓練的參數和描述其網絡架構的參數。這些超參數示例包括學習率和批量大小,以及層數、層的類型以及層之間的連接。適當的超參數調整可以使模型實現更高的準確性和更好的性能,即使在 TinyML 應用程序運行的資源受限的環境中也是如此。然而,選擇和微調超參數值以找到優化性能的組合可能是一項困難且耗時的任務。

貝葉斯優化非常適合分類和回歸深度學習網絡的超參數優化,因為它可以有效地探索高維超參數空間以找到最佳或接近最佳的配置。在 MATLAB 中,機器學習開發人員可以使用 bayesopt 函數使用貝葉斯優化來找到最佳超參數值。例如,它可以提供一組要評估的超參數(例如卷積層的數量、初始學習率、動量和 L2 正則化)以及要最小化的目標函數(例如驗證誤差)。然后該函數可以使用 bayesopt 選擇一組或多組超參數配置,以便在工作流程的下一階段進一步探索。

知識提煉

資源受限的嵌入式設備可用內存有限。知識提煉是一種減少深度學習網絡占用空間同時保持高精度的方法。該技術使用更大、更準確的教師網絡來教更小的學生網絡進行預測。關鍵在于師生網絡架構中的損失函數的選擇。

在前面的步驟中訓練的網絡可以用作教師模型。學生網絡是教師模型的較小但相似的版本。通常,學生模型包含較少的 convolution-batchnorm-ReLU 模塊。為了考慮降維,在學生網絡中添加了最大池化層或全局平均池化層。與教師網絡相比,這些修改顯著減少了可學習內容的數量。

必須定義知識提煉損失函數來訓練學生網絡。它由學生網絡、教師網絡的輸入、具有對應目標的輸入數據和溫度超參數確定。從經驗上講,損失函數由以下兩項的加權平均值組成:1)硬損失,即學生網絡輸出與真實標簽之間的交叉熵損失;2)軟損失,即學生網絡日志與教師網絡日志之間帶溫度的 SoftMax 的交叉熵損失。

訓練后的學生網絡更好地保留了教師網絡的準確性,并減少了可學習參數,使其更適合部署到嵌入式設備中。

模型壓縮與優化

訓練階段的有效設計和超參數優化是必不可少的第一步;然而,這還不足以確保在邊緣設備上的部署。因此,通過模型修剪和量化進行訓練后優化對于進一步減少深度神經網絡的內存占用和計算要求非常重要。

網絡壓縮最有效的方法之一是量化。這是因為沒有大容量傳感器輸出浮點表示,所以數據是以整數精度獲取的。通過量化,目標是通過減少存儲網絡參數所需的內存占用,并通過用更少的位數表示模型的權重和激活來提高計算速度。例如,這可能涉及用 8 位整數替換 32 位浮點數——同樣,當可能這樣做時,僅接受預測準確度的輕微下降。量化可以節約使用嵌入式內存,這對于邊緣資源受限的傳感器、微控制器和微處理器(圖 3)至關重要。此外,整數運算在硬件上通常比浮點運算更快,從而提高微控制器的推理性能。這使得模型消耗的電量更少,使其更適合部署在電池供電或能源受限的設備上,例如移動電話和物聯網設備。雖然訓練后量化可能會引入一些精度損失,MATLAB 中的量化工具旨在最大限度地減少對模型精度的影響。采用微調、校準等技術來保持量化模型的性能。在 MATLAB 中,dlquantizer 函數簡化了將深度神經網絡的權重、偏差和激活量化為 8 位整數值的過程。

bf704996-bd28-11ef-8732-92fbcf53809c.png

圖 3. MATLAB修剪和量化后深度神經網絡的內存占用。

相比之下,修剪技術側重于通過最小化操作冗余來降低網絡的復雜性。這對于大幅降低計算復雜性至關重要。其目的是識別并刪除那些對網絡預測影響不大的連接、權重、過濾器甚至整個層。投影是 MATLAB 的專有技術,用于通過有選擇地刪除不太重要的權重或連接來優化神經網絡。此過程降低了模型的復雜性,從而減小了模型尺寸并加快了推理時間,同時又不會顯著影響性能。雖然常規修剪通常涉及直接基于閾值去除低幅度權重,但投影可能采用更復雜的標準和方法來確保網絡的基本特征得到保留。此外,投影通常旨在維持權重空間的幾何特性,與傳統修剪方法相比,可能產生更高效、更穩健的模型。

ST Edge AI Developer Cloud 基準測試

在 MATLAB 中完成初始網絡設計、超參數優化、提煉和壓縮后,工作流程的下一步是在微控制器或微處理器上評估該設計的性能。具體來說,工程師需要評估網絡的閃存和 RAM 要求以及推理速度等因素。

ST Edge AI Developer Cloud 旨在通過對 ST Edge 設備上的網絡進行快速基準測試來簡化工作流程的這一階段。要將此服務用于在 MATLAB 中開發的 TinyML 應用程序,您首先需將網絡導出為 ONNX 格式。將生成的 ONNX 文件上傳到 ST Edge AI Developer Cloud 后,工程師可以選擇要在其上運行基準測試的 ST 設備(圖 4)。

bf8910a2-bd28-11ef-8732-92fbcf53809c.png

圖 4. 可在 ST Edge AI Developer Cloud 用戶界面中進行基準測試的設備。

基準測試完成后,ST Edge AI Developer Cloud 會提供一份詳細說明結果的報告(圖 5)。ST Edge AI Developer Cloud 提供的性能分析工具提供了各種詳細的見解,包括內存使用情況、處理速度、資源利用率和模型準確性。開發人員會收到有關 RAM 和閃存消耗的信息,以及模型不同層和組件的內存分配細目。此外,這些工具還提供每一層的執行時間和總體推理時間,以及詳細的時序分析以識別和優化緩慢的操作。資源利用率統計數據(包括 CPU 和硬件加速器使用情況以及功耗指標)有助于優化能源效率。

bfa13c90-bd28-11ef-8732-92fbcf53809c.png

圖 5. ST Edge AI Developer Cloud 中典型基準測試會話的結果。

通過審查基準測試結果,工程師可以確定下一步的最佳行動方案。如果網絡設計能夠輕松地適應具有較低推理時間的給定邊緣設備的約束,他們可能會探索使用更小的設備或使用更大、更復雜的網絡來提高預測準確性的機會。另一方面,如果網絡設計太大,由于使用外部 Flash 或 RAM 而導致推理時間變慢,那么團隊可能會尋找具有更多嵌入式 Flash 和 RAM 的計算能力更強大的設備,或者他們可能會使用 MATLAB 執行額外的超參數優化、知識提煉、修剪和量化迭代以進一步壓縮網絡。ST Edge AI Developer Cloud 還提供自動代碼生成,以簡化在 ST 設備上部署 AI 模型。該功能將訓練有素的 AI 模型轉換為與 STMicroelectronics 的傳感器、微控制器和微處理器兼容的優化 C 代碼。

從基準測試到部署

工作流程的最后一步是部署到傳感器、微控制器或微處理器。有了基準測試結果,工程師們就可以做出明智的決定,選擇一個平臺,比如 STM32 Discovery Kit,在真實硬件上評估他們的 TinyML 應用程序。根據應用情況,他們可能需要將深度神經網絡與其他組件(例如控制器)集成,并在部署之前將其合并到更大的系統中。對于這些用例,他們可以進一步擴展工作流程,在 Simulink 中對其他組件進行建模,運行系統級仿真以驗證設計,并使用 Embedded Coder 和 Embedded Coder Support Package for STMicroelectronics STM32 Processors 生成 C/C++ 代碼以部署到 STM32 設備。

◆ ◆ ◆ ◆

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

    關注

    187

    文章

    2988

    瀏覽量

    232208
  • 神經網絡
    +關注

    關注

    42

    文章

    4789

    瀏覽量

    101799
  • 機器學習
    +關注

    關注

    66

    文章

    8466

    瀏覽量

    133599

原文標題:MathWorks × STMicroelectronics | 在邊緣設備上快速部署深度學習

文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    卷積神經網絡的層級結構和常用框架

      卷積神經網絡的層級結構  卷積神經網絡的常用框架
    發表于 12-29 06:16

    基于深度神經網絡的激光雷達物體識別系統及其嵌入式平臺部署

    基于深度神經網絡的激光雷達物體識別系統及其嵌入式平臺部署
    發表于 01-04 06:26

    深度神經網絡是什么

    多層感知機 深度神經網絡in collaboration with Hsu Chung Chuan, Lin Min Htoo, and Quah Jia Yong. 與許忠傳,林敏濤和華佳勇合作
    發表于 07-12 06:35

    可分離卷積神經網絡 Cortex-M 處理器實現關鍵詞識別

    我們可以對神經網絡架構進行優化,使之適配微控制器的內存和計算限制范圍,并且不會影響精度。我們將在本文中解釋和探討深度可分離卷積神經網絡 Cortex-M 處理器
    發表于 07-26 09:46

    如何使用stm32cube.ai部署神經網絡

    如何用stm32cube.ai簡化人工神經網絡映射?如何使用stm32cube.ai部署神經網絡
    發表于 10-11 08:05

    輕量化神經網絡的相關資料下載

    視覺任務中,并取得了巨大成功。然而,由于存儲空間和功耗的限制,神經網絡模型嵌入式設備的存儲與計算仍然是一個巨大的挑戰。前面幾篇介紹了如何在嵌入式AI芯片上
    發表于 12-14 07:35

    基于深度神經網絡的激光雷達物體識別系統

    的激光雷達物體識別技術一直難以嵌入式平臺上實時運行。經緯恒潤經過潛心研發,攻克了深度神經網絡嵌入式平臺部署所面臨的算子定制與加速、量化策
    發表于 12-21 07:59

    卷積神經網絡一維卷積的處理過程

    以前的神經網絡幾乎都是部署云端(服務器),設備端采集到數據通過網絡發送給服務器做infere
    發表于 12-23 06:16

    卷積神經網絡模型發展及應用

    network,DBN)[24], 從此拉開了深度學習大幕。隨著深度學習理論的研究和發展,研究人員提 出了一系列卷積神經網絡模型。為了比較不同模型 的質量,收集并整理了文獻中模型
    發表于 08-02 10:39

    如何使用TensorFlow將神經網絡模型部署到移動或嵌入式設備

    有很多方法可以將經過訓練的神經網絡模型部署到移動或嵌入式設備。不同的框架在各種平臺上支持Arm,包括TensorFlow、PyTorch、
    發表于 08-02 06:43

    基于虛擬化的多GPU深度神經網絡訓練框架

    針對深度神經網絡分布式多機多GPU的加速訓練問題,提出一種基于虛擬化的遠程多GPU調用的實現方法。利用遠程GPU調用部署的分布式GPU集
    發表于 03-29 16:45 ?0次下載
    基于虛擬化的多GPU<b class='flag-5'>深度</b><b class='flag-5'>神經網絡</b>訓練<b class='flag-5'>框架</b>

    深度神經網絡識別物體的能力怎樣

    深度神經網絡非常善于識別物體,但是當涉及到他們的相互作用的推理時,即使是最先進的神經網絡努力。
    發表于 04-14 15:24 ?914次閱讀

    Arduino Nano BLE Sense 33邊緣設備訓練神經網絡

    電子發燒友網站提供《Arduino Nano BLE Sense 33邊緣設備訓練神經網絡.zip》資料免費下載
    發表于 11-18 09:16 ?0次下載
    <b class='flag-5'>在</b>Arduino Nano BLE Sense 33<b class='flag-5'>邊緣</b><b class='flag-5'>設備</b><b class='flag-5'>上</b>訓練<b class='flag-5'>神經網絡</b>

    卷積神經網絡深度神經網絡的優缺點 卷積神經網絡深度神經網絡的區別

    深度神經網絡是一種基于神經網絡的機器學習算法,其主要特點是由多層神經元構成,可以根據數據自動調整神經元之間的權重,從而實現對大規模數據進行預
    發表于 08-21 17:07 ?4424次閱讀

    FPGA深度神經網絡中的應用

    、低功耗等特點,逐漸成為深度神經網絡邊緣計算和設備端推理的重要硬件平臺。本文將詳細探討FPGA
    的頭像 發表于 07-24 10:42 ?948次閱讀
    主站蜘蛛池模板: 久久综合九色综合精品 | 国产jzjzjz免费大全视频 | 天天天天射| 亚洲aaa视频 | 求av网址 | 国产精品美女在线观看 | 中文字幕在线播放不卡 | 欧美草逼| 色老头久久久久久久久久 | 日本污视频 | 狠狠操天天操视频 | 免费三级毛片 | 在线91精品亚洲网站精品成人 | 午夜湿| 免费看片aⅴ免费大片 | 最近的中文字幕免费动漫视频 | 永久毛片 | 日本在线不卡视频 | 中国美女一级黄色片 | 欧美性一区二区三区 | 加勒比精品久久一区二区三区 | 羞羞答答91麻豆网站入口 | 午夜在线观看视频在线播放版 | 天堂在线最新资源 | 一区二区在线看 | 欧洲三级网站 | 日本一区二区三区不卡在线视频 | 亚洲色图图片 | 黄a在线 | 免费的三级网站 | 欧美性一级交视频 | 91操碰| 欧美性生活一级 | 日本三级在线观看免费 | 免费的黄色毛片 | 日本www色高清视频 日本www色视频 | 欧美做a欧美 | 欧美黑人黄色片 | 欧美天堂视频 | 在线天堂中文新版www | 天天色综合天天 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品