http://m.007sbw.cn 2021-08-16 13:51 來源:德國倍福自動化有限公司
說現在最熱門的前沿技術,那非人工智能(AI)莫屬。而人工智能的核心卻是機器學習(ML)??梢哉f,掌握了機器學習,也就掌握了人工智能技術。
那么,對于工業(yè)用戶來說,如何將機器學習引入到自動化領域,突破傳統(tǒng)自動化技術發(fā)展的天花板呢?面對人工智能、機器學習、深度學習、神經網絡……這些深奧的概念,如何快速了解和掌握呢?
這篇只需 5 分鐘就能閱讀完畢的文章,讓您輕松掌握機器學習的概念、關鍵技術、如何應用到工業(yè)自動化之中等內容!
首 先
我們來看一個,用機器學習進行優(yōu)化的一個運動控制案例,以便你對機器學習有一個感性的認識。
這是兩個相同的直線加圓弧的傳輸軌道,但我們可以看到,左邊軌道上的工件輸送十分平緩,而右邊軌道上的工件傳輸很不平穩(wěn),加速很急,產品都快要被甩出去了。這不僅對軌道上的工件影響很大,而且軌道自身的磨損也很嚴重,右邊軌道上工件運動曲線的設計顯然不如左邊的傳輸軌道。
那如何才能設計出左邊這樣的運動曲線呢?這里就需要用到機器學習,通過對工件多次的速度、加速度、位置等信息的記錄,再經過建立數據模型,不斷優(yōu)化(訓練)模型,最后得出一個最佳的運動曲線。為何要用機器學習來設計呢,這是因為這樣的運動曲線設計并沒有現存的曲線(如正圓、橢圓、漸開線等),也不能通過數學方程計算出來,所以只有借助機器學習的“算法模型加訓練”來求解出來。
看完這個例子,您對機器學習的作用應該有了一個初步認識。下面我們再來理解幾個常見概念。
人工智能(AI)
能夠模仿人智力的智能,分為弱 AI 和強 AI,目前AI處于弱AI階段。
機器學習(ML)
達到弱 AI 的水平,基于可以通過“訓練數據”學習特定任務的數學模型進行優(yōu)化。
深度學習(DL)
專注于深度神經網絡(DNN)作為模型,需要大量數據集進行訓練的復雜模型,目前主要用于強大的視覺應用。
三者的關系是從屬關系,如下圖所示:
簡單理解,機器學習就是通過根據各類算法建立數學模型,然后通過數據不斷訓練模型,提高模型準確性,最后將訓練好的模型放到實際應用場景中運行做推理計算,解決用普通數學方法難以解決的實際問題。
所以我們可以總結一下,將機器學習引入到工業(yè)自動化中,需要三步:收集工業(yè)現場數據、建立模型并訓練模型、下載到實際應用中運行,如下圖所示:
看上去是不是過程很簡單?
當然了,實際使用過程并非如此簡單,每個環(huán)節(jié)都會涉及到專業(yè)知識和工具,下面我們就來一一展開介紹一下,讓你不僅入門,而且成為“專家”!
第 /一/ 步
收集工業(yè)現場數據
首先,在數據收集階段,就是要通過各類傳感器和測試測量工具來采集現場數據,這個環(huán)節(jié)就會用到我們自動化控制中的很多產品,比如像倍福的 TwinCAT3 Scope、TwinCAT3 Database Server、TwinCAT3 Data Agent 和 TwinCAT3 Analytics Logger 等工具,可以利用這些工具將數據采集到本地數據庫或者云端存儲、呈現,以便下一步來建模和訓練。
第 /二/ 步
模型的搭建和訓練
這一步是至關重要的一步,也是目前機器學習中最難、研究最多的一步。這一步里首先需要對上一步采集到的數據進行預處理,數據清洗除去異常值,數據轉化或者數據集成等。然后,選擇特征數據確定數學模型,進行學習微調,并進行未知數據的學習模型驗證。模型訓練后,生成導出一個可供 TwinCAT3 等模型運行環(huán)境的描述文件:XML 文件或者 ONNX 文件。這一步中特征數據的挖掘,也就是提取哪些數據來建模是整個機器學習能否成功的關鍵,往往需要精通行業(yè)知識經驗的人才能做到。
在這一步中,搭建模型時往往需要用到第三方框架(平臺工具),比如:Python SciKit、MATLAB Machine Learning Toolbox,以及深度學習框架TensorFlow (谷歌)、Keras (frontend for TensorFlow, CNTK, …)、PyTorch (臉書)、MxNet (亞馬遜)、CNTK (微軟)、MATLAB Deep Learning Toolbox (MathWorks) 等,其中大多數是開源的和基于 Python 的。
當然,除了這些框架外,還有一個重要的事,數學模型的選擇和建立。在數學上,可以把萬事萬物所有問題分為兩大問題:回歸問題和分類問題?;貧w問題通常是用來預測一個值,如預測房價、未來的天氣情況等。分類問題是用于將事物打上一個標簽,通常結果為離散值,如判斷一幅圖片上的動物是一只貓還是一只狗。解決這兩類問題需要用到不同的數學模型,比如常見的有支持向量機(SVM)、神經網絡、決策樹和隨機森林、線性回歸、貝葉斯線性回歸等,這些模型在框架中是現存的,可以直接使用。
在這里,還需要提到一個知識點,那就是 ONNX 開放神經網絡交換文件,這是一種針對機器學習所設計的開放式文件格式,用于存儲訓練好的模型。它使得不同的人工智能框架(如Pytorch,MXNet)可以采用相同格式存儲模型數據并交互。主要由微軟,亞馬遜 ,Facebook 和 IBM 等公司共同開發(fā)。
第 /三/ 步
加載模型到控制器里運行
說完了模型搭建和模型訓練后,最后一步就是將模型加載到工業(yè)電腦或者控制器中運行計算。由于模型描述文件并不能被工業(yè)控制器所識別,所以就需要用到像倍福 TwinCAT 3 這樣的自動化控制軟件平臺作為引擎,將訓練好的模型文件加載到控制器,才能在自動化中應用機器學習。
目前、TwinCAT 3 已經無縫集成了機器學習引擎接口。可以通過機器學習文件轉換器(ML Converter)把訓練生成的模型文件 XML 或者 ONNX 轉化成 BML (倍福的機器學習文件)進行加密保護,經過 TwinCAT 3 的 ML Runtime 進行加載,這樣已訓練好的模型就可以被 TwinCAT TcCOM 對象進行實時調用執(zhí)行,同時可以被 PLC、C/C++ 封裝的 TcCOM 的接口進行調用!如果神經網絡較小,如權值大小為 10K 的多層感知器(MLP)可以在一個亞毫秒的任務周期中多次調用,以確保實時性!
同時,TwinCAT 3 本身所提供的支持多核技術也同樣適用于機器學習應用,不同的任務程序可以訪問同一個特定的 TwinCAT 3 推理引擎而不會相互限制。機器學習應用完全可以訪問 TwinCAT 中所有可用的現場總線接口和數據,這將使其能夠使用到大量數據。
TwinCAT 3 現在有兩個機器學習推理引擎,TF380x TC3 和 TF381x TC3,前者是經典機器學習模型的推理引擎,包括支持向量機(SVM), 主成分分析(PCA), k 均值(k-means)等,后者是神經網絡(NN)推理引擎,包括多層感知器(MPL),卷積神經網絡(CNN),長短期記憶模型(LSTM)等。
第一步
就是要采集數據,包括工件的位置、速度、加速度、時間等,把這些數據收集存儲起來,以便下一步優(yōu)化。
第二步
提取步驟一里面的特征數據建立模型,用 𝑝(𝑡) 來作為優(yōu)化準則,通過神經網絡算法來循環(huán)迭代,監(jiān)督學習訓練模型。
第三步
將訓練好的模型通過 ONNX 文件部署到 TwinCAT 3 里,從而通過控制器實現最優(yōu)的運動曲線。
首先,通過 TwinCAT 3 Scope 來采集大量風扇正常情況下的壓力、轉速、振動等數據,然后用 MATLAB 來讀取這些數據,使用 one-class SVM(一類支持向量機)模型來訓練,等模型學習了大量正常數據后,就會自動產生一個正常數據的邊界。最后將模型從 MATLAB 導出為一個 ONNX 文件,轉換后加載到控制器的TwinCAT 3 中。這樣,當采集的數據超出邊界時,控制器就會檢測到風扇發(fā)生了異常狀況。
這個應用看上去是十分簡單的,但是這其中最難的一部分是特征數據的挖掘和提取,也就是常說的特征工程。至于數據的采集、模型的創(chuàng)建、訓練,以及最后的控制器上的運行,已經有很多現存的工具和平臺,比如 MATLAB 和倍福的 TwinCAT 3。站在這些“巨人”的肩膀上,你只要專注用工業(yè)現場知識和經驗,就可以輕松將機器學習這一“高大上”的新技術引入到工業(yè)自動化之中。
關于德國倍福
倍福(Beckhoff)公司總部位于德國威爾市。作為全球自動化技術的驅動者,倍福定義了自動化領域的許多國際標準。公司所生產的工業(yè) PC、現場總線模塊、驅動產品和TwinCAT自動化軟件構成了一套完整的、相互兼容的控制系統(tǒng),可為各個工控領域提供開放式自動化系統(tǒng)和完整的解決方案。倍福于1997年進入中國市場,致力于幫助制造企業(yè)提升競爭優(yōu)勢,加速轉型升級。倍福在業(yè)內享有“創(chuàng)新引擎”的美譽,公司所倡導的PC控制技術具有良好的開放性,將IT技術、互聯網和自動化技術完美融合,助力實現工業(yè) 4.0 和智能制造。憑借領先的技術優(yōu)勢和豐富的行業(yè)知識,倍福的創(chuàng)新產品和解決方案廣泛應用于風力發(fā)電、半導體、光伏太陽能、電子制造、金屬加工、包裝機械、物流輸送以及樓宇自控等眾多領域。
更多信息,請登錄 Beckhoff 中文官方網站:www.beckhoff.com.cn