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