開發(fā)機器學(xué)習(xí)專案的五個步驟 — 掌握要點,應(yīng)用並不困難!
邊緣機器學(xué)習(xí)具有許多優(yōu)勢。 然而,由於開發(fā)方法與標(biāo)準(zhǔn)程式設(shè)計方法截然不同,許多機器學(xué)習(xí)開發(fā)者可能會擔(dān)心自己難以駕馭。
其實,完全沒有必要擔(dān)心。一旦熟悉了步驟,並掌握了機器學(xué)習(xí)專案的要點,就能夠開發(fā)具有價值的機器學(xué)習(xí)應(yīng)用。此外,意法半導(dǎo)體(STMicroelectronics;ST)提供解決方案,以促進邊緣機器學(xué)習(xí)得到廣泛應(yīng)用發(fā)揮全部潛力。本文描述機器學(xué)習(xí)專案的必要開發(fā)步驟,並介紹了ST MEMS感測器內(nèi)嵌機器學(xué)習(xí)核心(MLC)的優(yōu)勢。

圖一 : 嵌入式ST感測器的機器學(xué)習(xí)核心 |
|
首先,針對機器學(xué)習(xí)模型--決策樹(Decision Tree),該模型與MLC一起內(nèi)嵌在ST MEMS中。
當(dāng)使用者想要在嵌入式系統(tǒng)中使用機器學(xué)習(xí)或深度學(xué)習(xí)功能時,通常可按照以下五個步驟進行開發(fā)(圖二)。
在步驟1中,開發(fā)者需要收集機器學(xué)習(xí)所需的數(shù)據(jù)。該數(shù)據(jù)集的一部分(訓(xùn)練集)將用於訓(xùn)練模型,另一部分(測試集)將用於評估所構(gòu)建模型的性能。機器學(xué)習(xí)的數(shù)據(jù)集中典型的拆分比率為:訓(xùn)練集80%,測試集20%。
在步驟2中,需要對數(shù)據(jù)進行標(biāo)註。開發(fā)者需要將收集到的數(shù)據(jù)標(biāo)註類別(例如「跑步」、「散步」、「靜止」等);而決策樹是一種基於開發(fā)者所決定的分類模型。
分類則是指根據(jù)重要的屬性對數(shù)據(jù)進行分類:這種屬性在機器學(xué)習(xí)領(lǐng)域被稱為「類別」。
接下來,在步驟3中,使用預(yù)先準(zhǔn)備的數(shù)據(jù)集訓(xùn)練機器學(xué)習(xí)模型。該任務(wù)亦稱為「fitting」。訓(xùn)練結(jié)果的準(zhǔn)確性在很大程度上取決於訓(xùn)練集的內(nèi)容和數(shù)量。
在步驟4,將訓(xùn)練過的機器學(xué)習(xí)模型嵌入到系統(tǒng)中。使用者可以利用Pythonlibrary直接運行模型。 對於在MCU等元件上運行的機器學(xué)習(xí)演算法,開發(fā)者可以在執(zhí)行之前將該library轉(zhuǎn)換為C程式。 而針對MEMS MLC等硬體連接型解決方案,開發(fā)者可以在執(zhí)行之前使用專用軟體UNICO-GUI將library轉(zhuǎn)換為register setting。
最後步驟5,驗證機器學(xué)習(xí)模型。 如果驗證結(jié)果與預(yù)期的結(jié)果不能匹配,則開發(fā)者必須審視上述步驟中需要改進的部分,以及如何改進。
類比人類在進行分類的思維方式-決策樹
在機器學(xué)習(xí)興起之前,決策樹模型就已經(jīng)用於數(shù)據(jù)分類。例如雜誌上的性格測試 - 在測試中,您需要依照順序回答多個問題(順序是依照每個問題的分支而決定的),之後再根據(jù)結(jié)果推斷測試者的性格。這是一個典型的決策樹範(fàn)例。為了創(chuàng)造一個機器學(xué)習(xí)分類模型,需要在每個階段組合多個檢查點(稱為decision node)。
在另一個例子中,一位經(jīng)驗豐富的房地產(chǎn)經(jīng)紀(jì)人評估來訪客戶是否會根據(jù)如下圖所示的決策樹購買房產(chǎn):他將到達一個最終節(jié)點(或稱leaf),並根據(jù)每個node的條件做出最終決定。

圖三 : 決策樹範(fàn)例(以房地產(chǎn)業(yè)者為例) |
|
在開發(fā)決策樹之前,必須通過分類演算法確定三個要點,即要解決的問題、分類過程中感興趣的參數(shù)(特徵值,即input),以及要尋找的最終答案(即output)。 在房地產(chǎn)經(jīng)紀(jì)人的例子中,問題是預(yù)測客戶是否會購買房產(chǎn)。 答案是客戶是否會購買房產(chǎn)。
總之,特徵處理是獲得準(zhǔn)確答案的關(guān)鍵。 在這種情況下,特徵可以包括客戶的收入、房產(chǎn)的價格、房間的數(shù)量,以及是否有停車位等等。得到的答案很大程度上取決於特徵值、特徵的順序,以及分類閾值(用於區(qū)分?jǐn)?shù)據(jù)的thresholds)。為了創(chuàng)造機器學(xué)習(xí)決策樹,開發(fā)者必須先定義需要的特徵和閾值。接著可以透過反覆學(xué)習(xí)來改善決策樹的結(jié)構(gòu)以獲得更準(zhǔn)確的答案,進而最佳化每個node的特徵選擇順序和分類閾值。
決策樹方法看起來像是傳統(tǒng)的「if-then-else」方法,那不同之處在哪呢?
關(guān)鍵在於所使用的特徵、決策節(jié)點的位置、閾值和決策樹的結(jié)構(gòu)不是由設(shè)計人員事先決定的,而是模型根據(jù)數(shù)據(jù)集學(xué)習(xí)而來。 事實上,若依據(jù)米蘭、東京或上海的房地產(chǎn)數(shù)據(jù)集訓(xùn)練模型(例如,房地產(chǎn)模型)時,可能會得到不同的結(jié)果。
走過AI邊緣裝置的過渡期-在內(nèi)建MLC的ST MEMS感測器上運行嵌入式?jīng)Q策樹。
ST提供了LSM6DSOX、LSM6DSO32X、LSM6DSRX和ISM330DHCX(這些裝置將MEMS感測器與3軸加速度計、3軸陀螺儀和MLC整合),以及IIS2ICLX(整合了超高精度2軸加速度感測器和MLC)。
因應(yīng)機器學(xué)習(xí)分類的需求,我們進行了硬體邏輯最佳化且具備出色的感測器規(guī)格(圖三),內(nèi)建MLC的MEMS動作感測器為使用者提供具有低功耗和較高即時精度的個人化嵌入式?jīng)Q策樹(圖三)。 MLC可以執(zhí)行高達32個特徵值的決策樹。 意法半導(dǎo)體也提供了開發(fā)環(huán)境,以便開發(fā)者輕鬆開發(fā)在MLC中運行的決策樹。
開發(fā)者可以在機器學(xué)習(xí)常用平臺(如Weka、RapidMiner、MATLAB和Python(圖四))上進行開發(fā)。 儘管這些平臺相當(dāng)靈活且多功能,開發(fā)者仍需具備足夠的知識和技能才能妥善開發(fā)適合該應(yīng)用的決策樹。
為此,意法半導(dǎo)體針對ST MEMS感測器開發(fā)板提供了Unico-GUI軟體,其中包含多種特徵,便於輕鬆開發(fā)決策樹並載入至MLC。 Unico-GUI使用者能夠輕鬆、直觀地收集數(shù)據(jù),並透過簡單易用的GUI來訓(xùn)練、驗證模型。
意法半導(dǎo)體推出高度通用、配備多種感測器的開發(fā)板,可滿足廣泛的硬體規(guī)格需求(圖5)。 開發(fā)板配備支援MLC的MEMS動作感測器,並具有支援無線連接、可由電池供電、可在SD卡上存儲數(shù)據(jù)等特點,具有高度通用性,可用於廣泛的應(yīng)用(包括汽車、工業(yè)用儀表和消費性電子裝置)。 意法半導(dǎo)體更提供AlgoBuilderSuite PC軟體,該軟體(搭配使用Unicleo)提供GUI,可以輕鬆在開發(fā)板上操作,並進行數(shù)據(jù)蒐集。 有了AlgoBuilderSuite,開發(fā)者可以輕鬆、直觀地對感測器進行程式設(shè)計,且無需編寫撰寫任何程式。

圖五 : 數(shù)據(jù)收集 – ST軟體與硬體工具 |
|