【深度解析】机器自学习——过程控制中的神经网络模型

本文来自于《控制工程中文版》(CONTROL ENGINEERING China )2016年10月刊杂志,原标题为:过程控制中的神经网络模型

神经网络已经在过程控制策略中使用了多年,并使得很多工业应用从中受益。开发神经网络模型的一个重要方面是测量和控制空间的概念。本文将从神经网络架构、控制空间、模型范围、数据类型以及数据组选择方面,解析过程控制中的神经网络模型。

顾名思义,神经网络就是由编程的神经元组成的网络,用来对外界的刺激物进行响应。神经元是网络的基本构件。它的名字来自于其生物学同名词。不过在这里,神经元被称为“感知器”的一小段计算机代码模型化了。

网络中的几个神经元互相连接,并且通过培训学会如何对刺激物做出响应。那是一个反复的过程:识别刺激物、与对参照物的响应作对比、然后进行修正。学习能力使得神经网络具有很大的灵活性来捕获过程的基本功能,甚至是那些具有不容易注意到的属性,例如安装、年限、污垢或一些其他未测量到的参数。

使用神经网络模型的目的源于它们具有以下的特点:

●对线性或非线性过程建模;

●对很难理解的过程建模;

●对使用第一原理方程难以建模的过程建模;

●对基于间接测量的过程建模;

●缩短复杂过程的建模开发时间。

在一些情况下工业过程会从神经网络模型中受益。有些应用中,模型会因为没有可靠的测量而被代替,这会影响盈利情况。在一些情况下,受控的过程可能因为无法获得控制测量数据而仅仅在一些离散区段上进行调节。例如,一个过程会使用实验室分析结果作为反馈。实验室的测量结果一直具有时间延迟。可以使用实验室数据对神经网络进行培训,从而产生可以被过程用来进行连续控制所需要的虚拟仪器仪表。

基于模型的控制器可以使用神经网络模型替代第一原理模型。这会缩短研发时间并且在需要同步设定点和轨迹控制的情况下仍然可以进行多控制变量控制。而且总会有一些过程是我们不怎么了解的、过于复杂的、或者快速变化而不能应用第一原理模型的。神经网络在从输入刺激物探寻过程的根本响应方面有超常表现。

1
神经网络架构

自从上世纪80年代以来,已经有了不同类型的学习型神经网络架构经过设计和分析。架构的选择取决于应用。一般来说,对于工业控制的应用场合,模型试图模仿一些过程变量的功能;目标取决于过程的状况,以及围绕过程的各种输入。适合这个任务的最简单的架构是多层功能近似网络架构(请见图1)。隐藏层里的神经元数量取决于目标功能的复杂程度,不过一般来说,它们在3到9个之间。

图1:图中显示了一个四个输入、近似函数、包含三个在隐藏层中的神经元的神经网络的简图。本文所有图片来源:Process2Control公司

2
控制空间

开发神经网络模型的一个重要方面是测量和控制空间的概念。“控制空间”是由代表每个维度的输入的测量范围所定义的多维度界限。输入的一个阵列被称为“输入矢量”。“控制空间”是位于测量空间之内的,而且它的界限和形状取决于用于培训的输入矢量数据记录的点矢量分布。例如:可能会有一些独立的输入P1…Pk输送到模型中,而且每个输入会在控制空间中形成一个维度。简单来说,想象一下仅有两个输入的情况(请见图2)。

图2: 控制空间的形状取决于用于培训的数据记录的点矢量分布。假设这个例子有两个输入:两个数据记录用于模型(表格),点矢量由记录1(左侧)形成,每一个记录都形成一个点矢量(中间),点矢量的分布具有一定形式(右侧)。

控制空间的覆盖面积由图3中(左侧)的点矢量分布所决定。如果输入形成的点矢量位于控制空间外部(图3中间所示),神经网络的模型可能就是无效的。因为在那个空间里没有培训存在。

图3:三幅图分别显示了有效的控制空间(左侧),无效的控制空间(中间),以及目标范围(右侧)。

3
数据组选择

在选择用于培训神经网络的记录时,首要的是确保记录组不仅要覆盖其范围,而且覆盖整个输入范围内的目标响应。图3(右侧)中的例子显示了如何通过目标对输入的响应来揭示出其范围和功能。

获取适合用来培训神经网络的数据组的步骤包括,选择目标变量、选择输入矢量要素、处理数据类型、历史数据挖掘以及参数测试。

数据类型:二进制、整数、以及浮点数是推荐的用于功能近似架构的主要数据类型。计数和字符串类型的数据是特殊的,不过,如果分割成独立的二进制输入是可以使用的。

选择目标变量模型输入要素:创建一个神经网络最困难的任务是选择可以组成模型输入矢量数据要素P1…Pk的过程变量。模型的输入应该是对目标最有影响的鲁棒性的、独立的变量。如果过程简单,靠经验进行选择就够了。然而,在某些情况下,过程可能具有多个变量,那样选择正确的变量就会很难。

除此以外,必须要注意将输入的数量控制在最少,因为任何一个用在模型中的不必要的输入都会减低模型的鲁棒性、增加噪音并增加成本。

图4(左侧)显示了一个包括所有可能的对目标测量值有影响的输入的鱼骨图。努力减少到仅包括那些对目标有显著影响的输入。这种减少可以在模型成本以及所需要的仪器仪表方面有显著的节省。除此以外,这也简化了模型。

图4:左侧的鱼骨图显示了可能影响目标测量的所有因素。目的是要将那些对目标有重要影响的变量减少到右侧鱼骨图所示的情况。

在商业上有一些程序可以用来方差分析(ANOVA),进而确定每个变量对目标的重要程度。然而,随着变量数量的增加,要进行一次ANOVA变得困难得多。

另一种商业上可用的程序采用神经网络确定一个输入的重要程度。这种方法让用户可以使用突击销售法。也就是说,如图5所示,该程序使用一组如图4左侧所示的包含所有输入的数据组,并且如图4右侧所示的识别出重要的输入。

图5:这个神经网络重要性分析图显示了零以上的是重要的输入,零以下的输入或者不重要或者在噪声范围内。

历史数据及参数测试:可以通过一些历史数据挖掘来获取培训需要的数据组。不过,在数据生成的时候过程状况和系统状态并不总是已知的。强烈建议在获取数据记录组之前创建一个测量及控制的底线。要想创建一个测量及控制的底线需要:

●对所有作为模型输入的变送器进行标定。

●检查并确定阀门、传动以及加热器工作正常。

●在进行参数测试之前,应该考虑的先决条件包括:

●在调整过程之前进行危险分析。

●对于测试中所用到的阀门、速度控制器等定义极限值。

●为了防止意外事件,要准备一个放置过程的安全环境。

●记录所有的噪音过滤器设置。

●在每一项参数测试演练之后都要定义校正时间。

●在执行参数测试的时候要了解安全的限制和约束。

●关注任何预期的测量滞后和传输延误。

●确保历史记录保存所有的数据点。

●确保运行人员清楚并同意测试的步骤。

对于新的过程或改造项目,数据组通常是在启动和调试以后的系统参数测试过程中生成(请见图6)。经验显示在经过参数测试演练以及一个变量已经达到稳定状态之后,采集的数据才是模型的最佳数据。

图6:对于新的过程或改造项目,数据组通常是在启动以后的系统参数测试过程中生成的。这些图显示了调节两个阀门(上)和来自三个流量计的流量测量响应(下)。

意识到数据组是与当前的设备和过程配置挂钩的;所以,在改造或工艺变更之前获得的数据组可能不会符合预期性能的要求。如果性能下降,可能需要再做一次参数测试。

图7:这张数据表是从历史记录中提取出来的培训记录组的一部分。

获取培训数据组记录:既然参数测试已经完成并且数据存储在历史记录中,目的是获取一个记录数据组用来培训神经网络。在市场上有几个历史记录软件套装可供选择。许多都具有为数据表软件套装所用的插件。图7显示了初步设计的数据表。

作者:Jimmy W. Key

(0)

相关推荐