控制与决策  2020, Vol. 35 Issue (7): 1597-1605  
0

引用本文 [复制中英文]

郭鑫, 李文静, 乔俊飞. 一种改进的在线自适应模块化神经网络[J]. 控制与决策, 2020, 35(7): 1597-1605.
[复制中文]
GUO Xin, LI Wen-jing, QIAO Jun-fei. An improved online adaptive modular neural network[J]. Control and Decision, 2020, 35(7): 1597-1605. DOI: 10.13195/j.kzyjc.2018.1463.
[复制英文]

基金项目

国家自然科学基金项目(61533002, 61603009);北京市自然科学基金项目(4182007);北京工业大学日新人才计划项目(2017- RX(1)-04)

作者简介

郭鑫(1990-), 男, 博士生, 从事模块化神经网络的研究, E-mail: guo_0xin@163.com;
李文静(1985-), 女, 副教授, 博士, 从事神经计算、神经网络建模等研究, E-mail: wenjing.li@bjut.edu.cn;
乔俊飞(1968-), 男, 教授, 博士生导师, 从事智能控制与智能信息处理、复杂过程建模与优化控制等研究, E-mail: junfeiq@bjut.edu.cn

通讯作者

郭鑫, E-mail:guo_0xin@163.com

文章历史

收稿日期:2018-10-26
修回日期:2019-03-04
一种改进的在线自适应模块化神经网络
郭鑫 , 李文静 , 乔俊飞     
1. 北京工业大学 信息学部,北京 100124;
2. 计算智能与智能系统北京市重点实验室,北京 100124
摘要:针对在线模块化神经网络难以实时有效划分样本空间, 提出一种改进的在线自适应模块化神经网络.首先, 基于距离与密度实时更新样本局部密度及RBF神经元中心, 实现样本空间在线划分; 然后, 将子网络模块数根据划分样本空间的个数进行自适应增减, 每个子网络模块对属于对应样本空间的样本进行学习; 最后, 集成模块对子网络模块的输出结果进行集成, 输出最终结果.针对在线梯度下降法要求样本有足够的随机性问题, 提出一种具有固定记忆的在线梯度下降法对网络进行在线学习.通过对典型非线性时变系统及污水处理过程中出水氨氮浓度进行预测, 验证了该模块化神经网络能够实时有效地更新RBF神经元中心, 并减少学习过程中子网络模块不必要的增减, 且网络结构更加简洁, 能够准确预测不同的时变系统.
关键词自适应    模块化神经网络    局部密度    固定记忆    在线梯度下降    时变系统    
An improved online adaptive modular neural network
GUO Xin , LI Wen-jing , QIAO Jun-fei     
1. Faculty of Information Technology, Beijing University of Technology, Beijing 100124, China;
2. Beijing Key Laboratory of Computational Intelligence and Intelligent System, Beijing 100124, China
Abstract: An improved online adaptive modular neural network is proposed for the online modular neural network which is difficult to effectively divide sample space in real time. Firstly, the proposed network performs on-line task decomposition by real-time updating local sample density and RBF neuron center based on distance and density. Then the number of sub-network modules is adaptively increased or decreased according to the number of divided sample spaces, and each sub-network module learns the corresponding sample. Finally, integration module integrates the output of sub-network modules and outputs the final result. For the problem of the online gradient descent method requiring the sample with enough randomness, an online gradient descent method with fixed memory is proposed. Based on the prediction of the typical nonlinear time varying systems and the effluent ammonia nitrogen values from waste water treatment processes, the experimental results show that, the proposed network can effectively update the RBF neuron center in real time, which reduces unnecessary increase or decrease of sub-network modules during the learning process, has more concise structure and can accurately predict the time-varying systems.
Keywords: self-adaption    modular neural network    local density    fixed memory    online gradient descent    time-varying    
0 引言

前馈神经网络(feedforward neural network, FNN)因具有良好的非线性逼近能力、简单的结构, 已广泛应用于控制、系统建模等领域[1-2], 其结构与学习算法被广泛研究[3-4], 但全互连前馈神经网络存在灾难性遗忘问题, 且随着数据的增大, 网络结构的复杂性也变大[5].

模块化神经网络(modular neural network, MNN)是受神经生物学启发, 模仿脊椎动物大脑的组织和功能所设计的, 采用“分而治之”的策略, 将一个复杂的任务分解为多个简单独立的子任务, 并根据不同分配策略, 将每个子任务分配给相应子网络模块进行学习, 最后对各子网络模块学习的结果集成, 从而实现神经网络对复杂任务的学习[6], 提高神经网络泛化能力, 降低任务的复杂性.在学习过程中, MNN增加新子网络模块(专家网络)对新知识进行学习, 而不改变神经网络原来的结构, 所以不会忘记旧知识, 有效地解决了FNN的灾难性遗忘问题[7].近年来, MNN引起了学者的广泛重视, 并应用在各个领域.如Sánchez等[8]针对人体识别, 提出了一种基于粒计算与萤火虫算法的模块化神经网络优化设计方法, 优化模块化神经网络参数为:模块的数量、训练阶段的数据百分比、学习算法、目标误差、隐含层的数量和神经元数量. Melin等[9]提出一种基于多目标层次遗传算法的模块化神经网络优化方法, 该方法对MNN的模块个数、训练阶段数据集、目标误差、学习算法、隐含层数及该层神经元数等不同参数进行优化, 这种MNN可应用于不同的应用领域, 如人体识别、分类问题、时间序列等. Hu[10]提出一种简化复杂分类任务的矩阵模块化神经网络分类器(MMNN), 主要由神经网络矩阵和集成机制两部分组成, 不同样本进入神经网络矩阵中的每个模块单元, 每个单元产生一个输出结果, 所有结果由一个输出矩阵组成, 最后集成机制根据该输出矩阵进行集成分类决策. Sánchez等[11]提出一种采用1型模糊逻辑集成的模块化神经网络进行预测时间序列.该方法将数据集划分为多个子数据集, 每个模块学习一个特定时间段的时间序列, MNN的模块数是固定的; 对于不同的数据, MNN具有不同的模块数, 最后采用1型模糊逻辑对每个模块结果进行集成. Qiao等[12]设计了一种基于自适应粒子群优化算法的动态模块化神经网络(APSO-DMNN), 可以动态地优化MNN的权重, 对每个模块输出最优化集成, 最后得到动态调整的MNN.但是, 对于应用于各领域的MNN, 大多处理离线问题或针对具体实时问题设计不同的自适应MNN结构, 该类MNN不具有普遍适用性.另外, 进化算法近年来常被用于优化MNN结构[13-14], 但工业自动化已成为现代工业的发展趋势, 其核心应该是对“变化”的响应能力, 大多数工业系统都是时变系统, 这类MNN需要很大的计算空间, 不适合处理实时问题.

针对时变系统, 在线任务分解是实现MNN在线学习的关键, 所以许多聚类算法结合具有“局部映射”特性的RBF神经网络用于任务分解, 提高了MNN的性能.文献[15]提出了一种局部门控网络的混合专家模型对任务在线分解的SAMNN(structure adaptive modular neural network), 初始网络结构为一个专家网络, 根据网络局部误差(修剪法)逐个增加(删减)专家网络, 对时变系统SAMNN能有效地自适应调整网络结构, 但无法及时准确反映时变系统.文献[16]提出了SGMN(self-regulation growing multi-experts network), 根据高斯基函数特性, 采用一种完全自组织的自适应共振理论聚类, 删减或增加局部线性专家模型, 并采用在线梯度下降法修正网络参数, 但在线梯度下降法及局部线性专家模型都有固有的局限性, 不能很好地预测时变系统.在此基础上, 文献[17]提出了OSAMNN(an online self-adaptive modular neural network for time-varying systems), 利用RBF神经网络特性及“与门”, 结合在线减法聚类算法实现对在线任务分解, 该网络可根据在线工况数据自动调整网络模块个数, 能很好地实时反映时变系统.但在线减法聚类算法更新聚类中心根据的是新样本与当前中心的密度, 没有考虑新样本对其他附近样本的影响, 不能及时反映样本间的相关性及聚类中心(RBF神经元), 而且网络学习算法采用在线BP算法, 存在其收敛性受到样本顺序影响等问题.

针对以上问题, 本文提出一种基于在线聚类算法的在线任务分解, 设计一种改进的自适应模块化神经网络(online adaptive modular neural network, OAMNN), 其子网络模块数可根据基于距离和密度的在线聚类算法自动调整, 能实时更新样本局部密度, 增加样本间的相关性, 及时准确地更新聚类中心(RBF神经元), 减少网络在学习过程中子网络模块的不必要增减, 且网络结构更加简洁.同时, 针对在线梯度下降法的局限性, 提出一种具有固定记忆的在线梯度下降法.最后通过实验验证了在样本连续顺序或随机顺序情况下, 该网络均能稳定收敛.

1 OAMNN结构

根据模块化神经网的一般结构[17], OAMNN结构可分为输入层、任务分解层、子网络层、集成输出层, 如图 1所示.

图 1 在线模块化神经网络结构

OAMNN结构各层描述如下:

输入层:该层输入节点数nk时刻样本维数(x(k)维数)决定, x(k)=[x1(k), x2(k), …, xn(k)]T.

任务分解层:该层由l个RBF神经元及对应的“与门”组成, 其中第i个RBF神经元激活函数如下:

(1)

其中: ci为RBF神经元中心, 表示第i个子任务(聚类)中心; δi2为核函数的扩展常数; φi(x(k), ci)为硬限幅函数, 有

(2)

当此刻输入样本x(k)在RBF神经元i的超球面内时, 激活该神经元, 输出为1, 相应的子网络对输入样本进行学习; 否则不激活该神经元, 输出为0.该层RBF神经元及“与门”实现了输入样本空间的分解, 并分配给相应的子网络模块.

子网络层:该层的子网络模块与RBF神经元相对应, 每个子网络模块为3层前馈神经网络, 对上层分解的子任务进行训练和学习.当k时刻输入样本x(k)时, 子网络层中第h个子网络模块输出为

(3)

其中: vh为子网络模块输入层与隐含层之间的权值, wh为子网络模块隐含层与输出层之间的权值, b1hb2h分别为隐含层、输出层的偏置.隐含节点的激活函数为sigmoid函数.

集成输出层:该层主要对子网络层中参与输入样本x(k)学习的子网络模块输出进行集成.本文采用输入样本x(k)只激活一个子网络模块, 激活的子网络模块输出是k时刻模块化神经网的输出. k时刻, 模块化神经网络输出为

(4)

其中: y(k)=[y1(k), y2(k), …, yl(k)]T为子网络模块的输出, a(k)=[a1, a2, …, al]为集成矩阵, a(k)矩阵中只有一个元素(激活子网络模块)为1, 其他为0.

2 OAMNN结构设计 2.1 在线任务分解算法

OAMNN主要通过在线分解任务实时调整任务分解层中RBF神经元数及RBF神经元中心ci位置(聚类中心), 本文提出的在线任务分解是基于距离与密度的聚类算法, 根据新样本局部密度实时更新全局样本密度及聚类中心, 使网络更真实地适应时变环境.在线任务分解算法更新RBF神经元数、ci中心及样本局部密度过程如下:

1) 创建第1个RBF神经元.

在线任务分解开始时, RBF神经元数为0, 随着样本不断输入, 根据下式计算每个样本的局部密度ρ:

(5)

其中: dij为样本x(i)到样本x(j)的欧氏距离; dc为局部距离阈值; χ

(6)

k时刻样本i的局部密度ρi(k)大于密度阈值ρo时, 创建第1个RBF神经元, 以样本i为神经元中心c1, 减少了神经中心位置的更新频率, 更真实地反映数据样本中心.当样本j到神经元中心c1距离dl 1小于类距离阈值dl时, 激活该神经元, 否则存储到未分类Uc列表中.

任务分解过程中, 聚类中心c局部领域内的样本数约为总样本数的1 % ~ 2 %[18], 所以本文密度阈值ρo设为小于总样本数的2 %, 局部距离阈值dc设为输入矢量距离范围的10 % ~ 20 %, 聚类过程对类距离阈值dl不敏感.且本文MNN的任务分解可以增加子任务和融合子任务, 密度阈值ρo和类距离阈值dl对任务分解影响不是很大, 实验中选择dl ≤2dc.

2) 更新RBF神经元中心.

新样本输入时, 计算得到各RBF神经元中心ci的距离di, 当距离di小于类距离阈值dl时, 表明新样本可激活该神经元, 并将神经元中心ci存储到S列表中.本文采用输入样本x(k)只激活一个神经元的规则, 当新样本可激活多个神经元时, 分别计算新样本激活S列表中神经元时的局部密度, 最后只激活新样本激活神经元时具有最大局部密度的神经元.

图 2为新样本x(k)可激活两个RBF神经元ab的情况, 可见新样本激活神经元a的局部密度明显大于b的局部密度, 则新样本属于a类, 激活神经元a输出为1, 神经元b输出为0.通过对该样本分类规则描述可知, 样本分类对类距离阈值dl是不敏感的, 取决于局部密度.确定新样本属于a类后, 计算新样本局部密度及更新新样本dc局部区域内样本的局部密度, 并判断更新样本及新样本的局部密度是否存在大于RBF神经元局部密度的样本, 如果存在则更新RBF神经元中心ca.

图 2 样本分类规则示意图

当新样本未可激活RBF神经元时, 新样本存储到未分类Uc列表中, 计算Uc列表中样本的局部密度.判断是否存在样本局部密度大于密度阈值ρo, 如果存在则创建一个新的RBF神经元, 该样本为神经元中心.

3) RBF神经元融合.

k时刻模块化神经网络具有两个或两个以上RBF神经元时, 计算各神经元中心之间的距离, 如果两神经元之间距离小于距离阈值dc, 则融合两神经元.

2.2 具有固定记忆的在线梯度下降法

OAMNN子网络模块采用一种改进的具有固定记忆的在线梯度下降法进行学习.在线梯度下降法(随机梯度下降法)已有较多研究[19-20], 但现有的在线梯度下降法对样本输入顺序有一定要求, 且稳定性较差.本文根据在线顺序极端学习机(OS-ELM)[21]学习算法, 采用逐个或逐块地学习具有固定大小的变化数据机制, 改进在线梯度下降法, 使子网络稳定收敛, 削弱样本顺序的影响.

图 3为具有固定记忆的逐块学习示意图.在梯度下降学习过程中, 按数据块进行迭代学习, 每块数据的大小固定为N, 并以大小为L的数据进行遗忘.随着新样本不断输入, 当新样本积累大小为L的数据块时, 固定大小为N的遗忘块前端大小为L的数据块, 后端加入新样本数据块, 并进行1个迭代.图 3t时刻, 网络的一次迭代学习为1个数据块, t+1时刻网络迭代学习下一个固定大小的数据块, 本文实验对样本逐个学习, 即L=1.

图 3 具有固定记忆学习方案

在学习算法中, 固定数据块N的大小对其性能影响不是很大, 一般选取为总样本的2 % ~ 5 %.样本数较大时, N的值不是很大; 样本数较少时, 可根据样本的复杂性选取N.

OAMNN子网络为3层前馈神经网络, 其改进的学习算法权重更新如下:

(7)
(8)
(9)
(10)
(11)
(12)
(13)

其中: e(i)=d(i)-y(i); x(i)为i时刻网络的输入; d(i)为网络期望输出; y(i)为网络实际输出; y(h)(i)为隐含层节点的输出; λ为惩罚系数; N为当前学习的数据块大小; v: j = [v1 j, v2 j, …, vp j]T为输入矢量到第j个隐含层的权值; w = [w1, w2, …, wp]T为隐含层到输出层的权值; p为隐含层节点数; ηtt-k(0 < k≤1)为学习率, 随时间变化[22].

2.3 OAMNN学习过程

OAMNN通过在线任务分解划分输入样本空间, 相应地增加或删减子网络模块, 从而实现模块化神经网络结构根据实时情况在线调整, 具体步骤如下.

step 1:初始化局部距离阈值dc、类距离阈值dl及密度阈值ρo参数.

step 2:随着新样本输入, 由式(5)和(6)计算样本的局部密度, 当k时刻存在样本x(i)的局部密度ρi大于密度阈值ρo时, 创建第1个聚类(RBF神经元), 并增加1个相应的子网络模块.本文子网络结构是固定的, 如结构为n-m-1, 表示输入层有n个节点, 隐含层有m个节点, 输出层有1个节点.采用所提出的在线梯度下降法对子网络进行训练, 聚类中心设为

(14)

根据类距离阈值dl对样本分类, 未分类的数据存储到Uc列表中.

step 3:第1个聚类确定后, 计算得到各聚类中心(RBF神经元中心)的距离d.

di < dl时, 新样本可激活神经元i, 并将神经元存储到S列表中.

step 4:根据新样本是否可激活神经元可分为两种情况:

1) 当S≠ ∅时, 新样本可激活一个或多个神经元, 分别计算新样本只激活S列表中神经元时的局部密度, 选择新样本局部密度最大时激活的神经元为新样本最终的激活神经元, 即新样本属于该神经元的聚类, 相应的子网络模块对新样本学习.更新新样本局部区域dc内的样本局部密度(样本局部密度加1), 判断更新样本及新样本的局部密度是否存在大于RBF神经元局部密度的样本, 如果存在则更新RBF神经元中心.

2) 当S=∅时, 新样本没有可激活神经元, 存储到未分类Uc列表中.

step 5:计算Uc列表中各样本的局部密度ρ, 若列表中样本j局部密度满足

(15)

则创建一个新聚类(RBF神经元), 相应地创建子网络模块(同step 2), 聚类中心为

(16)

对未分类Uc列表中的样本进行分类, 未分类的样本存储到未分类Uc列表中.

step 6:当模块化神经网络具有两个或两个以上RBF神经元时, 计算各神经元中心的距离.如果存在ij两神经元中心距离小于距离阈值dc, 即

(17)

则两神经元进行融合, 其新神经元中心cnew局部密度为

(18)

新神经元中心cnew为局部密度最大的神经元中心.

神经元合并机制:新神经元中心, 局部密度及相应子网络模块的当前训练数据块N均与局部密度最大的神经元一致, 删除局部密度小的神经元及相应的子网络模块, 删除的子网络训练的当前数据块从新输入到新子网络模块进行训练, 这样新子网络模块既能保持原来局部密度大的子网络模块学习到的知识, 又能学习当前局部密度小的子网络模块知识, 从而消除两神经元合并时引起的网络振荡.

step 7:对k时刻激活的子网络进行训练.

step 8:下一时刻, 新样本输入, 返回step 3.

2.4 OAMNN时间复杂度分析

由第2.3节学习过程步骤, OAMNN的时间复杂度为O(N(nuc+l+l2+ani+mNio)).其中: N为OAMNN训练样本, l为模块化数, ak时刻被x(k)激活的子网络个数, nuc为未分类的样本数, nii类聚类的样本数, m为子网络隐含层节点数, Nio为OAMNN输入节点数.

因为step 1的时间复杂度为O(0), step 2的时间复杂度为O(nuc), step 3的时间复杂度为O(l), step 4样本x(k)激活a个子网络时, 时间复杂度为O(ani), step 5的时间复杂度为O(nuc), step 6计算各神经元之间的距离时间复杂度为O(l2), step 7在k时刻对激活的子网络学习的复杂度为O(mNio).所以整个OAMNN学习过程的时间复杂度可计算为O(N(nuc+l+l2+ani+mNio)).

OSAMNN的时间复杂度已被证明[17], 其值为O(N(2l+l2+8a+2p2mNio)), 其中p为以模糊策略选择参与集成的子网络个数.在OAMNN学习过程中, 因为分类样本数nuc略大于密度阈值ρo, 是一个较小的值, ni为激活的聚类的样本数.在任务分解时, OAMNN的时间复杂度比OSAMNN的时间复杂度大O(Nani), 但OSAMNN采用激活多个子网络策略, 所以时间复杂度比OAMNN时间复杂度大O(N(8a+(2p2-1)mNio)).综合上述分析, 对于不同时变系统, OAMNN的时间复杂度约等于或略大于OSAMNN的时间复杂度.

3 实验结果及分析

本文选取Mackey-Glass时间序列预测、Lorenz时间序列预测及实际应用中污水处理过程的出水氨氮(NH3-N)预测实验对OAMNN性能进行测试, 并与SGMN[16]、OSAMNN[17]及其他在线网络模型进行比较.

选取均方根误差(root mean square error, RMSE)和子网络模块个数作为模块化神经网络性能的评价标准, t时刻, 网络RMSE计算公式为

(19)

其中: t0t时刻的数据块大小, 同式(13); d(k)为期望输出; y(k)为网络输出. RMSE值越小, 表示网络预测精度越高.

为了更好地反映网络性能, 采用nondimensional error index (NEDI)误差指标评估网络预测的好坏, 有

(20)

其中σ为网络输出标准差. RMSE值越小, 表示网络预测精度越高, NEDI指标越小, 表示网络预测越稳定、越精确.

3.1 Mackey-Glass时间序列预测

Mackey-Glass时间序列是一个广泛应用的在线模型基准, 被许多学者用来验证预测算法.其时间序列由一个延迟Mackey-Glass微分方程产生, 如下所示:

(21)

实验时τ=17, 采用四阶-龙库塔方法产生6 000个实验数据, 其中201 ≤t≤3 200的数据用来训练神经网络, 5 001≤t≤ 5 500的数据用来测试神经网络. [y(t); y(t-6);y(t-12);y(t-18)]作为输入向量, 预测85步y(t+85)的值.

初始化OAMNN参数:局部距离阈值dc=0.4, 类距离阈值dl=0.8, 密度阈值ρo=4, 子网络层中子网络为固定结构3-5-1(输入层有3个节点, 隐含层有5个节点, 输出层有1个节点), 采用自适应学习率, 初始网络权值随机设置, 在线梯度下降学习算法采用逐个学习方式, 固定数据块N=150.

图 4图 5分别为OAMNN在学习过程中子网络训练RMSE变化曲线及网络的预测结果.图 4反映了子网络能在线稳定收敛, 图 5可得出该模块化神经网络能准确地预测Mackey-Glass时间序列85步的值, 具有较好的泛化能力.

图 4 Mackey-Glass时间序列预测子网络训练RMSE
图 5 Mackey-Glass时间序列预测结果

图 6(a)为OAMNN对连续顺序、随机顺序Mackey-Glass时间序列学习过程中子网络模块个数动态变化, 图 6(b)为OSAMNN学习过程中子网络模块个数动态变化.由图 6可见, OAMNN能够根据动态数据增加或删减子网络模块(RBF神经元), 实时有效地反映真实数据信息, 减少了学习过程中子网络模块不必要的增加和删减.

图 6 Mackey-Glass时间序列子网络模块数动态变化

表 1为OAMNN对Mackey-Glass时间序列训练及测试的性能, “-”表示在原文献中未给出.实验结果为独立10次实验的平均值, OAMNN分别对连续顺序样本、随机顺序样本进行训练、学习, 验证了该网络对不同顺序样本都具有很好的性能, 并与在线模型OSAMNN[17]、SGMN[16]、DPFNN[23]和ORBF进行了性能对比.由实验结果可以得出, OAMNN与在线模块化神经网络及基于具有移动滑窗的最小二乘法(TLLS)模糊神经网络相比, 具有较高的预测精度, 且NDEI最小.

表 1 Mackey-Glass时间序列预测实验结果
3.2 非线性动态系统辨识

非线性动态系统辨识常被用于验证神经网络性能, 有

(22)

其中:非线性动态系统初始值为u(t)=sin(2π t/25), y(0)=0, y(1)=0.

本文通过式(22)产生1 000个实验数据以验证在线模块化神经网络的性能, 其中1≤t≤800的数据用来训练神经网络, 800 < t≤1 000的数据用来测试神经网络. [y(t); y(t-1);u(t)]作为输入向量, 预测1步y(t+1)的值.

初始化OAMNN参数:局部距离阈值dc=0.4, 类距离阈值dl=0.8, 密度阈值ρo=8, 子网络层中子网络为固定结构3-5-1, 采用自适应学习率, 初始网络权值随机设置, 在线梯度下降学习算法采用逐个学习方式, 固定数据块N=20.

图 7图 8分别为OAMNN在学习过程中子网络训练RMSE变化曲线及网络的预测结果.图 7反映了子网络能在线稳定收敛; 由图 8可知该模块化神经网络能准确地预测非线性动态系统辨识1步的值, 具有较好的泛化能力.

图 7 非线性动态系统辨识子网络训练RMSE
图 8 非线性动态系统辨识预测结果

图 9(a)为OAMNN对连续顺序、随机顺序非线性动态系统辨识学习过程中子网络模块个数动态变化, 图 9(b)为OSAMNN学习过程中子网络模块个数动态变化.由图 9可见, OAMNN能够根据动态数据增加或删减子网络模块, 实时有效地反映真实数据信息, 减少了学习过程中子网络模块不必要的增加或删减, 且最终子网络模块个数(4个)较少, OAMNN具有更为简洁的结构.

图 9 非线性动态系统辨识子网络模块数动态变化

表 2为OAMNN对非线性动态系统辨识训练及测试的性能, “-”表示在原文献中未给出.实验结果为独立10次实验的平均值, OAMNN分别对连续顺序样本、随机顺序样本进行训练、学习, 验证了该网络对不同顺序样本都具有很好的性能, 并与在线模型OSAMNN[17]、OLS[24]、FAOS-PFNN[25]和ORBF进行了性能对比.由实验结果可以看出, OAMNN与在线模块化神经网络、基于正交最小二乘法的径向基函数网络和基于扩展卡尔曼滤波算法的模糊神经网络相比, 具有较高的预测精度, 且结构更加简洁(FAOS-PFNN在线模型结构最简洁).

表 2 非线性动态系统辨识实验结果
3.3 污水处理过程出水氨氮预测

污水处理是一个具有时变、不稳定、非线性、大滞后等特点的过程, 其中出水氨氮(NH3-N)是重要指标.测量NH3-N浓度有多种方法, 如仪器分析法、电化学分析法等, 但无法满足在污水处理过程中实时检测NH3-N浓度的要求, 因此污水处理过程中在线检测出水NH3-N浓度仍是一个难题.

实验数据为北京市某污水处理厂2014年采集数据, 除去缺失或异常数据, 共有198组数据.实验选取150组数据训练模块化神经网络, 48组数据用于测试网络.分别选取:温度T、入水TP、厌氧末端ORP、好氧前端DO、好氧末端SS、出水pH共6个变量作为输入, 预测出水NH3-N浓度.

初始化OAMNN参数:局部距离阈值dc=1.0, 类距离阈值dl=1.1, 密度阈值ρo=3, 子网络层中子网络为固定结构6-5-1, 采用自适应学习率, 初始网络权值随机设置, 在线梯度下降学习算法采用逐个学习方式, 固定数据块N=30 (样本复杂性较大).

图 10图 11分别为OAMNN在学习过程中子网络训练RMSE变化曲线及网络的预测结果.图 10反映了在训练过程中, 子网络模块能在线稳定收敛, 由图 11可知该模块化神经网络能精确地预测出水氨氮浓度.

图 10 出水氨氮浓度预测子网络训练RMSE
图 11 出水氨氮预测结果

图 12(a)为OAMNN对连续顺序、随机顺序样本学习过程中子网络模块个数动态变化情况, 图 12(b)为OSAMNN学习过程中子网络模块个数动态变化情况.由图 12可见, OAMNN能够根据在线出水氨氮浓度增加或删减子网络模块, 实时有效地反映实际情况中局部数据信息, 减少了OAMNN在学习过程中子网络模块不必要的增加或删减, 且最终子网络模块个数(5或6)相对较少, OAMNN具有更为简洁的结构.

图 12 出水氨氮预测子网络模块数动态变化

表 3为OAMNN预测出水氨氮浓度的性能, 实验结果为独立10次实验的平均值, OAMNN分别对连续顺序样本、随机顺序样本进行训练、学习, 验证了该网络对不同顺序样本都具有很好的性能, 并与在线模型OSAMNN[17]、ASOA-FNN[26]和ORBF进行了性能对比.由实验结果可以看出, OAMNN与在线模块化神经网络、基于自适应二阶算法(ASOA)的模糊神经网络相比, 具有较高的预测精度, 且结构更加简洁(ASOA-FNN在线模型结构最简洁).

表 3 出水氨氮预测实验结果
4 结论

本文针对在模块化神经网络对在线任务分解时难以有效反映子任务实时情况及样本间的信息, 提出了一种改进的自适应模块化神经网络.该网络设计了基于距离与密度的在线聚类对任务在线分解, 能实时更新样本的局部密度及聚类中心(RBF神经元中心), 实现OAMNN根据动态数据自组织网络结构, 且有效地减少了子网络模块不必要的增加或删减, 网络具有更加紧凑的结构.另外, 针对样本顺序对在线梯度下降法的限制, 提出一种固定记忆的在线梯度下降法, 实现了OAMNN对不同顺序样本都能稳定收敛, 与其他算法相比, 具有较高的预测精度.

参考文献
[1]
Hornik K, Stinchcombe M, White H. Multilayer feedforward networks are universal approximators[J]. Neural Networks, 1989, 2(5): 359-366.
[2]
Chen W C, Tseng L Y, Wu C S. A unified evolutionary training scheme for single and ensemble of feedforward neural network[J]. Neurocomputing, 2014, 143: 347-361. DOI:10.1016/j.neucom.2014.05.057
[3]
Qiao J F, Li S Y, Han H G, et al. An improved algorithm for building self-organizing feedforward neural networks[J]. Neurocomputing, 2017, 262(1): 28-40.
[4]
Zhang H, Wu W, Liu F, et al. Boundedness and convergence of online gradient method with penalty for feedforward neural networks[J]. IEEE Transactions on Neural Networks, 2009, 20(6): 1050-1054. DOI:10.1109/TNN.2009.2020848
[5]
张昭昭. 动态自适应模块化神经网络结构设计[J]. 控制与决策, 2014, 29(1): 64-70.
(Zhang Z Z. Dynamic adaptive modular neural network architecture design[J]. Control and Decision, 2014, 29(1): 64-70.)
[6]
Hapel B L M, Murre J M J. Design and evolution of modular neural network architectures[J]. Neural Networks, 1994, 7(6/7): 985-1004.
[7]
Kai O E, Mouret J B, Clune J. Neural modularity helps organisms evolve to learn new skills without forgetting old skills[J]. Plos Computational Biology, 2015, 11(4): 1-24.
[8]
Sánchez D, Melin P, Castillo O. Optimization of modular granular neural networks using a firefly algorithm for human recognition[J]. Engineering Applications of Artificial Intelligence, 2017, 64(1): 172-186.
[9]
Melin P, Sánchez D. Multi-objective optimization for modular granular neural networks applied to pattern recognition[J]. Information Sciences, 2018, 460/461(1): 594-610.
[10]
Hu P. A classifier of matrix modular neural network to simplify complex classification tasks[J]. Neural Computer & Application, 2018. DOI:10.1007/s00521-018-3631-x
[11]
Sánchez D, Melin P. Design of intelligent systems based on fuzzy logic, neural networks and nature-inspired optimization[M]. Cham: Springer, 2018: 141-145.
[12]
Qiao J F, Lu C, Li W J. Design of dynamic modular neural network based on adaptive particle swarm optimization algorithm[J]. IEEE Access, 2018, 6(1): 10850-10857.
[13]
Valdez F, Castillo O, Melin P. Ant colony optimization for the design of modular neural networks in pattern recognition[C]. 2016 International Joint Conference on Neural Networks. Canada: IEEE, 2016: 24-29.
[14]
Uriarte A, Melin P, Valdez F. Optimization of modular neural network architectures with an improved particle swarm optimization algorithm[M]. New York: Recent Developments and the New Direction in Soft-Computing Foundations and Applications, 2018: 165-174.
[15]
Ramamurti V, Ghosh J. Structurally adaptive modular networks for nonstationary environments[J]. IEEE Transactions on Neural Networks, 1999, 10(1): 152-160.
[16]
Loo C K, Rajeswari M, Rao M V C. Novel direct and self-regulating approaches to determine optimum growing multi-experts network structure[J]. IEEE Transactions on Neural Networks, 2004, 15(6): 1378-1395. DOI:10.1109/TNN.2004.837779
[17]
Qiao J F, Zhang Z Z, Bo Y C. An online self-adaptive modular neural network for time-varying systems[J]. Neurocomputing, 2014, 125(3): 7-16.
[18]
Rodriguez A, Laio A. Clustering by fast search and find of density peaks[J]. Science, 2014, 344(6191): 1492-1496. DOI:10.1126/science.1242072
[19]
Cao X R. A basic formula for online policy gradient algorithms[J]. IEEE Transactions on Automatic Control, 2005, 50(5): 696-699. DOI:10.1109/TAC.2005.847037
[20]
Zhang H, Tang Y. Online gradient method with smoothing l0 regularization for feedforward neural networks[J]. Neurocomputing, 2017, 224(1): 1-8.
[21]
Wang X Y, Han M. Online sequential extreme learning machine with kernels for nonstationary time series prediction[J]. Neurocomputing, 2014, 145: 90-97. DOI:10.1016/j.neucom.2014.05.068
[22]
Zhang H S, Wu W, Liu F, et al. Boundedness and convergence of online gradient method with penalty for feedforward neural networks[J]. IEEE Transactions on Neural Networks, 2009, 20(6): 1050-1054. DOI:10.1109/TNN.2009.2020848
[23]
Pratama M, Er M J, Li X, et al. Data driven modeling based on dynamic parsimonious fuzzy neural network[J]. Neurocomputing, 2013, 110(1): 18-28.
[24]
Chen S, Cowan C F N, Grant P M. Orthogonal least squares learning algorithm for radial basis function networks[J]. IEEE Transactions on Neural Networks, 1991, 2(2): 302-309.
[25]
Wang N, Er M J, Meng X Y. A fast and accurate online self-organizing scheme for parsimonious fuzzy neural networks[J]. Neurocomputing, 2009, 72(1): 3818-3829.
[26]
Han H G, Ge L M, Qiao J F. An adaptive second order fuzzy neural network for nonlinear system modeling[J]. Neurocomputing, 2016, 214(1): 837-847.