要說現在最熱門的前沿技術,那非人工智能(AI)莫屬。而人工智能的核心卻是機器學習(ML)。可以說,掌握了機器學習,也就掌握了人工智能技術。
今天,筆者嘗試通過一個一般性方法的介紹來談談如何將機器學習引入自動化,同時對機器學習的相關概念做一個梳理。
簡單理解,機器學習就是通過根據各類算法建立數學模型,然后通過數據不斷訓練(優化)模型,最后將訓練好的模型放到實際應用場景中運行做推理計算,解決用普通數學方法難以解決的實際問題。
將機器學習引入到工業自動化中通常需要三步:收集工業現場數據、建立模型并訓練模型、下載到實際應用中運行。聽上去是不是很簡單?
當然了,實際使用過程并非如此簡單,每個環節都會涉及到專業知識和工具。
首先,是數據收集階段,要通過各類傳感器和測試測量工具來采集現場數據,這個環節就會用到我們原先自動化控制中的很多數采產品,利用這些工具將數據采集到本地數據庫或者云端存儲,以便下一步來建模和訓練。
然后,第二步是模型的搭建和訓練。這是至關重要的一步,也是目前機器學習中最難、研究最多的一步。這一步首先需要對上一步采集到的數據進行預處理,除去異常值等。然后,提取特征數據確定數學模型,進行學習微調,并進行未知數據的學習模型驗證。模型訓練完成后,生成導出一個可供自動化控制軟件運行的描述文件,通常是XML文件或者ONNX文件。這一步中特征數據的挖掘,也就是提取哪些數據來建模是整個機器學習能否成功的關鍵,往往需要精通行業知識經驗的人才能做到。
在這一步中,搭建模型時往往需要用到第三方框架(平臺工具),比如:Python SciKit、MATLAB Machine Learning Toolbox,以及深度學習框架TensorFlow (谷歌)、PyTorch (臉書)、MxNet (亞馬遜)、CNTK (微軟)、MATLAB Deep Learning Toolbox (MathWorks)等,其中大多數是開源的和基于Python的。
當然,除了這些框架外,還有一個重要的事,數學模型的選擇和建立。在數學上,可以把萬事萬物所有問題分為兩大問題:回歸問題和分類問題。回歸問題通常是用來預測一個值,如預測房價、未來的天氣情況等。分類問題是用于將事物打上一個標簽,通常結果為離散值,如判斷一幅圖片上的動物是一只貓還是一只狗。解決這兩類問題需要用到不同的數學模型,比如常見的有支持向量機(SVM)、神經網絡、決策樹和隨機森林、線性回歸、貝葉斯線性回歸等,這些模型在框架中是現存的,可以直接使用。
在這里,還需要提到一個知識點,那就是ONNX開放神經網絡交換文件,這是一種針對機器學習所設計的開放式文件格式,用于存儲訓練好的模型。它使得不同的人工智能框架(如Pytorch,MXNet)可以采用相同格式存儲模型數據并交互。主要由微軟,亞馬遜 ,Facebook 和 IBM 等公司共同開發。
最后,第三步是加載模型到控制器里運行。由于模型描述文件并不能被工業控制器所識別,所以就需要用到像倍福TwinCAT 3、貝加萊Automation Studio軟件這樣的自動化控制軟件平臺作為引擎,將訓練好的模型文件加載到控制器,才能在自動化中應用機器學習。
從這么三步來看,似乎機器學習在自動化中應用起來還是挺簡單的。當然在實際操作中,特征數據的挖掘提取、模型的建立和訓練是最難的兩步,好在目前建模工具和算法已經十分豐富和成熟,而且我們領先的幾家自動化廠商也在自己的軟件中無縫集成了機器學習模型的導入。這樣看來,機器學習進入自動化領域已經一路坦途,突破自動化技術發展的“天花板”指日可待了!
責任編輯:YYX
-
工業自動化
+關注
關注
17文章
2308瀏覽量
67181 -
機器學習
+關注
關注
66文章
8381瀏覽量
132431
發布評論請先 登錄
相關推薦
評論