技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 前沿技術(shù) | 如何將機(jī)器學(xué)習(xí)引入自動(dòng)化?原來(lái)只需要這三步!

前沿技術(shù) | 如何將機(jī)器學(xué)習(xí)引入自動(dòng)化?原來(lái)只需要這三步!

時(shí)間:2020-10-16 16:31:52來(lái)源:德國(guó)倍福自動(dòng)化有限公司

導(dǎo)語(yǔ):?說(shuō)現(xiàn)在最熱門(mén)的前沿技術(shù),那非人工智能(AI)莫屬。而人工智能的核心卻是機(jī)器學(xué)習(xí)(ML)??梢哉f(shuō),掌握了機(jī)器學(xué)習(xí),也就掌握了人工智能技術(shù)。

說(shuō)現(xiàn)在最熱門(mén)的前沿技術(shù),那非人工智能(AI)莫屬。而人工智能的核心卻是機(jī)器學(xué)習(xí)(ML)。可以說(shuō),掌握了機(jī)器學(xué)習(xí),也就掌握了人工智能技術(shù)。

那么,對(duì)于工業(yè)用戶(hù)來(lái)說(shuō),如何將機(jī)器學(xué)習(xí)引入到自動(dòng)化領(lǐng)域,突破傳統(tǒng)自動(dòng)化技術(shù)發(fā)展的天花板呢?面對(duì)人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)……這些深?yuàn)W的概念,如何快速了解和掌握呢?
這篇只需 5 分鐘就能閱讀完畢的文章,讓您輕松掌握機(jī)器學(xué)習(xí)的概念、關(guān)鍵技術(shù)、如何應(yīng)用到工業(yè)自動(dòng)化之中等內(nèi)容!

,我們來(lái)看一個(gè),用機(jī)器學(xué)習(xí)進(jìn)行優(yōu)化的一個(gè)運(yùn)動(dòng)控制案例,以便你對(duì)機(jī)器學(xué)習(xí)有一個(gè)感性的認(rèn)識(shí)。

 

這是兩個(gè)相同的直線(xiàn)加圓弧的傳輸軌道,但我們可以看到,左邊軌道上的工件輸送十分平緩,而右邊軌道上的工件傳輸很不平穩(wěn),加速很急,產(chǎn)品都快要被甩出去了。這不僅對(duì)軌道上的工件影響很大,而且軌道自身的磨損也很?chē)?yán)重,右邊軌道上工件運(yùn)動(dòng)曲線(xiàn)的設(shè)計(jì)顯然不如左邊的傳輸軌道。
那如何才能設(shè)計(jì)出左邊這樣的運(yùn)動(dòng)曲線(xiàn)呢?這里就需要用到機(jī)器學(xué)習(xí),通過(guò)對(duì)工件多次的速度、加速度、位置等信息的記錄,再經(jīng)過(guò)建立數(shù)據(jù)模型,不斷優(yōu)化(訓(xùn)練)模型,最后得出一個(gè)最佳的運(yùn)動(dòng)曲線(xiàn)。為何要用機(jī)器學(xué)習(xí)來(lái)設(shè)計(jì)呢,這是因?yàn)檫@樣的運(yùn)動(dòng)曲線(xiàn)設(shè)計(jì)并沒(méi)有現(xiàn)存的曲線(xiàn)(如正圓、橢圓、漸開(kāi)線(xiàn)等),也不能通過(guò)數(shù)學(xué)方程計(jì)算出來(lái),所以只有借助機(jī)器學(xué)習(xí)的算法模型加訓(xùn)練來(lái)求解出來(lái)。

看完這個(gè)例子,您對(duì)機(jī)器學(xué)習(xí)的作用應(yīng)該有了一個(gè)初步認(rèn)識(shí)。下面我們?cè)賮?lái)理解幾個(gè)常見(jiàn)概念。

人工智能(AI)

能夠模仿人智力的智能,分為弱 AI 和強(qiáng) AI,目前AI處于弱AI階段。

機(jī)器學(xué)習(xí)(ML)

達(dá)到弱 AI 的水平,基于可以通過(guò)訓(xùn)練數(shù)據(jù)學(xué)習(xí)特定任務(wù)的數(shù)學(xué)模型進(jìn)行優(yōu)化。

深度學(xué)習(xí)(DL)

專(zhuān)注于深度神經(jīng)網(wǎng)絡(luò)(DNN)作為模型,需要大量數(shù)據(jù)集進(jìn)行訓(xùn)練的復(fù)雜模型,目前主要用于強(qiáng)大的視覺(jué)應(yīng)用。

三者的關(guān)系是從屬關(guān)系,如下圖所示:

 人工智能

簡(jiǎn)單理解,機(jī)器學(xué)習(xí)就是通過(guò)根據(jù)各類(lèi)算法建立數(shù)學(xué)模型,然后通過(guò)數(shù)據(jù)不斷訓(xùn)練模型,提高模型準(zhǔn)確性,最后將訓(xùn)練好的模型放到實(shí)際應(yīng)用場(chǎng)景中運(yùn)行做推理計(jì)算,解決用普通數(shù)學(xué)方法難以解決的實(shí)際問(wèn)題。
所以我們可以總結(jié)一下,將機(jī)器學(xué)習(xí)引入到工業(yè)自動(dòng)化中,需要三步:收集工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)、建立模型并訓(xùn)練模型、下載到實(shí)際應(yīng)用中運(yùn)行,如下圖所示:

人工智能

看上去是不是過(guò)程很簡(jiǎn)單?
當(dāng)然了,實(shí)際使用過(guò)程并非如此簡(jiǎn)單,每個(gè)環(huán)節(jié)都會(huì)涉及到專(zhuān)業(yè)知識(shí)和工具,下面我們就來(lái)一一展開(kāi)介紹一下,讓你不僅入門(mén),而且成為專(zhuān)家!

 /

收集工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)

首先,在數(shù)據(jù)收集階段,就是要通過(guò)各類(lèi)傳感器和測(cè)試測(cè)量工具來(lái)采集現(xiàn)場(chǎng)數(shù)據(jù),這個(gè)環(huán)節(jié)就會(huì)用到我們自動(dòng)化控制中的很多產(chǎn)品,比如像倍福的 TwinCAT3 ScopeTwinCAT3 Database Server、TwinCAT3 Data Agent TwinCAT3 Analytics Logger 等工具,可以利用這些工具將數(shù)據(jù)采集到本地?cái)?shù)據(jù)庫(kù)或者云端存儲(chǔ)、呈現(xiàn),以便下一步來(lái)建模和訓(xùn)練。

 人工智能

 /

模型的搭建和訓(xùn)練

這一步是至關(guān)重要的一步,也是目前機(jī)器學(xué)習(xí)中最難、研究最多的一步。這一步里首先需要對(duì)上一步采集到的數(shù)據(jù)進(jìn)行預(yù)處理,數(shù)據(jù)清洗除去異常值,數(shù)據(jù)轉(zhuǎn)化或者數(shù)據(jù)集成等。然后,選擇特征數(shù)據(jù)確定數(shù)學(xué)模型,進(jìn)行學(xué)習(xí)微調(diào),并進(jìn)行未知數(shù)據(jù)的學(xué)習(xí)模型驗(yàn)證。模型訓(xùn)練后,生成導(dǎo)出一個(gè)可供 TwinCAT3 等模型運(yùn)行環(huán)境的描述文件:XML 文件或者 ONNX 文件。這一步中特征數(shù)據(jù)的挖掘,也就是提取哪些數(shù)據(jù)來(lái)建模是整個(gè)機(jī)器學(xué)習(xí)能否成功的關(guān)鍵,往往需要精通行業(yè)知識(shí)經(jīng)驗(yàn)的人才能做到。

 人工智能

在這一步中,搭建模型時(shí)往往需要用到第三方框架(平臺(tái)工具),比如:Python SciKit、MATLAB Machine Learning Toolbox,以及深度學(xué)習(xí)框架TensorFlow (谷歌)、Keras (frontend for TensorFlow, CNTK, …)、PyTorch (臉書(shū))、MxNet (亞馬遜)、CNTK (微軟)、MATLAB Deep Learning Toolbox (MathWorks) 等,其中大多數(shù)是開(kāi)源的和基于 Python 的。

 人工智能

當(dāng)然,除了這些框架外,還有一個(gè)重要的事,數(shù)學(xué)模型的選擇和建立。在數(shù)學(xué)上,可以把萬(wàn)事萬(wàn)物所有問(wèn)題分為兩大問(wèn)題:回歸問(wèn)題和分類(lèi)問(wèn)題?;貧w問(wèn)題通常是用來(lái)預(yù)測(cè)一個(gè)值,如預(yù)測(cè)房?jī)r(jià)、未來(lái)的天氣情況等。分類(lèi)問(wèn)題是用于將事物打上一個(gè)標(biāo)簽,通常結(jié)果為離散值,如判斷一幅圖片上的動(dòng)物是一只貓還是一只狗。解決這兩類(lèi)問(wèn)題需要用到不同的數(shù)學(xué)模型,比如常見(jiàn)的有支持向量機(jī)(SVM)、神經(jīng)網(wǎng)絡(luò)、決策樹(shù)和隨機(jī)森林、線(xiàn)性回歸、貝葉斯線(xiàn)性回歸等,這些模型在框架中是現(xiàn)存的,可以直接使用。
在這里,還需要提到一個(gè)知識(shí)點(diǎn),那就是 ONNX 開(kāi)放神經(jīng)網(wǎng)絡(luò)交換文件,這是一種針對(duì)機(jī)器學(xué)習(xí)所設(shè)計(jì)的開(kāi)放式文件格式,用于存儲(chǔ)訓(xùn)練好的模型。它使得不同的人工智能框架(如PytorchMXNet)可以采用相同格式存儲(chǔ)模型數(shù)據(jù)并交互。主要由微軟,亞馬遜 ,Facebook IBM 等公司共同開(kāi)發(fā)。

 人工智能

 /

加載模型到控制器里運(yùn)行

說(shuō)完了模型搭建和模型訓(xùn)練后,最后一步就是將模型加載到工業(yè)電腦或者控制器中運(yùn)行計(jì)算。由于模型描述文件并不能被工業(yè)控制器所識(shí)別,所以就需要用到像倍福 TwinCAT 3 這樣的自動(dòng)化控制軟件平臺(tái)作為引擎,將訓(xùn)練好的模型文件加載到控制器,才能在自動(dòng)化中應(yīng)用機(jī)器學(xué)習(xí)。
目前、TwinCAT 3 已經(jīng)無(wú)縫集成了機(jī)器學(xué)習(xí)引擎接口??梢酝ㄟ^(guò)機(jī)器學(xué)習(xí)文件轉(zhuǎn)換器(ML Converter)把訓(xùn)練生成的模型文件 XML 或者 ONNX 轉(zhuǎn)化成 BML (倍福的機(jī)器學(xué)習(xí)文件)進(jìn)行加密保護(hù),經(jīng)過(guò) TwinCAT 3 ML Runtime 進(jìn)行加載,這樣已訓(xùn)練好的模型就可以被 TwinCAT TcCOM 對(duì)象進(jìn)行實(shí)時(shí)調(diào)用執(zhí)行,同時(shí)可以被 PLCC/C++ 封裝的 TcCOM 的接口進(jìn)行調(diào)用!如果神經(jīng)網(wǎng)絡(luò)較小,如權(quán)值大小為 10K 的多層感知器(MLP)可以在一個(gè)亞毫秒的任務(wù)周期中多次調(diào)用,以確保實(shí)時(shí)性!

 人工智能

同時(shí),TwinCAT 3 本身所提供的支持多核技術(shù)也同樣適用于機(jī)器學(xué)習(xí)應(yīng)用,不同的任務(wù)程序可以訪(fǎng)問(wèn)同一個(gè)特定的 TwinCAT 3 推理引擎而不會(huì)相互限制。機(jī)器學(xué)習(xí)應(yīng)用完全可以訪(fǎng)問(wèn) TwinCAT 中所有可用的現(xiàn)場(chǎng)總線(xiàn)接口和數(shù)據(jù),這將使其能夠使用到大量數(shù)據(jù)。

 人工智能

TwinCAT 3 現(xiàn)在有兩個(gè)機(jī)器學(xué)習(xí)推理引擎,TF380x TC3 TF381x TC3,前者是經(jīng)典機(jī)器學(xué)習(xí)模型的推理引擎,包括支持向量機(jī)(SVM), 主成分分析(PCA), k 均值(k-means)等,后者是神經(jīng)網(wǎng)絡(luò)(NN)推理引擎,包括多層感知器(MPL,卷積神經(jīng)網(wǎng)絡(luò)(CNN,長(zhǎng)短期記憶模型(LSTM)等。

舉個(gè)例子

最優(yōu)運(yùn)動(dòng)曲線(xiàn)是如何機(jī)器學(xué)習(xí)出來(lái)的?

看完了上面的一般性方法介紹,下面我們?cè)倌梦恼麻_(kāi)頭的那個(gè)傳輸軌道最優(yōu)運(yùn)動(dòng)曲線(xiàn)是如何通過(guò)機(jī)器學(xué)習(xí)來(lái)進(jìn)行優(yōu)化的。
首先,將這個(gè)運(yùn)動(dòng)曲線(xiàn)優(yōu)化的問(wèn)題轉(zhuǎn)化為數(shù)學(xué)問(wèn)題,在一定的時(shí)間內(nèi),從 pi 順時(shí)針到 pf 找到最優(yōu)(最柔和)的運(yùn)動(dòng)曲線(xiàn),運(yùn)動(dòng)過(guò)程中加速度要盡量小。

 人工智能

第一步

就是要采集數(shù)據(jù),包括工件的位置、速度、加速度、時(shí)間等,把這些數(shù)據(jù)收集存儲(chǔ)起來(lái),以便下一步優(yōu)化。

 人工智能

第二步

提取步驟一里面的特征數(shù)據(jù)建立模型

人工智能

第三步

將訓(xùn)練好的模型通過(guò) ONNX 文件部署到 TwinCAT 3 里,從而通過(guò)控制器實(shí)現(xiàn)最優(yōu)的運(yùn)動(dòng)曲線(xiàn)。

 人工智能

舉個(gè)例子

一個(gè)不需要故障數(shù)據(jù)的風(fēng)扇異常檢測(cè)

通常,我們通過(guò)大數(shù)據(jù)分析來(lái)做預(yù)測(cè)性維護(hù),需要很多故障數(shù)據(jù),可工業(yè)實(shí)際場(chǎng)景中往往沒(méi)有太多故障數(shù)據(jù),比如一個(gè)風(fēng)機(jī)在開(kāi)始幾年并不太會(huì)有故障,只有到后期才有故障數(shù)據(jù)。可是,通過(guò)機(jī)器學(xué)習(xí)的方法,就可以解決這個(gè)問(wèn)題,在無(wú)需故障數(shù)據(jù)的情況做到故障檢測(cè)。
比如,要檢測(cè)下圖服務(wù)器工作站上的風(fēng)扇是否有異常,就可以通過(guò)機(jī)器學(xué)習(xí)來(lái)做。

 人工智能

首先,通過(guò) TwinCAT 3 Scope 來(lái)采集大量風(fēng)扇正常情況下的壓力、轉(zhuǎn)速、振動(dòng)等數(shù)據(jù),然后用 MATLAB 來(lái)讀取這些數(shù)據(jù),使用 one-class SVM(一類(lèi)支持向量機(jī))模型來(lái)訓(xùn)練,等模型學(xué)習(xí)了大量正常數(shù)據(jù)后,就會(huì)自動(dòng)產(chǎn)生一個(gè)正常數(shù)據(jù)的邊界。最后將模型從 MATLAB 導(dǎo)出為一個(gè) ONNX 文件,轉(zhuǎn)換后加載到控制器的TwinCAT 3 中。這樣,當(dāng)采集的數(shù)據(jù)超出邊界時(shí),控制器就會(huì)檢測(cè)到風(fēng)扇發(fā)生了異常狀況。
這個(gè)應(yīng)用看上去是十分簡(jiǎn)單的,但是這其中最難的一部分是特征數(shù)據(jù)的挖掘和提取,也就是常說(shuō)的特征工程。至于數(shù)據(jù)的采集、模型的創(chuàng)建、訓(xùn)練,以及最后的控制器上的運(yùn)行,已經(jīng)有很多現(xiàn)存的工具和平臺(tái),比如 MATLAB 和倍福的 TwinCAT 3。站在這些巨人的肩膀上,你只要專(zhuān)注用工業(yè)現(xiàn)場(chǎng)知識(shí)和經(jīng)驗(yàn),就可以輕松將機(jī)器學(xué)習(xí)這一高大上的新技術(shù)引入到工業(yè)自動(dòng)化之中。

標(biāo)簽: 倍福自動(dòng)化人工智能

點(diǎn)贊

分享到:

上一篇:前沿 | 機(jī)器視覺(jué)——工業(yè)自動(dòng)...

下一篇:五大問(wèn)題讓你快速了解工業(yè)互聯(lián)

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。