新聞中心

EEPW首頁 > 設計應用 > Cortex-M:網(wǎng)絡邊緣的機器學習

Cortex-M:網(wǎng)絡邊緣的機器學習

作者:John Leonard 時間:2019-09-25 來源:電子產(chǎn)品世界 收藏

  摘?要:介紹ML,特別是ML如何從云滲透到網(wǎng)絡的。

本文引用地址:http://www.2s4d.com/article/201909/405205.htm

  關鍵詞:;;

1570672987640354.png

  (AI)及其子集(ML)均代表著人類生存的重要發(fā)展里程碑。雖然人們仍然在爭論一些道德問題,但AI和ML所提供的潛在好處實在令人難以抗拒。

  AI是一個非常廣泛的主題(如圖1),在這里詳細介紹ML,特別是ML如何從云滲透到網(wǎng)絡的。

微信截圖_20191010100302.png

  1 什么是

  “機器能夠思考嗎?”這個問題促使偉大的科學家Alan Turing開發(fā)了“圖靈測試(Turing test)”,今天這仍然是回答這個問題的基準。如果機器可以學習,那么他們在考慮必須證明事項(QED)嗎?這仍然是關于“思考”定義的諸多爭論的主題。機器需要一個開始學習的基礎,不過隨著時間的推移,它們正在進行自主學習并發(fā)展出更強的理解能力。

  真正引發(fā)ML爆炸的是云計算和大數(shù)據(jù)中幾乎無限的容量和訪問。后端系統(tǒng)可以提供數(shù)據(jù),然后在云服務器上運行算法。從云,我們可以獲得見解并做出決策。 因此,ML收集數(shù)據(jù),通過基于云的算法和訓練集處理數(shù)據(jù),并且采取行動。ML在整個過程中創(chuàng)建新的學習路徑,人手操作并非絕對必要。

  ML有4類操作:監(jiān)督學習、無監(jiān)督學習、半監(jiān)督學習和強化學習。

  1)監(jiān)督學習。監(jiān)督學習使用帶有特征和標記的數(shù)據(jù)集,然后在訓練過程中將其提供給學習算法,其中,ML將會弄清楚所選特征與標簽之間的關系。而后,人們使用學習結果對新的未標記數(shù)據(jù)進行分類。

  2)無監(jiān)督學習。當不知道正確答案是什么時,就會發(fā)生無監(jiān)督學習,因此數(shù)據(jù)集是未經(jīng)標記的。在這種情況下,預計會找到數(shù)據(jù)本身所表明的自然分組的模式。答案并不明顯。此外,正確答案可能有許多組合,這取決于所考慮的變量。

  3)半監(jiān)督學習。對于僅有部分標記的大型數(shù)據(jù)集可以做些什么呢?要么完成標記其余數(shù)據(jù)的過程,要么嘗試使用半監(jiān)督學習算法。許多現(xiàn)實世界的機器學習問題都屬于這種類型,因為將整個數(shù)據(jù)集進行標記然后進行完全監(jiān)督學習的方法通常過于昂貴和耗時。另一方面,可能不一定需要無監(jiān)督學習方法。因此,通過結合這兩種學習方法,理論上應該可以提供兩全其美的優(yōu)勢。研究表明,同時使用標記和未標記數(shù)據(jù)實際上提供了最佳的學習長期結果。

  4)強化學習。強化學習是最復雜的方法,這與人類實際學習的方式最相似,這種復雜的學習方式受到博弈論和行為心理學的啟發(fā)。

  這種學習方法通常涉及代理、正在進行操作的機器和解釋器,代理將會暴露于執(zhí)行操作的環(huán)境中,然后,解釋器將根據(jù)該操作的成功與否來獎勵或懲罰代理。

  代理的目標是通過以不同的方式與環(huán)境迭代交互,從而找到最大化獎勵的最佳方式,數(shù)據(jù)科學家在這種學習方法唯一為代理提供的,就是量化績效的方法。

  這種方法已被許多開發(fā)機器人和自動駕駛車輛的企業(yè)所采用。它通常與監(jiān)督學習等其他學習技術一起部署,創(chuàng)建一個集合學習模型。這是因為很難將強化學習應用于環(huán)境、行動和規(guī)則變化的場景。

  2 數(shù)據(jù)分組和分類

  所獲取的數(shù)據(jù)需要分類為相關的對象,二項分類是指數(shù)據(jù)分為兩類中的一類,例如:“在溫度范圍內”和“超出溫度范圍”。多級分類則允許多種分類,例如對于溫度分類,它可以讀作:“在范圍內”、“關斷高”、“臨界高”、“高警報”、“低警報”、“臨界低”和“關斷低”。

  異常檢測是單一類型分類算法,其唯一目標是查找數(shù)據(jù)集中的異常值或出現(xiàn)在正態(tài)分布之外的異常對象。這可用于檢測故障設備中的奇怪瞬變之類事件。

  3 學習模型

  1)線性回歸

  這項技巧長期以來一直是統(tǒng)計學家的主要工具,而數(shù)據(jù)科學和統(tǒng)計學在各個領域都具有很多的相似之處。線性回歸已經(jīng)應用于機器學習,作為在自變量變化時顯示因變量和自變量之間關系的標準方法。

  學習方法:監(jiān)督學習(如圖2)。

微信截圖_20191010100319.png

  2)決策樹

  這種算法具有很高的可解釋性,可以很好地處理異常值和缺失觀察結果??梢詫⒍鄠€決策樹協(xié)同工作以創(chuàng)建稱為合奏樹的模型。合奏樹可以提高預測準確度,同時在一定程度上減少過度擬合。

  學習方法:監(jiān)督學習(如圖3)。

微信截圖_20191010100335.png

  3)支持向量機

  支持向量機(SVM)通常用于分類,但也可以轉換為回歸算法。通過找到最佳超平面(不同數(shù)據(jù)類型之間的劃分),SVM便可以在分類問題上帶來更高的準確度。為了找到最佳超平面,這個算法將在數(shù)據(jù)類型之間繪制多個超平面。然后,算法將會計算從超平面到最近向量點的距離,通常稱為余量。然后,它會選擇使用產(chǎn)生最大余量的超平面,即最優(yōu)超平面。最后在分類過程中利用最優(yōu)超平面。

  學習方法:監(jiān)督學習(如圖4)。

微信截圖_20191010100351.png

  4)K-Means聚類算法

  K-Means聚類算法用于查找數(shù)據(jù)點之間的相似性并將它們分類為多個不同的組別,K是組別的數(shù)量。

  學習方法:無監(jiān)督學習(如圖5)。

微信截圖_20191010100408.png

  5)分層聚類

  分層聚類是沿著分層樹來創(chuàng)建已知數(shù)量的不同大小的重疊群集以形成分類系統(tǒng),這種聚類算法可以通過各種方法來實現(xiàn),最常見的方法是凝聚和分裂。重復分裂過程,直到獲得所需數(shù)量的群集。

  學習方法:無監(jiān)督學習。

  6)神經(jīng)網(wǎng)絡算法

  神經(jīng)網(wǎng)絡(NN)與機器人和神經(jīng)科學高度相關,因此,它自然成為最令人興奮的探索算法。神經(jīng)網(wǎng)絡,特別是人工神經(jīng)網(wǎng)絡,由3個層級組成:輸入層、輸出層和一個或多個隱藏層,用于檢測數(shù)據(jù)中的模式,通過在每次處理一組數(shù)據(jù)時為隱藏層內的神經(jīng)元分配權重來實現(xiàn)。

  學習方法:無監(jiān)督學習(如圖6)。

微信截圖_20191010100428.png

  4 將機器學習帶到網(wǎng)絡邊緣

  那么,我們現(xiàn)在對于ML究竟是什么有了一點基礎,這與在遍布各處的數(shù)十億個產(chǎn)品中的小型嵌入式單元里的微控制器(MCU)有什么關系呢?

  當ML科學以一日千里的速度快速發(fā)展時,其效率也相應提高,ML的調整元素也適用于越來越多用例。那些先前不得不在云完成的工作,現(xiàn)在已有可能在具有1 MB閃存和256 kB RAM的MCU,比如來自Nordic的nRF52840 SoC上完成了。沒有人說應當在這類空間受限設備中這么做,但它已被證明是可行的,而一流的無線嵌入式SoC具有更大的處理能力,ML工具和算法更適用于這樣的平臺。這當然存在著局限性,nRF52840之類器件永遠無法及得上基于云的系統(tǒng)的絕對優(yōu)勢。但是,它能夠做到在沒有云連接的情況下執(zhí)行實時的本地化的專用機器學習。當然,它可以與基于云的系統(tǒng)(如Matillion或許多其他系統(tǒng))結合使用,以提供具有眾多優(yōu)勢的混合ML學習方法。

  5 用于嵌入式 MCU的ML工具

  現(xiàn)在有某些工具可以為ML創(chuàng)建學習集 。Tensorflow與其相關的Tensorflow Lite可能是最廣為人知的工具。這款工具是谷歌開發(fā)的,是為ML用途設計的開源庫框架。谷歌將其用于自己的用途,具有足夠強大的圖像識別功能。工作流程沿襲使用python和程序庫來構建模型和訓練集的多個階段。而后,Tensorflow將生成在設備或系統(tǒng)上實施的C++代碼。用戶可從Apache MXNET、Microsoft CNTK和Pytorch獲取其他ML程序庫。

  6 目前發(fā)展狀況和未來展望

  迄今為止,ML仍然是一個前沿領域,還有很多的道路要走。但筆者認為,預計未來數(shù)年我們將看到ML出現(xiàn)在大量的嵌入式系統(tǒng)中,有些是相當粗淺的,有些是非常復雜的。聲音和語音識別應用顯然具有吸引力,機器中的音頻識別也是如此。在這些機器應用中,可以通過音頻識別發(fā)現(xiàn)軸承或電機可能接近使用壽命,并需要更換。

  就在2019年的Google I/O 2019活動中,Arm和谷歌宣布針對Tensorflow Lite和 μTensor項目建立合作伙伴關系,這些項目將在Tensorflow Lite Micro Project下進行合并?,F(xiàn)有一個在Arm mbed上使用ML進行關鍵詞搜索(KWS)的開源項目 [1] ,如果你有興趣,請在這里查看。

  機器學習的發(fā)展如日中天,日后我們會繼續(xù)為你更多有關和Nordic器件之ML應用的信息。

  參考文獻

  [1]ML-KWS-for-MCU[EB/OL].https://github.com/ARM-software/ML-KWS-for-MCU/blob/master/Deployment/README.md

  本文來源于科技期刊《電子產(chǎn)品世界》2019年第10期第27頁,歡迎您寫論文時引用,并注明出處。



評論


相關推薦

技術專區(qū)

關閉