chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

快速高效地實施網(wǎng)絡邊緣機器學習

丫丫119 ? 來源:未知 ? 作者:肖冰 ? 2019-09-02 11:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

邊緣機器學習的作用

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

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

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

圖像識別

語音和音頻處理

語言處理

機器人

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

邊緣機器學習架構(gòu)

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

邊緣節(jié)點獲取數(shù)據(jù),然后在云端完成機器學習

邊緣節(jié)點獲取數(shù)據(jù),然后在芯片上完成機器學習

邊緣節(jié)點獲取數(shù)據(jù),然后在邊緣進行第一遍機器學習,最后在云端進行更深入的分析

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

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

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

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

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

實時處理需求

帶寬限制

延遲

安全要求

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

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

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

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

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

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

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

OpenMV 模塊可用于:

通過幀差分檢測運動

顏色跟蹤

市場跟蹤

人臉檢測

眼動跟蹤

線條和形狀檢測

模板匹配

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

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

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

這款開發(fā)板更大程度上提供的是一種開放平臺,適用于原型開發(fā)以及使用大量 I/O 和外設的系統(tǒng)。它包括一個以太網(wǎng)端口、USB OTG、三個 LED、兩個用戶和重置按鈕以及用于 ST Zio(包括ArduinoUno V3)和 ST Morpho 的擴展板連接器。

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

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

了解 CMSIS-NN 的作用

即使機器學習從云端轉(zhuǎn)移到網(wǎng)絡邊緣,在微控制器上運行機器學習框架也不切實際,認識到這一點非常重要。微控制器可以運行框架的輸出,即經(jīng)過訓練的網(wǎng)絡,但僅此而已。Arm-NN 能夠?qū)⒃诟叨藱C器上運行的經(jīng)過訓練的模型轉(zhuǎn)換為可在微控制器上運行的低級代碼。為 Arm-NN 提供 API 的低級庫即是 CMSIS-NN。

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

卷積

池化

激活

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

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

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

如果不考慮延遲,可以使用邊緣收集數(shù)據(jù),并使用云端通過機器學習網(wǎng)絡來處理數(shù)據(jù)

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

當實時性能至關(guān)重要時,請使用高性能的 Arm Cortex-M7 處理器來執(zhí)行邊緣機器學習網(wǎng)絡

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

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

創(chuàng)建一個可以識別手寫數(shù)字的“Hello World”應用程序

查看關(guān)于關(guān)鍵字識別和語音識別的 Arm 論文

購買開發(fā)套件并復制一個示例

結(jié)論

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

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

    關(guān)注

    0

    文章

    94

    瀏覽量

    18681
  • 機器學習
    +關(guān)注

    關(guān)注

    66

    文章

    8556

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    如何快速部署邊緣就緒的機器學習應用

    作者:Stephen Evanczuk 機器學習 (ML) 為創(chuàng)造智能產(chǎn)品提供了巨大的潛力,但神經(jīng)網(wǎng)絡 (NN) 建模和為邊緣創(chuàng)建 ML應用非常復雜且困難,限制了開發(fā)人員
    的頭像 發(fā)表于 10-03 14:29 ?1398次閱讀
    如何<b class='flag-5'>快速</b>部署<b class='flag-5'>邊緣</b>就緒的<b class='flag-5'>機器</b><b class='flag-5'>學習</b>應用

    超低功耗FPGA解決方案助力機器學習

    IoT應用。通過提供結(jié)合了靈活、超低功耗FPGA硬件和軟件解決方案、功能全面的機器學習推理技術(shù),Lattice sensAI將加速網(wǎng)絡邊緣設備上傳感器數(shù)據(jù)處理和分析的集成。這些新的
    發(fā)表于 05-23 15:31

    如何使用ECP5FPGA解決網(wǎng)絡邊緣應用設計挑戰(zhàn)

    Gbps SERDES功能用于實現(xiàn)多個雷達或攝像頭的橋接和聚合,并通過SGMII傳輸?shù)杰囕d網(wǎng)絡實現(xiàn)網(wǎng)絡邊緣機器學習應用展望未來,移動相關(guān)解
    發(fā)表于 10-21 11:53

    網(wǎng)絡邊緣實施AI的原因

    將AI推向邊緣的影響通過在邊緣運行ML模型可以使哪些具體的AI項目更容易運行?
    發(fā)表于 02-23 06:21

    邊緣計算是指什么?邊緣計算的最大優(yōu)勢是什么

      邊緣計算是指在生成或收集物聯(lián)網(wǎng)(IoT)數(shù)據(jù)的網(wǎng)絡邊緣”處或附近發(fā)生的處理。結(jié)合使用邊緣計算和邊緣分析(包括人工智能和
    發(fā)表于 07-12 07:18

    高性能的機器學習邊緣計算更給力-iMX8M Plus為邊緣計算賦能

    、智能零售、智能工廠和智慧城市等應用領(lǐng)域而言是必不可少的。以前,機器學習需要成本昂貴而又復雜的云計算,也就是“基于云的人工智能”。但現(xiàn)在,很多機器學習操作可在
    發(fā)表于 09-07 13:49

    高性能的機器學習邊緣計算更給力-iMX8M Plus為邊緣計算賦能

    、智能零售、智能工廠和智慧城市等應用領(lǐng)域而言是必不可少的。以前,機器學習需要成本昂貴而又復雜的云計算,也就是“基于云的人工智能”。但現(xiàn)在,很多機器學習操作可在
    發(fā)表于 09-07 13:55

    微型機器學習

    人工智能 AI 正在加快速度從云端走向邊緣,進入到越來越小的物聯(lián)網(wǎng)設備中。而這些物聯(lián)網(wǎng)設備往往體積很小,面臨著許多挑戰(zhàn),例如功耗、延時以及精度等問題,傳統(tǒng)的機器學習模型無法滿足要求,那
    發(fā)表于 09-15 09:23

    高性能的機器學習邊緣計算更給力-iMX8M Plus為邊緣計算賦能

    、智能零售、智能工廠和智慧城市等應用領(lǐng)域而言是必不可少的。以前,機器學習需要成本昂貴而又復雜的云計算,也就是“基于云的人工智能”。但現(xiàn)在,很多機器學習操作可在
    發(fā)表于 09-24 09:09

    高性能的機器學習邊緣計算更給力

    、智能零售、智能工廠和智慧城市等應用領(lǐng)域而言是必不可少的。以前,機器學習需要成本昂貴而又復雜的云計算,也就是“基于云的人工智能”。但現(xiàn)在,很多機器學習操作可在
    發(fā)表于 10-15 13:58

    為什么需要將機器學習遷移到邊緣設備

    專注于邊緣計算。第一章:為什么需要將機器學習遷移到邊緣設備?機器學習(ML)是新計算時代以來計算
    發(fā)表于 12-20 06:35

    機器人技術(shù)和機器學習

    機器人技術(shù)和機器學習正成為嵌入式系統(tǒng)硬件和軟件供應商的下一個重大事件。嵌入式系統(tǒng)可以通過網(wǎng)絡連接和物聯(lián)網(wǎng)(IoT)來傳遞信息、共享資源。無論是智能,低能耗,
    發(fā)表于 12-20 06:03

    什么是邊緣學習

    所謂邊緣學習即指“邊緣深度學習”, 其是將基于規(guī)則的高效機器視覺嵌入到一套預先訓練的深度
    的頭像 發(fā)表于 10-20 09:31 ?3534次閱讀

    網(wǎng)絡邊緣快速高效實施機器學習

    發(fā)表于 11-25 08:36 ?0次下載
    在<b class='flag-5'>網(wǎng)絡</b><b class='flag-5'>邊緣</b><b class='flag-5'>快速</b><b class='flag-5'>高效</b>地<b class='flag-5'>實施</b><b class='flag-5'>機器</b><b class='flag-5'>學習</b>

    高效理解機器學習

    來源:DeepNoMind對于初學者來說,機器學習相當復雜,可能很容易迷失在細節(jié)的海洋里。本文通過將機器學習算法分為三個類別,梳理出一條相對清晰的路線,幫助初學者理解
    的頭像 發(fā)表于 05-08 10:24 ?1276次閱讀
    <b class='flag-5'>高效</b>理解<b class='flag-5'>機器</b><b class='flag-5'>學習</b>