摘要
用于 MCU 實施的電源機器學習(tinyML)技術(shù)是一個不斷發(fā)展的領(lǐng)域;其可為電源管理和電機控制帶來新的增強功能。 ML 算法能發(fā)現(xiàn)復(fù)雜傳感器數(shù)據(jù)中的信息和模式,用于優(yōu)化性能并提高對整個電源系統(tǒng)健康狀況的了解。除 tinyML 技術(shù)及其所取得的進步外,AutoML 工具的熱度也在上升。這一工具可自動收集數(shù)據(jù)、訓練 ML 算法,以及生成和部署 MCU固件;其與片上系統(tǒng)(SoC)的傳感器數(shù)據(jù)訪問相結(jié)合,可在目前電源管理系統(tǒng)中開發(fā)基于 ML 的解決方案。本文討論了如何利用 Qorvo 的智能電源管理系統(tǒng) IC 開發(fā)機器學習(ML)應(yīng)用。Qorvo 高度集成的智能電源管理 SoC 將 Arm® Cortex® M0 和 M4F 內(nèi)核 MCU 與帶有一系列傳感器的模擬前端相融合,實現(xiàn)了智能電源管理控制與監(jiān)控功能。
簡介:機器學習
從數(shù)據(jù)中學習
機器學習模型的性能直接源于電源管理數(shù)據(jù);這在復(fù)雜、高維數(shù)據(jù)中或人類難以確定最佳算法時成為一種優(yōu)勢。然而,對電源數(shù)據(jù)的依賴意味著良好的結(jié)果取決于能否獲得良好的訓練數(shù)據(jù)——這些電源數(shù)據(jù)代表了設(shè)備在不同環(huán)境條件和制造公差下的實際行為。電源數(shù)據(jù)收集通常是 ML 項目中最昂貴、最耗時的階段。在成本過高的情況下,來自物理模型的合成電源數(shù)據(jù)可以滿足要求。
Qorvo 的評估工具包包含一個圖形用戶界面(GUI),其中集成了電源管理數(shù)據(jù)記錄功能,以方便智能電源數(shù)據(jù)收集過程。內(nèi)部 MCU 可用的相同傳感器數(shù)據(jù)可保存到計算機上的文件中,用于離線模型訓練及測試。一些 AutoML(自動 ML)工具還通過將硬件抽象層和電源管理數(shù)據(jù)流功能集成到評估固件中來支持實時電源管理數(shù)據(jù)收集和電源模型測試。
模型選擇
智能電源機器學習的另一個優(yōu)勢是可擴展性;僅需更換訓練數(shù)據(jù)就能針對不同的用例訓練單個模型。亦可使用參數(shù)化代碼結(jié)構(gòu)來實現(xiàn)模型,并為每個用例存儲一組不同的智能電源模型系數(shù)。此過程可以實現(xiàn)電源自動化,從而節(jié)省與手動固件修改相關(guān)的工程時間和資源。
智能電源機器學習模型在復(fù)雜性和性能方面差異很大。決策樹或樹集合是大多數(shù) AutoML 工具均包含的一種低復(fù)雜度方法;這些方法非常適合 MCU 實施,實施時可能僅需幾百字節(jié)到幾 K 字節(jié)的 RAM/閃存。其中,決策樹通常面向分類電源應(yīng)用,而稱為回歸樹的相關(guān)電源結(jié)構(gòu)可用于估算連續(xù)值。
分類決策樹示例如圖 1 所示。其中,智能電源放電過程中多電芯電池組的狀態(tài)可以用兩個特征來描述:最強電芯的電源充電狀態(tài),以及最強和最弱電芯間的電源電壓差。在樹的每個決策節(jié)點上,二元決策將特征空間一分為二。電源節(jié)點的連續(xù)層將特征空間細分為更小的區(qū)域,最終形成一個粗略的非線性決策邊界;該邊界試圖將電源數(shù)據(jù)分為兩類(如正常和異常)。該圖中,智能電源訓練數(shù)據(jù)顯示為藍色或白色點,而決策樹使用的分類區(qū)域則以藍色或綠色區(qū)域表示。
神經(jīng)網(wǎng)絡(luò)也包含在 AutoML 工具中。神經(jīng)網(wǎng)絡(luò)可提供平滑的決策邊界和更高的性能,但代價在于實施復(fù)雜性的增加。圖 2 顯示了一個簡單的 2 層神經(jīng)網(wǎng)絡(luò)模型圖及分類區(qū)域;該網(wǎng)絡(luò)采用與決策樹示例相同的數(shù)據(jù)訓練而成。網(wǎng)絡(luò)中的每個神經(jīng)元都對其輸入進行加權(quán)求和,然后執(zhí)行非線性激活函數(shù)。比較這兩個示例中的分類區(qū)域可以看到,神經(jīng)網(wǎng)絡(luò)在處理訓練過程中未見的電源數(shù)據(jù)時預(yù)期表現(xiàn)更好。不過,隨著電源管理數(shù)據(jù)特征數(shù)量的增加,在 MCU 中實現(xiàn)復(fù)雜的神經(jīng)網(wǎng)絡(luò)將變得不切實際。
其它常見的 ML 模型包括支持向量機(SVM)、核近似分類器、最近鄰分類器、樸素貝葉斯分類器、邏輯回歸和孤立森林。為獲得最佳電源性能,很多 AutoML 工具都具備一個十分有用的功能,即自動模型選擇和自動模型超參數(shù)調(diào)整(節(jié)點數(shù)、激活類型等)。還有一些在訓練和比較電源模型時所需的工具,可用于電源目標處理器類型以及準確性、延遲和內(nèi)存的資源預(yù)算[1]。

圖 1,簡單的決策樹分類器

圖 2,簡單的神經(jīng)網(wǎng)絡(luò)分類器
模型部署
AutoML 工具的另一個重要特性是為經(jīng)過訓練的 ML 模型自動生成代碼。在大多數(shù)情況下,代碼生成可以針對特定的電源處理器,例如 Qorvo 智能電源管理 SoC 中使用的 Cortex M0 和 M4 電源處理器。這通常被稱為工具的“無代碼”或“低代碼”功能,因為它消除或最大限度地減少了手工編碼的需要。根據(jù)工具的不同,代碼可以提供為可編輯的源代碼,或以編譯后的二進制文件提供,以便集成到電源管理固件中。
ML 開發(fā)流程
成功的 ML 開發(fā)通常是一個迭代過程,涉及電源數(shù)據(jù)的收集和整理、模型的訓練與分析,以及電源模型部署和監(jiān)控(圖 3);術(shù)語“MLOps(ML Operations)”用于描述此過程[2]。電源性能監(jiān)控是 MLOps 的關(guān)鍵要素,可確保電源實際性能與預(yù)期相符。差異往往可追溯到訓練數(shù)據(jù)中未體現(xiàn)的現(xiàn)場條件,因此可能需要進行新一輪的電源數(shù)據(jù)收集與訓練。
圖 3 描述了智能電池管理系統(tǒng)(BMS)應(yīng)用的 ML 開發(fā)流程。它利用了 Qorvo 的評估套件(如 PAC25140EVK1 [3]),其中包括用于狀態(tài)監(jiān)控、硬件/軟件設(shè)置和傳感器數(shù)據(jù)記錄的圖形用戶界面(GUI)。.csv 格式的電源數(shù)據(jù)日志文件可導(dǎo)入 AutoML 工具,進行特征選擇、模型訓練、模型分析和代碼生成。將生成的模型代碼集成至 BMS 固件,并部署到 EVK中進行電源物理測試和監(jiān)控。

圖 3,ML 開發(fā)流程
實施示例:BMS 弱電芯檢測
檢測多電芯電池組中的弱電芯是智能電源管理系統(tǒng)的功能之一。一種直接的方法是比較電源中所有電芯的負載電壓,并確定其中某個電源電芯是否與其它電源電芯存在明顯差異。圖 4 顯示了強電芯和弱電芯在不同溫度下的放電周期。從圖中可以看出,電流、環(huán)境溫度和充電狀態(tài)等特征都會影響電源電芯間的電壓差;因此在電源電芯幾乎耗盡之前很難通過單一的電源閾值測試來區(qū)分弱電芯。在放電周期的早期檢測出弱電芯有助于最大限度地減少過熱和相關(guān)安全問題。智能電源機器學習能夠在復(fù)雜的特征集中發(fā)現(xiàn)某種模式,為這一問題提供了潛在的電源解決方案。Qorvo 的智能智能電源解決方案可監(jiān)控上述特征,并由嵌入式 MCU 中的 tinyML 算法對這些特征進行處理,從而提升電源性能。

圖 4,強電芯和弱電芯的放電周期示例
為了進一步探索這種方法,我們借助兩個 10s 電池組的 20 個電源放電周期創(chuàng)建了一組訓練數(shù)據(jù)。第一個電池組(0 類)包括 10 個強電芯,第二個電池組(1 類)包括 9 個強電芯和 1 個弱電芯。在 20 次電源放電周期中,每次放電時,兩個電池組的電源負載電流恒定在 0.2 至 4C(C 為電池容量)之間;環(huán)境溫度恒定在 0 至 60 攝氏度之間。
選擇以下四個特征來進行弱電芯檢測:
• i_series = 通過電池組中所有電源電芯的串聯(lián)電流
• t_amb = 環(huán)境溫度
• v_diff = 電池組中最強和最弱電芯間的電壓差
• soc = 電池組中最強電源電芯的充電狀態(tài)
對這四個特征進行同步采樣,以創(chuàng)建訓練實例 [i_series、t_amb、soc、v_diff]。兩類電芯的 20 個放電周期每 10 秒采樣一次,共產(chǎn)生 11,000 多個電源訓練實例。使用 Matlab 的“分類學習器”應(yīng)用程序[4]將訓練數(shù)據(jù)創(chuàng)建為多個 ML 模型。訓練結(jié)束后,使用一組獨立的電源測試數(shù)據(jù)(每個類別增加 20 個放電周期)重新評估分類準確性;結(jié)果匯總?cè)缦卤?1 所示。請注意,表中的結(jié)果是對單個電源樣本實例的分類。針對電池組的健康狀況,預(yù)計將合并多個電源樣本結(jié)果以形成更穩(wěn)健的決策。

表 1,弱電芯檢測示例的模型訓練結(jié)果
總結(jié)
基于 MCU 的電源機器學習(稱為“tinyML”)作為一種新興技術(shù),可為電源管理應(yīng)用提供前景廣闊的增強功能;例如,用于提高安全性和可靠性的故障與異常檢測、可降低電源系統(tǒng)成本的系統(tǒng)參數(shù)虛擬感測,以及可提升電源系統(tǒng)效率與可靠性的新型預(yù)測性維護等應(yīng)用。Qorvo 的智能電源管理 SoC 包括 ARM Cortex MCU 和一系列模擬傳感器,tinyML 算法可從中學習并改善電源性能。Qorvo 提供支持智能電源數(shù)據(jù)收集和固件測試的評估套件;這些電源套件與第三方 AutoML 工具相結(jié)合,為當今 SoC 的 ML 算法開發(fā)帶來了必要的元素。 |