过程控制中的神经网络:神经网络训练,实现

内部过程:神经网络技术已经应用于许多领域,并取得了巨大的成功。通过适当的培训来揭开这项技术的神秘面纱,它可以更广泛地应用于解决一些最棘手的过程控制问题。“第1部分:过程控制中的神经网络”重点介绍了神经网络架构、控制空间、模型范围、数据类型和数据集选择。这个由2部分组成的系列的第2部分涵盖了准备训练数据集、神经网络模型训练和验证、在控制平台上实现神经网络模型以及人机界面(HMI)需求。

通过吉米·w·基 2016年4月29日

第1部分结束,完成参数测试,并将数据存储在历史机中。下一步的目标是获得用于训练和验证神经网络模型的记录数据集。

为训练准备数据集

解析是数据集训练的主要准备步骤。记录数据集构建完成后,必须准备训练神经网络模型。记录数据集应该随机解析为三个独立的记录子集:训练、测试和验证(参见图1)。

训练数据集和测试数据集都用于训练模型。神经网络的训练算法使用训练子集将模型收敛到目标函数解。测试子集用于防止可能影响模型鲁棒性的过度训练。最后,在神经网络模型被训练后,它必须经过一个强大的验证过程,以给用户信心,它将在服务时表现良好。验证子集证明该模型可以使用独立于训练过程的数据逼近目标值。

训练子集由所有记录的60%到80%组成。其余的记录通常是测试和验证子集之间的分割。应该从数据集中随机选择每条记录,并将其放在三个子集之一中。(测试显示,当每个子集中高于和低于目标引用的中间值的记录的百分比相等时,结果会得到改善。)选择记录后,它将从原始数据集中删除,因此不能再次选择它。

培训、验证和报告结果

现在创建了子集,在每次训练迭代中必须执行四个步骤:

  1. 初始化
  2. 归一化
  3. 培训
  4. 测试过度训练(提前停止)。

培训后的三个步骤:

  1. 验证
  2. 培训报告
  3. 培训分析。

初始化:在训练开始之前,必须通过随机播种它们的权重和偏差值来初始化神经元。最初,随机播种被认为是最好的,因为目标函数是未知的。

归一化:在模型中用于训练之前,所有变量、输入和目标引用都被归一化。归一化将每个输入缩放到隐藏层传递函数的极限。通过“非规范化”输出,模型输出被转换回工程单位。

如果感知机使用sigmoid函数,则归一化在0到1之间。如果使用双曲正切sigmoid传递函数(tansig),则归一化在-1和+1之间。将各工艺变量的工程单位范围按比例缩放到归一化极限。

培训:回顾第1部分,感知器使用权重和偏置值来计算其响应。最终值是通过迭代反向传播过程生成的。在训练过程中,调整权重和偏置值以最小化目标函数与模型之间的平方和误差(SSE)(见图2)。

使用优化例程的训练算法找到通往SSE全局最小值的最佳路径。然而,偶尔,它们会找到一个局部最小值,并陷入困境。这是由于权重和偏置值、底层函数和优化算法所采取的路径的随机播种。如果遇到局部最小值,则模型与目标的相关性较差,必须重复训练。

早期的停止:提前停止是一种训练周期退出策略,旨在从训练数据中最大限度地减少SSE,同时保持模型的鲁棒性并防止过度训练。

规定:监管是一种惩罚在训练中重量变大的技术。尽管它有优点,但作为提高鲁棒性的一种手段,早期停止有时更可取。

验证:验证是确认模型将按预期执行的最重要和最后的部分。验证子集独立于训练周期,用于生成验证图(见图3)。经过检查,如果模型(红色)处于阶段并且与目标(蓝色)接近,则可以认为模型是好的。验证曲线是训练报告的最后一部分。

培训报告:每个模型都应该有培训报告。报告应该包括记录数据集、神经网络架构、最终训练图,以及用于调节的训练和测试子集的每次迭代SSE的减少(参见图4)。

培训分析:模型和目标应该是同相的,误差小,相关性高(参见图4a)。回归曲线应显示出模型与目标之间良好的关系(见图5)。如果模型失相或误差较大,则应重新训练模型,从随机解析数据集开始进行训练。持续的糟糕结果是增加隐藏层中神经元数量和/或重新检查第1部分(数据集选择)中描述的过程变量选择的线索。

实现一个神经网络模型

在工业应用中实现神经网络的考虑因素包括:

  • 神经网络的配置
  • 对输入品进行质量检查
  • 控制空间的验证
  • 计划替代控制/测量策略
  • 适当的用户界面。

算法:大多数控制平台都有指令集来编程神经网络算法。在训练过程中建立网络中的神经元数量,隐层中单个神经元的方程如式1所示,其中“P”为输入向量。每个隐藏层神经元都产生一个输出,该输出是等式2中输出层方程中“A”的一个元素。

式2的计算结果为目标变量的模型。

Ϝ乙状结肠(P x W)1, nT+偏见1, n) = an方程1

Ϝ线性(宽×宽)2T+偏见2) =模型输出方程2

质量checks-inputs:任何模型都依赖于可靠和准确的输入。然而,只要输入是可重复的,并且模型是用不相等性训练的,神经网络将很高兴地适应不准确的、倾斜的或有偏差的输入。这意味着在获得训练数据集以建立已知基线之前,应校准所有输入。在运行过程中,神经网络模型的所有输入都应被控制系统验证为质量良好。

控制空间测试:在操作模型中,必须执行测试以证明输入在有效的控制空间中。回想一下第1部分(控制空间),模型只在它被训练的控制空间中拥有知识。一种有效的测试方法是使用一组具有公差的质心点向量。质心及其公差由点矢量分布生成。

替代控制/测量策略:回顾第1部分:过程控制中的神经网络,图3a(第1部分)显示了有效的控制空间,图3b(第1部分)显示了控制空间之外的无效点向量。如果输入点向量在有效控制空间之外,则应该制定一个行动计划,以减轻未经训练的模型结果。换句话说,应该有一个替代的控制或测量策略。图6显示了一个基于模型的控制器策略,如果超出其控制空间,则向操作员发出警报,并自动切换到备用控制算法。如果性能可以接受,切换也可以留给运营商自行决定。这是因为隐藏层传递函数有效地抑制了错误输入对模型的影响。

操作界面

建议人机界面(HMI)应具备:

  • 模型输出值
  • 整体控制空间报警指示
  • 每个输入单独的先出报警
  • 手动模式
  • 输出值的备选策略选择。

图7a显示了一个虚拟仪器界面。警报在HMI面板上发出,显示哪个输入导致了问题。如果运营商选择了另一种策略,则可以进行转移。手动模式可用于保存最后的值。图7b所示的多输入/多输出(MIMO)控制器与之相似,但显示了控制变量和被操纵变量的趋势。建议使用单独的设置屏幕来输入约束限制和其他警报设置。

使用神经网络

在许多过程控制应用中,近似函数神经网络结构简单,可以很好地模拟工业过程。神经网络必须从参数测试获得的最佳数据集进行训练。用户选择要建模的目标过程变量,并组装训练数据集以覆盖其范围和功能。数据集包含一组与目标相关的相关输入。训练过程中使用的输入定义了神经网络模型的控制空间。

所有数据集记录都带有目标参考值捕获时间的时间戳。数据集与采集时的设备配置相关联。正确选择模型输入对于提高模型鲁棒性、消除噪声和降低成本具有重要意义。在数据采集之前,应完成所有输入的校准,以建立基线。

在获取数据集之后,必须将其解析为三个子集:训练、测试和验证。训练神经网络涉及到模型输出和目标值之间误差的反向传播。训练是一个迭代的反向传播过程,需要提高鲁棒性和有效性的策略。每个神经元的权重和偏置值由训练过程提供。在控制平台上实施之前,应审查验证报告。验证报告应该显示目标参考与模型的阶段,误差很小。

许多神经网络训练程序在台式电脑上运行。然而,几乎所有的控制平台都有必要的指令集来配置神经网络模型。在可能的情况下,控制平台上的神经元编码应该在子程序中进行,以便在未来的模型上重用代码。在操作模型中,应检查输入的质量和有效的控制空间。如果输入超出有效控制空间,则应考虑另一种策略。

HMI应该显示模型输出、输入、警报、设定点、自动/手动选择和正常/alt策略控制。趋势和先出逻辑对于操作意识和诊断很有价值。建议使用单独的设置屏幕输入约束、警报和限制。

Jimmy W. Key, PE, CAP是阿拉巴马州伯明翰Process2Control有限责任公司的总裁和所有者。他是一名专业的控制系统工程师,在纸浆和造纸、汽车、化学和电力行业拥有30多年的经验。Key拥有俄克拉荷马州立大学控制系统工程硕士学位。他于2013年推出了Process2Control,将神经网络建模与其他先进的控制概念和应用相结合,专门针对过程控制行业。编辑杰克·史密斯,内容经理,CFE媒体,控制工程jsmith@cfemedia.com

关键概念

  • 数据集包含与目标相关的一组相关输入。
  • 数据集之后已经获得,它必须被解析成三个子集:训练、测试和验证。
  • 培训是一个迭代过程,需要提高健壮性和有效性的策略。
  • 在操作模型中,应检查输入的质量是否良好,控制空间是否有效。

考虑一下这个

现在是停止迭代训练过程的合适时机吗?

在线额外

请参阅下面的相关文章,提供有关神经网络和高级过程控制的更多信息。