機器學(xué)習模型設計過(guò)程和MEMS MLC
開(kāi)發(fā)機器學(xué)習項目的五個(gè)步驟 — 掌握要點(diǎn),應用并不困難!
邊緣機器學(xué)習具有許多優(yōu)勢。 然而,由于開(kāi)發(fā)方法與標準程序設計方法截然不同,許多機器學(xué)習開(kāi)發(fā)者可能會(huì )擔心自己難以駕馭。
其實(shí),完全沒(méi)有必要擔心。一旦熟悉了步驟,并掌握了機器學(xué)習項目的要點(diǎn),就能夠開(kāi)發(fā)具有價(jià)值的機器學(xué)習應用。此外,意法半導體(STMicroelectronics;ST)提供解決方案,以促進(jìn)邊緣機器學(xué)習得到廣泛應用發(fā)揮全部潛力。本文描述機器學(xué)習項目的必要開(kāi)發(fā)步驟,并介紹了ST MEMS傳感器內嵌機器學(xué)習核心(MLC)的優(yōu)勢。
圖一 : 嵌入式ST傳感器的機器學(xué)習核心
首先,針對機器學(xué)習模型--判定樹(shù)(Decision Tree),該模型與MLC一起內嵌在ST MEMS中。
當用戶(hù)想要在嵌入式系統中使用機器學(xué)習或深度學(xué)習功能時(shí),通??砂凑找韵挛鍌€(gè)步驟進(jìn)行開(kāi)發(fā)(圖二)。
圖二 : AI項目開(kāi)發(fā)的五個(gè)步驟
在步驟1中,開(kāi)發(fā)者需要收集機器學(xué)習所需的數據。該數據集的一部分(訓練集)將用于訓練模型,另一部分(測試集)將用于評估所構建模型的性能。機器學(xué)習的數據集中典型的拆分比率為:訓練集80%,測試集20%。
在步驟2中,需要對數據進(jìn)行標注。開(kāi)發(fā)者需要將收集到的數據標注類(lèi)別(例如「跑步」、「散步」、「靜止」等);而判定樹(shù)是一種基于開(kāi)發(fā)者所決定的分類(lèi)模型。
分類(lèi)則是指根據重要的屬性對數據進(jìn)行分類(lèi):這種屬性在機器學(xué)習領(lǐng)域被稱(chēng)為「類(lèi)別」。
接下來(lái),在步驟3中,使用預先準備的數據集訓練機器學(xué)習模型。該任務(wù)亦稱(chēng)為「fitting」。訓練結果的準確性在很大程度上取決于訓練集的內容和數量。
在步驟4,將訓練過(guò)的機器學(xué)習模型嵌入到系統中。用戶(hù)可以利用Pythonlibrary直接運行模型。 對于在MCU等組件上運行的機器學(xué)習算法,開(kāi)發(fā)者可以在執行之前將該library轉換為C程序。 而針對MEMS MLC等硬件連接型解決方案,開(kāi)發(fā)者可以在執行之前使用專(zhuān)用軟件UNICO-GUI將library轉換為register setting。
最后步驟5,驗證機器學(xué)習模型。 如果驗證結果與預期的結果不能匹配,則開(kāi)發(fā)者必須審視上述步驟中需要改進(jìn)的部分,以及如何改進(jìn)。
模擬人類(lèi)在進(jìn)行分類(lèi)的思維方式-判定樹(shù)
在機器學(xué)習興起之前,判定樹(shù)模型就已經(jīng)用于數據分類(lèi)。例如雜志上的性格測試 - 在測試中,您需要依照順序回答多個(gè)問(wèn)題(順序是依照每個(gè)問(wèn)題的分支而決定的),之后再根據結果推斷測試者的性格。這是一個(gè)典型的判定樹(shù)范例。為了創(chuàng )造一個(gè)機器學(xué)習分類(lèi)模型,需要在每個(gè)階段組合多個(gè)檢查點(diǎn)(稱(chēng)為decision node)。
在另一個(gè)例子中,一位經(jīng)驗豐富的房地產(chǎn)經(jīng)紀人評估來(lái)訪(fǎng)客戶(hù)是否會(huì )根據如下圖所示的判定樹(shù)購買(mǎi)房產(chǎn):他將到達一個(gè)最終節點(diǎn)(或稱(chēng)leaf),并根據每個(gè)node的條件做出最終決定。
圖三 : 判定樹(shù)范例(以房地產(chǎn)業(yè)者為例)
在開(kāi)發(fā)判定樹(shù)之前,必須通過(guò)分類(lèi)算法確定三個(gè)要點(diǎn),即要解決的問(wèn)題、分類(lèi)過(guò)程中感興趣的參數(特征值,即input),以及要尋找的最終答案(即output)。 在房地產(chǎn)經(jīng)紀人的例子中,問(wèn)題是預測客戶(hù)是否會(huì )購買(mǎi)房產(chǎn)。 答案是客戶(hù)是否會(huì )購買(mǎi)房產(chǎn)。
總之,特征處理是獲得準確答案的關(guān)鍵。 在這種情況下,特征可以包括客戶(hù)的收入、房產(chǎn)的價(jià)格、房間的數量,以及是否有停車(chē)位等等。得到的答案很大程度上取決于特征值、特征的順序,以及分類(lèi)閾值(用于區分數據的thresholds)。為了創(chuàng )造機器學(xué)習判定樹(shù),開(kāi)發(fā)者必須先定義需要的特征和閾值。接著(zhù)可以透過(guò)反復學(xué)習來(lái)改善判定樹(shù)的結構以獲得更準確的答案,進(jìn)而優(yōu)化每個(gè)node的特征選擇順序和分類(lèi)閾值。
判定樹(shù)方法看起來(lái)像是傳統的「if-then-else」方法,那不同之處在哪呢?
關(guān)鍵在于所使用的特征、決策節點(diǎn)的位置、閾值和判定樹(shù)的結構不是由設計人員事先決定的,而是模型根據數據集學(xué)習而來(lái)。 事實(shí)上,若依據米蘭、東京或上海的房地產(chǎn)數據集訓練模型(例如,房地產(chǎn)模型)時(shí),可能會(huì )得到不同的結果。
走過(guò)AI邊緣裝置的過(guò)渡期-在內建MLC的ST MEMS傳感器上運行嵌入式判定樹(shù)。
ST提供了LSM6DSOX、LSM6DSO32X、LSM6DSRX和ISM330DHCX(這些裝置將MEMS傳感器與3軸加速度計、3軸陀螺儀和MLC整合),以及IIS2ICLX(整合了超高精度2軸加速度傳感器和MLC)。
因應機器學(xué)習分類(lèi)的需求,我們進(jìn)行了硬件邏輯優(yōu)化且具備出色的傳感器規格(圖三),內建MLC的MEMS動(dòng)作傳感器為使用者提供具有低功耗和較高實(shí)時(shí)精度的個(gè)人化嵌入式判定樹(shù)(圖三)。 MLC可以執行高達32個(gè)特征值的判定樹(shù)。 意法半導體也提供了開(kāi)發(fā)環(huán)境,以便開(kāi)發(fā)者輕松開(kāi)發(fā)在MLC中運行的判定樹(shù)。
開(kāi)發(fā)者可以在機器學(xué)習常用平臺(如Weka、RapidMiner、MATLAB和Python(圖四))上進(jìn)行開(kāi)發(fā)。 盡管這些平臺相當靈活且多功能,開(kāi)發(fā)者仍需具備足夠的知識和技能才能妥善開(kāi)發(fā)適合該應用的判定樹(shù)。
圖四 : MEMS MCL訓練流程
為此,意法半導體針對ST MEMS傳感器開(kāi)發(fā)板提供了Unico-GUI軟件,其中包含多種特征,便于輕松開(kāi)發(fā)判定樹(shù)并載入至MLC。 Unico-GUI用戶(hù)能夠輕松、直觀(guān)地收集數據,并透過(guò)簡(jiǎn)單易用的GUI來(lái)訓練、驗證模型。
意法半導體推出高度通用、配備多種傳感器的開(kāi)發(fā)板,可滿(mǎn)足廣泛的硬件規格需求(圖5)。 開(kāi)發(fā)板配備支持MLC的MEMS動(dòng)作傳感器,并具有支持無(wú)線(xiàn)連接、可由電池供電、可在SD卡上存儲數據等特點(diǎn),具有高度通用性,可用于廣泛的應用(包括汽車(chē)、工業(yè)用儀表和消費性電子裝置)。 意法半導體更提供AlgoBuilderSuite PC軟件,該軟件(搭配使用Unicleo)提供GUI,可以輕松在開(kāi)發(fā)板上操作,并進(jìn)行數據搜集。 有了AlgoBuilderSuite,開(kāi)發(fā)者可以輕松、直觀(guān)地對傳感器進(jìn)行程序設計,且無(wú)需編寫(xiě)撰寫(xiě)任何程序。
圖五 : 數據收集 – ST軟件與硬件工具
評論