本文說明以MATLAB和Simulink進行基於模型的設(shè)計訓練與模型評估,如何使用在自動化ML Ops流程,實現(xiàn)一個虛構(gòu)的都會運輸系統(tǒng)預測性維護應用。
當有更多的組織機構(gòu)開始仰賴機器學習應用來協(xié)助處理核心事業(yè)職責,也有許多正在更進一步地審視這些應用的完整生命週期。對機器學習關(guān)注焦點已從最初的開發(fā)部署擴展到環(huán)繞著持續(xù)監(jiān)管與更新。輸入資料的改變有可能會降低模型的預測或分類準確性,及時的再訓練與模型評估,有助於產(chǎn)生更好的模型與更精確的決策。
在機器學習的運行(machine learning operations,或ML Ops),開發(fā)的規(guī)劃、設(shè)計、建構(gòu)、測試活動與運行時的部署、操作及監(jiān)管活動是以持續(xù)的回饋迴圈連結(jié)在一起(圖1)。許多資料科學團隊已經(jīng)將ML Ops循環(huán)之中的一部分自動化,像是部署及運行。
然而,完整循環(huán)的自動化需要額外的步驟:監(jiān)督與評估模型表現(xiàn)、將評估結(jié)果併入表現(xiàn)更好的模型、並且重新部署新的模型。實現(xiàn)這樣的自動化具備幾項重要的好處,讓資料科學家可以將更多時間花在設(shè)計有用的機器學習解決方案,減少在IT行政與繁瑣、容易出錯的手動任務上面花費的時間。
為了說明以MATLAB和Simulink進行基於模型的設(shè)計(Mode-Based Design)可以如何使用在自動化ML Ops流程,我們實現(xiàn)一個虛構(gòu)的都會運輸系統(tǒng)預測性維護應用。某個機構(gòu)組織需要一種方法,在他們的電動巴士車隊的電池出現(xiàn)在行進過程中發(fā)生故障的風險之前,預先規(guī)劃電池的維修或替換。
這項應用內(nèi)有一個機器學習模型,它使用電池充電狀態(tài)(state of charge;SOC)、電流、以及其他的量測值來預測電池的健康狀態(tài)(state of health;SOH)。其他幾個元件包含一個負責執(zhí)行大規(guī)模機器學習模型的應用伺服器,一個將觀察到的資料與訓練資料做比較的漂移偵測元件,它被用來判斷是否有重新進行訓練的必要,還有一個高逼真度的電池物理模型來協(xié)助自動化標記觀察到的資料。
對於許多組織來說,最後一個元件–高逼真度的物理模型–是落實完全自動化所缺少的一塊。少了這個物理模型,會需要由人類來檢視觀察到的資料並且加上標記;而有了它,這項基本的步驟以及完整的ML Ops循環(huán)就可以被自動化。
建立模型進行電池資料生成及自動標記
在可以開始訓練深度學習模型來預測電池的健康狀態(tài)之前,需要先有資料。在某些情況下,機構(gòu)組織可能已經(jīng)擁有從運作於真實世界系統(tǒng)收集來的資料。另一些則會需要藉由模擬來產(chǎn)生資料,這也包括了虛構(gòu)運輸系統(tǒng)。
為了要產(chǎn)生運輸網(wǎng)路電池系統(tǒng)的訓練資料,透過Simulink和Simscape建立兩個以物理為基礎(chǔ)的模型。
第一個模型納入來自電氣和熱領(lǐng)域的動態(tài),產(chǎn)生真實的原始感測器量測值,包含電流、電壓、溫度和SOC(圖2)。

圖2 : 用來產(chǎn)生原始感測器量測值的以物理為基礎(chǔ)的Simulink電池模型 |
|
第二個則以第一個模型產(chǎn)生的量測值,所推導出的電池估計容量和內(nèi)電阻來計算SOH。第二個模型可幫助由自動標記觀察到的資料,大幅減低再訓練迴圈所需要的人力介入。
藉著對各個電池採用獨立的老化曲線和變更第一個模型的週圍溫度輸入值,為一組大型的車隊建立了一個歷史資料集,該資料集適合用來訓練預測性維護機器學習模型。
建立及部署ML模型
有了用來訓練的資料時,我們便將注意力轉(zhuǎn)移至ML模型。使用Diagnostic Feature Designer app來探索原始量測值,擷取多域特徵,並選擇出具備最佳狀態(tài)指示器的特徵集。
由於我們的目標是要自動化整個循環(huán),因此模型的選擇與訓練也需要被自動化。為此,建立一個稱為AutoML的元件。這個元件是在MATLAB裡面使用Statistics and Machine Learning Toolbox建立的,負責自動地找出對於一組設(shè)定的訓練資料集之最佳機器學習模型和最適超參數(shù)。AutoML元件也作為循環(huán)的起始:它從原始的訓練資料和我們的特徵集產(chǎn)生內(nèi)部的機器學習模型。
除了支援向量機(support vector machines)之外,這個AutoML元件還訓練並評估線性迴歸模型、高斯過程迴歸模型(Gaussian process regression models)、提升決策樹(boosted decision trees)的集合、隨機森林(random forests)、以及完全連接前饋神經(jīng)網(wǎng)路。
當AutoML流程完成,我們使用MATLAB Production Server將一個最適模型部署到企業(yè)內(nèi)部生產(chǎn)環(huán)境。
資料漂移的判斷與處理
許多機器學習有個問題是裡面包含了一個隱藏的假設(shè),就是使用來訓練模型的資料可以完整代表整個特徵空間的基本分佈。換句話說,會做出資料的分佈不會變動的假設(shè)。但在真實世界卻不總是這樣。
舉例來說,在電動巴士應用,我們可能已經(jīng)做了車輛會在特定溫度範圍運作的假設(shè),並且訓練了模型。然而在生產(chǎn)階段,卻發(fā)現(xiàn)巴士經(jīng)常會必須在比該範圍還要高的溫度下運作。這種資料上的改變被稱為漂移(drift)。而隨著漂移的增加,模型的預測準確度通常會降低。因此,資料科學家通常需要偵測資料隨著時間產(chǎn)生的變化並做出反應,通常是訓練新的模型。
這時,重要的是要區(qū)別出概念(concept)漂移和資料(data)漂移。在機器學習領(lǐng)域,概念漂移被定義為觀察到的特徵與標記或回應的聯(lián)合機率隨著時間的變化。概念漂移可能很難被使用在已經(jīng)是生產(chǎn)階段的機器學習模型,因為特徵值及回應值都必須為已知。因此,許多機構(gòu)組織把注意力放在下一個最佳選擇:資料偏移,也就是只有發(fā)生在觀察到的特徵上的變化,而不包含標記。這也是我們採用的方法。
我們開發(fā)一個MATLAB應用來偵測漂移,該應用能夠?qū)⑿掠^察到的資料值與模型訓練資料集的值做比較。
在生產(chǎn)階段,這組應用幾乎即時地從一個Apache Kafka串流讀取觀察到的資料,並且透過一支處理使用機器學習模型所得到的觀察的MATLAB函式做出電池的健康預測(圖3)。
我們使用MATLAB Production Server的Streaming Data Framework開發(fā)MATLAB函式,這可以幫助從在檔案中處理歷史資料輕鬆轉(zhuǎn)換為在Kafka資料流的即時資料。因為完整的資料流超出記憶體的容量,這個架構(gòu)會透過一系列的迭代處理串流資料。
每一個迭代包含四個步驟:從資料流讀取一批觀察數(shù)據(jù)、裝載模型、做出預測並編寫至輸出資料流,以及如果必要的話會把任何需要的資料儲存下來供下一次迭代使用。每一個批次的尺寸會延伸到長度足夠的時間區(qū)間,以確保擷取出來的特徵捕捉到充分的電池特性來進行有效的SOH預測。
要注意,即使漂移偵測應用判斷觀察到的資料出現(xiàn)顯著變化,也不見得代表機器學習模型已經(jīng)過時。在這項應用獲得透過基於物理的SOH模型傳遞的新資料而獲得新觀察資料的回應值(或標記)之前,它並不能決定模型是否過時。
這時,該應用可以將從以物理為基礎(chǔ)的模型得到的回應值與從機器學習模型得到的回應值做比較;如果兩者之間差異顯著,則可以調(diào)用帶有新資料的Auto ML元件,並且自動地建立一個針對來自車隊的新資料進行過優(yōu)化的新機器學習模型。
也許會有如果我們可以在一開始就透過模擬來估計電池的健康狀態(tài),為什麼還會需要機器學習模型這樣的疑問。答案是,ML模型可以接近即時產(chǎn)生預測結(jié)果–比起以物理為基礎(chǔ)的模擬的速度快上許多。
一個可擴展、普及化的架構(gòu)
我們?yōu)樽詣踊疢L Ops所設(shè)計的這個架構(gòu)可以水平擴展。預測與監(jiān)督元件皆執(zhí)行在MATLAB Production Server上,模型的預測則是透過MATLAB Parallel Server進行(圖4);而這個架構(gòu)也可以被普及化。雖然我們的範例聚焦於電動巴士的預測性維護與漂移偵測,這個架構(gòu)可以輕鬆地被改編套用於其他應用或使用情境。

圖4 : 可水平擴展的自動化ML Ops架構(gòu) |
|
舉例來說,以物理為基礎(chǔ)的Simulink模型可以用在MATLAB開發(fā)的數(shù)值模型取代。同樣地,許多我們使用的現(xiàn)成元件—如使用於資料串流的Apache Kafka、使用於儀表板架構(gòu)的Grafana—可以被其他原生於雲(yún)端的服務取代。
使用現(xiàn)成的元件可幫助專注於架構(gòu)而不是執(zhí)行上的細節(jié),就像一個完全自動化的ML Ops循環(huán)協(xié)助資料科學家專注於設(shè)計機器學習解決方案,而不是管理IT行政的繁瑣細節(jié)。
(本文由鈦思科技提供;作者Peter Webb、Gokhan Atinc任職於MathWorks公司)