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

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

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

什么是機(jī)器學(xué)習(xí)?ML 基礎(chǔ)知識(shí)簡(jiǎn)介

海闊天空的專欄 ? 來源:Brandon Satrom ? 作者:Brandon Satrom ? 2023-01-27 16:33 ? 次閱讀

本文旨在為硬件嵌入式工程師提供機(jī)器學(xué)習(xí) (ML)、它是什么、它是如何工作的、為什么它很重要以及 TinyML 如何適應(yīng)。

機(jī)器學(xué)習(xí)是一個(gè)一直存在且經(jīng)常被誤解的技術(shù)概念。幾十年來,這種實(shí)踐是一門使用復(fù)雜處理和數(shù)學(xué)技術(shù)使計(jì)算機(jī)能夠找到大量輸入和輸出數(shù)據(jù)之間相關(guān)性的科學(xué),這在我們的集體技術(shù)意識(shí)中已經(jīng)存在了幾十年。近年來,科學(xué)已經(jīng)爆炸式增長(zhǎng),這得益于以下方面的改進(jìn):

計(jì)算能力

圖形處理單元 (GPU) 架構(gòu)支持的并行處理

適用于大規(guī)模工作負(fù)載的云計(jì)算

事實(shí)上,該領(lǐng)域一直專注于桌面和基于云的使用,以至于許多嵌入式工程師并沒有過多考慮ML如何影響他們。在大多數(shù)情況下,它沒有。

然而,隨著提尼毫升或微型機(jī)器學(xué)習(xí)(在微控制器和單板計(jì)算機(jī)等受限設(shè)備上的機(jī)器學(xué)習(xí)),ML已與所有類型的工程師相關(guān),包括那些從事嵌入式應(yīng)用程序的工程師。除此之外,即使您熟悉TinyML,對(duì)機(jī)器學(xué)習(xí)有一個(gè)具體的了解也很重要。

在本文中,我將概述機(jī)器學(xué)習(xí)、其工作原理以及為什么它對(duì)嵌入式工程師很重要。

什么是機(jī)器學(xué)習(xí)?

作為人工智能AI)領(lǐng)域的一個(gè)子集,機(jī)器學(xué)習(xí)是一門專注于使用數(shù)學(xué)技術(shù)和大規(guī)模數(shù)據(jù)處理來構(gòu)建可以找到輸入和輸出數(shù)據(jù)之間關(guān)系的程序的學(xué)科。作為一個(gè)總稱,人工智能涵蓋了計(jì)算機(jī)科學(xué)的一個(gè)廣泛領(lǐng)域,專注于使機(jī)器能夠在沒有人為干預(yù)的情況下“思考”和行動(dòng)。它涵蓋了從“通用智能”或機(jī)器以與人類相同的方式思考和行動(dòng)的能力,到專門的、面向任務(wù)的智能,這是ML所屬的地方。

我過去聽到的最強(qiáng)大的ML定義方式之一是與經(jīng)典計(jì)算機(jī)編程中使用的傳統(tǒng)算法方法進(jìn)行比較。在經(jīng)典計(jì)算中,工程師向計(jì)算機(jī)提供輸入數(shù)據(jù)(例如,數(shù)字 2 和4)以及將它們轉(zhuǎn)換為所需輸出的算法(例如,將 x 和 y 相乘得到 z)。當(dāng)程序運(yùn)行時(shí),提供輸入,并應(yīng)用算法來生成輸出。如圖 1 所示。

在經(jīng)典方法中,我們?yōu)橛?jì)算機(jī)提供輸入數(shù)據(jù)和算法,并要求答案。

圖1. 在經(jīng)典方法中,我們?yōu)橛?jì)算機(jī)提供輸入數(shù)據(jù)和算法,并要求答案。

另一方面,ML是向計(jì)算機(jī)提供一組輸入和輸出并要求計(jì)算機(jī)識(shí)別“算法”(或模型,使用ML術(shù)語)的過程,每次都將這些輸入轉(zhuǎn)換為輸出。通常,這需要大量輸入,以確保模型每次都能正確識(shí)別正確的輸出。

例如,在圖 2 中,如果我向 ML 系統(tǒng)提供數(shù)字 2 和 2,以及預(yù)期的輸出 4,它可能會(huì)決定算法始終將這兩個(gè)數(shù)字相加。但是,如果我隨后提供數(shù)字 2和 4 以及預(yù)期的輸出 8,則模型將從兩個(gè)示例中了解到,正確的方法是將提供的兩個(gè)數(shù)字相乘。

使用ML,我們擁有數(shù)據(jù)(輸入)和答案(輸出),并且需要計(jì)算機(jī)通過確定輸入和輸出如何以適用于整個(gè)數(shù)據(jù)集的方式關(guān)聯(lián)來得出各種算法。

圖2. 使用ML,我們擁有數(shù)據(jù)(輸入)和答案(輸出),并且需要計(jì)算機(jī)通過確定輸入和輸出如何以適用于整個(gè)數(shù)據(jù)集的方式關(guān)聯(lián)來得出各種算法。

鑒于我使用一個(gè)簡(jiǎn)單的例子來定義一個(gè)復(fù)雜的字段,你可能會(huì)問:為什么人們會(huì)費(fèi)心使簡(jiǎn)單的復(fù)雜化?為什么不堅(jiān)持我們的經(jīng)典算法計(jì)算方法呢?

答案是,傾向于機(jī)器學(xué)習(xí)的問題類別通常不能通過純粹的算法方法來表達(dá)。沒有簡(jiǎn)單的算法可以給計(jì)算機(jī)一張圖片,并要求它確定它是否包含貓或人臉。相反,我們利用ML并給它數(shù)千張圖片(作為像素集合),其中有貓,也有人臉,兩者都沒有,并且通過學(xué)習(xí)如何將這些像素和像素組與預(yù)期輸出相關(guān)聯(lián)來開發(fā)模型。當(dāng)機(jī)器看到新數(shù)據(jù)時(shí),它會(huì)根據(jù)之前看到的所有示例推斷輸出。這個(gè)過程的這一部分,通常稱為預(yù)測(cè)或推理,是ML的魔力。

這聽起來很復(fù)雜,因?yàn)樗_實(shí)如此。在嵌入式和物聯(lián)網(wǎng)IoT) 系統(tǒng)領(lǐng)域,ML越來越多地被用于幫助機(jī)器視覺、異常檢測(cè)和預(yù)測(cè)性維護(hù)等領(lǐng)域。在這些領(lǐng)域中,我們收集大量數(shù)據(jù)(圖像和視頻、加速度計(jì)讀數(shù)、聲音、熱量和溫度),用于監(jiān)控設(shè)施、環(huán)境或機(jī)器。然而,我們經(jīng)常難以將數(shù)據(jù)轉(zhuǎn)化為我們可以采取行動(dòng)的洞察力。條形圖很好,但是當(dāng)我們真正想要的是能夠在機(jī)器中斷和離線之前預(yù)測(cè)機(jī)器需要服務(wù)時(shí),簡(jiǎn)單的算法方法就行不通了。

機(jī)器學(xué)習(xí)開發(fā)循環(huán)

進(jìn)入機(jī)器學(xué)習(xí)。在有能力的數(shù)據(jù)科學(xué)家和ML工程師的指導(dǎo)下,這個(gè)過程從數(shù)據(jù)開始。也就是說,我們的嵌入式系統(tǒng)創(chuàng)建的大量數(shù)據(jù)。ML開發(fā)過程的第一步是在將數(shù)據(jù)輸入模型之前收集數(shù)據(jù)并對(duì)其進(jìn)行標(biāo)記。標(biāo)記是一個(gè)關(guān)鍵的分類步驟,也是我們將一組輸入與預(yù)期輸出相關(guān)聯(lián)的方式。

ML 中的標(biāo)記和數(shù)據(jù)收集

例如,一組加速度計(jì) x、y 和 z 值可能對(duì)應(yīng)于計(jì)算機(jī)處于空閑狀態(tài),另一組可能表示計(jì)算機(jī)運(yùn)行良好,第三組可能對(duì)應(yīng)于問題。圖 3中可以看到高級(jí)描述。

ML 工程師在數(shù)據(jù)收集過程中使用標(biāo)簽對(duì)數(shù)據(jù)集進(jìn)行分類。

圖3. ML 工程師在數(shù)據(jù)收集過程中使用標(biāo)簽對(duì)數(shù)據(jù)集進(jìn)行分類。

數(shù)據(jù)收集和標(biāo)記是一個(gè)耗時(shí)的過程,但對(duì)于正確處理至關(guān)重要。雖然 ML領(lǐng)域有一些創(chuàng)新,利用預(yù)先訓(xùn)練的模型來抵消一些工作和新興工具來簡(jiǎn)化來自真實(shí)系統(tǒng)的數(shù)據(jù)收集,但這是一個(gè)不容錯(cuò)過的步驟。世界上沒有ML模型可以可靠地告訴您您的機(jī)器或設(shè)備是否運(yùn)行良好或即將崩潰,而無需看到該機(jī)器或其他類似機(jī)器的實(shí)際數(shù)據(jù)。

機(jī)器學(xué)習(xí)模型開發(fā)、訓(xùn)練、測(cè)試、優(yōu)化

數(shù)據(jù)收集后,接下來的步驟是模型開發(fā)、訓(xùn)練、測(cè)試和優(yōu)化。在此階段,數(shù)據(jù)科學(xué)家或工程師創(chuàng)建一個(gè)程序,該程序引入收集的大量輸入數(shù)據(jù),并使用一種或多種方法將其轉(zhuǎn)換為預(yù)期的輸出。解釋這些方法可以填滿體積,但足以說明大多數(shù)模型對(duì)其輸入執(zhí)行一組轉(zhuǎn)換(例如,向量和矩陣乘法)。此外,它們將相互調(diào)整每個(gè)輸入的權(quán)重,以找到一組與預(yù)期輸出可靠相關(guān)的權(quán)重和函數(shù)。

該過程的這一階段通常是迭代的。工程師將調(diào)整模型、使用的工具和方法,以及在模型訓(xùn)練期間運(yùn)行的迭代次數(shù)和其他參數(shù),以構(gòu)建能夠可靠地將輸入數(shù)據(jù)與正確的輸出(也稱為標(biāo)簽)相關(guān)聯(lián)的東西。一旦工程師對(duì)這種相關(guān)性感到滿意,他們就會(huì)使用訓(xùn)練中未使用的輸入來測(cè)試模型,以查看模型在未知數(shù)據(jù)上的表現(xiàn)。如果模型在此新數(shù)據(jù)上表現(xiàn)不佳,工程師將重復(fù)該循環(huán)(如圖4 所示),并進(jìn)一步優(yōu)化模型。

模型開發(fā)是一個(gè)包含許多步驟的迭代過程,但它始于數(shù)據(jù)收集。

圖4. 模型開發(fā)是一個(gè)包含許多步驟的迭代過程,但它始于數(shù)據(jù)收集。

模型準(zhǔn)備就緒后,將部署該模型并可用于針對(duì)新數(shù)據(jù)的實(shí)時(shí)預(yù)測(cè)。在傳統(tǒng) ML中,模型部署到云服務(wù),以便正在運(yùn)行的應(yīng)用程序可以調(diào)用它,該應(yīng)用程序提供所需的輸入并從模型接收輸出。應(yīng)用程序可能會(huì)提供一張圖片并詢問是否有人在場(chǎng),或者一組加速度計(jì)讀數(shù),并詢問模型這組讀數(shù)是否與空閑、正在運(yùn)行或損壞的計(jì)算機(jī)相對(duì)應(yīng)。

正是在這個(gè)過程的這一部分,TinyML是如此重要和具有開創(chuàng)性。

那么TinyML適合在哪里呢?

如果還不清楚,機(jī)器學(xué)習(xí)是一個(gè)數(shù)據(jù)密集型過程。當(dāng)您嘗試通過關(guān)聯(lián)派生模型時(shí),您需要大量數(shù)據(jù)來提供該模型。數(shù)百?gòu)垐D像或數(shù)千個(gè)傳感器讀數(shù)。事實(shí)上,模型訓(xùn)練的過程是如此密集,如此專業(yè)化,以至于幾乎對(duì)任何人來說都是資源消耗者。

中央處理器CPU),無論多么強(qiáng)大。相反,ML 中常見的矢量和矩陣數(shù)學(xué)運(yùn)算與圖形處理應(yīng)用程序沒有什么不同,這就是為什么 GPU

已成為模型開發(fā)如此受歡迎的選擇。

鑒于對(duì)強(qiáng)大計(jì)算的需求,云已成為減輕訓(xùn)練模型工作并托管它們以進(jìn)行實(shí)時(shí)預(yù)測(cè)的事實(shí)上的地方。雖然模型訓(xùn)練現(xiàn)在是,并且仍然是云的領(lǐng)域,特別是對(duì)于嵌入式和物聯(lián)網(wǎng)應(yīng)用程序,但我們?cè)浇咏鼘?shí)時(shí)預(yù)測(cè)的能力轉(zhuǎn)移到捕獲數(shù)據(jù)的地方,我們的系統(tǒng)就會(huì)越好。在微控制器上運(yùn)行模型時(shí),我們受益于內(nèi)置安全性和低延遲,以及在本地環(huán)境中做出決策和采取行動(dòng)的能力,而無需依賴互聯(lián)網(wǎng)連接。

這是TinyML的領(lǐng)域,平臺(tái)公司喜歡 邊緣脈沖 正在構(gòu)建基于云的傳感器數(shù)據(jù)收集和 ML 架構(gòu)工具,以輸出專為 微控制器單元

MCU)。其中越來越多的硅供應(yīng)商,從 意法半導(dǎo)體 自 阿里夫半導(dǎo)體 正在構(gòu)建具有類似 GPU 的計(jì)算功能的芯片,使其非常適合在收集數(shù)據(jù)的位置與傳感器一起運(yùn)行

ML 工作負(fù)載。

對(duì)于嵌入式和物聯(lián)網(wǎng)工程師來說,現(xiàn)在是探索機(jī)器學(xué)習(xí)世界的最佳時(shí)機(jī),從云到最小的設(shè)備。我們的系統(tǒng)只會(huì)比以往任何時(shí)候都更加復(fù)雜,處理的數(shù)據(jù)也越來越多。將ML帶到邊緣意味著我們可以處理這些數(shù)據(jù)并更快地做出決策。

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

    關(guān)注

    1789

    文章

    46399

    瀏覽量

    236622
  • 數(shù)據(jù)收集
    +關(guān)注

    關(guān)注

    0

    文章

    69

    瀏覽量

    11148
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3073

    瀏覽量

    48587
  • ML
    ML
    +關(guān)注

    關(guān)注

    0

    文章

    144

    瀏覽量

    34533
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8325

    瀏覽量

    132213
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    單片機(jī)基礎(chǔ)知識(shí)簡(jiǎn)介

    單片機(jī)基礎(chǔ)知識(shí)簡(jiǎn)介
    發(fā)表于 08-05 21:10

    DAQ基礎(chǔ)知識(shí)簡(jiǎn)介

    DAQ基礎(chǔ)知識(shí)簡(jiǎn)介.
    發(fā)表于 10-29 19:34

    DAQ基礎(chǔ)知識(shí)簡(jiǎn)介

    DAQ基礎(chǔ)知識(shí)簡(jiǎn)介
    發(fā)表于 11-01 20:53

    DAQ基礎(chǔ)知識(shí)簡(jiǎn)介

    DAQ基礎(chǔ)知識(shí)簡(jiǎn)介 本節(jié)主要介紹數(shù)據(jù)采集技術(shù)的基本知識(shí)點(diǎn),包拪以下三個(gè)方面的內(nèi)容:1. 一個(gè)完整數(shù)據(jù)采集系統(tǒng)的基本組成部分2. NI提供了基于哪些平臺(tái)
    發(fā)表于 03-26 11:30 ?32次下載

    PCB基礎(chǔ)知識(shí)簡(jiǎn)介

    PCB基礎(chǔ)知識(shí)簡(jiǎn)介 PCB的英文全稱:Printed Circuie Board,中文全稱是:印制線路板 PCB是英文(Printed Circuie Board)印制線路板的簡(jiǎn)稱。通常把在絕
    發(fā)表于 04-07 16:23 ?3759次閱讀

    PLC基礎(chǔ)知識(shí)簡(jiǎn)介

    PLC基礎(chǔ)知識(shí)簡(jiǎn)介 在自動(dòng)化控制領(lǐng)域,PLC是一種重要的控制設(shè)備。目前,世界上有200多廠家生產(chǎn)300多品種PLC產(chǎn)品,應(yīng)用在汽車(23%)、糧
    發(fā)表于 06-20 11:52 ?1192次閱讀

    單片機(jī)基礎(chǔ)知識(shí)C51版

    單片機(jī)基礎(chǔ)知識(shí)C51版,學(xué)習(xí)單片機(jī)的基礎(chǔ)知識(shí)。包括單片機(jī)的簡(jiǎn)介,單片機(jī)的程序如何寫,單片機(jī)的應(yīng)用。
    發(fā)表于 11-18 16:48 ?0次下載

    PLC基礎(chǔ)知識(shí)學(xué)習(xí),不看后悔

    PLC基礎(chǔ)知識(shí)學(xué)習(xí),不看后悔
    發(fā)表于 09-09 08:43 ?103次下載
    PLC<b class='flag-5'>基礎(chǔ)知識(shí)</b><b class='flag-5'>學(xué)習(xí)</b>,不看后悔

    MATLAB基礎(chǔ)知識(shí)MATLAB的簡(jiǎn)介,編程環(huán)境和基本操作的詳細(xì)概述

    MATLAB基礎(chǔ)知識(shí)MATLAB的簡(jiǎn)介,編程環(huán)境和基本操作的詳細(xì)概述
    的頭像 發(fā)表于 06-02 10:18 ?7485次閱讀
    MATLAB<b class='flag-5'>基礎(chǔ)知識(shí)</b>MATLAB的<b class='flag-5'>簡(jiǎn)介</b>,編程環(huán)境和基本操作的詳細(xì)概述

    什么是單片機(jī)怎樣學(xué)習(xí)?單片機(jī)基礎(chǔ)知識(shí)及Proteus應(yīng)用簡(jiǎn)介資料概述

    本文檔的怎樣內(nèi)容詳細(xì)介紹的是單片機(jī)基礎(chǔ)知識(shí)概述內(nèi)容包括了:1.單片機(jī)概述2.單片機(jī)學(xué)習(xí)的預(yù)備知識(shí)3.Proteus應(yīng)用簡(jiǎn)介
    發(fā)表于 09-14 10:53 ?18次下載
    什么是單片機(jī)怎樣<b class='flag-5'>學(xué)習(xí)</b>?單片機(jī)<b class='flag-5'>基礎(chǔ)知識(shí)</b>及Proteus應(yīng)用<b class='flag-5'>簡(jiǎn)介</b>資料概述

    機(jī)器學(xué)習(xí)基礎(chǔ)知識(shí)詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是機(jī)器學(xué)習(xí)基礎(chǔ)知識(shí)詳細(xì)說明。
    發(fā)表于 03-24 08:00 ?0次下載
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>的<b class='flag-5'>基礎(chǔ)知識(shí)</b>詳細(xì)說明

    液壓基礎(chǔ)知識(shí)學(xué)習(xí)課件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是液壓基礎(chǔ)知識(shí)學(xué)習(xí)課件免費(fèi)下載包括了: ? 液壓基本原理 ? 液壓系統(tǒng)的組成部件 ? 正確識(shí)別液壓符號(hào) ? 閥的作用 ? 液壓油的基本概念 ? 液壓回路簡(jiǎn)介。
    發(fā)表于 05-08 08:00 ?26次下載
    液壓<b class='flag-5'>基礎(chǔ)知識(shí)</b>的<b class='flag-5'>學(xué)習(xí)</b>課件免費(fèi)下載

    了解一下機(jī)器學(xué)習(xí)中的基礎(chǔ)知識(shí)

    機(jī)器學(xué)習(xí)中的基礎(chǔ)知識(shí) demi 在 周四, 03/07/2019 - 09:16 提交 機(jī)器學(xué)習(xí)中涉及到了很多的概念,當(dāng)然要想了解
    的頭像 發(fā)表于 03-31 17:08 ?3768次閱讀

    強(qiáng)化學(xué)習(xí)基礎(chǔ)知識(shí)和6種基本算法解釋

    來源:DeepHubIMBA強(qiáng)化學(xué)習(xí)基礎(chǔ)知識(shí)和概念簡(jiǎn)介(無模型、在線學(xué)習(xí)、離線強(qiáng)化學(xué)習(xí)等)機(jī)器
    的頭像 發(fā)表于 01-05 14:54 ?859次閱讀
    強(qiáng)化<b class='flag-5'>學(xué)習(xí)</b>的<b class='flag-5'>基礎(chǔ)知識(shí)</b>和6種基本算法解釋

    機(jī)器學(xué)習(xí)構(gòu)建ML模型實(shí)踐

    實(shí)踐中的機(jī)器學(xué)習(xí):構(gòu)建 ML 模型
    的頭像 發(fā)表于 07-05 16:30 ?658次閱讀