张 皓,高瑜翔,唐 军,黄天赐,马 腾,吴美霖
(1. 成都信息工程大学通信工程学院,四川 成都 610225; 2. 气象信息与信号处理四川省高校重点实验室,四川 成都 610225;3. 宜宾职业技术学院电子信息与人工智能学院,四川 宜宾 644000)
由于传统PID算法存在超调量大、调节时间长,模型自适应能力差等缺陷,已无法满足现代工农业生产中,经常存在的非线性、纯滞后、多模型等复杂的控制过程[1-3]。因此,将智能算法与传统算法相结合,是解决上述问题的有效方法之一,也是当下智能控制领域研究的热点之一。文献[1-2]将模糊算法与PID算法相结合,提出模糊PID控制,在一定程度上弥补传统PID算法的不足。但模糊控制不具备自学习能力,如果没有正确的知识和丰富的经验,其控制效果仍然难以满足要求。神经网络具有强大的自学习能力和非线性处理能力,在系统辨识和控制领域得到广泛研究[3-4]。文献[3-5]均提出神经网络PID控制,通过自学习的方式得到P、I、D三个参数,但无法利用模糊系统所具有的知识推理能力。文献[6-7]提出基于粒子群优化的模糊PID控制,利用优化算法选择出最佳量化因子,但粒子群优化算法存在搜索精度低的问题。文献[8-9]将遗传算法和模糊PID相结合,利用遗传算法找到PID的最优初始参数,但遗传算法容易出现编码不规范问题。文献[10]提出基于Mamdani模糊推理的BP神经网络PID控制,文献[11]提出基于Mamdani模糊推理的RBF神经网络PID控制。文献[10-11]均采用Mamdani模糊推理系统,与Sugeno型模糊推理系统相比,其输出平滑性更低。文献[12]提出基于Sugeno型模糊推理的神经网络控制,但对网络结构没有进行严格的理论推导和分析,且没有明确描述Sugeno型模糊系统的阶数。
综上所述,本文将一阶Sugeno型模糊推理系统与BP神经网络相结合,并采用双模训练的方式,提出一种基于一阶Sugeno型模糊神经网络训练的双模推理控制系统,简称自适应模糊神经网络推理系统即:ANFIS (adaptive neuro fuzzy inference system)。不仅能够利用Sugeno型模糊系统进行规则推理,将输出作为输入的线性表达式,还能利用BP神经网络对模糊系统的隶属度函数参数等进行自学习。并以温度控制为例,将两个温度被控对象的训练集和测试集整合为一体,同时送入ANFIS进行训练。将训练好的ANFIS作为两个温度模型的控制器,分别与PID、模糊PID、BP神经网络等控制器,进行仿真实验对比,以验证其各项性能指标和模型自适应能力。
经典的模糊推理算法为Mamdani推理,与PID算法结合,能够弥补传统PID超调量大、参数无法自整定等不足。模糊PID控制系统如图1所示。
图1 模糊PID控制系统
模糊PID系统虽然能够有效弥补传统PID控制的不足,但只能依靠已有的经验和知识来进行模糊推理,不具备自学习能力。因此,如果缺乏正确的知识和丰富的经验,则很难达到满意的控制效果。
神经网络能够根据有效的输入、输出数据对,通过强大的自学习能力,获得较好的控制器模型。本文采用误差反向传播神经网络即BP(back propagation)模型作为控制器,其控制框图如图2所示。
图2 神经网络控制系统
分别采集501组,两个被控对象G01(s)和G02(s)的偏差e1(s)、e2(s)以及偏差变化率 ec1(s)、 e c2(s),及其分别所对应的控制量u1(s)、u2(s)。并将e1(s)、e2(s)组合为e12(s),e c1(s)、 e c2(s)组合为 ec12(s),u1(s)、u2(s)组 合 为u12(s),形 成u12(s)=f(e12(s),ec12(s))。一个包含1002组双输入单输出的数据集,送入一个网络模型进行离线学习。
实现双模训练的条件是:所采集的两种模型输入、输出数据集的变化趋势类似,且在没有干扰或噪声即“异常点”的环境下进行采集。当训练样本中的数据存在交叠时,网络训练的效果将变差甚至造成训练失败。因此,在采集训练样本时,应尽量避免采到数据交叠的部分。例如,若采到同一输入存在多个不同输出的数据对时,应将其剔除或重新采集。数据集变化趋势,如图3所示。
图3 G01 (s)、G02 (s)数据集变化趋势
由图3所示,根据测试可知,本文中e1(s)、e2(s)仅在1 7 5.507~175.527 s 时段,即 0 .02 s内,存在数据交叠。偏差变化率 e c1(s)、 e c2(s)在42.601~42.615 s和308.401~308.405 s 两个时段,即 0 .014 s 和 0 .04 s内,存在数据交叠。而本文在采集训练样本时,跳过了数据交叠的时段。
采用带动量的梯度下降法作为学习算法,并选取2-3-1结构的3层网络作为训练模型如图4所示。
图4 神经网络训练模型图
图4中网络的输入量为x1、x2,激活函数采用双曲正切函数则隐藏层的输入输出为:
[·]——网络层数。
同理可知,网络输出层的输入输出为:
将1002组数据集输入到Matlab神经网络工具箱中,并随机分配为训练集、测试集以及验证集进行训练。设均方误差E=0.1,学习率 η与惯性系数α采用系统默认值。经过4000次迭代,得到实际均方误差E=0.135,双模同时训练效果如图5所示。
图5 双模BP训练回归图
从图5可知,训练集、验证集、测试集中的回归值R分别为 0 .998 56、 0 .996 27、 0 .998 3,总体回归值R=0.998 33,说明目标值u(t)j与实际值之间的相关度非常高。但神经网络无法利用模糊语言进行知识表达和推理,在训练过程中常常容易陷入局部最小值。
将一阶Sugeno型模糊推理系统与BP神经网络结合起来,便可同时具备模糊推理和自学习能力。ANFIS控制框图如图6所示。
图6 ANFIS控制系统
与1.2节的训练方法相同,将分别采集的501组,两个温度模型的数据对,组合成1002组数据集,送入一个ANFIS进行离线训练。再分别采集并组合成另一包含1002组的数据对作为测试集,对训练后的网络模型进行测试,以验证模型的匹配度。选取5层网络作为训练模型,其结构如图7所示。
图7 ANFIS训练模型图
利用Matlab中的模糊神经网络工具箱,先加载1002组训练集,采取网格分割法生成初始模糊推理系统,并对上述ANFIS结构和类型进行配置,设置均方误差E=0.1,学习率η 采用系统默认值。经过3695次迭代,得到实际均方误差E=0.099 999。再加载1002组测试集进行验证,如图8所示。
图8 双模ANFIS测试集结果
由图8可知,红色双模测试集基本与蓝色双模训练集重合,且经过训练后双模系统的输入输出与测试集的平均误差为0.099904。说明双模训练效果较好,将其作为控制器验证控制性能。
针对温度控制中,一阶系统的两个被控对象进行训练,其被控模型常用带有纯滞后的一阶惯性环节来表示,其传递函数为:
式中:s——复变量;
K0——静态增益;
T0——时间常数;
τ0——滞后时间。
设定目标温度为35 ℃,控制误差为 ± 0.01 ℃。在25 ℃以下时采用全功率加热,在25~35 ℃的范围内,采用控制算法进行加热。选取仿真时间为3000 s,使用采集BP与ANFIS数据集时整定的参数KP=5,KI=0.017,KD=5,作为PID的参数和模糊PID的初始参数。同时比较ANFIS、BP、模糊PID以及PID四种控制器,共同控制两种被控模型时的性能指标。
根据式(35),设被控对象的具体参数模型为:
4种控制器的系统动态响应曲线如图9所示。
图9 4种控制器共同控制G01 (s)的动态响应曲线
当被控模型为G01(s)时,根据图9利用Matlab测量和计算4种控制器的性能指标如表1所示。
表1 4种算法共同控制G01 (s)的性能对比
从表1中可知,当被控模型是G01(s)时,ANFIS控制器的系统超调量 σ最小,动态过程的稳定性最好。调节时间ts最快,则反映系统的暂态过程最短,说明系统总体的快速性最好。延迟时间td与上升时间tr,只反映系统在响应初始阶段的反应快慢[15],虽然没有明显提升,但对系统整体的稳定性和快速性没有影响。
当被控对象的具体参数模型变为:
在4种控制器的参数不变时,系统动态响应曲线如图10所示。
图10 4种控制器共同控制G02 (s)的动态响应曲线
从表2可知,当被控模型是G02(s)时,ANFIS控制器的系统超调量 σ最小,调节时间ts最快,整体性能指标最好,在规定仿真时间内满足控制要求。而其余3种控制器在规定仿真时间内,不能满足控制要求。
表2 4种控制器共同控制G02 (s)的性能对比
基于双模训练的ANFIS控制器,将BP神经网络与一阶Sugeno型模糊推理系统结合起来,不仅能发挥一阶Sugeno型模糊推理系统所具有的知识推理能力和线性表达特性,使输出更为平滑。还能利用BP神经网络强大的自学习功能和非线性处理能力,使模糊系统的推理过程具有理论依据,更符合客观性。在控制两种温度被控模型时,采取两种被控对象的训练样本组合,并进行同时训练的方式。不仅能实现模型自适应,相较于其他传统控制器以及智能控制器,其控制系统的整体性能指标最优。