<rt id="m4md3"></rt>
  • <bdo id="m4md3"><meter id="m4md3"></meter></bdo>
  • <label id="m4md3"></label>
      <center id="m4md3"><optgroup id="m4md3"></optgroup></center>
      產品分類

      當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 線路板連接器 > FFC連接器

      類型分類:
      科普知識
      數據分類:
      FFC連接器

      快速高效地實施網絡邊緣機器學習

      發布日期:2022-04-17 點擊率:32

      機器學習正在從云端轉移到網絡邊緣,目的是進行實時處理、降低延遲、提高安全性、更高效地使用可用帶寬以及降低整體功耗。而處于這些邊緣節點上的物聯網 (IoT) 設備只有有限的資源,因此開發人員需要弄清如何有效地添加這一全新的智能水平。

      在邊緣位置基于微控制器系統使用機器學習,為開發人員提供了幾項新機會,可以徹底改變他們設計系統的方式。開發人員可以使用幾種不同的架構和技術將智能添加到邊緣節點。學習完本文后,我們將更加熟悉這些架構以及一些可用于加快該過程的技術。

      邊緣機器學習的作用

      邊緣機器學習對嵌入式系統工程師非常有用,原因有很多。首先,智能系統可以解決開發人員通常難以通過編碼解決的問題。以簡單的文本識別為例。識別文本是編程的噩夢,但如果使用機器學習,那么幾乎就像用 C 語言編寫“Hello World”應用程序一樣簡單。

      其次,智能系統可以很輕松地針對新數據和情況進行擴展。例如,如果某個系統接受了識別基本文本的訓練,然后突然采用新字體提供文本,這時并不需要推倒重來。相反,只需提供額外的訓練圖像,使該網絡也能學習識別新字體便可。

      最后,我們還可以了解到,邊緣機器學習可以幫助開發人員降低某些應用類型的成本,例如:

      • 圖像識別

      • 語音和音頻處理

      • 語言處理

      • 機器人

      第一次檢查邊緣機器學習時,使用應用處理器似乎是個不錯的選擇。包括 OpenCV 在內的幾種開源工具專為計算機視覺而設計,我們可以從使用這些工具開始。不過,許多應用中僅使用應用處理器可能還不夠,因為這些處理器不具備確定性的實時行為。

      邊緣機器學習架構

      使用邊緣機器學習時,有三種典型方法:

      1. 邊緣節點獲取數據,然后在云端完成機器學習

      2. 邊緣節點獲取數據,然后在芯片上完成機器學習

      3. 邊緣節點獲取數據,然后在邊緣進行第一遍機器學習,最后在云端進行更深入的分析

      前兩個解決方案是目前業界探索最多的解決方案,在本文中,我們將會重點關注這兩個解決方案。

      使用邊緣設備獲取數據并使用基于云的機器學習系統來處理數據,這樣的架構有幾個優點。首先,邊緣設備不需要運行機器學習算法所需的強大處理能力和資源。其次,邊緣設備可以繼續使用資源受限的低成本設備,就像許多嵌入式系統開發人員習慣創建的系統一樣。唯一的區別是,邊緣設備需要能夠通過 HTTPS 連接到基于云的服務提供商,以便分析它們的數據。第三,基于云的機器學習正在以驚人的速度發展,將這些功能轉移到片載解決方案將非常困難、耗時且成本高昂。

      對于希望從基于云的機器學習開始的開發人員來說,他們可以使用 STMicroelectronics val/497-16523-ND/6004738">公司的 val/497-16523-ND/6004738">STM32F779I-eval 板(圖 1)這類開發板。該開發板基于 STMicroelectronics 公司的 STM32F769NIH6 微控制器,配備了 Arm? Cortex?-M7 內核、板載攝像頭、用于與云進行高速通信的以太網端口,以及板載顯示器。該開發板可與諸如 Express Logic 公司的 X-Ware IoT 平臺等軟件配合使用,輕松連接到任何機器學習云提供商,如 Amazon Web Services (AWS)、Microsoft Azure 和 Google Cloud。

      STMicroelectro<em></em>nics 的 STM32F779I-e<em></em>val 板圖片

      圖 1:STM32F779I-eval 板基于 Arm Cortex-M7 處理器,包含了進行片載或云端深度學習所需的一切資源。(圖片來源:STMicroelectronics)

      在云端進行機器學習對于開發團隊來說可能意義非常重大,但有幾個原因可以解釋為什么機器學習開始從云端轉向邊緣。雖然這些原因具有很強的應用針對性,但確實也包括了一些重要因素,例如:

      • 實時處理需求

      • 帶寬限制

      • 延遲

      • 安全要求

      如果某個應用存在這方面的問題,那么將神經網絡從云端轉移到邊緣是可以行得通的。這種情況下,開發人員必須對他們希望嵌入式處理器負責處理的內容做到心里有數,以便應用能夠盡可能高效地執行。

      選擇用于機器學習的處理器

      在嵌入式處理器上運行機器學習需要考慮幾個重要因素。首先,處理器必須能夠高效地執行 DSP 指令,因此浮點運算單元 (FPU) 非常有用。其次,需要具備可以在處理器上運行的機器學習庫。學習庫需要包括卷積、池化和激活。如果沒有這些學習庫,開發人員基本上需要從頭開始編寫深度學習算法,不但費時,而且成本高昂。

      最后,開發人員需要確保微控制器上具有足夠的 CPU 周期,以便可以完成神經網絡執行以及分配給處理器的任何其他任務。

      Arm Cortex-M 處理器現在配有 CMSIS-NN 擴展,這是一個神經網絡庫,其設計目的是在資源受限的環境中可以在微控制器上高效地運行機器學習,這一特性使其成為基于邊緣的智能系統的絕佳選擇。確切的處理器選擇將取決于手頭的應用,因此詳細了解幾款不同的開發板及其最適合的應用非常重要。

      首先介紹 SparkFun Electronics 公司的 OpenMV 機器視覺開發板(圖 2)。該模塊采用基于 Cortex-M7 的 STM32F765VI 處理器,運行頻率 216 MHz,支持 512 KB RAM 和 2 MB 閃存。

      SparkFun 公司的 OpenMV 開發板圖片

      圖 2:SparkFun 的 OpenMV 開發板是一個機器視覺平臺,該平臺使用 Arm CMSIS-NN 框架在 Cortex-M 上高效運行機器學習算法。(圖片來源:SparkFun Electronics)

      OpenMV 模塊可用于:

      • 通過幀差分檢測運動

      • 顏色跟蹤

      • 市場跟蹤

      • 人臉檢測

      • 眼動跟蹤

      • 線條和形狀檢測

      • 模板匹配

      由于該模塊的軟件基于 Arm CMSIS-NN 庫,因此可以在處理器上盡可能高效地運行機器學習網絡。

      其次介紹 STM32F746ZG Nucleo 開發板,STMicroelectronics 公司基于 Arm Cortex-M7 的 STM32F746 處理器使用的就是這款開發板,運行頻率為 216 MHz(圖 3)。與 OpenMV 模塊上的處理器相比,這款開發板上使用的處理器具有較少的內存和閃存,分別為 320 KB 和 1 MB。Arm 在許多機器學習白皮書中都使用了這款處理器,這些白皮書涵蓋了諸如關鍵字識別之類的主題。

      STMicroelectro<em></em>nics 的 STM32F746ZG Nucleo 開發板圖片

      圖 3:STM32F746ZG Nucleo 開發板是一款低成本開發板,適用于那些剛開始使用機器學習,不需要附加各種“花哨”功能的開發人員。(圖片來源:STMicroelectronics)

      這款開發板更大程度上提供的是一種開放平臺,適用于原型開發以及使用大量 I/O 和外設的系統。它包括一個以太網端口、USB OTG、三個 LED、兩個用戶和重置按鈕以及用于 ST Zio(包括 Arduino valuation-boards-embedded-mcu-dsp/786?k=arduino+uno+v3&pv1989=0&sf=0&FV=ffe00312&nstock=1">Uno V3)和 ST Morpho 的擴展板連接器。

      最后介紹 NXP Semiconductors 公司的 IMXRT1050-EVKB 開發板,該公司的 i.MX RT 1050 處理器使用的就是這款開發板,運行頻率高達 600 MHz(圖 4)。該處理器仍然基于 Cortex-M7 架構,但卻擁有很強的機器學習算法執行能力。因此,這是一個很棒的通用平臺,開發人員可以使用它來試驗和調整他們對機器學習的理解。該處理器內含 512 kB 緊耦合內存 (TCM),并且能夠使用外部 NOR、NAND 或 eMMC 閃存。

      NXP 的 i.MX RT1050 圖片

      圖 4:NXP 的 i.MX RT1050 基于 Arm Cortex-M7 架構,但同時還融合了 NXP 的 Cortex-A i.MX 系列處理器的最佳功能。RT1050 是一款高端處理器,能夠提供出色的機器學習體驗。(圖片來源:NXP Semiconductors)

      了解 CMSIS-NN 的作用

      即使機器學習從云端轉移到網絡邊緣,在微控制器上運行機器學習框架也不切實際,認識到這一點非常重要。微控制器可以運行框架的輸出,即經過訓練的網絡,但僅此而已。Arm-NN 能夠將在高端機器上運行的經過訓練的模型轉換為可在微控制器上運行的低級代碼。為 Arm-NN 提供 API 的低級庫即是 CMSIS-NN。

      如前所述,CMSIS-NN 包含用于常見機器學習活動的 API 和庫函數,例如:

      • 卷積

      • 池化

      • 激活

      Arm-NN 轉換經過訓練的模型示意圖

      圖 5:Arm-NN 利用 CMSIS-NN 庫將高端機器上執行的經過訓練的模型轉換為可在 Cortex-M 處理器上運行的低級代碼。(圖片來源:Arm)

      使用邊緣機器學習的技巧和竅門

      有很多技術可以幫助改進邊緣機器學習。以下是一些技巧和竅門,可以幫助那些有興趣架設和運行自己的機器學習系統的開發人員:

      • 如果不考慮延遲,可以使用邊緣收集數據,并使用云端通過機器學習網絡來處理數據

      • 將機器學習分流到云端時,除非您計劃未來將機器學習轉移到邊緣設備,否則請不要過度選擇邊緣設備所需的處理能力

      • 當實時性能至關重要時,請使用高性能的 Arm Cortex-M7 處理器來執行邊緣機器學習網絡

      • 閱讀 Ian Goodfellow、Yoshua Bengio、Aaron Courville 和 Francis Bach 編寫的《深度學習》,了解機器學習背后的理論和數學知識

      • 從云端或 PC 開始,然后按照自己的方式達成嵌入式目標

      • 創建一個可以識別手寫數字的“Hello World”應用程序

      • 查看關于關鍵字識別和語音識別的 Arm 論文

      • 購買開發套件并復制一個示例

      結論

      智能正在迅速從云端向邊緣轉移。從將機器學習完全分流到云端,到在邊緣上運行經過訓練的機器學習算法,目前有三種不同的方法可供開發人員選擇。運行邊緣機器學習需要具有高性能和 DSP 功能的微控制器。Arm Cortex-M7 處理器非常適合架設和運行邊緣機器學習。

       

      下一篇: PLC、DCS、FCS三大控

      上一篇: 散熱器:設計散熱分步

      推薦產品

      更多
      主站蜘蛛池模板: 亚洲国产成人久久综合区| 热综合一本伊人久久精品| 亚洲国产综合专区电影在线| 久久精品综合一区二区三区| 人人狠狠综合久久亚洲婷婷| 久久五月天综合网| 国产精品综合久成人 | 色噜噜狠狠色综合久| 亚洲综合色成在线播放| 亚洲五月丁香综合视频| 伊人久久大香线蕉综合电影| 色青青草原桃花久久综合| 亚洲国产成人精品无码久久久久久综合| 亚洲av伊人久久综合密臀性色| 色综合久久88色综合天天| 亚洲AV综合色区无码另类小说| 狠狠色狠狠色很很综合很久久| 伊人久久综合热线大杳蕉下载| 乱色熟女综合一区二区三区| 亚洲狠狠色丁香婷婷综合| 久久亚洲伊人中字综合精品| 狠狠久久综合伊人不卡| 热久久综合这里只有精品电影| 狠狠色成人综合网图片区| 色综合色综合色综合色欲| 狠狠狠色丁香婷婷综合久久五月| 一本久道久久综合多人| 六月婷婷综合激情| 色综合天天娱乐综合网| 亚洲综合激情六月婷婷在线观看| 婷婷成人丁香五月综合激情| 久久综合伊人77777| 狠狠色婷婷七月色综合| 国产AV综合影院| 久久综合狠狠综合久久| 91综合久久婷婷久久| 天天影视色香欲综合免费| 久久乐国产综合亚洲精品| 国产成人综合在线视频 | 狠狠色综合色综合网络| 亚洲精品天天影视综合网|