日韩不卡精品久久_每日更新亚洲超清精品_黄色视频观看一区_色九月亚洲综合网_欧美中文国产字幕_欧美亚洲国产成人影院_漂亮被中出中文字幕色_菠萝蜜视频网在线www_污视频三级片在线观看_日韩欧美国产成人精品高清综合网

首頁 - 關(guān)于我們 - 新聞活動 - 如何將機(jī)器學(xué)習(xí)引入自動化?原來只需要這三步!

如何將機(jī)器學(xué)習(xí)引入自動化?原來只需要這三步!

2021-6-25新聞



說現(xiàn)在最熱門的前沿技術(shù),那非人工智能(AI)莫屬。而人工智能的核心卻是機(jī)器學(xué)習(xí)(ML)??梢哉f,掌握了機(jī)器學(xué)習(xí),我們朝著人工智能又邁近了一步。




那么,對于工業(yè)用戶來說,如何將機(jī)器學(xué)習(xí)引入到自動化領(lǐng)域,突破傳統(tǒng)自動化技術(shù)發(fā)展的天花板呢?面對人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)……這些深奧的概念,如何快速了解和掌握呢?

這篇只需 5 分鐘就能閱讀完畢的文章,讓您輕松掌握機(jī)器學(xué)習(xí)的概念、關(guān)鍵技術(shù)、如何應(yīng)用到工業(yè)自動化之中等內(nèi)容!

首 先

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

image.png


這是兩個相同的直線加圓弧的傳輸軌道,但我們可以看到,左邊軌道上的工件輸送十分平緩,而右邊軌道上的工件傳輸很不平穩(wěn),加速很急,產(chǎn)品都快要被甩出去了。這不僅對軌道上的工件影響很大,而且軌道自身的磨損也很嚴(yán)重,右邊軌道上工件運(yùn)動曲線的設(shè)計(jì)顯然不如左邊的傳輸軌道。



那如何才能設(shè)計(jì)出左邊這樣的運(yùn)動曲線呢?這里就需要用到機(jī)器學(xué)習(xí),通過對工件多次的速度、加速度、位置等信息的記錄,再經(jīng)過建立數(shù)據(jù)模型,不斷優(yōu)化(訓(xùn)練)模型,最后得出一個最佳的運(yùn)動曲線。為何要用機(jī)器學(xué)習(xí)來設(shè)計(jì)呢,這是因?yàn)檫@樣的運(yùn)動曲線設(shè)計(jì)并沒有現(xiàn)存的曲線(如正圓、橢圓、漸開線等),也不能通過數(shù)學(xué)方程計(jì)算出來,所以只有借助機(jī)器學(xué)習(xí)的“算法模型加訓(xùn)練”來求解出來。



看完這個例子,您對機(jī)器學(xué)習(xí)的作用應(yīng)該有了一個初步認(rèn)識。下面我們再來理解幾個常見概念。


人工智能(AI)

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

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

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

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

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


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

image.png
簡單理解,機(jī)器學(xué)習(xí)就是通過根據(jù)各類算法建立數(shù)學(xué)模型,然后通過數(shù)據(jù)不斷訓(xùn)練模型,提高模型準(zhǔn)確性,最后將訓(xùn)練好的模型放到實(shí)際應(yīng)用場景中運(yùn)行做推理計(jì)算,解決用普通數(shù)學(xué)方法難以解決的實(shí)際問題。

所以我們可以總結(jié)一下,將機(jī)器學(xué)習(xí)引入到工業(yè)自動化中,需要三步:收集工業(yè)現(xiàn)場數(shù)據(jù)、建立模型并訓(xùn)練模型、下載到實(shí)際應(yīng)用中運(yùn)行,如下圖所示:

image.png

看上去是不是過程很簡單?

當(dāng)然了,實(shí)際使用過程并非如此簡單,每個環(huán)節(jié)都會涉及到專業(yè)知識和工具,下面我們就來一一展開介紹一下,讓你不僅入門,而且成為“專家”!


第 // 步

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

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

第 // 步

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

這一步是至關(guān)重要的一步,也是目前機(jī)器學(xué)習(xí)中最難、研究最多的一步。這一步里首先需要對上一步采集到的數(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)出一個可供 TwinCAT3 等模型運(yùn)行環(huán)境的描述文件:XML 文件或者 ONNX 文件。這一步中特征數(shù)據(jù)的挖掘,也就是提取哪些數(shù)據(jù)來建模是整個機(jī)器學(xué)習(xí)能否成功的關(guān)鍵,往往需要精通行業(yè)知識經(jīng)驗(yàn)的人才能做到。

image.png

在這一步中,搭建模型時(shí)往往需要用到第三方框架(平臺工具),比如:Python SciKit、MATLAB Machine Learning Toolbox,以及深度學(xué)習(xí)框架TensorFlow (谷歌)、Keras (frontend for TensorFlow, CNTK, …)、PyTorch (臉書)、MxNet (亞馬遜)、CNTK (微軟)、MATLAB Deep Learning Toolbox (MathWorks) 等,其中大多數(shù)是開源的和基于 Python 的。
image.png
當(dāng)然,除了這些框架外,還有一個重要的事,數(shù)學(xué)模型的選擇和建立。在數(shù)學(xué)上,可以把萬事萬物所有問題分為兩大問題:回歸問題和分類問題。回歸問題通常是用來預(yù)測一個值,如預(yù)測房價(jià)、未來的天氣情況等。分類問題是用于將事物打上一個標(biāo)簽,通常結(jié)果為離散值,如判斷一幅圖片上的動物是一只貓還是一只狗。解決這兩類問題需要用到不同的數(shù)學(xué)模型,比如常見的有支持向量機(jī)(SVM)、神經(jīng)網(wǎng)絡(luò)、決策樹和隨機(jī)森林、線性回歸、貝葉斯線性回歸等,這些模型在框架中是現(xiàn)存的,可以直接使用。

在這里,還需要提到一個知識點(diǎn),那就是 ONNX 開放神經(jīng)網(wǎng)絡(luò)交換文件,這是一種針對機(jī)器學(xué)習(xí)所設(shè)計(jì)的開放式文件格式,用于存儲訓(xùn)練好的模型。它使得不同的人工智能框架(如Pytorch,MXNet)可以采用相同格式存儲模型數(shù)據(jù)并交互。主要由微軟,亞馬遜 ,F(xiàn)acebook 和 IBM 等公司共同開發(fā)。
??????

第 // 步

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

說完了模型搭建和模型訓(xùn)練后,最后一步就是將模型加載到工業(yè)電腦或者控制器中運(yùn)行計(jì)算。由于模型描述文件并不能被工業(yè)控制器所識別,所以就需要用到像倍福 TwinCAT 3 這樣的自動化控制軟件平臺作為引擎,將訓(xùn)練好的模型文件加載到控制器,才能在自動化中應(yīng)用機(jī)器學(xué)習(xí)。

目前、TwinCAT 3 已經(jīng)無縫集成了機(jī)器學(xué)習(xí)引擎接口。可以通過機(jī)器學(xué)習(xí)文件轉(zhuǎn)換器(ML Converter)把訓(xùn)練生成的模型文件 XML 或者 ONNX 轉(zhuǎn)化成 BML (倍福的機(jī)器學(xué)習(xí)文件)進(jìn)行加密保護(hù),經(jīng)過 TwinCAT 3 的 ML Runtime 進(jìn)行加載,這樣已訓(xùn)練好的模型就可以被 TwinCAT TcCOM 對象進(jìn)行實(shí)時(shí)調(diào)用執(zhí)行,同時(shí)可以被 PLC、C/C++ 封裝的 TcCOM 的接口進(jìn)行調(diào)用!如果神經(jīng)網(wǎng)絡(luò)較小,如權(quán)值大小為 10K 的多層感知器(MLP)可以在一個亞毫秒的任務(wù)周期中多次調(diào)用,以確保實(shí)時(shí)性!


??????


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

??????


TwinCAT 3 現(xiàn)在有兩個機(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),長短期記憶模型(LSTM)等。


舉個

例子

最優(yōu)運(yùn)動曲線是如何“機(jī)器學(xué)習(xí)”出來的?


看完了上面的一般性方法介紹,下面我們再拿文章開頭的那個傳輸軌道最優(yōu)運(yùn)動曲線是如何通過機(jī)器學(xué)習(xí)來進(jìn)行優(yōu)化的。

首先,將這個運(yùn)動曲線優(yōu)化的問題轉(zhuǎn)化為數(shù)學(xué)問題,在一定的時(shí)間內(nèi),從 pi 順時(shí)針到 pf 找到最優(yōu)(最柔和)的運(yùn)動曲線,運(yùn)動過程中加速度要盡量小。


??????


1

第一步


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

??????


2

第二步


提取步驟一里面的特征數(shù)據(jù)建立模型,用  ??(??)  來作為優(yōu)化準(zhǔn)則,通過神經(jīng)網(wǎng)絡(luò)算法來循環(huán)迭代,監(jiān)督學(xué)習(xí)訓(xùn)練模型。
??????


3

第三步


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

??????



舉個

例子

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


通常,我們通過大數(shù)據(jù)分析來做預(yù)測性維護(hù),需要很多故障數(shù)據(jù),可工業(yè)實(shí)際場景中往往沒有太多故障數(shù)據(jù),比如一個風(fēng)機(jī)在開始幾年并不太會有故障,只有到后期才有故障數(shù)據(jù)??墒牵ㄟ^機(jī)器學(xué)習(xí)的方法,就可以解決這個問題,在無需故障數(shù)據(jù)的情況做到故障檢測。

比如,要檢測下圖服務(wù)器工作站上的風(fēng)扇是否有異常,就可以通過機(jī)器學(xué)習(xí)來做。

??????

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

- END -