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