基于栈式降噪稀疏自编码器的极限学习机

2020-09-18 00:23张国令王晓丹
计算机工程 2020年9期
关键词:隐层偏置鲁棒性

张国令,王晓丹,李 睿,来 杰,向 前

(空军工程大学 防空反导学院,西安 710051)

0 概述

极限学习机(Extreme Learning Machine,ELM)[1]是一种简单高效的单隐层前馈神经网络(Single Hidden Layer Feedforward Neural Network,SLFN)算法。ELM网络的输入权重和隐层偏置均为随机生成,输出权值则通过求解最小化平方损失函数得到,能够有效解决传统SLFN算法收敛速度慢、容易产生局部最优解的问题。ELM因实现简单、训练速度快和泛化性能好等特点,现已被广泛应用于语音识别[2]、故障诊断[3-4]、生物医学[5-6]、计算机视觉[7-8]等多个领域。

大量研究表明,ELM随机确定输入权值和隐层偏置,能够提高整个网络的学习速度,但是隐层参数的随机赋值使得ELM比传统基于调优的学习算法需要更多的隐层节点。然而,过多的隐层节点容易减弱隐含层的稀疏性,产生冗余节点,增加网络结构的复杂度,降低算法分类准确率[9-10]。对此,研究者采用群体智能优化方法对网络结构进行优化,以提高整体性能。文献[9]通过引入差分进化算法提出E-ELM算法,利用交叉算子和差分变异并通过动态调整整个种群得到最优的输入权值和隐层偏置,从而使网络结构更为紧凑。文献[10]引入粒子群优化(Particle Swarm Optimization,PSO)算法对ELM隐层节点参数进行调整,提出PSO-ELM算法,通过编码将输入权值和随机偏置设为待优化的粒子,根据PSO原理得到全局最优值,以提升ELM的整体性能。采用群体智能优化隐层节点参数改进的网络结构,可提高ELM算法的泛化能力和稳定性,但同时也增加了计算复杂度,在处理大规模高维数据集时性能较差。

研究表明,通过将ELM拓展到深度学习领域,可以在处理大规模高维数据时降低深层网络的计算复杂度,减少训练时间。文献[11]提出的ELM-AE算法结合极限学习机和自编码器的优势,具有良好的特征表达能力和分类性能。文献[12]通过改进ELM-AE提出的判别图正则化极限学习机自编码器GELM-AE,能够提取更抽象的高层特征,提高网络模型的整体性能。文献[13]通过将卷积神经网络(Convolutional Neural Network,CNN)和ELM相结合,提出CNN2ELM集成学习框架,提高了识别人脸图像年龄的鲁棒性。

栈式降噪稀疏自编码器(stacked Denoising Sparse Auto-Encoder,sDSAE)是一种改进的自编码器深度学习模型,其中稀疏性约束的加入使网络结构得到优化,能够更好地提取数据的深层特征,而去噪处理则降低了噪声干扰,增强了算法鲁棒性。本文将sDSAE与ELM相结合,提出sDSAE-ELM算法,利用sDSAE产生ELM的输入权值和隐层偏置,以解决ELM输入权重和隐层偏置随机赋值导致网络结构复杂、鲁棒性弱的问题,同时保留ELM训练速度快的优势。

1 理论背景

1.1 极限学习机

ELM是一种具有快速学习能力的SLFN算法,其网络结构如图1所示。

图1 ELM网络结构Fig.1 Network structure of ELM

(1)

其中,wi=[wi1,wi2,…,win]T为n个输入层节点与第i个隐层节点之间的输入权值向量,bi为第i个隐层节点偏置值,g(·)是隐层节点的激活函数,βi=[βi1,βi2,…,βim]T为第i个隐层节点与m个输出层节点之间的输出权值向量。令h(x)=[g1(x),g2(x),…,gl(x)]表示输入数据x的隐层输出,用H=[hT(x1),hT(x2),…,hT(xN)]T表示数据样本在隐层的输出矩阵,即:

(2)

令T=[t1,t2,…,tN]T表示样本的目标输出,则该系统矩阵表达式为:

Hβ=T

(3)

(4)

通常情况下,隐层节点数l小于训练样本数N。因此,对β求解得到:

(5)

其中,H†表示H的Moore-Penrose(MP)广义逆,此解具有唯一性,可使网络训练误差达到最小值。β具体表达式为:

(6)

(7)

其中,I为单位矩阵,C为正则化系数。

ELM的学习过程如算法1所示。

算法1ELM

输出输出权重β

步骤1随机生成输入权值ωi和隐层偏置bi。

步骤2根据式(2)计算隐层输出矩阵H。

步骤3据式(7)计算输出权重β。

1.2 降噪稀疏自编码器

传统的自动编码器(AE)对输入数据的重构能力有限,提取数据特征的能力较差[15]。在自编码器的基础上添加稀疏性约束得到稀疏自编码器(SAE),即迫使大多数隐层节点置0,少数隐层节点不为0,网络更加稀疏,从而具有良好的调节能力,使得模型与人脑的学习过程更相似,有利于提取更具代表性的特征,提高算法分类准确率[16]。降噪稀疏自编码器(DSAE)是在SAE基础上,对原始样本数据进行退化处理,其目的在于排除噪声干扰,更好地重构原始输入,增强算法的鲁棒性[17-18]。DSAE网络结构如图2所示。

图2 DSAE网络结构Fig.2 Network structure of DSAE

稀疏编码和解码过程的计算公式分别如式(8)和式(9)所示:

(8)

y=f(h)=sf(w′h+b′)

(9)

(10)

采用相对熵(KL)的方法进行稀疏惩罚,如式(11)所示:

(11)

1.3 栈式降噪稀疏自编码器

DSAE属于浅层网络,学习能力有限,而栈式降噪稀疏自编码器(sDSAE)由多个DSAE堆栈而成,其以前一隐层输出作为后一隐层输入,逐层训练,在处理高维大数据集时整体性能优于浅层网络。但sDSAE的性能取决于网络的层数和节点数,网络层数并非越多越好,层数太多容易引起梯度弥散现象,也会训练过拟合[17]。因此,本文设置2层sDSAE网络。

2 sDSAE-ELM算法

ELM在训练过程中随机生成输入权值和隐层偏置,为得到理想的分类效果,往往需要产生大量的隐含层节点,而过多的隐含层节点会导致网络结构复杂,影响整体的学习性能。为避免ELM中出现过多的随机冗余节点,本文利用sDSAE获取输入数据的特征表达,通过加入稀疏性限制使网络可以学到输入数据中更优的结构特征,从而更好地描述输入数据,为ELM提供所需的输入权值和隐层偏置,更有利于ELM进行分类。

理论上,sDSAE-ELM算法比ELM算法能够获得更优的输入权值和隐层偏置。一方面,sDSAE-ELM算法利用sDSAE具有稀疏化的网络结构对原始输入数据进行学习训练,将得到的输入权值和隐层偏置分别作为sDSAE-ELM算法的输入权值和隐层偏置,其包含了输入数据的相关特征信息,有利于发掘更本质的高级抽象特征,对数据重构和算法整体性能有促进作用,而ELM算法的输入权值和隐层偏置随机赋值,与输入数据无关,对数据重构和算法整体性能没有促进作用;另一方面,sDSAE-ELM算法通过sDSAE产生极限学习机的输入权值与隐层偏置,克服了ELM因隐含层参数随机赋值产生冗余节点、降低算法分类准确率的弊端。此外,sDSAE-ELM算法优化了网络结构,如图3所示,其对原始输入数据进行退化处理,从而有效消除噪声的干扰,增强鲁棒性。

图3 sDSAE-ELM网络结构Fig.3 Network structure of sDSAE-ELM

sDSAE-ELM训练过程的具体步骤如下:

步骤1对原始输入x进行预处理。依据上文所述,利用梯度下降法训练DSAE1,得到第一隐含层的输出h1和网络参量w1、b1。h1是对原始输入数据和网络参数的高度抽象结果,由于对原始输入进行过退化处理以及对网络添加稀疏性约束,因此更能体现输入数据的本质特征,算法鲁棒性更强,并且当原始输入维数较高时,还能起到降低数据维度的作用。

步骤2利用梯度下降法训练DSAE2以确定ELM的参数。相比于传统的学习算法,ELM不仅学习速度更快,而且分类性能更优。然而,与基于调优的学习算法相比,由于其输入权值和隐层偏置产生的随机性,ELM需要更多的隐层节点。此过程同步骤1,得到第一隐含层的输出h2和网络参量w2、b2。其中,w2作为ELM的输入权值,b2作为ELM的隐层偏置,输出矩阵为h2。此步骤能够克服ELM随机生成隐层参数的问题,优化网络结构,提高模型的稳定性。

步骤3利用ELM进行分类,输入数据为h1,输入权值和隐层偏置分别为w2和b2,隐层输出矩阵为h2,根据式(6)求得输出权重。

sDSAE-ELM学习过程如算法2所示。

算法2sDSAE-ELM

输出输出权重β

步骤1对原始输入x进行预处理和退化处理。训练DSAE1,得到第一隐含层的输出h1以及网络参数w1、b1。

步骤2输入h1,训练DSAE2,得到第二隐含层的输出h2以及最优网络参数w2、b2。

步骤3将h1、w2和b2分别作为ELM的输入、输入权值和隐含偏置,ELM的隐层输出为h2,根据式(7)计算得到β。

3 实验与结果分析

3.1 实验环境与数据集

本文实验环境为Matlab R2017b,计算机配置为Intel®CoreTMi7-4790 CPU 3.60 GHz,16 GB RAM。

sDSAE-ELM属于深度学习算法,在处理高维含噪数据时具有较好的泛化性能和鲁棒性。为此,本文选用MNIST、USPS、Fashion-MNIST和Convex 4个数据集作为实验数据,详细描述如表1所示。

3.2 稀疏性分析

在网络隐含层加入稀疏性约束,可使模型模拟人脑的学习过程,其中少数节点被激活,多数处于抑制状态,保证了数据在网络中的有效传递。同时,稀疏性约束的加入也可优化网络结构,提高模型的整体性能。

3.2.1 稀疏性约束对分类准确率的影响

为分析加入稀疏性约束对分类准确率的影响,本节比较加入不同程度稀疏性约束的sDSAE-ELM算法在MNIST数据及其加噪数据集上的分类准确率,稀疏性参数分别取0.00、0.01、0.05、0.10、0.15、0.20,网络结构设置为784-350-1600-10,其他参数设置为:激活函数选择sigmoid函数,学习速率α取0.5,退化率v取0.2,训练集特征提取10次,稀疏惩罚权重η取0.04,系数C取1×105。实验结果如图4所示。

从图4可以看出,对于加入不同程度高斯白噪声的MNIST数据,与不加入稀疏性约束的网络(稀疏性参数ρ取0)相比,加入稀疏性约束的sDSAE-ELM均具有更好的分类准确率,原因在于稀疏网络学到的特征表达能更好地描述输入数据,更有利于ELM进行分类。此外还可以看出,稀疏性参数取值不同,得到的分类准确率也不同,当ρ取0.05时,分类准确率达到最优,当ρ取值过大或过小时,分类准确率有所下降,说明对于同一的数据而言,网络不够稀疏或过于稀疏都不利于特征提取,不能得到较高的分类准确率。

3.2.2 稀疏性约束对特征提取效果的影响

本节对sDSAE-ELM的隐含层进行可视化处理,比较分析加入不同稀疏性约束对网络特征提取效果的影响。选取MNIST数据集作为实验数据集,其他参数设置与3.2.1节一致。稀疏性参数ρ分别取0.00、0.01、0.05、0.20时的隐含层可视化结果如图5所示。

图5 不同ρ取值下的隐含层可视化结果Fig.5 Hidden layer visualization results underdifferent values of ρ

从图5可以看出,当ρ=0.05时,隐层可视化结果较未添加稀疏性约束情况下的更清晰独立,并且结构性更强,这是因为添加稀疏约束的网络具有稀疏性,能够学到数据更本质的结构特征,该特征表达能更好地描述输入数据。由此可见,稀疏性约束的加入使得sDSAE-ELM具有更优的网络结构,有利于后续的分类工作。此外还可以看出,当ρ=0.01和ρ=0.20时,隐层可视化结果均不如ρ=0.05时清晰可见,这说明网络具有最优稀疏程度,当ρ过大时,网络稀疏性不足,网络复杂无法提取到更优异的高级抽象特征,当ρ过小时,网络过于稀疏,提取的特征不完整,无法代表输入数据的完整特征,因此,预提取到数据的高级抽象特征,稀疏性参数ρ必须取值在合理范围内。

3.3 鲁棒性分析

sDSAE-ELM对原始样本数据进行退化处理,其目的在于消除噪声干扰,提取更本质的特征,从而提高模型的鲁棒性。为验证sDSAE-ELM具有良好的鲁棒性,本节设置实验如下:对MNIST数据集加入不同比例的高斯白噪声,比较其分类准确率。为增强说服力,分别在稀疏性参数ρ取0.03、0.05、0.07的情况下进行10次实验,结果取平均值,其他参数设置与3.2.1节一致。实验结果如图6所示。

图6 加噪MNIST数据集中的分类准确率对比Fig.6 Comparison of classification accuracies inMNIST datdset with noise

从图6可以看出,在加入一定高斯白噪声的情况下,分类准确率只有略微下降,变化幅度不超过1%,这表明含有一定噪声的数据不会显著影响sDSAE-ELM的分类准确率。该算法具有很强的鲁棒性和稳定性,是因为其对原始含噪数据进行了退化处理,在对输入数据进行稀疏编码的同时还具有降噪功能。通过加入数据退化过程,sDSAE能够提取到更具鲁棒性的高级抽象特征,为极限学习机提供输入权值与隐层偏置,从而增强算法鲁棒性和抗噪能力。

3.4 性能对比分析

为验证sDSAE-ELM算法在处理高维含噪数据时的综合性能,本节实验将ELM、PCA-ELM[19]、ELM-AE[15]、DAE-ELM[20]以及sDSAE-ELM在多个数据集上进行性能对比。分别使用MNIST、USPS、Fashion-MNIST和Convex原始数据集,以及在其基础上进行如下加噪操作的数据集共16个数据集作为实验数据:1)添加服从N(0,0.01)的高斯白噪声;2)添加密度为0.1的椒盐噪声;3)添加服从N(0,0.01)的高斯白噪声+密度为0.1的椒盐噪声。

为保证实验的准确性和高效性(训练时间短),实验采用小批量数据模式,各数据集批量大小为100。为保证对比实验的可信性,ELM、PCA-ELM、ELM-AE、DAE-ELM、sDSAE-ELM的网络结构尽可能相似,分别设置为X-1600-Y、X-1600-Y、X-350-1600-Y、X-350-1600-Y、X-350-1600-Y。PCA-ELM取前200维。DAE-ELM部分参数设置如下:激活函数选择sigmoid函数,学习速率α取0.5,退化率v取0.2,训练集特征提取10次。sDSAE-ELM参数设置如下:稀疏性参数数ρ取0.05,稀疏惩罚权重η取0.04,系数C取1×105,其余参数设置同DAE-ELM。不同算法的分类性能比较如表2所示,其中最优结果加粗表示。

表2 5种算法的分类准确率对比Table 2 Comparison of classification accuracies of five algorithms %

从表2可以看出:与ELM算法相比,sDSAE-ELM的分类准确率在原始MNIST数据集中提升了2.41%,在加噪MNIST数据中平均提升了6.33%;在原始USPS数据集提升了1.03%,在加噪USPS数据集中平均提升了4.28%;在原始Fashion-MNIST数据集中提升了0.62%,在加噪Fashion-MNIST数据集平均提升了3.26%;在Convex数据集中提升了15.44%,在加噪Convex数据集中平均提升了20.68%。原因在于sDSAE能够提取输入数据的高级抽象特征,为ELM提供输入数据、输入权值和隐层偏置,从而解决ELM隐层参数随机赋值的问题,因此,sDSAE-ELM具有较其他算法更高的分类准确率。同时还可以看出,在处理加噪数据集时,sDSAE-ELM分类准确率提升更明显,这是由于sDSAE-ELM对原始输入进行了退化处理,从而削弱了噪声的干扰,因此其具有较强的鲁棒性和抗噪能力。

同时由表2数据可知,无论数据集是否加噪,sDSAE-ELM的分类准确率均高于PCA-ELM,原因在于PCA-ELM仅是保留部分重要特征,没有得到数据的深层特征,而sDSAE-ELM从数据中提取的是高级抽象特征,更能体现数据的本质。而个别数据集上PCA-ELM分类准确率更优,这可能是在删减特征时将噪声一并删去的原因。

ELM-AE、DAE-ELM、sDSAE-ELM都属于深层神经网络,而sDSAE-ELM展现出更优的性能,原因在于其具有优化的网络结构:稀疏性约束的加入使得网络的学习过程更类似于人脑的学习过程,在进行学习时,只有少量的神经元被激活,多数处于抑制状态[21];同时降噪规则的加入,则能够有效防止过拟合问题,提高算法的鲁棒性和泛化能力。

4 结束语

本文通过将sDSAE与ELM相结合,提出一种新的深度学习算法sDSAE-ELM,利用sDSAE提取数据更具代表性的深层抽象特征,为ELM提供输入权值与隐层偏置,克服ELM隐层参数随机赋值导致网络结构复杂、鲁棒性较弱的不足,同时保留ELM运算速度快的优势。实验结果表明,与ELM、PCA-ELM、ELM-AE等算法相比,本文算法具有优化的网络结构和较强的鲁棒性,在高维数据集上分类准确率更高。由于在实验过程中发现隐含层数及隐层节点数的设置对实验结果影响较大,因此后续将研究如何合理确定隐含层数和隐层节点数,进一步提高算法的分类性能。

猜你喜欢
隐层偏置鲁棒性
基于40%正面偏置碰撞的某车型仿真及结构优化
基于RTD可编程逻辑门的n变量函数实现算法
基于双向线性插值的车道辅助系统障碍避让研究
武汉轨道交通重点车站识别及网络鲁棒性研究
基于BP神经网络学习算法的图像压缩技术研究
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
基于确定性指标的弦支结构鲁棒性评价
基于RDPSO结构优化的三隐层BP神经网络水质预测模型及应用
代价敏感正则化有限记忆多隐层在线序列极限学习机及图像识别应用
一种偏置型的光纤传导高压电流互感器