A Model and Data Hybrid Parallel Learning Method for Stochastic Configuration Networks
-
摘要: 随机配置网络(Stochastic configuration networks, SCNs)在增量构建过程引入监督机制来分配隐含层参数以确保其无限逼近特性, 具有易于实现、收敛速度快、泛化性能好等优点. 然而, 随着数据量的不断扩大, SCNs的建模任务面临一定的挑战性. 为了提高神经网络算法在大数据建模中的综合性能, 本文提出了一种混合并行随机配置网络(Hybrid parallel stochastic configuration networks, HPSCNs)架构, 即: 模型与数据混合并行的增量学习方法. 所提方法由不同构建方式的左右两个SCNs模型组成, 以快速准确地确定最佳隐含层节点, 其中左侧采用点增量网络(PSCN), 右侧采用块增量网络(BSCN); 同时每个模型建立样本数据的动态分块方法, 从而加快候选“节点池”的建立、降低计算量. 所提方法首先通过大规模基准数据集进行了对比实验, 然后应用在一个实际工业案例上, 表明其有效性.Abstract: Stochastic configuration networks (SCNs) that employ a supervisory mechanism to assign hidden-node parameters in the incremental construction process can work successfully in building a universal approximator, which indicates remarkable merits in simplicity of implementation, fast convergence and sound generalization. However, an increasing amount of data makes the modeling task with SCNs a challenge. In order to improve the comprehensive performance of neural network algorithms in large-scale data modeling, this paper proposes a hybrid parallel stochastic configuration networks (HPSCNs) architecture by incorporating dual parallelism of model and data. The proposed architecture consists of two SCN models with different construction methods to fast determine the required hidden nodes. The first one is point-incremental SCN (PSCN) which uses point incremental algorithm, and another one is block-incremental SCN (BSCN) which adopts block incremental algorithm. Besides, a dynamic block method of sample data is established and applied for each model, which accelerates the establishment of candidate node pool and reduces the computational load. Comparative experiments were first conducted through large-scale benchmark data sets and then a real-world industrial application case, indicating the effectiveness of the proposed method.
-
信息技术的迅速发展使得生产制造行业进入大数据时代, 这为数据建模提供了大量的数据样本, 使得数据驱动建模在不同领域产生广阔的应用空间[1-3]. 然而, 系统复杂度和数据规模的日益增大为数据建模算法带来新的挑战. 模型精度取决于样本的质量与数量, 但超过一定规模的样本数据, 会显著增加网络参数训练与优化的成本, 且难以有效学习, 导致模型的整体性能下降[4]. 在采用传统神经网络算法进行大数据建模时, 所得到的模型往往存在训练耗时、网络结构复杂等问题, 难以满足实际应用的需求. 因此, 建立一种能够从大量数据中快速、高效学习的策略具有重要意义.
上世纪90年代, 文献[5]提出的随机向量函数链接网络, 与文献[6]提出的另一种具有随机权值的单层前馈神经网络等被统称为随机权神经网络(Random weight neural networks, RWNNs)[7-8]. 其特征在于隐含层参数(输入权值和偏置)在给定的区间内随机产生, 只需解析求解网络输出权值. 因RWNNs实现简单、建模速度快等优势受到了广泛的关注. 文献[9]设计了一种二维RWNNs分类器, 用于人脸识别, 其使用两组输入权值直接以特征矩阵作为输入而不用转换成向量形式, 能够有效保留图像数据的空间信息, 具有良好的分类性能. 文献[10]将非参数的核密度估计方法与加权最小二乘估计引入到RWNNs的学习算法, 通过评估每个训练样本对于建模的贡献度来抑制噪声数据或离群点的负面影响, 从而建立了鲁棒RWNN以及在线学习算法. 在此基础上, 文献[11]进一步引入正则项来防止过拟合现象, 有效减小输出权值, 在一定程度上降低了模型复杂度. 然而, 两个本质缺陷使得RWNNs的应用受到一定的限制: 1)隐含层节点数不能先于训练而确定, 即难以设定合适的网络结构; 2)隐含层参数在固定不变的区间内产生, 影响其实际逼近特性[12-13].
为了解决上述问题, Wang等首次提出了一种随机增量学习技术, 即随机配置网络(Stochastic configuration networks, SCNs)[14]. SCNs在一个可调区间内随机分配隐含层参数, 并创新性地引入监督机制加以约束, 确保了其无限逼近特性. 作为一种增量学习算法, SCNs在每次的增量学习过程中, 均建立候选“节点池”以选出最佳节点, 加快了收敛速度; 同时, 网络结构也可在增量学习过程中确定. 针对SCNs监督机制中关键参数的选择问题, 文献[15]指导性地给出了两种不等式约束, 从而提高了随机参数配置的效率, 有助于候选“节点池”的建立. 文献[16]以SCNs作为基模型, 采用负相关学习策略来配置输出权值, 提出了一种快速解除相关异构神经元的集成学习方法. 文献[17]针对隐含层输出矩阵可能存在的多重共线性等不适定情况, 在计算输出权值时采用截断奇异值分解对重新构建的输出矩阵进行广义逆运算, 建立了TSVD-SCN模型. 文献[18]通过引入正则化技术, 进一步提升SCNs的泛化性能. 文献[19]通过理论分析和算法实现将SCNs推广到深度结构, 即DeepSCNs. 结果表明, 相比其他深度神经网络, DeepSCNs可以快速有效地生成, 且学习特性和泛化性能之间具有一致性. 此外, 文献[20]和[21]分别提出了两种不同的鲁棒SCNs算法用于受污染数据的建模问题.
然而, 现有的SCNs及其相关算法均采用点增量的构建方式. 在大数据建模任务中, 往往需要大量的迭代和耗时的伪逆运算. 为解决采用传统计算方式将产生过大计算损耗的问题, 本文研究SCNs并行学习方法, 以提高SCNs在大数据应用中的效率.
现有面向大数据的神经网络并行建模的研究成果可分为数据或者模型并行两类[22-24]. 数据并行是将数据集分成若干数据块以同时处理, 模型并行是将参数进行并行划分以同时求解. 本文针对SCNs增量学习过程中网络结构动态变化的特点, 提出一种新颖的模型与数据混合并行的增量学习方法. 主要贡献在于: 将点增量和块增量两种增量模型构建方法进行并行, 左侧为点增量SCN (PSCN), 右侧为块增量SCN (BSCN). 其中, PSCN每次迭代隐含层节点单个增加, 以准确地找到最佳网络结构, BSCN每次迭代隐含层节点按块添加, 具有较快的收敛速度. 同时针对样本数据维数高、数据量大导致的计算耗时问题, 采用一种基于动态分块策略的数据并行方法, 其在增量学习过程的不同阶段, 根据当前节点数将训练数据划分为不同的数据块, 从而采用并行计算方式, 同步进行运算; 然后, 在PSCN与BSCN计算输出权值时整合数据块, 并通过比较残差, 择优选取模型参数. 对所形成的混合并行随机配置网络(Hybrid parallel stochastic configuration networks, HPSCNs)进行对比实验, 结果表明, 其具有资源利用率高、建模速度快、网络模型紧致等优点.
1. 增量式随机权网络
1.1 传统RWNNs
对于给定的
$ N $ 组训练集样本$\left( {{{\boldsymbol{x}}_i},{{\boldsymbol{t}}_i}} \right)$ , 其输入$ {\boldsymbol{X}}=\left\{ {{{\boldsymbol{x}}_1}, {{\boldsymbol{x}}_2}, \cdots ,{{\boldsymbol{x}}_N}} \right\} $ ,$ {{\boldsymbol{x}}_i}=\left\{ {{x_{i,1}}, \cdots ,{x_{i,d}}} \right\} \in{{\bf{R}}^d} $ , 相应的输出$ {\boldsymbol{T}}{\rm{=}}\left\{ {{{\boldsymbol{t}}_1},{{\boldsymbol{t}}_2}, \cdots ,{{\boldsymbol{t}}_N}} \right\} $ ,$ {{\boldsymbol{t}}_i}=\left\{ {t_{i,1}}, \cdots , {t_{i,m}} \right\} \in$ $ {{\bf{R}}^m} $ . 其中$ i=1,2, \cdots ,N $ . 具有$ L $ 个隐含层节点的RWNNs模型可以表示为:$$ {f_L}({\boldsymbol{X}})=\sum\limits_{j=1}^L {{{\boldsymbol{\beta }}_j}} {{\boldsymbol{g}}_j}({{\boldsymbol{v}}_j},{b_j},{\boldsymbol{X}}) $$ (1) 其中,
$ {{\boldsymbol{g}}_j}\left( \cdot \right) $ 表示隐含层第$ j $ 个节点的激活函数, 隐含层参数($ {{\boldsymbol{v}}_j} $ 和$ {b_j} $ )分别在区间$ {\left[ { - \lambda ,\lambda } \right]^d} $ 和$ \left[ { - \lambda ,\lambda } \right] $ 随机生成,$ {{\boldsymbol{\beta }}_j}{\rm{=}}{\left[ {{\beta _{j,1}}, \cdots ,{\beta _{j,q}},\cdots,{\beta _{j,m}}} \right]^{\rm{T}}} $ 为隐含层第$ j $ 个节点与$ m $ 个输出节点之间的输出权值,$ {f_L} $ 即当前网络的输出. 模型参数可以通过求解如下的二次型优化问题获得.$$ \left\{ {{{\boldsymbol{\beta }}_1}, \cdots ,{{\boldsymbol{\beta }}_L}} \right\}=\mathop {\min }\limits_{} {\sum\limits_{i=1}^N {\left\| {\sum\limits_{j=1}^L {{{\boldsymbol{\beta }}_j}} {{\boldsymbol{g}}_j}\left( {{{\boldsymbol{v}}_j},{b_j},{{\boldsymbol{x}}_i}} \right) - {{\boldsymbol{t}}_i}} \right\|} ^2} $$ (2) 上述等式可以进一步表示为矩阵形式:
$$ {{\boldsymbol{\beta }}^ * }=\arg \mathop {\min }\limits_{\boldsymbol{\beta }} {\left\| {{\boldsymbol{H\beta }} - {\boldsymbol{T}}} \right\|^2}={{\boldsymbol{H}}^{\dagger } }{\boldsymbol{T}} $$ (3) 其中
$$ {\boldsymbol{H}}=\left[ {\begin{array}{*{20}{c}} {g\left( {{{\boldsymbol{v}}_1},{b_1},{{\boldsymbol{x}}_1}} \right)}& \cdots &{g\left( {{{\boldsymbol{v}}_L},{b_L},{{\boldsymbol{x}}_1}} \right)}\\ \vdots & \cdots & \vdots \\ {g\left( {{{\boldsymbol{v}}_1},{b_1},{{\boldsymbol{x}}_N}} \right)}& \cdots &{g\left( {{{\boldsymbol{v}}_L},{b_L},{{\boldsymbol{x}}_N}} \right)} \end{array}} \right] $$ (4) 为隐含层输出矩阵,
$ {{\boldsymbol{H}}^{\dagger } } $ 为其Moore-Penrose广义逆[25].通常, 传统RWNNs所需要的节点数往往只能针对特定建模任务采用交叉验证法确定, 实验过程耗时, 且网络结构的确定取决于交叉验证时所选择的参数.
1.2 增量构造学习算法
增量构造学习算法是解决网络结构的一种有效方法, 从随机产生第一个节点
$ {{\boldsymbol{g}}_1}=g\left( {{{\boldsymbol{v}}_1},{b_1},{\boldsymbol{x}}} \right) $ 开始, 向网络中逐渐增加节点; 相应地, 输出权值为$ {\boldsymbol{\beta} _1}{\rm{=}}{{{\left\langle {{{\boldsymbol{e}}_0},{{\boldsymbol{g}}_1}} \right\rangle } / {\left\| {{{\boldsymbol{g}}_1}} \right\|}}^2} $ , 其中$ {{\boldsymbol{e}}_0}{\rm{=}}f $ ; 更新$ {{\boldsymbol{e}}_1}{\rm{=}}f - {\boldsymbol{\beta} _1}{{\boldsymbol{g}}_1} $ [12]. 通过重复上述过程可以同时解决网络结构和参数优化问题, 增量RWNNs的构造过程如下.首先, 设定增量学习的期望精度, 其输出
$ {f_L} $ 可以表示为先前网络$ {f_{L - 1}} $ 与新增节点$ {{\boldsymbol{g}}_L} $ $ ({{\boldsymbol{v}}_L} $ 和${b_L})$ 的特定组合, 即:$$ {f_L}(x)={f_{L{\rm{ - }}1}}(x) + {\boldsymbol{\beta} _L}{{\boldsymbol{g}}_L}(x) $$ (5) 其中, 新增节点的输出权值依据下式
$$ {{\boldsymbol{\beta }}_L}{\rm{=}}\frac{{\left\langle {{{\boldsymbol{e}}_{L - 1}},{{\boldsymbol{g}}_L}} \right\rangle }}{{{{\left\| {{{\boldsymbol{g}}_L}} \right\|}^2}}} $$ (6) 且先前网络的残差
$$ {{\boldsymbol{e}}_{L - 1}}=f - {f_{L - 1}}={\left[ {{{\boldsymbol{e}}_{L - 1,1}}, \cdots ,{{\boldsymbol{e}}_{L - 1,m}}} \right]} $$ (7) 增量RWNNs虽然解决了传统RWNNs难以确定网络结构的问题, 但网络的输入权值和偏置通常选择在固定区间(如[−1, 1])内产生, 这种与样本数据无关的参数设定方式导致RWNNs的逼近特性具有不确定性. 因此, 随机参数的产生应该依赖于建模数据并加以约束.
2. 混合并行增量学习方法
SCNs作为一种先进的随机学习技术, 其本质特征在于随机产生的输入权值和偏置需要满足监督机制, 并采用数据依赖策略动态调整随机区间, 有效解决了RWNNs及其增量构造学习算法的本质缺陷. 然而, 传统SCNs均是采用点增量的方式来构建网络(PSCN), 即一次迭代过程只能添加一个节点. 采用这种方法, 每一个新增节点都需要重新建模, 当所需节点数较多时, 网络的构建就会变得相对复杂、耗时. 从特征学习的角度来说, 前馈神经网络从输入样本空间去逼近复杂非线性函数的能力很大程度上取决于隐含层的特征映射, 即从低维输入数据到高维特征空间. 而节点可以被认为是高维空间的特征. 那么, 每次只增加一个节点则在很大程度上限制了特征的获取. 因此, 使用点增量方法构建SCNs的过程往往需要较多的迭代, 不可避免地增加了计算量、影响了建模效率. 鉴于此, 我们最近的工作[26]将传统点增量SCNs推广为允许同时添加多个隐含层节点(节点块)的块增量网络(BSCN), 用于加快构建过程.
点增量与块增量算法分别具有网络结构紧致但收敛速度慢和收敛速度快但模型不紧致的特点. 为了进一步提高算法的综合性能, 本文对传统SCNs进行改进, 提出了一种新的混合并行增量学习方法, 即: HPSCNs, 以应对大数据建模. 主要思想是: 在同一个建模任务中, 使用点和块两种增量构建模型方法进行并行学习, 且在学习过程中将样本数据随学习过程动态划分为多个数据块, 从而采用并行计算择优选取模型参数.
2.1 模型并行策略
HPSCNs由PSCN和BSCN组成, 以单输出为例, 其模型并行结构如图1所示. 这里添加节点的过程被称为迭代. 在训练过程中, PSCN的构建方式采用点增量方法(隐含层节点每次迭代单个增加), 从而保证相对准确地找到最佳隐含层节点; BSCN的构建方式采用块增量方法(隐含层节点每次迭代按块添加), 以提高模型的收敛速度.
该策略采用平行网络并行计算. 即在增量学习过程中, 平行的PSCN与BSCN通过并行计算被独立地构建; 每次迭代结束后, 以当前网络残差为指标, 保留其中较优的网络, 并将其模型参数作为本次迭代的最终结果; 同时将该结果赋值给另一个网络以更新其节点数, 然后进行下一次迭代.
2.1.1 PSCN
图1所示的模型并行增量学习方法, 左侧采用传统点增量随机配置网络PSCN, 其学习过程约束根据引理1获得.
引理 1[14]. 令
$ \Gamma :=\left\{ {{g_1},{g_2},{g_3}, \cdots } \right\} $ 表示一组实值函数,$ {\rm{span}}(\Gamma ) $ 表示由$ \Gamma $ 组成的函数空间. 假设$ {\rm{span}}(\Gamma ) $ 稠密于$ {L_2} $ 空间且$ \forall g \in \Gamma $ ,$ 0 < \left\| g \right\| < {b_g} $ , 其中${b_g} \in $ $ {{\bf{R}}^ + }$ . 给定$ 0 < r < 1 $ 以及非负实值序列$\left\{ {{\mu _L}} \right\},$ 其中,$\mathop {\lim }\nolimits_{L \to \infty } {\mu _L}=0,$ ${\mu _L} \le \left( {1 - r} \right).$ 对于$ L =1,2,\cdots, $ 定义$$ \delta _{L,q}^{}=\left( {1 - r - {\mu _L}} \right){\left\| {{\boldsymbol{e}}_{L - 1,q}^{}} \right\|^2}, q=1,2, \cdots ,m $$ (8) 若激活函数
$ {{\boldsymbol{g}}_L} $ 满足下列不等式约束:$$ {\left\langle {{\boldsymbol{e}}_{L - 1,q}^{},{{\boldsymbol{g}}_L}} \right\rangle ^2} \ge b_g^2\delta _{L,q}^{}, q=1,2, \cdots ,m $$ (9) 并且输出权值通过式(3)计算, 那么
$\mathop {\lim }\nolimits_{L \to \infty } \| f - $ $ {f_L}\|=0$ 恒成立.在上述定理中, 将式(8)代入(9), 可以得到点增量学习的监督机制:
$$ \begin{split} {\xi _{L,q}} =\;&\frac{{{{\left\langle {{\boldsymbol{e}}_{L - 1, q}^{},{\boldsymbol{g}}_L^{}} \right\rangle }^2}}}{{{\boldsymbol{g}}_L^{\rm{T}}{\boldsymbol{g}}_L^{}}}-\\ & \left( {1 - r - {\mu _L}} \right)\left\langle {{\boldsymbol{e}}_{L - 1, q}^{},{\boldsymbol{e}}_{L - 1, q}^{}} \right\rangle > 0 \end{split} $$ (10) 其中,
$ q=1,2, \cdots ,m $ ,${\mu _L}={{(1 - r)} / {(L + 1)}}$ .网络构建过程简述如下:
1) 在可调区间内随机产生隐含层参数
$({{\boldsymbol{v}}_L}$ 和${b_L}).$ 将满足式(10)的节点作为候选节点, 并保留最大的$ {\xi_{L,q}} $ 所对应的随机参数;2) 输出权值
$ {\boldsymbol{\beta }} $ 通过公式(3)求解全局最小二乘得到;3) 计算PSCN当前训练残差
$ {{\boldsymbol{e}}_L} $ , 判断是否满足停止条件.2.1.2 BSCN
按照块增量方法, 将引理1进行推广, 有如下引理2.
引理 2[26]. 给定
$ 0 < r < 1 $ 以及非负实值序列$ \left\{ {{\mu _L}} \right\}, $ 其中$\mathop {\lim }\nolimits_{L \to \infty } {\mu _L}=0,$ $ {\mu _L} \le \left( {1 - r} \right). $ 对于$L=1, $ $ 2, \cdots$ ,$ {\Delta _k} \in \left\{ L \right\} $ , 若隐含层输出块$ {{\boldsymbol{H}}_{{\Delta _k}}} $ 满足下列块增量形式的监督机制:$$ \begin{split} {\xi^B _{L,q}}=\;&\left\langle {{\boldsymbol{e}}_{L - {\Delta _k},q}^{},{{\boldsymbol{H}}_{{\Delta _k}}}{{{\tilde{\boldsymbol \beta }}}_{{\Delta _k},q}}} \right\rangle - \\ &\left( {1 - r - {\mu _L}} \right)\left\langle {{\boldsymbol{e}}_{L - {\Delta _k}, q}^{},{\boldsymbol{e}}_{L - {\Delta _k}, q}^{}} \right\rangle > 0 \end{split} $$ (11) 那么
$\mathop {\lim }\nolimits_{L \to \infty } \left\| {f - {f_{L - {\Delta _k}}}} \right\|=0$ 恒成立. 其中块宽$ {\Delta_k} $ 表示第$ k $ 次迭代中新加入的节点块;${\boldsymbol{e}}_{L - {\Delta _k}}^{}{\rm{=}} $ $ f - {f_{L - {\Delta _k}}} $ 表示第$ k-1 $ 次迭代结束时的训练残差;$ {{\boldsymbol{H}}_{{\Delta _k}}}={\left[ {{{\boldsymbol{g}}_{L - {\Delta _k} + 1}}, \cdots ,{{\boldsymbol{g}}_L}} \right]_{N \times {\Delta _k}}} $ 表示第$ k $ 次迭代时的隐含层输出块; 且$$ {{\tilde{\boldsymbol \beta }}_{{\Delta _k},q}}{\rm{=}}{\left( {{\boldsymbol{H}}_{{\Delta _k}}^{\rm{T}}{{\boldsymbol{H}}_{{\Delta _k}}}} \right)^{\dagger } }{\boldsymbol{H}}_{{\Delta _k}}^{\rm{T}}{\boldsymbol{e}}_{L - {\Delta _k},q}^{} $$ (12) 表示第
$ k $ 次迭代中的输出权值的中值.BSCN的增量学习过程在PSCN的基础上, 根据式(11)在可调区间内随机产生新增节点块(
$ {{\boldsymbol{v}}_{{\Delta _k}}} $ 和$ {{\boldsymbol{b}}_{{\Delta _k}}} $ ), 从而实现了批量分配隐含层参数和按块增加隐含层节点.2.1.3 收敛性分析
模型并行增量学习过程当前网络节点数为
$ L $ 时, 令新增节点数为$ l \in \left\{ {1,{\Delta _k}} \right\} $ 有:$$ \begin{split} & {\left\| {{{\boldsymbol{e}}_{L + l}}} \right\|^2} - \left( {r + {\mu _{L + l}}} \right){\left\| {{{\boldsymbol{e}}_L}} \right\|^2} =\\ &\quad \min \left\{ {{{\left\| {{{\boldsymbol{e}}_{L + 1}}} \right\|}^2},{{\left\| {{{\boldsymbol{e}}_{L + {\Delta _k}}}} \right\|}^2}} \right\} - \left( {r + {\mu _{L + l}}} \right){\left\| {{{\boldsymbol{e}}_L}} \right\|^2} =\\&\quad \left\| {{\boldsymbol{e}}_{L + l}^ * } \right\| - \left( {r + {\mu _{L + l}}} \right){\left\| {{{\boldsymbol{e}}_L}} \right\|^2}\\[-10pt] \end{split} $$ (13) 其中,
$ {\boldsymbol{e}}_{L + l}^ * $ 表示模型并行学习时不同构建方式下新增节点的最佳残差.1) 点增量
$(l=1)$ 时:$$ \begin{split} & \left\| {{\boldsymbol{e}}_{L + 1}^ * } \right\| - \left( {r + {\mu _{L + 1}}} \right){\left\| {{{\boldsymbol{e}}_L}} \right\|^2} \le \\ & \qquad{\left\| {{{{\tilde{\boldsymbol e}}}_{L + 1}}} \right\|^2} - \left( {r + {\mu _{L + 1}}} \right){\left\| {{{\boldsymbol{e}}_L}} \right\|^2} =\\ &\qquad\sum\limits_{q=1}^m {\left\langle {{{\boldsymbol{e}}_{L,q}} - {{\tilde \beta }_{L + 1,q}}{{\boldsymbol{g}}_{L + 1}}, {{\boldsymbol{e}}_{L,q}} - {{\tilde \beta }_{L + 1,q}}{{\boldsymbol{g}}_{L + 1}}} \right\rangle } -\\ &\qquad\sum\limits_{q=1}^m {\left( {r + {\mu _{L + 1}}} \right)\left\langle {{{\boldsymbol{e}}_{L,q}}, {{\boldsymbol{e}}_{L,q}}} \right\rangle }= \\ &\qquad\left( {1 - r - {\mu _{L + 1}}} \right){\left\| {{{\boldsymbol{e}}_L}} \right\|^2} - \frac{{\displaystyle\sum\limits_{q=1}^m {{{\left\langle {{{\boldsymbol{e}}_{L,q}},{{\boldsymbol{g}}_{L + 1}} } \right\rangle }^2}} }}{{{{\left\| {{{\boldsymbol{g}}_{L + 1}}} \right\|}^2}}}=\\ &\qquad{\delta _{L + 1}} - \frac{{\displaystyle\sum\limits_{q=1}^m {{{\left\langle {{{\boldsymbol{e}}_{L,q}},{{\boldsymbol{g}}_{L + 1}} } \right\rangle }^2}} }}{{{{\left\| {{{\boldsymbol{g}}_{L + 1}}} \right\|}^2}}}\le\\ &\qquad{\delta _{L + 1}} - \frac{{\displaystyle\sum\limits_{q=1}^m {{{\left\langle {{{\boldsymbol{e}}_{L,q}},{{\boldsymbol{g}}_{L + 1}} } \right\rangle }^2}} }}{{b_g^2}}\\[-15pt] \end{split} $$ (14) 根据引理1可得
$ \left\| {{\boldsymbol{e}}_{L + 1}^ * } \right\| - \left( {r + {\mu _{L + 1}}} \right){\left\| {{{\boldsymbol{e}}_L}} \right\|^2} \le 0 $ .2) 块增量(
$ l={\Delta _k} $ )时:$$ \begin{split} & \left\| {{\boldsymbol{e}}_{L + {\Delta _k}}^ * } \right\| - \left( {r + {\mu _{L + {\Delta _k}}}} \right){\left\| {{{\boldsymbol{e}}_L}} \right\|^2} \le \\ &\qquad{\left\| {{{{\tilde{\boldsymbol e}}}_{L + {\Delta _k}}}} \right\|^2} - \left( {r + {\mu _{L + {\Delta _k}}}} \right){\left\| {{{\boldsymbol{e}}_L}} \right\|^2} =\\ &\qquad\sum\limits_{q=1}^m {\left\langle {{{\boldsymbol{e}}_{L,q}} - {{\boldsymbol{H}}_{{\Delta _k}}}{{{\tilde{\boldsymbol \beta }}}_{{\Delta _k},q}}, {{\boldsymbol{e}}_{L,q}} - {{\boldsymbol{H}}_{{\Delta _k}}}{{{\tilde{\boldsymbol \beta }}}_{{\Delta _k},q}}} \right\rangle }- \\ &\qquad\sum\limits_{q=1}^m {\left( {r + {\mu _{L + {\Delta _k}}}} \right)\left\langle {{{\boldsymbol{e}}_{L,q}}, {{\boldsymbol{e}}_{L,q}}} \right\rangle } = \\ &\qquad{\delta _{L + {\Delta _k}}} - \sum\limits_{q=1}^m {\left( {{\boldsymbol{e}}_{L,q}^{\rm{T}}{{\boldsymbol{H}}_{{\Delta _k}}}{{\left( {{\boldsymbol{H}}_{{\Delta _k}}^{\rm{T}}{{\boldsymbol{H}}_{{\Delta _k}}}} \right)}^{\dagger } }{\boldsymbol{H}}_{{\Delta _k}}^{\rm{T}}{{\boldsymbol{e}}_{L,q}}} \right)} =\\ &\qquad{\delta _{L + {\Delta _k}}} - \sum\limits_{q=1}^m {\left\langle {{{\boldsymbol{e}}_{L,q}},{{\boldsymbol{H}}_{{\Delta _k}}}{{{\tilde{\boldsymbol \beta }}}_{{\Delta _k},q}}} \right\rangle } \\[-15pt] \end{split} $$ (15) 根据引理2可得
$ \left\| {{\boldsymbol{e}}_{L + {\Delta _k}}^ * } \right\| - \left( {r + {\mu _{L + {\Delta _k}}}} \right) {\left\| {{{\boldsymbol{e}}_L}} \right\|^2} \le0$ .由以上分析可知, 式(13)
$ \left\| {{\boldsymbol{e}}_{L + l} } \right\| - \left( {r + {\mu _{L + l}}} \right)$ ${\left\| {{{\boldsymbol{e}}_L}} \right\|^2} \le 0 $ , 残差序列$ \left\| {{\boldsymbol{e}}_{L + l} } \right\| $ 单调递减且有界. 进一步地,$$ {\left\| {{\boldsymbol{e}}_{L + l} } \right\|^2} \le r{\left\| {{{\boldsymbol{e}}_L}} \right\|^2} + {\mu _{L + l}}{\left\| {{{\boldsymbol{e}}_L}} \right\|^2} $$ (16) 注意到
$ {\lim _{L \to \infty }}{\mu _{L + l}}{\left\| {{{\boldsymbol{e}}_L}} \right\|^2}{\rm{=}}0 $ , 其中${\lim _{L \to \infty }}{\mu _{L{\rm{ + }}l}}$ ${\rm{=}} 0 $ . 根据式(16)可以进一步得到$ {\lim _{L \to \infty }}{\left\| {{\boldsymbol{e}}_{L + l}} \right\|^2}{\rm{=}}0 $ , 即$ {\lim _{L \to \infty }}\left\| {{\boldsymbol{e}}_{L + l}} \right\|{\rm{=}}0 $ . 因此残差序列$ \left\| {{\boldsymbol{e}}_{L + l}} \right\| $ 单调递减且收敛于0, 说明本文所提HPSCNs模型具有无限逼近特性.2.2 数据并行策略
在增量学习过程中, 将数据进行分块处理, 以建立一种数据并行计算策略, 可进一步提高学习速度. 因此, 将训练输入样本
$ {\boldsymbol{X}} $ 、训练输出样本$ {\boldsymbol{T}} $ 等分为$ M $ 块, 即$$ {\boldsymbol{X}}=\left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{X}}_1}}\\ {{{\boldsymbol{X}}_2}}\\ \vdots \\ {{{\boldsymbol{X}}_M}} \end{array}} \right],{\boldsymbol{T}}=\left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{T}}_1}}\\ {{{\boldsymbol{T}}_2}}\\ \vdots \\ {{{\boldsymbol{T}}_M}} \end{array}} \right] $$ (17) 每个数据块的隐含层输出矩阵通过并行计算获得, 第
$ p $ 个数据块与隐含层输出矩阵的对应关系:$$ {{\boldsymbol{H}}_p}=\left[ {{{\boldsymbol{g}}_{p,1}}\left( {{{\boldsymbol{v}}_1},{b_1},{{\boldsymbol{X}}_p}} \right), \cdots, {{\boldsymbol{g}}_{p,L}}\left( {{{\boldsymbol{v}}_L},{b_L},{{\boldsymbol{X}}_p}} \right)} \right] $$ (18) 这里
$ {{\boldsymbol{g}}_{p,L}} $ 表示节点数为$ L $ 时第$ p $ 个数据块的隐含层输出. 此时, PSCN的监督机制为:$$ \begin{split} {\xi _{L,q}} =\;&\frac{{{{\left\langle {{\boldsymbol{e}}_{L - 1, q}^{},\left[ {{\boldsymbol{g}}_{1,L}^{\rm{T}}, \cdots ,{\boldsymbol{g}}_{M,L}^{\rm{T}}} \right]} \right\rangle }^2}}}{{\displaystyle\sum\limits_{p=1}^M {{\boldsymbol{g}}_{p,L}^{\rm{T}}{\boldsymbol{g}}_{p,L}^{}} }}- \\&\left( {1 - r - {\mu _L}} \right)\left\langle {{\boldsymbol{e}}_{L - 1, q}^{},{\boldsymbol{e}}_{L - 1, q}^{}} \right\rangle > 0 \end{split} $$ (19) 相应地, BSCN的监督机制为:
$$ \begin{split} {\xi^B _{L,q}}=\;&\left\langle {{\boldsymbol{e}}_{L - {\Delta _k},q}^{},{{\left[ {{\boldsymbol{h}}_{1,k}^{\rm{T}}, \cdots ,{\boldsymbol{h}}_{M,k}^{\rm{T}}} \right]}^{\rm{T}}}{{{\tilde{\boldsymbol \beta }}}_{k,q}}} \right\rangle - \\& \left( {1 - r - {\mu _L}} \right)\left\langle {{\boldsymbol{e}}_{L - {\Delta _k}, q}^{},{\boldsymbol{e}}_{L - {\Delta _k}, q}^{}} \right\rangle > 0 \end{split} $$ (20) 式中,
$ {{\boldsymbol{h}}_{p,k}}=\left[ {{{\boldsymbol{g}}_{p,}}_{L - {\Delta _k} + 1}, \cdots ,{{\boldsymbol{g}}_{p,L}}} \right] $ 表示BSCN在第$ k $ 次迭代中数据块$ p $ 对应的隐含层输出块, 且$$ {{\tilde{\boldsymbol \beta }}_{k,q}}={\left( {\sum\limits_{p=1}^M {{\boldsymbol{h}}_{p,k}^{\rm{T}}{\boldsymbol{h}}_{p,k}^{}} } \right)^{\dagger } }\left( {{{\left[ {\begin{array}{*{20}{c}} {{\boldsymbol{h}}_{1,k}^{}}\\ \vdots \\ {{\boldsymbol{h}}_{M,k}^{}} \end{array}} \right]}^{\rm{T}}}{\boldsymbol{e}}_{L - {\Delta _k}, q}^{}} \right) $$ (21) 表示第
$ k $ 次迭代时输出权值的中值.根据不同数据规模的学习任务, 输出权值
$ {\boldsymbol{\beta }} $ 可由下式计算获得:$$ {\boldsymbol{\beta }}=\left\{ \begin{aligned}& {\left( {{{\boldsymbol{H}}^{\rm{T}}}{\boldsymbol{H}}} \right)^{\dagger } }{{\boldsymbol{H}}^{\rm{T}}}{\boldsymbol{T}},\; {\rm{ }}N \ge L\\& {{\boldsymbol{H}}^{\rm{T}}}{\left( {{\boldsymbol{H}}{{\boldsymbol{H}}^{\rm{T}}}} \right)^{\dagger } }{\boldsymbol{T}},\; {\rm{ }}N < L \end{aligned} \right. $$ (22) 对于大数据建模, 这里只考虑
$ N \ge L $ 的情况, 因此, 数据并行学习方法中的输出权值可以表示为:$$ {\boldsymbol{\beta }}={\left( {\sum\limits_{p=1}^M {{\boldsymbol{H}}_p^{\rm{T}}{{\boldsymbol{H}}_p}} } \right)^{\dagger } }\left( {\sum\limits_{p=1}^M {{\boldsymbol{H}}_p^{\rm{T}}{{\boldsymbol{T}}_p}} } \right) $$ (23) 式(23)将不同数据块整合并得到输出权值.
注意到, 随着学习过程中隐含层节点数的增加, 网络尺寸逐渐增大, 计算负荷也随之增加, 因此, 在增量学习过程的不同阶段, 本文采用动态分块策略, 逐渐增加数据块数量, 以充分利用并行计算资源, 提高学习的效率. 所形成的数据并行策略如图2所示, 其中从隐含层到输入层的连接起到反馈作用, 实现数据块
$ M $ 随学习过程中隐含层节点数$ L $ 的增加而变化, 具体动态分块方法如下:$$ {M_{k + 1}}\left( L \right){\rm{=}}{M_0} \times \frac{{L_{\max }^k}}{{L_{en}^k}},L_{\min }^k < L \le L_{\max }^k $$ (24) 其中,
$ {M_0} $ 表示初始样本数据分块基数;$ {L_{en}^k} $ 表示第$ k $ 次迭代时分块数递增区间长度,$ L_{\max}^k $ 和$ L_{\min}^k $ 分别表示相应递增区间的上下界, 则$ L_{en}^k=L_{\max }^k - L_{\min }^k $ .$ L_{\max }^k $ 和$ L_{\min }^k $ 的选取详见性能评估部分.注 1. HPSCNs继承了原始SCNs自组织学习的特点, 其隐含层节点在监督机制下自主构建, 无需采用传统自组织学习的剪枝等算法即可保证模型的紧致性. 此外, HPSCNs中PSCN和BSCN的监督机制分别不同于传统SCNs和块增量SCNs. 以PSCN为例, 若根据
$ M $ 个不同的数据块同步获取一组隐含层输出$ {{\boldsymbol g}_{1,L}},\cdots,{{\boldsymbol g}_{p,L}},\cdots,{{\boldsymbol g}_{M,L}} $ 后, 直接带入SCNs中得到$ M $ 组满足条件的不等式约束, 尽管该网络仍具有无限逼近特性, 但收敛性会变差. 这是因为监督机制的数据依赖特性. 每组监督机制只包含当前数据块的信息而忽略了其他数据块, 不可避免地放宽了约束的作用, 导致所得到的输入权值和偏置"质量"变低, 从而影响到模型收敛性. 因此, 隐含层参数的分配需要考虑全体数据块.注 2. RWNNs与SCNs均直接使用式(3)求解输出权值, 导致广义逆运算成为构建过程中较为耗时环节, 尤其针对大数据建模, 即
$ N >>L $ 的情况, 则需要对$ N \times L $ 阶的矩阵进行广义逆运算; 而基于数据并行采用式(23), 则只需要计算$ L \times L $ 阶矩阵的广义逆, 大大降低了计算量.2.3 HPSCNs实现步骤
混合并行增量学习算法的具体实现描述如下:
给定训练输入
$ {\boldsymbol{X}} \in {{\rm{R}}^{N \times d}} $ , 输出$ {\boldsymbol{T}}\; \in {{\rm{R}}^{N \times m}} $ . 设置增量构建过程中的容忍误差$ \varepsilon $ 和最大迭代次数$ {k_{\max}} $ ; 隐含层参数分配区间集$ {\boldsymbol{\Upsilon}} {\rm{=}}\left\{ {{\lambda _1},{\lambda _2}, \cdots ,{\lambda _{end}}} \right\} $ ; 最大随机配置次数$ {T_{\max }} $ ; BSCN中的块宽$ {\Delta_k} $ 等.步骤 1. 初始化训练集数据分块数
$ M=M_1 $ ;步骤 2. 开始模型与数据并行学习;
PSCN:
1) 在区间
$ {\left[ { - {\lambda _i},{\lambda _i}} \right]^d} $ 和$ \left[ { - {\lambda _i},{\lambda _i}} \right] $ 内随机生成隐含层参数$ {{\boldsymbol{v}}_L} $ 和$ {b_L} $ ,$ {\lambda _i} \in {\boldsymbol{\Upsilon}} ,\; i=1,2, \cdots ,end $ ;2) 使用不同数据块同步获取PSCN的隐含层输出
$ {\boldsymbol{g}}_{1,L}^{}, \cdots ,{\boldsymbol{g}}_{p,L}^{}, \cdots ,{\boldsymbol{g}}_{M,L}^{} $ ;3) 根据式(19)建立候选“节点池”, 并找出使得
$ {\xi _{L,q}} $ 最大的随机参数$ {\boldsymbol{v}}_L^ * $ 和$ b_L^ * $ ;4) 根据式(23)整合数据块并评估PSCN的输出权值.
BSCN:
1) 在区间
$ {\left[ { - {\lambda _i},{\lambda _i}} \right]^{{\Delta _k} \times d}} $ 和$ {\left[ { - {\lambda _i},{\lambda _i}} \right]^{{\Delta _k} \times 1}} $ 内随机生成隐含层参数$ {{\boldsymbol{v}}_{{\Delta _k}}} $ 和$ {{\boldsymbol{b}}_{{\Delta _k}}} $ ,$ {\lambda _i} \in {\boldsymbol{\Upsilon}} ,\; i=1,2, \cdots ,end $ ;2) 使用不同数据块同步获取BSCN的隐含层输出块
$ {\boldsymbol{h}}_{1,k}^{}, \cdots ,{\boldsymbol{h}}_{p,k}^{}, \cdots ,{\boldsymbol{h}}_{M,k}^{} $ ;3) 根据式(20)建立候选“节点池”, 并找出使得
$ {\xi _{L,q}} $ 最大的随机参数$ {\boldsymbol{v}}_{{\Delta _k}}^ * $ 和$ {\boldsymbol{b}}_{{\Delta _k}}^ * $ ;4) 根据式(23)整合数据块并评估BSCN的输出权值.
步骤 3. 计算PSCN和BSCN的训练残差;
步骤 4. 通过比较残差择优选取模型参数并用于更新另一个模型的隐含层节点数
$ L $ ;步骤 5. 更新下一次迭代中训练数据的分块数
$ M=M_{k+1}(L) $ ;步骤 6. 重复上述步骤, 直至模型达到停止标准;
步骤 7. 返回最终模型参数
$ {\boldsymbol{v}}_{}^ * $ ,$ {\boldsymbol{b}}_{}^ * $ 和$ {{\boldsymbol{\beta }}^ * } $ .注 3. 神经网络的模型精度会随隐含层节点数的增加而逐渐提高, 但当节点数过多时会使训练误差变小而测试误差增大, 即过拟合现象. 本文所提方法达到停止条件时立即结束迭代, 不再继续增加隐含层节点, 在一定程度上避免了过拟合现象.
注 4. 为尽可能地提高学习效率, 需要多次随机配置隐含层参数, 以建立候选"节点池", 从而寻找出最佳的隐含层节点.
$ {T_{\max }} $ 决定着随机配置隐含层参数的次数, 过大增加计算损耗、过小不利于候选“节点池”的建立[14]. 此外, 隐含层参数分配区间集$ {\boldsymbol{\Upsilon}}= $ $ \left\{ {{\lambda _1},{\lambda _2}, \cdots ,{\lambda _{end}}} \right\} $ 可设置从$ {{\lambda _1}} $ 到$ {{\lambda _{end}}} $ 逐渐增长, 学习过程从$ {{\lambda _1}} $ 开始逐次选择. 以PSCN为例: 首先在$ {\left[ { - {\lambda _1},{\lambda _1}} \right]^d} $ 和$ \left[ { - {\lambda _1},{\lambda _1}} \right] $ 内随机生成$ {T_{\max }} $ 组隐含层参数$ {\boldsymbol{v}}_L^{} $ 和$ b_L^{} $ , 并从后续所建立的候选"节点池"中找出最佳的一组随机参数$ {\boldsymbol{v}}_L^ * $ 和$ b_L^ * $ ; 若候选"节点池"为空, 则从参数集$ {\boldsymbol{\Upsilon}} $ 中选择$ {\lambda _2} $ , 调节分配区间, 进而重复上述步骤.3. 性能评估
本文选取收敛性和紧致性作为衡量模型质量的评价指标. 其中收敛性在数值上表现为残差序列的递减程度, 可采用达到期望容忍误差时的学习时间来衡量, 收敛性好有利于建模的快速性. 紧致性表现为网络尺寸, 可采用达到期望容忍误差时的隐含层节点数来度量, 模型不紧致往往包含不必要的冗余节点, 不利于泛化性能, 且会显著增加计算空间和硬件实现的成本. 此外, 采用均方根误差(Root mean squares error, RMSE)计算建模精度, 均值(Mean)和标准差(Standard deviation, Std)则分别用来反映模型性能的平均值和离散程度.
为验证本文所提混合并行增量学习模型的有效性, 将传统SCNs (SC-III)[14]、块增量SCNs (BSC-I)[26]和混合并行随机配置网络(HPSCNs)分别对大数据建模并根据评价指标进行性能评估. 仿真实验在MATLAB 2016a环境下运行, 所用PC的CPU为i5, 3.4 GHz, 内存为16 GB RAM.
3.1 建模数据
4个不同领域的基准数据: DB1 (SGEMM GPU Kernel Performance Data Set)、DB2 (Electrical Grid Stability Simulated Data Set)、DB3 (Mv Data Set)和DB4 (Pole Telecommunications Data Set)来自UCI (University of California at Irvine)[27]和KEEL (Knowledge Extraction based on Evolutionary Learning)[28].
所选数据集信息见表1. 针对每个大规模数据, 我们随机选取80 %的样本作为训练集, 余下的20 %作为测试集.
表 1 基准数据集说明Table 1 Specification of benchmark data sets数据集 属性 样本数 输入变量 输出变量 DB1 14 4 241 600 DB2 12 1 10 000 DB3 10 1 40 768 DB4 26 1 14 998 3.2 比较实验
在数据预处理阶段, 输入输出样本均被归一化至[−1, 1]. 实验参数设定如下:
最大迭代次数
$ {k_{\max }} $ =300;最大随机配置次数
$ {T_{\max }} $ =10;随机参数范围
$ \lambda \in \left\{ {1,10,50,100,150,200} \right\} $ ;学习参数
$ r \in \left\{ {0.9,0.99,0.999, \cdots } \right\} $ ;容忍误差
$ \varepsilon $ = 0.1(DB1和DB2),$ \varepsilon $ = 0.01(DB3和DB4);不同BSCN每次迭代的块宽分别取固定值
$ {\Delta _k} $ =1、3、5;大规模训练集分块基数
$ {M_0} $ =4, 第$ k $ 次迭代时分块数递增区间长度$ L_{en}^k=L_{\max }^k - L_{\min }^k $ 取50, 100, 150, ···, 具体对应关系见表2.因此, 根据式(24)可得
$$ M={M_{k + 1}}\left( L \right)=\left\{ \begin{array}{ll} 4, & 0 < L \le 50\\ 6, & 50 < L \le 150\\ 8, & 150 < L \le 300\\ \vdots &\qquad \vdots \end{array} \right. $$ (25) 表 2 分块数递增区间长度及其上下界Table 2 Incremental interval length of block number and its upper and lower bounds$L_{en}^k$ $L_{\max }^k$ $L_{\min }^k$ 50 50 0 100 150 50 150 300 150 ··· ··· ··· 为了便于描述, 本文以下标的形式表示BSC-I算法中的块宽, 以上下标的形式分别表示HPSCNs中左侧随机配置网络PSCN和右侧随机配置网络BSCN的块宽. 如BSC-I
${\rm{}}_3^{}$ 表示其每次迭代添加3个隐含层节点;$ {\rm{HPSCN}}_3^1 $ 表示本文所提方法中PSCN每次迭代添加1 个隐含层节点, 而BSCN每次迭代添加3 个隐含层节点. 需要指出的是, 点增量构建方式是块增量中$ {\Delta _k} $ 取1的特例.表3记录了不同算法50 次独立实验结果的均值和标准差(Mean±Std). 通过比较SC-III、BSC-I
$ {\rm{}}_3^{} $ 和BSC-I$ {\rm{}}_5^{} $ 可以看出, 随着块宽$ {\Delta _k} $ 取值的增加, 达到期望容忍误差$ \varepsilon $ 时所需要的迭代次数$ k $ 明显降低, 建模时间$ t $ 显著减少, 即块增量的构建方式可以有效加快传统SCNs的收敛速度; 然而, 块增量SCNs需要更多的节点数$ L $ , 导致网络复杂度增加, 不利于模型泛化性能. 这是因为从特征学习的角度来说, 残差序列单调递减, 尚未学习的特征也会随着增量学习的过程减少, 然而BSC-I$ {\rm{}}_3^{} $ 和BSC-I$ {\rm{}}_5^{} $ 在每次迭代中采用固定的块宽, 不可避免地导致了特征(节点)的冗余. 尤其在构建过程后期, 每次迭代中节点块对于建模的贡献近似于单个节点, 却徒增了网络复杂度. 因此, 块增量SCNs是一种以牺牲模型紧致性为代价的极速建模方法.表 3 不同算法性能比较Table 3 Performance comparison of different algorithms数据集 算法 t(s) k L DB1 SC-III 24.35$\pm $1.69 164.40$\pm $7.76 164.40$\pm $7.76 ${\rm{BSC - }}{{\rm{I}}_3}$ 12.60$\pm $1.21 69.20$\pm $3.03 207.60$\pm $9.09 ${\rm{BSC - }}{{\rm{I}}_5}$ 9.41$\pm $1.33 44.00$\pm $3.24 220.00$\pm $16.20 ${\rm{HPSCN}}_1^1$ 3.48$\pm $0.38 122.40$\pm $8.02 122.40$\pm $8.02 ${\rm{HPSCN}}_3^1$ 3.03$\pm $0.28 63.40$\pm $4.16 162.80$\pm $7.90 ${\rm{HPSCN}}_5^1$ 2.96$\pm $0.19 45.00$\pm $2.83 215.00$\pm $9.71 DB2 SC-III 26.97$\pm $2.54 300.00$\pm $14.18 300.00$\pm $14.18 ${\rm{BSC - }}{{\rm{I}}_3}$ 14.66$\pm $1.33 120.40$\pm $3.98 361.20$\pm $11.93 ${\rm{BSC - }}{{\rm{I}}_5}$ 11.01$\pm $1.07 78.80$\pm $2.91 394.00$\pm $14.87 ${\rm{HPSCN}}_1^1$ 7.22$\pm $0.95 239.30$\pm $14.55 239.3$\pm $14.55 ${\rm{HPSCN}}_3^1$ 5.47$\pm $0.33 123.50$\pm $3.34 301.90$\pm $10.99 ${\rm{HPSCN}}_5^1$ 4.39$\pm $0.42 81.80$\pm $3.74 378.60$\pm $16.54 DB3 SC-III 18.04$\pm $2.15 106.60$\pm $3.36 106.60$\pm $3.36 ${\rm{BSC - }}{{\rm{I}}_3}$ 8.96$\pm $1.21 39.80$\pm $2.28 119.40$\pm $6.84 ${\rm{BSC - }}{{\rm{I}}_5}$ 6.81$\pm $0.55 25.20$\pm $1.10 126.00$\pm $5.48 ${\rm{HPSCN}}_1^1$ 3.45$\pm $0.24 97.00$\pm $2.65 97.00$\pm $2.65 ${\rm{HPSCN}}_3^1$ 2.05$\pm $0.13 41.20$\pm $2.17 106.40$\pm $4.39 ${\rm{HPSCN}}_5^1$ 1.88$\pm $0.12 25.00$\pm $1.22 121.00$\pm $6.44 DB4 SC-III 9.16$\pm $0.34 161.20$\pm $2.56 161.20$\pm $2.56 ${\rm{BSC - }}{{\rm{I}}_3}$ 3.79$\pm $0.68 54.20$\pm $0.84 162.60$\pm $2.51 ${\rm{BSC - }}{{\rm{I}}_5}$ 2.59$\pm $0.13 33.40$\pm $0.89 167.00$\pm $4.47 ${\rm{HPSCN}}_1^1$ 4.23$\pm $0.13 154.80$\pm $2.59 154.80$\pm $2.59 ${\rm{HPSCN}}_3^1$ 2.01$\pm $0.13 59.00$\pm $2.00 162.60$\pm $2.41 ${\rm{HPSCN}}_5^1$ 1.36$\pm $0.11 34.20$\pm $1.09 166.20$\pm $3.03 相同的结论可以见算法
$ {\rm{HPSCN}}_1^1 $ 、$ {\rm{HPSCN}}_3^1 $ 和$ {\rm{HPSCN}}_5^1 $ . 不同的是, 本文所提方法可以获得更好的综合性能, 即相比于SC-III和BSC-I,$ {\rm{HPSCN}}_1^1 $ 和$ {\rm{HPSCN}}_3^1 $ 能够保证模型较为紧致的同时进一步减少建模时间, 原因如下:1)数据并行通过使用动态分块策略并同步获取隐含层输出, 加快了候选“节点池”的建立; 同时, 针对大数据本文所提方法采用式(23)整合数据块并计算输出权值, 在很大程度上降低了广义逆运算负担;
2)模型并行通过单次迭代中PSCN与BSCN独立地同步建模, 完成当前迭代后选择获得残差较小的模型参数. 其中, HPSCNs中的BSCN采用块增量的构建方式, 具有较快的收敛性; PSCN采用点增量的构建方式, 从而准确地找到最佳隐含层节点数. 模型并行增量学习也有效减少了迭代次数.
为了评估模型的综合性能, 图3给出不同算法对数据集DB1-DB4的建模时间(t)和隐含层节点数(L). 其中, t和L均归一化处理至[0, 1], 并表示对应性能指标的得分情况. 如: 在DB1 建模任务中, SC-III相比其他算法用时最长, 其
$ t $ 对应的得分为1、$ {\rm{BSC - I}}_5^{} $ 所需节点数最多, 其L对应的得分为1. 显然, 分数越低, 性能越好. 因此, 由图3可以看出, 本文所提混合并行增量学习方法具有较好的综合性能, 且$ {\rm{HPSCN}}_3^1 $ 最佳.3.3 参数讨论与选择
需要指出的是,
$ {\rm{HPSCN}}_5^1 $ 虽然所需时间最少但已经失去了模型紧致性上的优势, 是一种折中的算法. 为了进一步研究不同块宽对本文所提方法的影响, 我们定义HPSCNs的有效性(Effectiveness, Eff):$$ Eff=\frac{{nL}}{{nL + nR}} \times 100\,{\text{%}} $$ (26) 其中nL和nR分别表示每次迭代PSCN和BSCN贡献最佳模型参数的次数, 则Eff正比于nL.
表4记录了HPSCNs中BSCN选择不同块宽
$ {\Delta _k} $ 时的模型并行情况. 可以看出, 对于DB1-DB4, 随着$ {\Delta _k} $ 的增加, Eff的数值越来越小, 如$ {\Delta _k}=10 $ 时,$ {\rm{HPSCN}}_{10}^1 $ 的Eff最低, 此时PSCN基本上失去了其在模型并行中的作用. 因此, 考虑模型的综合性能, 使用HPSCNs进行大数据建模时, 其BSCN的块宽建议取$ {\Delta _k} \in \left\{ {1,2,3} \right\} $ .表 4 不同块宽的算法性能比较Table 4 Performance comparison of algorithms with different block sizes数据集 算法 nR nL Eff (%) DB1 ${\rm{HPSCN}}_1^1$ 61.3 61.1 49.9 ${\rm{HPSCN}}_2^1$ 63.8 22.4 26.0 ${\rm{HPSCN}}_3^1$ 52.8 12.6 19.3 ${\rm{HPSCN}}_5^1$ 42.5 2.5 5.6 ${\rm{HPSCN}}_{10}^1$ 24.2 0.6 2.4 DB2 ${\rm{HPSCN}}_1^1$ 119.2 120.1 50.2 ${\rm{HPSCN}}_2^1$ 115.0 56.4 32.9 ${\rm{HPSCN}}_3^1$ 99.2 24.3 19.7 ${\rm{HPSCN}}_5^1$ 74.2 7.6 9.3 ${\rm{HPSCN}}_{10}^1$ 44.6 0.4 0.9 DB3 ${\rm{HPSCN}}_1^1$ 48.4 48.6 50.1 ${\rm{HPSCN}}_2^1$ 40.8 23.4 36.4 ${\rm{HPSCN}}_3^1$ 33.6 7.6 18.4 ${\rm{HPSCN}}_5^1$ 24.0 1.0 4.0 ${\rm{HPSCN}}_{10}^1$ 13.6 0.2 1.4 DB4 ${\rm{HPSCN}}_1^1$ 77.3 77.5 50.0 ${\rm{HPSCN}}_2^1$ 64.2 29.4 31.4 ${\rm{HPSCN}}_3^1$ 51.8 7.2 12.2 ${\rm{HPSCN}}_5^1$ 33.0 1.2 3.5 ${\rm{HPSCN}}_{10}^1$ 17.0 0.2 1.1 3.4 工业案例
将所提方法应用在典型一段磨矿过程, 建立以磨机给矿量、磨机入口给水量和分级机溢流质量浓度为输入, 以磨矿粒度为输出的软测量模型. 从磨矿半实物仿真平台[29]中采集20 000训练样本和5 000测试样本, 设置容忍误差
$ \varepsilon $ = 0.05, 块宽$ {\Delta _k}=3 $ , 其余实验参数设定同比较实验部分.图4和图5分别为基于HPSCNs的磨矿粒度软测量模型的收敛特性和逼近特性. 由图4可以看出, 在训练过程中所提方法具有较好的收敛效果, 且在接近容忍误差前残差序列能够快速下降. 为了便于观察, 这里仅取500个测试数据的逼近效果(如图5所示), 从中可以看出模型输出与真实值基本吻合, 可以实现磨矿粒度的准确估计.
此外, 从图5可知, 所建立磨矿粒度软测量模型在达到期望精度时, 建模时间较快, 网络结构简单, 具有良好的泛化性能; Eff = 25.0 %, 其中左侧点增量网络(PSCN)、右侧块增量网络(BSCN)贡献最佳模型参数的次数分别为3和9, 说明模型具有较高的有效性. 需要指出的是, 上述矿粒度软测量模型是通过输入特性维数较少的样本建立的, 本文所提方法应用到其他数据维数较多的工业案例中, 将会取得更好的优势. 同时在多维大数据应用时, 还可以考虑并行节点池构建策略, 以提高学习速度.
4. 结语
本文基于随机配置网络提出了一种模型与数据混合并行的增量学习方法. 实际数据仿真研究表明: 与传统SCNs和块增量SCNs相比, 本文所提方法大大降低了计算量, 提高了资源利用率, 所建立模型综合性能好, 且利于硬件实现, 具有良好的实用价值. 然而, HPSCNs直接根据PSCN和BSCN的残差选择新增节点, 在BSCN获得残差优势不明显的情况下, 选择了增加节点块构建模型, 不利于模型紧致性. 下一步的研究目标是进一步提高算法的综合性能, 如针对HPSCNs模型的有效性, 建立新的模型参数交互准则; 在保留块增量SCNs极速建模优势的情况下, 削减其中的冗余隐含层节点.
-
表 1 基准数据集说明
Table 1 Specification of benchmark data sets
数据集 属性 样本数 输入变量 输出变量 DB1 14 4 241 600 DB2 12 1 10 000 DB3 10 1 40 768 DB4 26 1 14 998 表 2 分块数递增区间长度及其上下界
Table 2 Incremental interval length of block number and its upper and lower bounds
$L_{en}^k$ $L_{\max }^k$ $L_{\min }^k$ 50 50 0 100 150 50 150 300 150 ··· ··· ··· 表 3 不同算法性能比较
Table 3 Performance comparison of different algorithms
数据集 算法 t(s) k L DB1 SC-III 24.35$\pm $1.69 164.40$\pm $7.76 164.40$\pm $7.76 ${\rm{BSC - }}{{\rm{I}}_3}$ 12.60$\pm $1.21 69.20$\pm $3.03 207.60$\pm $9.09 ${\rm{BSC - }}{{\rm{I}}_5}$ 9.41$\pm $1.33 44.00$\pm $3.24 220.00$\pm $16.20 ${\rm{HPSCN}}_1^1$ 3.48$\pm $0.38 122.40$\pm $8.02 122.40$\pm $8.02 ${\rm{HPSCN}}_3^1$ 3.03$\pm $0.28 63.40$\pm $4.16 162.80$\pm $7.90 ${\rm{HPSCN}}_5^1$ 2.96$\pm $0.19 45.00$\pm $2.83 215.00$\pm $9.71 DB2 SC-III 26.97$\pm $2.54 300.00$\pm $14.18 300.00$\pm $14.18 ${\rm{BSC - }}{{\rm{I}}_3}$ 14.66$\pm $1.33 120.40$\pm $3.98 361.20$\pm $11.93 ${\rm{BSC - }}{{\rm{I}}_5}$ 11.01$\pm $1.07 78.80$\pm $2.91 394.00$\pm $14.87 ${\rm{HPSCN}}_1^1$ 7.22$\pm $0.95 239.30$\pm $14.55 239.3$\pm $14.55 ${\rm{HPSCN}}_3^1$ 5.47$\pm $0.33 123.50$\pm $3.34 301.90$\pm $10.99 ${\rm{HPSCN}}_5^1$ 4.39$\pm $0.42 81.80$\pm $3.74 378.60$\pm $16.54 DB3 SC-III 18.04$\pm $2.15 106.60$\pm $3.36 106.60$\pm $3.36 ${\rm{BSC - }}{{\rm{I}}_3}$ 8.96$\pm $1.21 39.80$\pm $2.28 119.40$\pm $6.84 ${\rm{BSC - }}{{\rm{I}}_5}$ 6.81$\pm $0.55 25.20$\pm $1.10 126.00$\pm $5.48 ${\rm{HPSCN}}_1^1$ 3.45$\pm $0.24 97.00$\pm $2.65 97.00$\pm $2.65 ${\rm{HPSCN}}_3^1$ 2.05$\pm $0.13 41.20$\pm $2.17 106.40$\pm $4.39 ${\rm{HPSCN}}_5^1$ 1.88$\pm $0.12 25.00$\pm $1.22 121.00$\pm $6.44 DB4 SC-III 9.16$\pm $0.34 161.20$\pm $2.56 161.20$\pm $2.56 ${\rm{BSC - }}{{\rm{I}}_3}$ 3.79$\pm $0.68 54.20$\pm $0.84 162.60$\pm $2.51 ${\rm{BSC - }}{{\rm{I}}_5}$ 2.59$\pm $0.13 33.40$\pm $0.89 167.00$\pm $4.47 ${\rm{HPSCN}}_1^1$ 4.23$\pm $0.13 154.80$\pm $2.59 154.80$\pm $2.59 ${\rm{HPSCN}}_3^1$ 2.01$\pm $0.13 59.00$\pm $2.00 162.60$\pm $2.41 ${\rm{HPSCN}}_5^1$ 1.36$\pm $0.11 34.20$\pm $1.09 166.20$\pm $3.03 表 4 不同块宽的算法性能比较
Table 4 Performance comparison of algorithms with different block sizes
数据集 算法 nR nL Eff (%) DB1 ${\rm{HPSCN}}_1^1$ 61.3 61.1 49.9 ${\rm{HPSCN}}_2^1$ 63.8 22.4 26.0 ${\rm{HPSCN}}_3^1$ 52.8 12.6 19.3 ${\rm{HPSCN}}_5^1$ 42.5 2.5 5.6 ${\rm{HPSCN}}_{10}^1$ 24.2 0.6 2.4 DB2 ${\rm{HPSCN}}_1^1$ 119.2 120.1 50.2 ${\rm{HPSCN}}_2^1$ 115.0 56.4 32.9 ${\rm{HPSCN}}_3^1$ 99.2 24.3 19.7 ${\rm{HPSCN}}_5^1$ 74.2 7.6 9.3 ${\rm{HPSCN}}_{10}^1$ 44.6 0.4 0.9 DB3 ${\rm{HPSCN}}_1^1$ 48.4 48.6 50.1 ${\rm{HPSCN}}_2^1$ 40.8 23.4 36.4 ${\rm{HPSCN}}_3^1$ 33.6 7.6 18.4 ${\rm{HPSCN}}_5^1$ 24.0 1.0 4.0 ${\rm{HPSCN}}_{10}^1$ 13.6 0.2 1.4 DB4 ${\rm{HPSCN}}_1^1$ 77.3 77.5 50.0 ${\rm{HPSCN}}_2^1$ 64.2 29.4 31.4 ${\rm{HPSCN}}_3^1$ 51.8 7.2 12.2 ${\rm{HPSCN}}_5^1$ 33.0 1.2 3.5 ${\rm{HPSCN}}_{10}^1$ 17.0 0.2 1.1 -
[1] Chen Xing, Niu Ya-Wei, Wang Guang-Hui, Yan Gui-Ying. MKRMDA: Multiple Kernel Learning-based Kronecker Regularized Least Squares for MiRNA-disease Association Prediction. Journal of Translational Medicine, 2013, 15(1): 251-264 [2] 周平, 刘记平. 基于数据驱动多输出ARMAX建模的高炉十字测温中心温度在线估计. 自动化学报, 2018, 44(3): 552-561Zhou Ping, Liu Ji-ping. Data-driven Multi-output ARMAX Modeling for Online Estimation of Central Temperatures for Cross Temperature Measuring in Blast Furnace Ironmaking. Acta Automatica Sinica, 2018, 44(9): 1569-1589 [3] 汤健, 乔俊飞, 柴天佑, 刘卓, 吴志伟. 基于虚拟样本生成技术的多组分机械信号建模. 自动化学报, 2018, 44(9): 1569-1589Tang Jian, Qiao Jun-Fei, Chai Tian-You, Liu Zhuo, Wu ZhiWei. Modeling Multiple Components Mechanical Signals by Means of Virtual Sample Generation Technique. Acta Automatica Sinica, 2018, 44(9): 1569-1589 [4] Witten Ian H, Frank E, Hall M A. Data Mining: Practical Machine Learning Tools and Technique, 3rd Edition. Amsterdam: Morgan Kaufmann, 2011 [5] Pao Y H, Takefji Y, Functional-link Net Computing: Theory, System Architecture, and Functionalities. Computer, 1992, 25(5): 76-79 doi: 10.1109/2.144401 [6] Schmidt W F, Kraaijveld M A, Duin R P W. Feedforward neural networks with random weights. International Conference on Pattern Recognition IEEE Computer Society, 1992 [7] Cao Wei-Peng, Wang Xi-Zhao, Ming Zhong, Gao Jin-Zhu. A Review on Neural Networks with Random Weights. Neurocomputing, 2018, 275: 278-287 doi: 10.1016/j.neucom.2017.08.040 [8] Scardapane S, Wang Dian-Hui. Randomness in Neural Networks: An Overview. Wiley Interdisciplinary Reviews-Data Mining and Knowledge Discovery, 2017, 7(2): e1200 doi: 10.1002/widm.1200 [9] Lu Jing, Zhao Jian-Wei, Cao Fei-Long. Extended Feed Forward Neural Networks with Random Weights for Face Recognition. Neurocomputing, 2014, 136: 96-102 doi: 10.1016/j.neucom.2014.01.022 [10] Dai Wei, Liu Qiang, Chai Tian-You. Particle Size Estimate of Grinding Processes Using Random Vector Functional Link Networks with Improved Robustness. Neurocomputing, 2015, 169: 361-372 doi: 10.1016/j.neucom.2014.08.098 [11] Dai Weo, Chen Qi-Xin, Chu Fei, Chai Tian-You. Robust Regularized Random Vector Functional Link Network and Its Industrial Application. IEEE Access, 2017, 5: 16162-16172 doi: 10.1109/ACCESS.2017.2737459 [12] Li Ming, Wang Dian-Hui. Insights into Randomized Algorithms for Neural Networks: Practical Issues and Common Pitfalls. Information Sciences, 2017, 382: 170-178 [13] Gorban A N, Tyukin I Y, Prokhorov D V, Sofeikov K I. Approximation with Random Bases: Pro et contra. Information Sciences, 2016, 364: 129-145 [14] Wang Dian-Hui, Li Ming. Stochastic Configuration Networks: Fundamentals and Algorithms. IEEE Transactions on Cybernetics, 2017, 47(10): 3466-3479 doi: 10.1109/TCYB.2017.2734043 [15] Zhu Xiao-Long, Feng Xiang-Chu, Wang Wei-Wei, Jia XiXi, He Rui-Qiang. A Further Study on the Inequality Constraints in Stochastic Configuration Networks. Information Sciences, 2019, 487: 77-83 doi: 10.1016/j.ins.2019.02.066 [16] Wang Dian-Hui, Cui Cai-Hao. Stochastic Configuration Networks Ensemble for Large-Scale Data Analytics. biochemical treatment process. Information Sciences, 2017, 417: 55-71 [17] Sheng Zhui-Yong, Zeng Zhi-Qiang, Qu Hong-Quan, Zhang Yuan. Optical fiber intrusion signal recognition method based on TSVD-SCN. Optical Fiber Technology, 2019, 48: 270-277 doi: 10.1016/j.yofte.2019.01.023 [18] 王前进, 杨春雨, 马小平, 张春富, 彭思敏. 基于随机配置网络的井下供给风量建模. 自动化学报, DOI: 10.16383/j.aas.c190602Wang Qian-Jin, Yang Chun-Yu, Ma Xiao-Ping, Zhang Chun-Fu, Peng Si-Min. Underground Airflow Quantity Modeling Based on SCN. Acta Automatica Sinica, DOI: 10.16383/j.aas.c190602 [19] Wang Dian-Hui, Li Ming. Deep stochastic configuration networks with universal approximation property. In: Proceedings of the 2018 International Joint Conference on Neural Networks, 2018. [20] Wang Dian-Hui, Li Ming. Robust Stochastic Configuration Networks with Kernel Density Estimation for Uncertain Data Regression. Information Sciences, 2017, 412-413: 210-222 doi: 10.1016/j.ins.2017.05.047 [21] Li Ming, Huang Chang-Qin, Wang Dian-Hui. Robust Stochastic Configuration Networks with Maximum Correntropy Criterion for Uncertain Data Regression. Information Sciences, 2019, 473: 73-86 doi: 10.1016/j.ins.2018.09.026 [22] He Qing, Shang Tang-Feng, Zhuang Fu-Zhen, Shi Zhon-Zhi. Parallel Extreme Learning Machine for Regression Based on MapReduce. Neurocomputing, 2013, 102: 52-58 doi: 10.1016/j.neucom.2012.01.040 [23] Duan Ming-Xing, Li Ken-Li, Liao Xiang-Ke, Li Ke-Qin. A Parallel Multiclassification Algorithm for Big Data Using an Extreme Learning Machine. IEEE Transactions on Neural Networks and Learning Systems, 2018, 29(6): 2337-2351 doi: 10.1109/TNNLS.2017.2654357 [24] Wang Yue-Qing, Dou Yong, Liu Xin-Wang, Lei Yuan-Wu. PR-ELM: Parallel Regularized Extreme Learning Machine Based on Cluster. Neurocomputing, 2016, 173: 1073-1081 doi: 10.1016/j.neucom.2015.08.066 [25] Lancaster P, Tismenetsky M. The Theory of Matrices: With Applications. Elsevier, 1985 [26] Dai Wei, Li De-Peng, Zhou Ping, Chai Tian-You. Stochastic Configuration Networks with Block Increments for Data Modeling in Process Industries. Information Sciences, 2019, 484: 367-386 doi: 10.1016/j.ins.2019.01.062 [27] UCI Machine Learning Repository. [Online], available: https://archive.ics.uci.edu, 2013 [28] KEEL data-mining software tool: Data set repository, integration of algorithms and experimental analysis framework. [Online], available: http://www.keel.es/, 2011 [29] Dai Wei, Zhou Ping, Zhao Da-Yong, Lu Shao-Wen, Chai Tian-You. Hardware-in-the-loop Simulation Platform for Supervisory Control of Mineral Grinding Process. Powder technology, 2016, 288: 422-434 doi: 10.1016/j.powtec.2015.11.032 期刊类型引用(12)
1. 郭京承,严爱军,汤健. 城市固体废物焚烧过程炉温的鲁棒加权异构特征集成预测模型. 自动化学报. 2024(01): 121-131 . 本站查看
2. 崔腾,张海军,代伟. 基于分布共识的联邦增量迁移学习. 计算机学报. 2024(04): 821-841 . 百度学术
3. 吉建娇,王殿辉. 基于区间边界探测的进化随机配置网络. 控制理论与应用. 2024(10): 1913-1922 . 百度学术
4. 邓思敬,吴浩,杨玉萍,漆梓渊,邹西. 基于CEEMD-LMD-SCN的集合型配电网故障选线方法. 科学技术与工程. 2023(03): 1076-1086 . 百度学术
5. 杜知微,张凤南,杨海. 基于改进流形正则化随机配置网络的软测量. 控制工程. 2023(05): 872-880 . 百度学术
6. 南静,代伟,袁冠,周平. 一种空间几何角度最大化的随机增量学习模型及应用. 自动化学报. 2023(06): 1283-1294 . 本站查看
7. 代伟,南静. 随机权神经网络增量构造学习方法研究进展. 控制与决策. 2023(08): 2231-2242 . 百度学术
8. 乔景慧,李洪达,陈宇曦,张岩. 机理与数据驱动的软体手弯曲角度软测量模型. 电子测量与仪器学报. 2023(06): 147-158 . 百度学术
9. 王心怡,许璟,牛玉刚,贾廷纲. 自适应比例–积分H_2滑模观测器设计. 控制理论与应用. 2023(11): 1940-1948 . 百度学术
10. 李德鹏,曾志刚. 一种基于随机权神经网络的类增量学习与记忆融合方法. 自动化学报. 2023(12): 2467-2480 . 本站查看
11. 陈克琼,安加喜,布天瑞,刘伟. 基于视觉注意力和深度随机配置网络的高速公路团雾认知. 皖西学院学报. 2022(05): 75-81 . 百度学术
12. 王前进,代伟,陆群,辅小荣,马小平. 一种随机配置网络软测量模型的稀疏学习方法. 控制与决策. 2022(12): 3171-3182 . 百度学术
其他类型引用(15)
-