中斷連結修正關閉

2021年5月4日

“人工智慧是人類的下一個進化階段”

人物專訪 | 倍福 Fabian Bause 博士

發表於《Computer & AUTOMATION》03/2021,www.computer-automation.de,WEKA媒體

採訪人:Andrea Gillhuber《Computer & AUTOMATION》雜誌

倍福已經將機器學習整合到TwinCAT 3 控制平臺中,並在該領域積累了寶貴的經驗。在此次採訪中,倍福 TwinCAT 產品經理 Fabian Bause 博士將介紹如何用有利的方式佈署機器學習演算法和模型。

在企業佈署機器學習之前,第一步應該做什麼?

Fabian Bause 博士:首先要詳細分析可以在哪裡成功佈署機器學習(簡稱 ML),即部署必須富有成效。人們在對待新技術時往往會出現兩種極端態度。要麼會因為缺乏經驗持保留態度,要麼會非常興奮,想用這些新技術來解決過去無法充分解決的難題。我們不應該偏向任何一方,而是客觀地分析 ML 在哪些方面真正有用。

一旦找到了潛在適合機器學習的應用,就應該及時將其作為原型實施,專案團隊的敏捷性是關鍵因素。ML 專案實際上是一個進化過程,不能被預設的方法等事項所限制。

倍福在 2019 年的漢諾威工業博覽會上宣佈他們將在 TwinCAT 3 控制系統中整合機器學習。自那時起,機器學習在哪些應用領域中的表現比較突出?

去年,我們成功完成了測試,並非常成功地推出了我們的第一款產品 — 一個無縫整合到 TwinCAT 3 中的機器學習模型推理引擎。該解決方案的特點是能夠直接在 TwinCAT 即時環境中執行神經網路等模型,這也意味著這類機器的應用領域是無限的。

在用戶方面,已經形成了一個基於 ML 的品質控制和過程監測/優化的解決方案集群。一個完全自動化和控制器集成的品質控制系統,它可以基於如電機電流、轉速和跟隨誤差等現有的機器資料對生產的貨物進行全檢測。它可以全天候運作不休息,不會感到疲倦,而且循環時間遠遠超過人類所能做到的任何事情。過程監測和優化是兩個連續的步驟。如果用訓練好的模型來進行過程監測,機器可以通知其操作員,而操作員又可以即時調整過程,以保持產品品質的穩定性。下一步是向這名有經驗的機器操作員學習,並以這樣的方式訓練模型,讓模型能夠自主地進行所需的參數調整,或在中間步驟中作為“智能助手”發揮作用,給出參數設置建議。

除了控制系統中用於 ML 的基礎元件外,我們越來越關注倍福產品在視覺處理和運動控制領域的應用,目標是為使用者提供經過優化的硬體和軟體元件,無需事先掌握 ML 知識即可使用。

倍福 TwinCAT 產品經理 Fabian Bause:“目前 CPU 中的處理器內核越來越多地支援神經網路的加速執行,因為它們可以非常高效地並存執行。”
倍福 TwinCAT 產品經理 Fabian Bause:“目前 CPU 中的處理器內核越來越多地支援神經網路的加速執行,因為它們可以非常高效地並存執行。”

即時機器學習帶來了挑戰,尤其是對需要高處理性能同時快速運行的廠區。然而,如何將 ML 用於即時控制的應用,如運動控制應用?

首先,我們必須認識到,訓練基於 ML 的模型要比執行(即推理)訓練好的模型花費更多的時間。在硬體方面,推理在我們的工業 PC 上運行。它能夠在 CPU 中高效執行的一個重要原因是持續使用 SIMD 命令擴展,並結合高度優化的緩存管理。此外,目前 CPU 中的處理器內核越來越多地支援神經網路的加速執行,因為它們可以非常高效地並存執行。仔細觀察訓練好的模型也非常重要,它就像“手工編寫”的原始程式碼一樣。執行一個龐大、低效的原始程式碼要比執行一個精簡、優化的原始程式碼需要的時間長很多。必須根據特定的任務對訓練好的 ML 模型進行調整和優化。現在,可以非常輕鬆地實現微秒級神經網路執行速度。例如,我們有一個展覽就是由 250 個神經元組成的多層感知神經網路。通過我們高度優化的推理引擎,它在 Intel Core i3 CPU 上的執行時間僅需幾微秒。因此,我們可以確信,在視覺處理和運動應用中使用 ML 時,在計算能力方面不會有任何障礙。

應該何時將機器學習整合到應用中?在開發時還是在運行後期?

正如我開始時提到的,ML 專案是一個進化過程,應該盡可能在設備製造商的價值鏈早期階段開始。當設備在終端客戶那裡投入使用時,並不是每個應用都會有一個最佳解決方案。此外,在設備運行時可以識別和分析新的相關資料。這樣就可以不斷改進 ML 模型。為了在技術層面支援這一過程,倍福的推理引擎採用了結構化設計,即能夠在不中斷設備運行的情況下載入新創建的模型,而無需停止 TwinCAT,也無需編譯原始程式碼。在很多情況下,使用者的設備可能已經配備不包含 ML 功能的控制器。他們想要提高產量,因此他們越來越多地考慮使用 ML。這就是開放式控制方案發揮關鍵作用之處。由於它介面眾多,即使將 TwinCAT 控制器改裝到現有的控制方案中也不會構成障礙。我們在TwinCAT 機器學習的第一個客戶身上看到了這一點,該客戶已經使用(並將繼續使用)協力廠商的控制器。他添加了一台帶有 TwinCAT 3 軟體的倍福嵌入式控制器(Embedded PC),它可以從協力廠商控制器中讀取基本資料並進行推理,以便在 TwinCAT 環境中實施品質控制系統。可靠的 ML 應用以資料庫作為起點和終點。

如何選擇在 TwinCAT Machine Learning 中處理的訓練資料?需要資料科學家嗎?

ML 專案需要團隊合作,專案團隊由不同的專家組成。團隊核心成員是某一領域的專家,例如,機器建造師或線性驅動或成型工藝專家。他或她確定想要通過機器學習來應對的挑戰,即他或她已經設立了一個目標,並且對機器很熟悉。他或她必須與主要關注數據分析的資料科學家一起,定義在達成目標中發揮作用的基本機器參數。資料科學家總是與領域專家密切合作,以強調某個特定資料模式和行為的重要性。如果沒有來自領域專家的回饋,資料科學家就不能充分發揮作用。倍福會根據客戶的具體情況,提供靈活且客製化的溝通。某些設備製造商已經設立了資料科學部門,即使其中一些只是一個人在唱獨角戲,也可以完成這項任務。而其他製造商則需要我們的説明。當然,也有客戶聯繫我們,想要我們提供“全包式”的資料科學家服務。在這種情形下,我們很樂意讓他們與我們的專業合作夥伴網路取得聯繫。

需要為每個 ML 模型準備訓練資料嗎?

是的,這始終是一個前提。機器學習總是基於用於訓練模型的樣本資料。在訓練階段,模型的區別主要在於訓練術據是否被標記。如果數據被標記,就可以在訓練過程中識別出某一特定輸入的預期輸出樣本,即訓練基於具體的樣本。如果數據未標記,輸出資訊就會缺失,演算法也就僅限於尋找內部的抽象關係。例如,這可能是訓練數據集內一定數目的聚類。

當異常情況未知時,如何訓練一個模型來檢測異常?

有很多方法可以實現這個目標。一個比較簡單的方法就是用一個已知類別,即“無異常”類別來訓練一個分類模型。使用包含無異常情況的資料來訓練模型,並將這組資料定義為“A 類”。在這個過程中,演算法識別出“A 類”。但當資料表現出另一種未知結構,並報告一種未指明的異常情況時,它也能一一識別出。重複一遍:人工智慧是人類的下一個進化階段。在持續收集機器數據並與分類結果一起儲存,資料科學家可以與領域專家合作,詳細分析檢測到異常的過程序列。需要時,可以使用一個不僅能夠識別異常情況,還能夠更詳細地識別案例的模型。