大量的研究和應用偏向與大數據和市場營銷,而我們希望回歸制造業本身,聊一聊如何將人工智能應用于過程工業的核心領域:過程控制。
過程控制數據分析與PCA
過程控制或質量控制是監控和調整工業制造過程以保持預期生產結果、優化生產效率的實踐。
也許你不熟悉制造業,沒關系,你很可能聽說過六西格瑪。六西格瑪最初是制造業使用統計技術進行質量控制和過程改進的一套工具。
直至今天,過程工程師們仍然在使用以六西格瑪為代表的的統計過程控制(Statistical Process Control,SPC)監控制造過程的許多樣本,例如芯片制造過程中測量的關鍵尺寸、化學反應器內的溫度等。工程師們在控制圖(controlchart)中通過可視化來研究生產過程的能力(ProcessCapability),并從統計學角度分析樣本,使用均值、標準差/也就是西格瑪,以及低于下閾值或高于上閾值的估計概率。

Process Capability
mu—Sample mean
sigma—Sample standard deviation
Pl—Estimated probability of being below Lower
Pu—Estimated probability of being above Upper
Cp—(U-L)/(6*sigma)
Cpl—(mu-L)./(3.*sigma)
Cpu—(U-mu)./(3.*sigma)
Cpk—min(Cpl,Cpu)
(p.s.MATLAB提供易用的過程控制分析工具,但統計過程控制也有其局限性:不能測量太多的變量,不能識別問題的來源,不能確定解決方案,典型的SPC分析需要專家等。
那么,人工智能能否幫助突破統計過程控制的這些限制嗎?答案是肯定的。機器學習技術可以補能傳統的統計過程控制。原因是:過程數據通常涉及來自不同來源的大量變量,這通常比大量觀測更難處理。
如何確定需要關注的主要變量是什么?它們對這個過程有什么影響?以及如何控制這些變量,以便始終如一地實現高質量并保持低成本?
而機器學習可以幫助處理大量變量。例如,主成分分析(PCA)和潛在結構投影(PLS)非常適合分析和理解過程數據。這些算法通過探索變量之間的相關性來識別重要因素,幫助我們優化流程并找到最佳操作參數。
機器學習還可以從歷史數據中學習,適用于處理分類、回歸、識別非線性模式和異常檢測等任務。
2、利用SVM進行過程監控
在電解銅生產過程中,一年內每天測量兩個銅樣品,并記錄八種金屬雜質(Ag/銀、Ni/鎳、Pb/鉛、Bi/鉍、Sb/銻、As/砷、Te/碲、Se/硒)的水平。
我們可以應用控制圖,通過評估過程可變性來監測和改進產品或過程。
識別過程異常的一種更強大的方法是應用無監督異常檢測,例如OneClassSVM。無監督方法不需要標記異常,但您需要了解異常發生的頻率。
下圖為OneClassSVM檢測四種金屬雜質的結果:

這種方法也可以方便地擴展為針對流式數據的增量學習模型,使用MATLAB統計和機器學習工具箱提供的incrementalOneClassSVM模型對動態采集的數據進行分析和異常檢測。
Mdl=incrementalOneClassSVM();
[Mdl,isAnom,scores]=fit(Mdl,Xtrain);
3、MATLAB低代碼工具幫助你快速開始AI開發
對于制造業的工程師和領域專家來說,在使用AI這種新型技術工具時,并不希望有過高的門檻,例如人工智能背景知識、編程技能等。
MATLAB為領域專家們提供了一個端到端的低代碼開發工作流程,從數據準備、人工智能建模到系統仿真和部署。你可以快速開始使用現成的人工智能算法,使用低代碼應用程序標記數據,配置和訓練人工智能模型。
根據數據和任務復雜度,可以在機器學習模型或深度神經網絡之間選擇合適的方法,對于過程控制中所使用的結構化數據,機器學習方法能夠提供訓練過程相對快捷且部署難度低的模型。
以機器學習為例,讓我們詳細介紹一下工作流程和常用工具:
首先,我們需要將數據導入MATLAB工作區,如果數據集太大無法直接導入內存,可以使用數據存儲對象Datastore索引存儲在本地或遠程文件系統中的數據,并增量式地讀取數據片段。
在開始構建任何模型之前,很重要的一步是數據探查,了解數據結構、對感興趣變量進行可視化、查看數據分布,必要時,清除缺失值或異常值,進行標準化處理,在MATLAB中使用LiveTasks或dataCleaner應用程序可交互式地執行此步驟。
接下來,提取并選擇合適的特征以供模型學習很重要,這取決于具體應用,這一步驟可能需要圖像或信號處理技術以及統計分析等方法。
一旦數據集或特征準備就緒,您就可以使用交互式應用程序(如分類學習器或回歸學習器應用程序)并行訓練和比較模型。
為了更有效地建立模型,我們可以使用AutoML并結合小波散射來自動提取性能特征,優化超參數以選擇最佳模型。
最后,可以使用Simulink對模型進行測試,并使用自動代碼生成工具,將模型部署到目標硬件。或者對于內存或計算密集型模型,可以在云端訓練模型并部署。

作為這些工具的補充,MATLAB提供了更多其他交互式應用程序。
例如,在數據準備過程中,您可以使用不同的數據標注應用程序來處理不同類型的數據,包括圖像、視頻、信號、點云等。
使用診斷特征設計器應用程序,您可以提取統計和頻譜特征,并按照重要性對特征進行排序。
進入建模階段后,除了機器學習應用程序,我們還可以使用深度網絡設計器構建神經網絡,并使用實驗管理器執行超參數優化。
此外,還有更多的領域應用程序可供您探索和利用,以加快人工智能驅動的系統設計。
交互式應用程序可以簡化工作流程,但算法或模型選擇可能需要反復迭代試錯。
4、先進過程控制與MPC
在分析了制造過程后,我們需要將觀察結果有效地反饋并控制生產過程,這至關重要。模型預測控制(MPC)是許多工業制造應用中先進過程控制(APC)的成熟技術。
連續反應器動力學在反應堆溫度變化方面具有很強的非線性,并且在從一種操作條件過渡到另一種操作條件的過程中可能是開環不穩定的。在特定工作條件下設計的單個MPC控制器無法在寬工作范圍內提供令人滿意的控制性能。
在Simulink中實現非線性連續攪拌釜式反應器CSTR的自適應MPC控制:

控制器性能根據設定值跟蹤和干擾抑制進行驗證。反應器濃度CA設定點從原始的8.57(低轉化率)過渡到2(高轉化率)kmol/m^3。在過渡過程中,反應器首先變得不穩定,然后再次穩定(見上側極點圖)。


5、人工智能改進MPC
MPC通過識別工廠的模型,以預測工廠的未來行為。它還結合了一個優化器,確保預測的輸出跟蹤所需的參考。
MPC的一個顯著優點是它能夠處理MIMO系統以及非線性系統。
人工智能也擅長處理估計預測和非線性這兩個問題,很自然地想要聯合使用AI和MPC以期望獲得更好的系統性能。
聯合使用MPC+人工智能有不同的方案。
一種方案是利用人工智能來擬合控制對象模型,如基于神經網絡的狀態空間模型(NeuralStateSpaceModel)。該訓練后的模型將用作MPC控制器內的預測模型。

AI-based prediction model inside MPC
另一種方案,您可以通過訓練強化學習智能體模仿非線性MPC控制器的行為,從而用智能體策略替代非線性MPC,降低部署到硬件的難度,同時提高計算效率。

Reinforcement learning agent imitate MPC
小結
制造業正朝著智能化、高端化、綠色化的方向轉型升級,而人工智能是其中重要的科學技術生產力。利用MATLAB低代碼AI開發平臺,來自制造業一線的過程控制工程師和專家能夠更大的發揮其專業經驗,更快更好地落地人工智能技術,使得公司與員工和諧進步。