MATLAB低代码AI优化过程控制

2023/12/22 11:37:06 人评论 次浏览 分类:过程控制  文章地址:http://yunrun.com.cn/tech/5280.html

中国制造业正面临激烈的市场竞争与挑战,大家的共识是投资科技创新和产业升级。人工智能是重要的变革力量,也是制造业创新升级的重要方向。制造业有许多特点非常适合尝试应用人工智能,比如复杂的生产流程、大规模的数据处理、严格的质量控制、瞬息万变的市场需求。

大量的研究和应用偏向与大数据和市场营销,而我们希望回归制造业本身,聊一聊如何将人工智能应用于过程工业的核心领域:过程控制


过程控制数据分析与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检测四种金属杂质的结果:

OneClassSVM检测四种金属杂质的结果

这种方法也可以方便地扩展为针对流式数据的增量学习模型,使用MATLAB统计和机器学习工具箱提供的incrementalOneClassSVM模型对动态采集的数据进行分析和异常检测。


Mdl=incrementalOneClassSVM();

[Mdl,isAnom,scores]=fit(Mdl,Xtrain);

3、MATLAB低代码工具帮助你快速开始AI开发

对于制造业的工程师和领域专家来说,在使用AI这种新型技术工具时,并不希望有过高的门槛,例如人工智能背景知识、编程技能等。

MATLAB为领域专家们提供了一个端到端的低代码开发工作流程,从数据准备、人工智能建模到系统仿真和部署。你可以快速开始使用现成的人工智能算法,使用低代码应用程序标记数据,配置和训练人工智能模型。


根据数据和任务复杂度,可以在机器学习模型或深度神经网络之间选择合适的方法,对于过程控制中所使用的结构化数据,机器学习方法能够提供训练过程相对快捷且部署难度低的模型。


以机器学习为例,让我们详细介绍一下工作流程和常用工具:


首先,我们需要将数据导入MATLAB工作区,如果数据集太大无法直接导入内存,可以使用数据存储对象Datastore索引存储在本地或远程文件系统中的数据,并增量式地读取数据片段。


在开始构建任何模型之前,很重要的一步是数据探查,了解数据结构、对感兴趣变量进行可视化、查看数据分布,必要时,清除缺失值或异常值,进行标准化处理,在MATLAB中使用LiveTasks或dataCleaner应用程序可交互式地执行此步骤。


接下来,提取并选择合适的特征以供模型学习很重要,这取决于具体应用,这一步骤可能需要图像或信号处理技术以及统计分析等方法。


一旦数据集或特征准备就绪,您就可以使用交互式应用程序(如分类学习器或回归学习器应用程序)并行训练和比较模型。


为了更有效地建立模型,我们可以使用AutoML并结合小波散射来自动提取性能特征,优化超参数以选择最佳模型。


最后,可以使用Simulink对模型进行测试,并使用自动代码生成工具,将模型部署到目标硬件。或者对于内存或计算密集型模型,可以在云端训练模型并部署。

使用Simulink对模型进行测试

作为这些工具的补充,MATLAB提供了更多其他交互式应用程序。


例如,在数据准备过程中,您可以使用不同的数据标注应用程序来处理不同类型的数据,包括图像、视频、信号、点云等。


使用诊断特征设计器应用程序,您可以提取统计和频谱特征,并按照重要性对特征进行排序。


进入建模阶段后,除了机器学习应用程序,我们还可以使用深度网络设计器构建神经网络,并使用实验管理器执行超参数优化。


此外,还有更多的领域应用程序可供您探索和利用,以加快人工智能驱动的系统设计。


交互式应用程序可以简化工作流程,但算法或模型选择可能需要反复迭代试错。


4、先进过程控制与MPC

在分析了制造过程后,我们需要将观察结果有效地反馈并控制生产过程,这至关重要。模型预测控制(MPC)是许多工业制造应用中先进过程控制(APC)的成熟技术。

连续反应器动力学在反应堆温度变化方面具有很强的非线性,并且在从一种操作条件过渡到另一种操作条件的过程中可能是开环不稳定的。在特定工作条件下设计的单个MPC控制器无法在宽工作范围内提供令人满意的控制性能。


在Simulink中实现非线性连续搅拌釜式反应器CSTR的自适应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
AI-based prediction model inside MPC


另一种方案,您可以通过训练强化学习智能体模仿非线性MPC控制器的行为,从而用智能体策略替代非线性MPC,降低部署到硬件的难度,同时提高计算效率。

Reinforcement learning agent imitate MPC
Reinforcement learning agent imitate MPC


小结

制造业正朝着智能化、高端化、绿色化的方向转型升级,而人工智能是其中重要的科学技术生产力。利用MATLAB低代码AI开发平台,来自制造业一线的过程控制工程师和专家能够更大的发挥其专业经验,更快更好地落地人工智能技术,使得公司与员工和谐进步。

共有访客发表了评论 网友评论

  客户姓名:
邮箱或QQ:
验证码: 看不清楚?