计算机应用   2016, Vol. 36 Issue (9): 2521-2525  DOI: 10.11772/j.issn.1001-9081.2016.09.2521
0

引用本文 

李萌, 秦品乐, 李传朋. 基于多新息理论的深度信念网络算法[J]. 计算机应用, 2016, 36(9): 2521-2525.DOI: 10.11772/j.issn.1001-9081.2016.09.2521.
LI Meng, QIN Pingle, LI Chuanpeng. Deep belief network algorithm based on multi-innovation theory[J]. Journal of Computer Applications, 2016, 36(9): 2521-2525. DOI: 10.11772/j.issn.1001-9081.2016.09.2521.

基金项目

山西省自然科学基金资助项目(2015011045)

通信作者

秦品乐(1978-), 男, 山西太原人, 副教授, 博士, CCF会员, 主要研究方向:大数据、机器视觉、三维重建, QPL@nuc.edu.cn

作者简介

李萌(1990-), 女, 山西运城人, 硕士研究生, 主要研究方向:计算机视觉、数字图像处理、深度学习;
李传朋(1991-), 男, 山东济南人, 硕士研究生, 主要研究方向:计算机视觉、数字图像处理、深度学习

文章历史

收稿日期:2016-02-24
修回日期:2016-03-30
基于多新息理论的深度信念网络算法
李萌, 秦品乐, 李传朋    
中北大学 计算机与控制工程学院, 太原 030051
摘要: 针对深度信念网络(DBN)算法在采用反向传播修正网络的连接权值和偏置的过程中,容易产生梯度小、学习率低、误差收敛速度慢等问题,提出一种结合多新息理论对标准DBN算法进行改进的算法,即多新息DBN(MI-DBN)。MI-DBN算法是对标准DBN算法中反向传播的过程重新建模,使得算法在原先只利用单个新息的情况下,扩展为能够充分利用之前多个周期的新息,从而大幅提高误差收敛速度。通过实验对MI-DBN算法和其他分类算法进行了数据集分类的比较,实验结果表明,MI-DBN算法相较其他分类算法,其误差收敛速度较快,而且最终对MNIST数据集和Caltech101数据集的识别中误差结果相对更小。
关键词: 深度信念网络算法    误差收敛速度    多新息理论    反向传播    
Deep belief network algorithm based on multi-innovation theory
LI Meng, QIN Pingle, LI Chuanpeng     
School of Computer Science and Control Engineering, North University of China, Taiyuan Shanxi 030051, China
Background: This work is partially supported by the Natural Science Foundation of Shanxi Province (2015011045).
LI Meng, born in 1990, M. S. candidate. Her research interests include computer vision, digital image processing, deep learning.
QIN Pingle, born in 1978, Ph. D., associate professor. His research interests include big data, machine vision, 3D reconstruction.
LI Chuanpeng, born in 1991. M. S. candidate. His research interests include computer vision, digital image processing, deep learning.
Abstract: Aiming at the problem of small gradient, low learning rate, slow convergence of error during the process of using Deep Belief Network (DBN) algorithm to correct connection weight and bias of network by the method of back propagation, a new algorithm called Multi-Innovation DBN (MI-DBN) was proposed based on combination of standard DBN algorithm with multi-innovation theory. The back propagation process in standard DBN algorithm was remodeled to make full use of multiple innovations in previous cycles, while the original algorithm can only use single innovation. Thus, the convergence rate of error was significantly increased. MI-DBN algorithm and other representative classifiers were compared through experiments of datasets classification. Experimental results show that MI-DBN algorithm has a faster convergence rate than other sorting algorithms; especially when identifying MNIST and Caltech101 dataset, MI-DBN algorithm has the fewest inaccuracies among all the algorithms.
Key words: Deep Belief Network (DBN) algorithm    error convergence rate    multi-innovation theory    back-propagation    
0 引言

深度学习[1]近几年来在人工智能领域(语音识别、自然语言处理、计算机视觉、图像与视觉分析、多媒体等)取得重要突破。深度学习中的模型有多种,有一种无监督的学习算法——深度信念网络(Deep Belief Network, DBN)学习算法[2-3],这种方法可以创建一些网络层来检测特征而不使用带标签的数据,这些网络层可以用来重构或者对特征检测器的活动进行建模。通过预训练过程,深度网络的权值可以被初始化为有意义的值,然后一个输出层被添加到该网络的顶部,并且使用标准的反向传播算法进行微调,这个工作对手写数字的识别效果显著。

Hinton等[2]将DBN应用于对MNIST数据集的数字识别任务上。他提出了网络结构为784-500-500-2000-10的DBN模型,其中第一层的784个特征是由MNIST数据集中图像的像素28×28而得来的,最后一层是含有标签的10个单元,中间三层是函数随机二进制神经元的隐藏层单元。Hinton在文章中提到该算法能达到1.25%的分类错误率。文献[4]在Hinton等[2]提出的标准DBN基础上改进了受限玻尔兹曼机(Restricted Boltzmann Machine, RBM)的采样方法,将原始的对比散度(Contrastive Divergence, CD)算法改为持续自由能量对比散度(Free Energy in Persistent Contrastive Divergence, FEPCD)算法,最终MNIST数据集的识别结果达到1.11%的分类错误率。文献[5]中Liu提出了一种新的基于标准DBN的分类器判别式深度信念网络(Discriminative Deep Belief Network, DDBN),整合了DBN的抽象能力和反向传播策略的鉴别能力,其除了对MNIST数据集进行识别之外,还对Caltch 101数据集进行分类识别。

Hinton等[6]提出的DBN是非线性模型,用来进行特征的提取和降维,是一种在最后一层重构产生的特征可见数据的能力模型。一般的神经网络被用于多层时,极容易被困在局部极小和其性能也较低,因此,确定神经网络的权值的初始值至关重要,而DBN很好地解决了权值初始化的问题。本文引进丁锋等[7]和Ding[8]提出的多新息辨识理论,提出了一种基于多新息理论的深度信念网络学习算法,改进算法在原有的基础上提高了权值误差的收敛速度,提高了识别MNIST数据集的精确度。

1 DBN模型

DBN是建立一个观察数据和标签之间的联合分布的概率生成模型,而传统的神经网络则是辨别模型。DBN结构由若干层RBM[9]组成,在每一层中对输入向量进行非线性变换,产生的输出作为下一层的输入向量。一个DBN的连接过程是通过自顶向下的生成权值来确定的,RBM更易于连接权值的学习[10]。在分层技术训练的DBN模型中,一个标签集被附加到顶层,通过自下向上学习到的识别权值而获得一个网络的分类面,使用反向传播技术调整权值优化分类。结构如图 1所示。

图 1 DBN模型

DBN模型进行特征的提取需要三个过程,分别是预训练过程、微调过程和测试过程,以下将详细介绍三个过程。

1.1 预训练过程

预训练是如图 1中自底向上识别权值与偏置的过程,此过程将输入数据经过网络的每一层提取特征后获得激励响应,将其添加至输出层,具体过程如下:

1) 先单独无监督地训练每一层RBM网络,在确保特征向量映射到不同特征空间的同时,尽可能多地保留特征信息。

2) 在DBN的最后一层设置一个logistic分类器,用于接受RBM的输出特征向量,将其作为logistic回归网络的输入特征向量,进行有监督的训练。而且每一个RBM网络层能够确保自身层内的权值对该层特征向量映射达到最优,而不是对整个DBN的特征向量映射达到最优,所以反向传播会将错误信息自上向下传播至每一层RBM,从而需要微调整个DBN。RBM网络训练模型过程的目的是对logistic回归网络的权值参数的初始化,使DBN克服logistic回归网络因随机初始化权值参数而容易陷入局部最优和训练时间过长的缺点。

1.2 微调过程

微调是如图 1自顶向下更新权值和偏置的过程,此过程可以大幅度提升一个自编码神经网络的性能表现,将网络的所有层视为一个模型,在每次迭代中,网络中的所有权值和偏置都会被优化。具体过程如下:

1) 进行前馈传导计算,得到L2层、L3层直至输出层Lnl的激活值ai(l)

ai(l)表示第l层的第i单元的激活值(输出值),对于给定的参数集合W、b,网络可以按照函数hW, b(x)来计算输出结果,hW, b(x)表示相应的期望输出结果。前向传播的计算步骤如下:

${{z}^{\left( l+1 \right)}}={{W}^{\left( l \right)}}{{a}^{\left( l \right)}}+{{b}^{\left( l \right)}}$ (1)
${{h}_{W,b}}\left( x \right)={{a}^{\left( l+1 \right)}}=f\left( {{z}^{\left( l+1 \right)}} \right)$ (2)
$f\left( {{z^{\left( {l + 1} \right)}}} \right) = sigmoid\left( {{z^{\left( {l + 1} \right)}}} \right) = \frac{1}{{1 + {e^{ - {z^{\left( {l + 1} \right)}}}}}}$ (3)

其中用到sigmoid函数作为激活函数:

$f\left( z \right) = sigmoid\left( z \right) = \frac{1}{{1 + {e^{ - z}}}}$ (4)

对于单个样例(x, y), 其非线性代价函数为:

$J\left( {W,b;x,y} \right) = \frac{1}{2}{\left\| {{h_{W,b}}\left( x \right) - y} \right\|^2}$ (5)

其中y是输出值,当计算输出节点时,网络训练规则将使J在每个训练循环按梯度下降,每次迭代对参数Wb的更新如下:

$W_{ij}^{\left( l \right)} = W_{ij}^{\left( l \right)} - \alpha \frac{{\partial J\left( {W,b} \right)}}{{\partial W_{ij}^{\left( l \right)}}}$ (6)
$b_i^{\left( l \right)} = b_i^{\left( l \right)} - \alpha \frac{{\partial J\left( {W,b} \right)}}{{\partial b_i^{\left( l \right)}}}$ (7)

α是学习率;参数Wij(l)表示第l层的第j单元与第l+1层的第i单元之间的权重;bi(l)表示第l层的第i单元的偏置项。对于第l层的每一个节点i,计算其“误差”δi(l),表明了该节点对最终输出值的误差产生了多少影响。基于第l+1层节点误差的加权平均值来计算δi(l),这些节点以ai(l)作为输入。对于误差δi(l)有以下公式:

$\frac{{\partial J\left( {W,b;x,y} \right)}}{{\partial W_{ij}^{\left( l \right)}}} = \frac{{\partial J\left( {W,b;x,y} \right)}}{{\partial z_i^{\left( {l + 1} \right)}}}\frac{{\partial z_i^{\left( {l + 1} \right)}}}{{\partial W_{ij}^{\left( l \right)}}}$ (8)
$\frac{{\partial J\left( {W,b;x,y} \right)}}{{\partial b_i^{\left( l \right)}}} = \frac{{\partial J\left( {W,b;x,y} \right)}}{{\partial z_i^{\left( {l + 1} \right)}}}\frac{{\partial z_i^{\left( {l + 1} \right)}}}{{\partial b_i^{\left( l \right)}}}$ (9)

由式(1)可知:

$z_i^{\left( {l + 1} \right)} = \sum\limits_{k = 1}^{sl} {W_{ik}^{\left( l \right)}a_k^{\left( l \right)}} + b_i^{\left( l \right)}$ (10)

由式(7)、(9)可知:

$\left\{ \begin{gathered} \frac{{\partial z_i^{\left( {l + 1} \right)}}}{{\partial W_{ij}^{\left( l \right)}}} = a_j^{\left( l \right)} \hfill \\ \frac{{\partial z_i^{\left( {l + 1} \right)}}}{{\partial b_i^{\left( l \right)}}} = 1 \hfill \\ \end{gathered} \right.$ (11)

由式(7)、(8)、(10)可知:

$\frac{{\partial J\left( {W,b;x,y} \right)}}{{\partial W_{ij}^{\left( l \right)}}} = \frac{{\partial J\left( {W,b;x,y} \right)}}{{\partial z_i^{\left( {l + 1} \right)}}}a_j^{\left( l \right)}$ (12)
$\frac{{\partial J\left( {W,b;x,y} \right)}}{{\partial b_{ij}^{\left( l \right)}}} = \frac{{\partial J\left( {W,b;x,y} \right)}}{{\partial z_i^{\left( {l + 1} \right)}}}$ (13)

故而令:

$\delta _i^{\left( l \right)}: = \frac{{\partial J\left( {W,b;x,y} \right)}}{{\partial z_i^{\left( l \right)}}}$ (14)

2) 由式(4)、(13)可知对于输出层(nl层),每个输出单元i的误差公式可推导为:

$\delta _i^{\left( {nl} \right)} = \frac{{\partial J\left( {W,b;x,y} \right)}}{{\partial z_i^{\left( {nl} \right)}}} = - \left( {{y_i} - a_i^{\left( {nl} \right)}} \right) \cdot f'\left( {z_i^{\left( {nl} \right)}} \right)$ (15)

3) 由式(4)(13)可知对l=nl-1, nl-2, nl-3, …, 2的各个层,第l层的第i个节点的误差公式可推导为:

$\delta _i^{\left( l \right)} = \left( {\sum\limits_{j = 1}^{sl + 1} {W_{ji}^{\left( l \right)}\delta _j^{\left( {l + 1} \right)}} } \right) \cdot f'\left( {z_i^{\left( l \right)}} \right)$ (16)

4) 计算所需的偏导数,计算方法如下:

$\frac{{\partial J\left( {W,b;x,y} \right)}}{{\partial W_{ij}^{\left( l \right)}}} = a_j^{\left( l \right)}\delta _i^{\left( {l + 1} \right)}$ (17)
$\frac{{\partial J\left( {W,b;x,y} \right)}}{{\partial b_{ij}^{\left( l \right)}}} = \delta _i^{\left( {l + 1} \right)}$ (18)

由式(5)、(6)可知参数W和b的更新可以写为:

$W_{ij}^{\left( l \right)} = W_{ij}^{\left( l \right)} - \alpha a_j^{\left( l \right)}\delta _i^{\left( {l + 1} \right)}$ (19)
$b_i^{\left( l \right)} = b_i^{\left( l \right)} - \alpha \delta _i^{\left( {l + 1} \right)}$ (20)
1.3 测试过程

经过预训练和微调过程,DBN模型已经逐层提取特征,同时参数W和b已经优化。通过数据集的测试样本对DBN进行测试。

2 基于多新息理论的DBN算法

针对标准DBN算法中更新参数权值W和偏置b时,均只用到当前周期的数据,之前周期的数据将全部遗失的问题,本文引进多新息理论。多新息辨识已经发展为一个全新的辨识领域,能充分利用和扩展辨识新息,通过对辨识新息的扩展,从标量新息到新息向量。由于该方法能够提高梯度下降的速率,所以已经广泛应用于多种模型参数的估计中。

2. 多新息理论

常见的辨识算法一般都是单新息辨识方法[11],也就是只利用单步的新息去修正参数,对于标量系统[12]

$y\left( t \right) = {\varphi ^{\text{T}}}\left( t \right)\theta + v\left( t \right)$ (21)

其中:y(t)表示系统的输出;φT(t)是由系统输入数据和输出数据组成的向量;θ是最终需要辨识的参数,这里是向量形式;v(t)是均值为零的系统随机噪声,表示该系统存在噪声。

针对参数向量θ,利用随机梯度辨识算法有以下形式:

$\hat \theta \left( t \right) = \hat \theta \left( {t - 1} \right) + L\left( t \right)e\left( t \right)$ (22)

其中:L(t)为增益向量;e(t)为标量新息,即单新息。标量新息e(t)是用来描述t时刻的输出预报误差,可表示为:

$e\left( t \right): = y\left( t \right) - {\varphi ^{\text{T}}}\left( t \right)\hat \theta \left( {t - 1} \right) \in {\text{R}}$ (23)

对于$\hat \theta $(t),即为t时刻的参数估计在$\hat \theta $(t-1)的基础上递推出来的,依靠增益向量L(t)与标量新息e(t)的乘积来修正t-1时刻的辨识参数。

将其拓展,根据式(21)、(22),将标量新息e(t)扩展为向量形式,便称为多新息。同时,系统中其他的向量或者矩阵也要随之变化,将增益向量L(t)∈Rn扩展为矩阵形式。由此得到了多新息辨识方法,其算法就可以写作:

$\hat \theta \left( t \right) = \hat \theta \left( {t - 1} \right) + \Gamma \left( {p,t} \right)E\left( {p,t} \right)$ (24)

其中:Γ(p, t)∈Rn×p为增益矩阵,E(p, t)∈Rp为新息向量,p≥1为新息长度。当p等于1时,就退化为标量新息。

多新息理论将之前的部分有用信息充分利用,能够有较好的辨识效果。这种方法增加了算法本身的运算量,但却提高了估计收敛速度,以微小的时间复杂度换取实验中精度的提高。多新息理论的详细推导过程和证明可以查看参考文献[13]。

2.2 结合多新息的DBN算法——MI-DBN

DBN经过无监督和逐层的训练[14-15],使得在利用反向传播算法对网络进行全局优化之前,网络参数能有一个好的初始值,一个较好的局部极小点就在训练完成时达到。在学习系统中,有可能数以百万计的样本和权值,在最上层加上带有标签的样本,用来训练机器。如图 1所示,为了正确地调整权值向量,用反向传播算法计算每个权值的梯度向量,表示如果权值增加了一个很小的值,那么误差会增加或减少的量。反向传播算法通过多层网络的每一层可以被重复地用于传播梯度;从该网络的最顶层的输出一直到最底层,每层的输入导数求解完成之后,就可以求解每一层权值的梯度矢量,权值向量在梯度矢量的相反方向上进行调整。随机梯度算法的计算量小,收敛速度慢,为了提高随机梯度辨识方法的收敛速度,引入新息长度。图 1中,在自顶向下过程中修正每层网络权值和偏置,所有层更新完成时即是一个周期,在此过程中每次的权值和偏置更新都是基于上一个周期的对应值,在DBN原有更新权值和偏置的基础上,对每层网络对应的前几个周期的值进行充分利用,将单新息扩展为新息向量,从而提高误差的收敛速率。

在对时变系统进行辨识时,如果网络的权值按照某种规律动态变化,那么网络的输入输出映射关系也必然会随着时间而变化,从而有可能对时变系统进行辨识。由于权值随时间变化的规律很难获得,故将网络微调的整个周期作为新息长度p,周期数作为时间t,定义正整数序列{t0, t1, …, ts},满足0 < t0 < t1 < t2 < … < ts,且1≤ts*=ts-ts-1。在迭代间隔ts*秒内,每1/Ns都可能得到第l层第i个节点的有用数据信息,利用p组数据信息产生新息向量E(p, t)对未知参数θ进行修正。此时,t=ts-p+1到t=ts共有p组样本数据,则第l层可视层的第j节点在t时刻的输出为:

$A_j^{\left( l \right)}\left( {p,{t_s}} \right) = {\left[{a_k^{\left( l \right)}\left( {{t_s}} \right),a_j^{\left( l \right)}\left( {{t_s} - 1} \right),a_j^{\left( l \right)}\left( {{t_s} - 2} \right),\cdots ,a_j^{\left( t \right)}\left( {{t_s} - p + 1} \right)} \right]^{\text{T}}}$ (25)

l层第i个节点在t时刻的误差为:

$\bar \delta _i^{\left( l \right)}\left( {p,{t_s}} \right) = \left[{\delta _i^{\left( l \right)}\left( {{t_s}} \right),\delta _i^{\left( l \right)}\left( {{t_s} - 1} \right),\delta _i^{\left( l \right)}\left( {{t_s} - 2} \right),\cdots ,\delta _i^{\left( l \right)}\left( {{t_s} - p + 1} \right)} \right]$ (26)

将式(25)、(26)代入式(19)中,权值的修正式为:

$W_{ij}^{\left( l \right)}\left( {{t_s}} \right) = W_{ij}^{\left( l \right)}\left( {{t_s} - 1} \right) - \alpha A_j^{\left( l \right)}\left( {p,{t_s}} \right)\bar \delta _i^{\left( {l + 1} \right)}\left( {p,{t_s}} \right)$ (27)
$b_i^{\left( l \right)}\left( {{t_s}} \right) = b_i^{\left( l \right)}\left( {{t_s} - 1} \right) - \alpha \bar \delta _i^{\left( {l + 1} \right)}\left( {p,{t_s}} \right)$ (28)

将式(26)代入式(19)中,偏置的修正式为:

$b_i^{\left( l \right)}\left( {{t_s}} \right) = b_i^{\left( l \right)}\left( {{t_s} - 1} \right) - \alpha \bar \delta _i^{\left( {l + 1} \right)}\left( {p,{t_s}} \right)$ (29)

本文提出的MI-DBN与标准DBN相比,具有以下优点:

1) 每次更新权值和偏置时,标准DBN只是使用了当前周期的新息,而本文提出的MI-DBN不仅使用了当前周期的新息,还是用了过去几个周期的新息,这样使得误差的收敛速度提高。

2) 在标准DBN算法中加入多新息能够提高误差的收敛速度,能够改进算法的精度;但并不是加入的多新息越多越好,加入过多的多新息会增加算法计算量,使得实时性降低,所以要慎重考虑加入多新息的数量。

3 实验与分析

本文将用到两个数据集,分别是MNIST数据集[16]和Caltech101数据集[17]。用Deep Learning中的工具箱DeeBNet toolbox[18]来实现实验结果。实验中,将MI-DBN与K最近邻算法(K-Nearest Neighbor, KNN)、支持向量机(Support Vector Machine, SVM) [19]、直推式支持向量机(Transductive Support Vector Machine, TSVM) [19]、神经网络(Neural Network, NN) [20]和深度信念网络-社区成分分析(Deep Belief Network-review Neighborhood Components Analysis, DBN-rNCA)[21]的实验结果进行比较。

3.1 实验环境

进行实验的软件环境: Windows 7系统,Visual Studio 2013,Matlab 2013。硬件平台:2.80GHz Intel CPU E5-2680 V2,32GB内存。

3.2 MNIST数据集

本文实验所用数据是基于手写数字MNIST数据库的数据集,数据集中图像像素具有0到255之间的离散值[22],图像的像素值归一化在0~1。其所用网络结构为784-500-500-2 000-10,其中该数据集被划分为训练和测试两部分,分别包括60 000个训练样本和10 000个测试样本。如图 2所示。

图 2 MNIST数据集示例

本文实验所涉及的评判标准主要有以下几个方面:

1) 错误率。错误率指标主要用于衡量不同分类模型对于数据集分类的错误程度,该指标是用来衡量分类错误程度的一个重要指标,直接关系着算法的可靠性。在Matlab中使用公式计算错误率:

err=mean(zeros((epoch-numbatches):(epoch-1)))×100%

其中:epoch表示周期数,numbatches表示批次数。

表 1给出了不同算法对MNIST数据集分类的错误率[4],其中标准DBN算法、含有FEPCD的DBN改建算法和本文中的MI-DBN算法均使用60 000个样本训练,10 000个样本测试,50个周期训练,150个周期测试,用相同的网络结构,并且其相关参数学习率等也相同的条件下进行的实验。显然,加入多新息的DBN算法运算量加大,运行速度下降,但改进算法以时间耗费为代价获得了数据集分类错误率的降低。表 1中的时间是指每个周期所用时间,其中下划线的数据是本文改进算法对MNIST数据分类后的错误率,可以看出,MI-DBN算法有更小的错误率。

表 1 不同算法对于MNIST数据集的分类错误率

2) 误差。对实验中误差数据进行仿真,实验过程中的训练周期为50,进行微调的周期为150。图 3是MI-DBN算法和其他分类器对MNIST数据集分类的误差曲线对比分析。如图 3中最下边曲线表示在150个周期中本文的改进算法MI-DBN对MNIST数据集进行分类时其误差的曲线,上边的曲线从上到下依次是SVM、KNN、DBN和FEPCD算法在同样条件下对MNIST数据集进行分类时其误差的曲线。可以看出MI-DBN中MNIST数据集的误差曲线收敛得更快。

图 3 MNIST数据集中误差对比分析
3.3 Caltech 101数据集

以上实验中验证了MI-DBN算法对MNIST数据集的分类时,其误差有明显地降低,本节则将Caltech 101数据集在MI-DBN算法和其他分类器算法上进行分类识别。Caltech 101数据集包含有101类的图像,在本文的实验中,选用其中的5个类。在本次Caltech 101数据集实验中MI-DBN结构为400-500-500-900-5,输入层是将图片转换为20×20像素即400个单元,输出层是5个单元,三个隐藏层分别是500、500、900个单元。如图 4所示是Caltech 101数据集的不同类别。

图 4 Caltech 101的5个不同类别

表 2即是本次实验的误差分类错误率结果,由于本次实验的数据集样本数目少,类别小,因此实验结果与MNIST数据集相比较不是特别理想。

表 2 不同算法对Caltech101数据集的分类错误率

图 5为MI-DBN算法和其他分类器对Caltech 101数据集分类的误差曲线对比分析。图 5中最下边曲线表示本文的改进算法MI-DBN对Caltech 101数据集进行分类时其误差的曲线,上边的曲线从上到下依次是SVM、KNN、TSVM、NN、DBN-rNCA和DDBN算法在同样条件下对Caltech 101数据集进行分类时其误差的曲线。可以看出MI-DBN中Caltech 101数据集的误差曲线收敛得更快。

图 5 Caltech101数据集中误差对比分析
4 结语

基于对DBN算法中的不足,本文提出了结合多新息随机梯度辨识的深度信念网络学习算法,在深度信念网络的基础上加上多新息理论算法。改进算法MI-DBN结合历史周期的数据信息,充分利用隐含在过去数据中的有用信息,使得每层网络的连接权值和偏置能够更快地达到预测值。仿真结果表明,误差的收敛速率提高,并且MI-DBN算法在对MNIST手写数据集和Caltech 101数据集的识别中,最终分类错误率有所降低。

参考文献
[1] LECUN Y, BENGIO Y, HINTON G E, et al. Deep learning[J]. Nature, 2015, 521 (7553) : 436-444. doi: 10.1038/nature14539 (0)
[2] HINTON G E, OSINDERO S, TEH Y W. A fast learning algorithm for deep belief nets[J]. Neural Computation, 2006, 18 (7) : 1527-1554. doi: 10.1162/neco.2006.18.7.1527 (0)
[3] LAROCHELLE H, ERHAN D, COURVILLE A, et al. An empirical evaluation of deep architectures on problems with many factors of variation [C]// ICML '07: Proceedings of the 2007 24th International Conference on Machine Learning. New York: ACM, 2007: 473-480. (0)
[4] KEYVANRAD M A, HOMAYOUNPOUR M M. Deep belief network training improvement using elite samples minimizing free energy [EB/OL]. [2015-11-22]. http://xueshu.baidu.com/s?wd=paperuri%3A%282e0ed0ef0b45da606b7629105f1f17ed%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Farxiv.org%2Fpdf%2F1411.4046v1&ie=utf-8&sc_us=758889154434608003. (0)
[5] LIU Y, ZHOU S, CHEN Q. Discriminative deep belief networks for visual data classification[J]. Pattern Recognition, 2011, 44 (10/11) : 2287-2296. (0)
[6] HINTON G E, SALAKHUTDINOV R. Reducing the dimensionality of data with neural networks[J]. Science, 2016, 313 (5786) : 504-507. (0)
[7] 丁锋, 萧德云, 丁韬. 多新息随机梯度辨识方法[J]. 控制理论与应用, 2003, 20 (6) : 870-874. ( DING F, XIAO D Y, DING T. Multi-innovation stochastic gradient identification methods[J]. Control Theory and Applications, 2003, 20 (6) : 870-874. ) (0)
[8] DING F. Several multi-innovation identification methods[J]. Digital Signal Processing, 2010, 20 (4) : 1027-1039. doi: 10.1016/j.dsp.2009.10.030 (0)
[9] HINTON G E. A practical guide to training restricted Boltzmann machines [C]// Neural Networks: Tricks of the Trade, LNCS 7700. Berlin: Springer, 2012: 599-619. (0)
[10] SWERSKY K, CHEN B, MARLIN B, et al. A tutorial on stochastic approximation algorithms for training restricted Boltzmann machines and deep belief nets [C]// Proceedings of the 2010 Information Theory and Applications Workshop. Piscataway, NJ: IEEE, 2010:1-10. (0)
[11] 丁洁, 谢莉, 丁锋. 非均匀采样系统多新息随机梯度辨识性能分析[J]. 控制与决策, 2011, 26 (9) : 1338-1342. ( DING J, XIE L, DING F. Performance analysis of multi-innovation stochastic gradient identification for non-uniformly sampled systems[J]. Control and Decision, 2011, 26 (9) : 1338-1342. ) (0)
[12] 丁锋. 系统辨识(6):多新息辨识理论与方法[J]. 南京信息工程大学学报, 2012, 4 (1) : 1-28. ( DING F. System identification. Part F: multi-innovation identification theory and methods[J]. Journal of Nanjing University of Information Science and Technology, 2012, 4 (1) : 1-28. ) (0)
[13] 丁锋, 杨家本. 衰减激励条件下确定性系统多新息辨识的收敛性分析[J]. 清华大学学报(自然科学版), 1998, 38 (9) : 111-115. ( DING F, YANG J B. Convergence of multi-innovation identification under attenuating excitation conditions for deterministic systems[J]. Journal of Tsinghua University (Science and Technology), 1998, 38 (9) : 111-115. ) (0)
[14] LEE H, EKANADHAM C, NG A Y. Sparse deep belief net model for visual area V2 [EB/OL]. [2015-11-26]. http://web.eecs.umich.edu/~honglak/nips07-sparseDBN.pdf. (0)
[15] KRIZHEVSKY A, Learning multiple layers of features from tiny images [D]. Toronto: University of Toronto, 2009:17. (0)
[16] LECUN Y, CORTES C. The MNIST database of handwritten digits [DB/OL]. [2011-12-20]. http://yann.lecun.com/exdb/mnist/index.html. (0)
[17] LI F F, FERGUS R, PERONA P. Learning generative visual models from few training examples: an incremental Bayesian approach tested on 101 object categories [C]// CVPRW '04: Proceedings of the 2004 Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2004, 12: 178. (0)
[18] KEYVANRAD M A, HOMAYOUNPOUR M M. A brief survey on deep belief networks and introducing a new object oriented Matlab toolbox (DeeBNetV2.2) [EB/OL]. [2015-11-06]. https://www.researchgate.net/publication/264790642_A_brief_survey_on_deep_belief_networks_and_introducing_a_new_object_oriented_MATLAB_toolbox_DeeBNet_V20. (0)
[19] COLLOBERT R, SINZ F, WESTON J, et al. Large scale transductive SVMs[J]. Journal of Machine Learning Research, 2006, 7 : 1687-1712. (0)
[20] HAGAN M T, DEMUTH H B, BEALE M. Neural Network Design[M]. Beijing: China Machine Press, 2002 : 357 . (0)
[21] SALAKHUTDINOV R, HINTON G E. Learning a nonlinear embedding by preserving class neighbourhood structure[J]. Journal of Machine Learning Research, 2007, 2 : 412-419. (0)
[22] TIELEMAN T, HINTON G. Using fast weights to improve persistent contrastive divergence [C]// ICML'09: Proceedings of the 26th Annual International Conference on Machine Learning. New York: ACM, 2009:1033-1040. http://cn.bing.com/academic/profile?id=2150529939&encoded=0&v=paper_preview&mkt=zh-cn (0)