软件学报  2019, Vol. 30 Issue (11): 3326-3339   PDF    
基于噪声数据与干净数据的深度置信网络
张楠1 , 丁世飞1,2,3 , 张健1 , 赵星宇1     
1. 中国矿业大学 计算机科学与技术学院, 江苏 徐州 221116;
2. 矿山数字化教育部工程研究中心(中国矿业大学), 江苏 徐州 221116;
3. 中国科学院 计算技术研究所 智能信息处理重点实验室, 北京 100190
摘要: 建立以受限玻尔兹曼机(restricted Boltzmann machine,简称RBM)为基石的深度网络模型,是深度学习研究的热点领域之一.Point-wise Gated受限玻尔兹曼机(point-wise gated RBM,简称pgRBM)是一种RBM的变种算法.该算法能够在含噪声的数据中自适应地找到数据中与分类有关的部分,从而实现较好的分类结果.假设一组数据中有噪声数据和干净数据,如何应用不含噪声的数据提升pgRBM的性能,是一个重要的研究问题.针对这一问题,首先,在传统的pgRBM基础上提出一种基于随机噪声数据与干净数据的Point-wise Gated受限玻尔兹曼机(pgRBM based on random noisy data and clean data,简称pgrncRBM)方法,其网络中与分类有关权值的初值是通过不含噪声的数据学习得到的,所以pgrncRBM在处理随机噪声数据时可以学习到更为"干净"的数据.在pgrncRBM中,与分类有关的数据与噪声都是使用RBM建模.如果噪声是图片,pgrncRBM就不能很好地去除噪声.Spike-and-Slab RBM(ssRBM)是一种处理实值数据的RBM变种模型,其定义两种不同类型的隐层用来学习实值数据的分布特性.因此,将ssRBM与pgRBM相结合,提出一种基于图像噪声数据与干净数据的Point-wise Gated受限玻尔兹曼机(pgRBM based on image noisy data and clean data,简称pgincRBM)方法.该方法使用ssRBM对噪声建模,其在处理图像噪声数据时可以学习到更为"干净"的数据.然后,通过堆叠pgrncRBM、pgincRBM和传统的RBM构建出深度网络模型,并探讨了权值不确定性方法在提出网络模型中的可行性.最后,在含噪声的手写数据集上进行MATLAB仿真实验.实验结果表明,pgrncRBM和pgincRBM都是有效的神经网络学习方法.
关键词: 受限玻尔兹曼机    深度置信网络    权值不确定性    特征选择    
Deep Belief Network Based on Noisy Data and Clean Data
ZHANG Nan1 , DING Shi-Fei1,2,3 , ZHANG Jian1 , ZHAO Xing-Yu1     
1. School of Computer Science and Technology, China University of Mining and Technology, Xuzhou 221116, China;
2. Mine Digitization Engineering Research Center of Ministry of Education(China University of Mining and Technology), Xuzhou 221116, China;
3. Key Laboratory of Intelligent Information Processing, Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China
Abstract: Stacking restricted Boltzmann machines (RBM) to create deep networks, such as deep belief networks (DBN), has become one of the most important research fields in deep learning. Point-wise gated restricted Boltzmann machines (pgRBM), an RBM variant, can effectively find the task-relevant patterns from data containing irrelevant patterns and thus achieves satisfied classification results. Given that train data is composed of noisy data and clean data, how the clean data is applied to promote the performance of the pgRBM is a problem. To address the problem, this study first proposes a method, named as pgRBM based on random noisy data and clean data (pgrncRBM). The pgrncRBM makes use of RBM and the clean data to obtain the initial values of the task-relevant weights, so it can learn the "clean" data from the data containing random noisy. In the pgrncRBM, the general RBM is used to pre-train the weights of task-relevant patterns from data and irrelevant patterns. If the noise is an image, the pgrncRBM cannot learn the task-relevant patterns from the noisy data. Spike-and-Slab RBM, an RBM variant, uses two types of hidden layers to determine the mean and covariance of each visible unit. Threrfore, this study combines ssRBM with pgRBM and proposes a method, named as pgRBM based on image noisy data and clean data (pgincRBM). The pgincRBM uses the ssRBM to model the noise, so it can learn the "clean" data from the data containing image noisy. And then, this study stacks pgrncRBM, pgincRBM, and RBMs to create deep networks, and discusses the feasibility that the weight uncertainty method is developed to prevent overfitting in the proposed networks. Experimental results on MNIST variation datasets show that pgrncRBM and pgincRBM are effective neural networks learning methods.
Key words: restricted Boltzmann machine (RBM)    deep belief network    weight uncertainty    feature selection    

玻尔兹曼机(Boltzmann machine, 简称BM)是一种概率图模型.该模型能够学习到输入数据的统计特性[1]. Smolensky在BM的基础上提出了受限玻尔兹曼机(restricted Boltzmann machine, 简称RBM)[2].RBM是一种产生式无监督学习方法, 它不仅能够从数据中学习到有效的特征, 而且能够利用学习到的特征重构出原始数据. 2006年, Hinton等人在《SCIENCE》上提出一种有效的深度网络学习方法——深度置信网(deep belief network, 简称DBN), 掀起了深度学习的研究热潮[3].其实, 以受限玻尔兹曼机为基石的深度网络模型除了深度置信网以外, 还有深度Sigmoid置信网[4]、深度玻尔兹曼机[5]等.

与RBM相比, 以RBM为基石的深度网络模型会表现出较好的分类能力.但是在处理噪声图像时, 这些深度网络并没有展现出优于RBM的学习能力.如果数据中存在噪声, 那么RBM学习到的特征也会蕴含噪声信息.特征选择方法可以从蕴含噪声信息的特征中找到与分类有关的特征[6].Sohn等人结合受限玻尔兹曼机与特征选择方法提出了Point-wise Gated受限玻尔兹曼机(point-wise gated RBM, 简称pgRBM)[7].pgRBM不仅能够得到与分类有关的特征, 还能在噪声数据中找到数据中与分类有关的部分.Zhang等人结合pgRBM提出了Point- wise Gated深度置信网(point-wise gated deep belief network, 简称pgDBN)和Point-wise Gated深度玻尔兹曼机[8].这表明以RBM为基石的深度网络在处理噪声时, 传统的RBM学习到的特征中蕴含的噪声信息影响了深度网络的性能.但是当一组数据中有噪声数据和干净数据时, 如何应用干净数据提升pgRBM在噪声数据中的学习能力, 从而进一步提高深度网络模型处理噪声的能力, 这是一个重要的研究问题.

本文在传统的pgRBM基础上提出一种基于随机噪声数据与干净数据的Point-wise Gated受限玻尔兹曼机(pgRBM based on random noisy data and clean data, 简称pgrncRBM)方法.它可以利用干净数据提升算法在随机噪声数据上的学习能力.pgRBM把隐层节点分为与分类有关的和与分类无关的两个部分, 其连接权值的初值是用特征选择的方法对RBM学习的权值处理得到的.pgrncRBM就是在传统的pgRBM基础上对pgRBM学习到的数据二次去噪, 其与分类无关的隐层节点相连权值的初值是用特征选择的方法对RBM对一次降噪的数据学习到的权值处理得到的, 但是其与分类有关的隐层节点相连权值的初值是用RBM对不含噪声的数据学习得到的.这样, pgrncRBM在处理随机噪声数据时可以学习到更为“干净”的数据.如果噪声是图片时, pgrncRBM不能很好地去除噪声.传统的RBM一般只适于处理二值图像.为了更好地处理实值图像, 提出了一系列的RBM的变种算法, 如均值与协方差受限玻尔兹曼机(mcRBM)[9]和Spike-and-Slab受限玻尔兹曼机(ssRBM)[10].mcRBM和ssRBM都表现出较好的实质图像数据建模能力, 但不同的是, 当隐层节点状态保持固定时, mcRBM求取数据在可见层的联合概率分布用的是混合蒙特卡洛算法(HMC), 而ssRBM采用的是简单而有效的Gibbs采样方法.因此, 本文将ssRBM与pgRBM相结合, 提出了一种基于图像噪声数据与干净数据的Point-wise Gated受限玻尔兹曼机(pgRBM based on image noisy data and clean data, 简称pgincRBM)方法.该方法使用ssRBM对噪声建模, 其在处理图像噪声数据时可以学习到更为“干净”的数据.然后, 本文可以在pgrncRBM和pgincRBM的基础上堆叠出深度置信网络模型, 如基于随机噪声数据与干净数据的Point-wise Gated受限玻尔兹曼机(pgDBN based on random noisy data and clean data, 简称pgrncDBN)以及基于图像噪声数据与干净数据的Point-wise Gated受限玻尔兹曼机(pgDBN based on image noisy data and clean data, 简称pgincDBN).

训练神经网络时常常会遇到过拟合问题, 以RBM为基石的深度网络也是如此.目前, RBM中常常用的解决过拟合问题有权值衰减、Dropout[11]、Dropconnect[12, 13]、权值不确定性[14-16].Zhang等人将权值不确定性引入pgRBM和pgDBN, 验证了权值不确定性在这两种网络中的有效性[8].本文将权值不确定性引入pgrncRBM和pgincRBM中, 把pgrncRBM和pgincRBM中与分类有关的权值看作一组符合高斯分布的变量而不是固定值.同样地, 本文还将权值不确定性引入以pgrncRBM和pgincRBM为基石的深度网络pgrncDBN和pgincDBN中, 并探究了这几种算法的可行性.

本文第1节简述受限玻尔兹曼机算法、深度置信网算法和Point-wise Gated受限玻尔兹曼机算法.第2节详述本文提出的基于噪声数据与干净数据的Point-wise Gated受限玻尔兹曼机算法和以它们为基石的Point- wise Gated深度置信网算法.第3节介绍权值不确定性方法在pgncRBM和pgncDBN两种网络模型中的应用.第4节用含噪声的手写数据集测试本文提出的算法的性能.实验结果表明, pgrncRBM和pgincRBM都是有效的神经网络学习方法.

1 相关工作 1.1 受限玻尔兹曼机与深度置信网算法

受限玻尔兹曼机(RBM)是一种生成式随机网络, 由可见层和隐层组成.RBM网络的权值θ由可见层和隐层的连接权值矩阵W=(Wij)∈RD×J、可见层的偏置向量$\mathit{\boldsymbol{c}} = \{ {c_i}\} _{i = 1}^D$和隐层的偏置向量$\mathit{\boldsymbol{b}} = \{ {b_i}\} _{i = 1}^J$组成.当给定一组可见层状态$\mathit{\boldsymbol{v}} = \{ {v_i}\} _{i = 1}^D$和隐层状态$\mathit{\boldsymbol{h}} = \{ {h_i}\} _{i = 1}^J$时, RBM的能量函数和似然函数分别表述为

$E(\mathit{\boldsymbol{v}}, \mathit{\boldsymbol{h}};\theta ) = - \sum\limits_{i = 1}^D {\sum\limits_{j = 1}^J {{v_i}{W_{ij}}{h_j}} } - \sum\limits_{j = 1}^J {{b_j}{h_j}} - \sum\limits_{i = 1}^D {{c_i}{v_i}} $ (1)
$P(\mathit{\boldsymbol{v}};\theta ) = \sum\limits_\mathit{\boldsymbol{h}} {P(\mathit{\boldsymbol{v}}, \mathit{\boldsymbol{h}};\theta )} = \frac{1}{{Z(\theta )}}\sum\limits_\mathit{\boldsymbol{h}} {\exp ( - E(\mathit{\boldsymbol{v}}, \mathit{\boldsymbol{h}};\theta ))} $ (2)

其中, vi∈{0, 1};hj∈{0, 1};$Z(\theta ) = \sum\limits_\mathit{\boldsymbol{v}} {\sum\limits_\mathit{\boldsymbol{h}} {\exp ( - E(\mathit{\boldsymbol{v}}, \mathit{\boldsymbol{h}};\theta ))} } $是配分函数; P(v; θ)对应P(v, h; θ)的边缘分布, 又称为似然函数.当可见层和隐层其中之一状态固定时, RBM的条件概率分布可以表述为

$P({v_i} = 1|\mathit{\boldsymbol{h}}) = \sigma \left( {\sum\limits_j {{W_{ij}}{h_j}} + c{}_i} \right)$ (3)
$P({h_j} = 1|\mathit{\boldsymbol{v}}) = \sigma \left( {\sum\limits_i {{v_i}{W_{ij}}} + b{}_j} \right)$ (4)

其中, $\sigma (x) = \frac{1}{{1 + \exp ( - x)}}$.给定训练样本集$\mathit{\boldsymbol{X}} = \{ {\mathit{\boldsymbol{v}}^k}\} _{k = 1}^N$时, 通过使对数似然函数$\sum\limits_{k = 1}^N {\ln P({\mathit{\boldsymbol{v}}^k})} $最大化, RBM用梯度上升算法去更新网络的权值θ.并且, 我们可以用对比散度(CD)[17]等算法去估计这些梯度.

深度置信网(DBN)是一个概率生成模型.它是由RBM堆叠构成的深度网络模型.首先, DBN通过利用不带标签数据, 用RBM算法自底向上逐层训练得到深度网络的初值.在预训练之后, DBN通过利用带标签数据, 用BP算法对网络的权值进行调整.

1.2 Point-wise Gated受限玻尔兹曼机算法

与RBM不同, pgRBM把隐层节点分为与分类有关的和与分类无关的两个部分.pgRBM的网络结构如图 1所示.此时, pgRBM的能量函数可表述为

Fig. 1 Network structure of pgRBM 图 1 pgRBM的网络结构

$\left. \begin{gathered} E(\mathit{\boldsymbol{v}}, \mathit{\boldsymbol{z}}, {\mathit{\boldsymbol{h}}^1}, {h^2};\theta ) = - \sum\limits_{i = 1}^D {\sum\limits_{j = 1}^J {\sum\limits_{r = 1}^2 {(z_i^r{v_i})W_{ij}^rh_j^r} } } - \sum\limits_{j = 1}^J {\sum\limits_{r = 1}^2 {b_j^rh_j^r} } - \sum\limits_{i = 1}^D {\sum\limits_{r = 1}^2 {c_i^r(z_i^r{v_i})} } \\ {\rm{s}}{\rm{.t}}{\rm{. }}\sum\limits_{r = 1}^2 {z_i^r} = 1, {\rm{ }}i = 1, ..., D \\ \end{gathered} \right\}$ (5)

其中, 与分类有关的隐层h1对应的权值为{W1, c1, b1}, 与分类无关的隐层对应的权值为{W2, c2, b2}.

当可见层、转换层和隐层任意两层状态固定时, pgRBM的条件概率分布可以表述为

$P(h_i^r = 1|\mathit{\boldsymbol{z}}, \mathit{\boldsymbol{v}}) = \sigma \left( {\sum\limits_i {(z_i^r{v_i})W_{ij}^r} + b_j^r} \right)$ (6)
$P({v_i} = 1|\mathit{\boldsymbol{z}}, {\mathit{\boldsymbol{h}}^1}, {\mathit{\boldsymbol{h}}^2}) = \sigma \left( {\sum\limits_r {z_i^r\left( {\sum\limits_j {W_{ij}^rh_j^r} + c_i^r} \right)} } \right)$ (7)
$P(z_i^r = 1|\mathit{\boldsymbol{v}}, {\mathit{\boldsymbol{h}}^1}, {\mathit{\boldsymbol{h}}^2}) = \frac{{\exp \left( {{v_i}\left( {\sum\limits_j {W_{ij}^rh_j^r} + c_i^r} \right)} \right)}}{{\sum\nolimits_s {\exp \left( {{v_i}\left( {\sum\limits_j {W_{ij}^sh_j^s} + c_i^s} \right)} \right)} }}$ (8)

其中, $\sigma (x) = \frac{1}{{1 + \exp ( - x)}}$.文献[7]发现, pgRBM用RBM学习的结果对网络中的参数赋初值会比随机赋初值取得更好的结果.如图 1所示, 与分类有关的隐层和与分类无关的隐层的节点数分别为J1和J2, 当用RBM的结果赋初值时, RBM的隐层节点数要略大于J1与J2之和.RBM学习得到的参数后, 需要用特征选择方法, 例如t-test来判断隐层节点对分类的贡献, 从而确定pgRBM网络权值的初始值.

Zhang等人将权值不确定性引入pgRBM, 提出了权值不确定性Point-wise Gated受限玻尔兹曼机(weight uncertainty pgRBM, 简称pgwRBM)算法.与pgRBM不同的是, pgwRBM将与分类有关的隐层与可见层、转换层的连接权值W1看作符合高斯分布的变量, 其均值和标准差分别是μ1σ1=log(1+exp(ρ1)).此时, pgwRBM的能量函数可表述为

$\left. \begin{array}{l} E\left( {{\mathit{\boldsymbol{v}}^\prime },{\mathit{\boldsymbol{z}}^\prime },{\mathit{\boldsymbol{h}}^1},{\mathit{\boldsymbol{h}}^2};\theta } \right) = - \sum\limits_{i = 1}^D {\sum\limits_{j = 1}^J {\left( {z_i^{\prime 1}{v_i}} \right)} } \left( {\mu _{ij}^1 + \log \left( {\left( {\rho _v^1} \right)} \right) \odot \varepsilon _{ij}^1} \right)h_j^1 - \sum\limits_{i = 1}^D {\sum\limits_{j = 1}^J {\left( {z_i^{\prime 2}{v_i}} \right)} } W_v^2h_j^2 - \sum\limits_{j = 1}^J {\sum\limits_{v = 1}^J {b_j^r} } h_j^r - \sum\limits_{i = 1}^D {\sum\limits_{r = 1}^D {c_i^r} } \left( {z_i^rv_i^\prime } \right)\\ {\rm{s}}{\rm{.t}}{\rm{.}}\sum\limits_{r = 1}^2 {z_i^{\prime r}} = 1,i = 1, \ldots ,D \end{array} \right\} $ (9)

其中, ⊙表示矩阵中的元素对位相乘.

pgwRBM的学习过程详见文献[8].和RBM一样, pgRBM和pgwRBM也可以使用CD等算法去计算权值的梯度, 从而更新网络的权值.

2 基于噪声数据与干净数据的Point-wise Gated深度置信网络模型 2.1 基于随机噪声数据与干净数据的Point-wise Gated受限玻尔兹曼机算法

当数据中存在少量噪声时, 添加噪声在某些情况下可以增加分类器的泛化能力.但是, 如果数据中存在大量噪声, 噪声的添加就降低了训练数据的分类准确率, 并且还不能获得更好的泛化能力.Point-wise Gated受限玻尔兹曼机就是针对这种情况提出来的.它能够在噪声数据中找到数据中与分类有关的部分, 从而提升分类器的分类准确率.但是, 当一组训练数据中同时出现噪声数据和干净数据时, 如何应用干净数据提升传统的pgRBM在噪声数据上的学习能力, 是一个重要的研究问题.针对这一问题, 本文首先在传统的pgRBM基础上提出一种基于随机噪声数据与干净数据的Point-wise Gated受限玻尔兹曼机方法.它可以利用不含噪声的数据提升算法在噪声数据上的学习能力.和传统的pgRBM一样, pgrncRBM的网络结构同样可以用图 1来表示.当给定一组可见层状态和隐层状态时, pgrncRBM的能量函数也可以表述为

$\left. \begin{array}{l} E\left( {{\mathit{\boldsymbol{v}}^\prime },{\mathit{\boldsymbol{z}}^\prime },{\mathit{\boldsymbol{h}}^2},{\mathit{\boldsymbol{h}}^2};\theta } \right) = - \sum\limits_{i = 1}^D {\sum\limits_{j = 1}^J {\sum\limits_{r = 1}^2 {\left( {z_i^{\prime r}v_i^\prime } \right)} } } W_{ij}^rh_j^r - \sum\limits_{j = 1}^J {\sum\limits_{r = 1}^2 {b_j^r} } h_j^r - \sum\limits_{i = 1}^D {\sum\limits_{r = 1}^2 {c_i^r} } \left( {z_i^{\prime r}{\bf{v}}_i^\prime } \right)\\ {\rm{s}}{\rm{.t}}{\rm{.}}\sum\limits_{r = 1}^2 {z_i^r} = 1,i = 1, \ldots ,D \end{array} \right\} $ (10)

其中, v'是pgRBM对噪声数据v处理之后得到的与分类有关的数据[7].我们可以看出, pgrncRBM就是在传统的pgRBM基础上对pgRBM学习到的数据二次去噪.并且, pgrncRBM网络权值的赋初值的方法也与传统的pgRBM不同.pgncRBM同样把隐层节点分为与分类有关的和与分类无关的两个部分, 那么其与分类有关的隐层相连权值的初值是用RBM对不含噪声的数据学习得到的, 并且其与分类无关的隐层相连权值的初值还是用特征选择的方法对RBM对一次降噪的数据v是pgRBM对噪声数据学习到的权值处理得到的.pgrncRBM预训练完成后, 通过利用带标签的噪声数据与BP算法对网络的权值进行调整.在pgRBM中, 网络的输入数据是pgRBM对噪声数据v处理之后得到的“干净”数据, 输出是与数据对应的标签.同理, 在pgrncRBM中, 网络的输入数据是pgrncRBM对一次降噪的数据v是pgRBM对噪声数据处理之后得到的更为“干净”的数据, 输出是与数据对应的标签.

2.2 基于图像噪声数据与干净数据的Point-wise Gated受限玻尔兹曼机算法

pgrncRBM在处理随机噪声数据时可以学习到更为“干净”的数据, 但当噪声是图片时, 它不能很好地去除噪声.针对这一问题, 本文又将ssRBM与pgRBM相结合, 提出一种基于图像噪声数据与干净数据的Point-wise Gated受限玻尔兹曼机方法.该方法使用ssRBM对噪声建模, 其在处理图像噪声数据时可以学习到更为“干净”的数据, 可以利用不含噪声的数据, 提升算法在图像噪声数据上的学习能力.当给定一组可见层状态和隐层状态时, pgincRBM的能量函数也可以表述为

$\left. \begin{array}{l} E\left( {{\mathit{\boldsymbol{v}}^\prime },{\mathit{\boldsymbol{z}}^\prime },{\mathit{\boldsymbol{h}}^1},{\mathit{\boldsymbol{h}}^2},{\mathit{\boldsymbol{s}}^2};\theta } \right) = - \sum\limits_{i = 1}^D {\sum\limits_{r = 1}^2 {c_i^r} } \left( {z_i^rv_i^\prime } \right) - \sum\limits_{i = 1}^D {\sum\limits_{j = 1}^J {\left( {z_i^{\prime 1}v_i^\prime } \right)} } W_{ij}^1h_j^1 - \sum\limits_{i = 1}^D {\sum\limits_{j = 1}^J {\left( {z_i^{\prime 2}v_i^\prime } \right)} } W_{ij}^2h_j^2s_j^2 - \sum\limits_{j = 1}^J {\sum\limits_{r = 1}^2 {b_j^r} } h_j^r + \frac{1}{2}\sum\limits_{j = 1}^J {{\alpha _j}} {\left( {s_j^2} \right)^2}\\ {\rm{s}}{\rm{.t}}{\rm{.}}\sum\limits_{r = 1}^2 {z_i^r} = 1,i = 1, \ldots ,D \end{array} \right\} $ (11)

其中, v'是pgRBM对噪声数据v处理之后得到的与分类有关的数据,α'j是对$||s_j^2||_2^2$惩罚项的系数.我们可以看出,pgincRBM中与分类无关的隐层相连的可见层节点并不像ssRBM那样使用对角矩阵对其加以惩罚, 而是使用偏置.这是因为当转换层和隐层两层状态固定时, 只能推导出与分类有关的隐层相连的可见层节点被激活的概率, 而不能得到其概率分布情况, 这样就只能推倒得到与分类无关的隐层相连的可见层节点被激活的概率.这样, 当可见层、转换层和隐层任意两层状态固定时, 剩余一层节点被激活的概率(或者概率分布)可以表述为

$P(h_j^1 = 1|\mathit{\boldsymbol{z}}, \mathit{\boldsymbol{v}}) = \sigma \left( {\sum\limits_i {(z_i^1{v_i})W_{ij}^1} + b_j^2} \right)$ (12)
$P(h_j^2 = 1|\mathit{\boldsymbol{z}}, \mathit{\boldsymbol{v}}) = \sigma \left( {\frac{1}{2}{{({\alpha _j})}^{ - 1}}{{\left( {\sum\limits_i {(z_i^2{v_i})W_{ij}^2} } \right)}^2} + b_j^2} \right)$ (13)
$P(s_j^2|\mathit{\boldsymbol{z}}, \mathit{\boldsymbol{v}}, h_j^2) = N\left( {{{({\alpha _j})}^{ - 1}}h_j^2\sum\limits_i {(z_i^r{v_i})W_{ij}^2} , {{({\alpha _j})}^{ - 1}}} \right)$ (14)
$P({v_i} = 1|\mathit{\boldsymbol{z}}, {\mathit{\boldsymbol{h}}^1}, {\mathit{\boldsymbol{h}}^2}, {s^2}) = \sigma \left( {z_i^1\left( {\sum\limits_j {W_{ij}^1h_j^1} + c_i^1} \right) + z_i^2\left( {\sum\limits_j {W_{ij}^2h_j^2s_j^2} + c_i^2} \right)} \right)$ (15)
$P(z_i^1 = 1|\mathit{\boldsymbol{v}}, {\mathit{\boldsymbol{h}}^1}, {\mathit{\boldsymbol{h}}^2}, {\mathit{\boldsymbol{s}}^2}) = \sigma \left( {{v_i}\left( {\sum\limits_j {W_{ij}^1h_j^1} + c_i^1} \right) - {v_i}\left( {\sum\limits_j {W_{ij}^2h_j^2s_j^2} + c_i^2} \right)} \right)$ (16)

和pgrncRBM一样, pgincRBM也可以使用CD等算法去计算权值的梯度, 从而更新网络的权值.pgincRBM预训练完成后, 通过利用带标签的噪声数据和BP算法对网络的权值进行调整.在pgincRBM中, 网络的输入数据是pgincRBM对一次降噪的数据v'处理之后得到的更为“干净”的数据, 输出是与数据对应的标签.

2.3 基于噪声数据与干净数据的Point-wise Gated深度置信网算法

在处理含噪声的图像时, DBN并没有展现出优于RBM的学习能力.Zhang等人结合pgRBM提出了Point- wise Gated深度置信网(pgDBN), 并且pgDBN展示出优于pgRBM的分类能力.我们得出, 以传统的RBM为基石的深度网络在处理噪声时, 传统的RBM学习到的特征中蕴含的噪声信息影响了深度网络的性能.当一组数据中同时出现噪声数据和干净数据时, 就可以利用干净数据进一步提高深度网络模型处理噪声的能力.因此, 本文堆叠pgrncRBM、pgincRBM、传统的RBM, 构建出两种基于噪声数据与干净数据的Point-wise Gated深度置信网(pgDBN based on noisy data and clean data, 简称pgncDBN), 包含基于随机噪声数据和干净数据的Point-wise Gated深度置信网, 以及基于图像噪声数据和干净数据的Point-wise Gated深度置信网.以两隐层pgrncDBN为例, 图 2给出了pgrncDBN的预训练过程.首先, pgrncDBN和pgincDBN分别用pgrncRBM或者pgincRBM对一次降噪的数据v'预训练, 得到更为“干净”的数据; 然后, 它们都利用RBM预训练隐层间的连接权值; 最后, 它们都随机确定最后一层隐层与输出层的连接权值, 随后用BP算法微调整个网络的权值.

Fig. 2 Pre-training process of pgrncDBN 图 2 pgrncDBN的预训练过程

3 权值不确定性方法在pgrncDBN与pgincDBN深度网络中的应用

权值不确定性方法是一种神经网络中常见的解决过拟合现象的方法.它把神经网络中的每个权值看作一个可能值的概率分布, 而不是以前的单一的固定值, 这样学习到的特征更为鲁棒.Zhang等人把权值不确定性方法引入RBM, 提出了权值不确定性受限玻尔兹曼机(weight uncertainty RBM, 简称wRBM), 其将每个可见层与隐层间的连接权值看作一个可能值的概率分布.同时, Zhang等人将权值不确定性引入pgRBM, 提出了权值不确定性受限玻尔兹曼机, 其将与分类有关的隐层节点相连的权值看作一个可能值的概率分布.wRBM能够有效地解决RBM的过拟合问题, 但它在处理含噪声的数据时并不是都能达到理想的效果.权值不确定性中权值的波动也可以理解为训练数据的变化, 这种数据中噪声的波动可能在一定程度上影响了算法的性能, 因此, pgwRBM中与分类无关的隐层节点相连的权值还是实值.也就是说, 我们可以将pgwRBM中与分类有关的数据看作是变化的, 将与分类无关的噪声看作是不变的.本文同样将权值不确定性引入pgrncRBM和pgincRBM, 提出了基于随机噪声数据与干净数据的Point-wise Gated权值不确定性受限玻尔兹曼机(weight uncertainty pgrncRBM, 简称pgwrncRBM)以及基于图像噪声数据与干净数据的Point-wise Gated权值不确定性受限玻尔兹曼机(weight uncertainty pgincRBM, 简称pgwincRBM).为了对比两种模型引入权值不确定性前后的性能, pgwrncRBM和pgwincRBM也是在传统的pgRBM基础上对pgRBM学习到的数据二次去噪.

在pgwrncRBM算法中, 与分类有关的隐层与可见层、转换层的连接权值W1被看作符合高斯分布的变量, 其均值和标准差分别表述为μ1σ1=log(1+exp(ρ1)).与pgwRBM类似, 当给定一组可见层状态和隐层状态时, pgwrncRBM的能量函数可表述为

$\left. \begin{array}{l} E\left( {{\mathit{\boldsymbol{v}}^\prime },{\mathit{\boldsymbol{z}}^\prime },{\mathit{\boldsymbol{h}}^1},{\mathit{\boldsymbol{h}}^2};\theta } \right) = - \sum\limits_{i = 1}^D {\sum\limits_{j = 1}^J {\left( {z_i^{\prime \prime }{v_i}} \right)} } \left( {\mu _{ij}^1 + \log \left( {1 + \exp \left( {\rho _{ij}^1} \right)} \right) \odot \varepsilon _{ij}^1} \right)h_j^1 - \sum\limits_{i = 1}^D {\sum\limits_{i = 1}^J {\left( {z_i^{\prime 2}{v_i}} \right)} } W_{ij}^2h_j^2 - \sum\limits_{j = 1}^J {\sum\limits_{i = 1}^2 {b_j^r} } h_j^r - \sum\limits_{i = 1}^D {\sum\limits_{r = 1}^D {c_i^r} } \left( {z_i^rv_i^\prime } \right)\\ {\rm{s}}{\rm{.t}}.\sum\limits_{r = 1}^2 {z_i^{\prime r}} = 1,i = 1, \ldots ,D \end{array} \right\} $ (17)

其中, 与分类有关的隐层h1对应的权值为{μ1, ρ1, c1, b1}, 与分类无关的隐层对应的权值为{W2, c2, b2}.

pgwrncRBM与pgwRBM的不同之处有:一是赋初值的方法不同, 二是学习的数据不同.pgwrncRBM与分类无关的隐层相连权值{W2, c2, b2}的初值还是用特征选择的方法对一次降噪的数据v'学习到的RBM权值处理得到的, 但其与分类有关的隐层相连权值{μ1, c1, b1, ρ}的初值有两种方式:一是用wRBM对不含噪声的数据学习得到的, 二是权值{μ1, c1, b1}的初值用RBM对不含噪声的数据学习得到的, 权值ρ1的初始值是随机赋值的. pgwrncRBM是对pgRBM学习到的数据v'二次去噪, 而pgwRBM是对原始的噪声数据去噪.pgwrncRBM的连接权值矩阵W1可以表述为W1=μ1+log(1+exp(ρ1))⊙ε1(其中, ε1~N(0, I)), 则当可见层、转换层和隐层任意两层状态固定时, pgwrncRBM的条件概率分布可以用公式(6)~公式(8)表示.当pgwrncRBM用CD-k算法调整权值时, 参数{μ1, ρ1, W2}的梯度分别为

$\left.\Delta \mu_{i j}^{1}=\alpha_{w}\left(P\left(h_{j}^{1} | \boldsymbol{z}^{\prime 1(0)}, \boldsymbol{v}^{\prime 1(0)}\right)\left(z_{i}^{\prime 1(0)} v_{i}^{\prime 1(0)}\right)\right)-P\left(h_{j}^{1} | \boldsymbol{z}^{\prime 1(k)}, \boldsymbol{v}^{\prime 1(k)}\right)\left(z_{i}^{\prime 1(k)} v_{i}^{\prime 1(k)}\right)\right)$ (18)
${\rm{\Delta }}\rho _{ij}^1 = \Delta \mu _{ij}^1 \times \frac{{\varepsilon _{ij}^1}}{{1 + \exp ( - \rho _{ij}^1)}}$ (19)
$\left.\Delta W_{i j}^{2}=\alpha_{w}\left(P\left(h_{j}^{2} | \boldsymbol{z}^{\prime 2(0)}, \boldsymbol{v}^{2(0)}\right)\left(z_{i}^{2(0)} v_{i}^{\prime 2(0)}\right)\right)-P\left(h_{j}^{2} | \boldsymbol{z}^{\prime 2(k)}, \boldsymbol{v}^{2(k)}\right)\left(z_{i}^{\prime 2(k)} v_{i}^{\prime 2(k)}\right)\right)$ (20)

用CD-k算法调整权值时, pgwrncRBM的{c1, b1, W2, c2, b2}的梯度的计算方法与pgrncRBM一致.

pgwincRBM算法的能量函数与pgwrncRBM和pgwRBM略有不同, 其使用ssRBM对噪声建模.假设pgwincRBM与分类有关的隐层与可见层、转换层的连接权值W1是符合高斯分布变量, 其均值和标准差同样可表述为μ1σ1=log(1+exp(ρ1)).当给定一组可见层状态和隐层状态时, pgwincRBM的能量函数可表述为

$\left. \begin{array}{l} E\left( {{\mathit{\boldsymbol{v}}^\prime },{\mathit{\boldsymbol{z}}^\prime },{\mathit{\boldsymbol{h}}^1},{\mathit{\boldsymbol{h}}^2},{\mathit{\boldsymbol{s}}^2};\theta } \right) = - \sum\limits_{i = 1}^D {\sum\limits_{j = 1}^J {\left( {z_i^{\prime 1}{v_i}} \right)} } \left( {\mu _{ij}^1 + \log \left( {1 + \exp \left( {\rho _{ij}^1} \right)} \right) \odot \varepsilon _{ij}^1} \right)h_j^1 - \sum\limits_{i = 1}^D {\sum\limits_{j = 1}^J {\left( {z_i^{\prime 2}v_i^\prime } \right)} } W_{ij}^2h_j^2s_j^2 \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;- \sum\limits_{j = 1}^J {\sum\limits_{r = 1}^2 {b_j^r} } h_j^r + \frac{1}{2}\sum\limits_{j = 1}^J {{\alpha _j}} {\left( {s_j^2} \right)^2} - \sum\limits_{i = 1}^D {\sum\limits_{r = 1}^2 {c_i^r} } \left( {z_i^{rr}v_i^\prime } \right)\\ {\rm{s}}{\rm{.t}}{\rm{.}}\sum\limits_{r = 1}^2 {z_i^{\prime r}} = 1,i = 1, \ldots ,D \end{array} \right\} $ (21)

其中, 与分类有关的隐层h1对应的权值为{μ1, ρ1, c1, b1}, 与分类无关的隐层对应的权值为{W2, c2, b2, α}.

与pgincRBM相比, pgwincRBM与分类无关的隐层相连权值{W2, c2, b2, α}的初值还是用特征选择的方法对一次降噪的数据v'学习到的ssRBM权值处理得到的, 但其与分类有关的隐层相连权值{μ1, c1, b1, ρ1}的赋初值方式和pgwrncRBM一样.在pgwincRBM算法中, 当可见层、转换层和隐层任意两层状态固定时, 剩余一层节点被激活的概率(或者概率分布)可以用公式(12)~公式(16)表示.当pgwincRBM用CD-k算法调整权值时, 其参数{μ1, ρ1, W 2}的梯度分别为

$\left.\Delta \mu_{i j}^{1}=\alpha_{w}\left(P\left(h_{j}^{1} | \boldsymbol{z}^{\prime 1(0)}, \boldsymbol{v}^{1(0)}\right)\left(z_{i}^{1(0)} v_{i}^{\prime 1(0)}\right)\right)-P\left(h_{j}^{1} | \boldsymbol{z}^{1^{1}(k)}, \boldsymbol{v}^{1(k)}\right)\left(z_{i}^{\prime 1(k)} v_{i}^{1(k)}\right)\right)$ (22)
$\Delta \rho _{ij}^1 = \Delta \mu _{ij}^1 \times \left( {\frac{{\varepsilon _{ij}^1}}{{1 + \exp ( - \rho _{ij}^1)}}} \right)$ (23)
$\begin{aligned} \Delta W_{i j}^{2}=& \alpha_{w}\left(P\left(h_{j}^{2} | \boldsymbol{z}^{\prime 2(0)}, \boldsymbol{v}^{2(0)}\right) \times P\left(s_{j}^{2} | \boldsymbol{z}^{\prime 2(0)}, \boldsymbol{v}^{2(0)}, h_{j}^{2(0)}=1\right) \times\left(z_{i}^{\prime 2(0)} v_{i}^{\prime 2(0)}\right)-\right.\\ &\left.P\left(h_{j}^{2} | \boldsymbol{z}^{\prime 2(k)}, \boldsymbol{v}^{\prime 2(k)}\right) \times P\left(s_{j}^{2} | \boldsymbol{z}^{\prime 2(k)}, \boldsymbol{v}^{\prime 2(k)}, h_{j}^{2(k)}=1\right) \times\left(z_{i}^{\prime 2(k)} v_{i}^{\prime 2(k)}\right)\right) \end{aligned} $ (24)

用CD-k算法调整权值时, pgwincRBM的{c1, b1, W2, c2, b2}的梯度的计算方法与pgincRBM一致.

和pgrncDBN与pgincDBN类似, 可以通过堆叠pgwrncRBM、pgwincRBM和wRBM分别构造出包含基于随机噪声数据与干净数据的Point-wise Gated权值不确定性深度置信网(pgwDBN based on random noisy data and clean data, 简称pgwrncDBN)以及基于图像噪声数据与干净数据的Point-wise Gated权值不确定性深度置信网(pgwDBN based on image noisy data and clean data, 简称pgwincDBN).pgwrncDBN(pgwincDBN)首先用pgwrncRBM(pgwincRBM)对一次降噪的数据v'预训练, 得到更为“干净”的数据.和pgrncDBN(pgincDBN)一样, pgwrncDBN(pgwincDBN)网络的输入层与隐层, 以及隐层与隐层间的连接权值的初值也有两种赋初值方式:一是利用pgwrncRBM(pgwincRBM)对一次降噪的数据v'预训练得到转换层、可见层与第1层隐层的连接权值, 随后用wRBM预训练隐层间的连接权值; 二是利用wRBM通过对不含噪声的数据学习得到转换层、可见层与第1层隐层的连接权值, 随后同样用wRBM预训练隐层间的连接权值.pgwrncDBN(pgwincDBN)最后随机确定最后一层隐层与输出层的连接权值, 随后用BP算法微调整个网络的权值.

4 实验与分析 4.1 实验设置与数据集

为了测试提出的算法的性能, 将其与RBM、wRBM、pgRBM、pgwRBM、DBN、wDBN、pgDBN、pgwDBN和卷积神经网络(convolutional neural network, 简称CNN)进行比较.以上几种方法都是在Intel(R) Xeon(R) CPU E4500 0@3.6GHZ处理器、18GB内存、Windows 7 64位操作系统和MATLAB 2015B(其中, CNN是通过Python3.5+ TensorFlow框架实现的)的环境中运行的.本文实验所用的随机噪声数据集是依据文献[18]的方法对MNIST basic和MNIST rotated处理得到的数据集.设置不同邻域相关度值{0, 0.2, 0.4, 0.6, 0.8, 1}, 使MNIST basic中每个像素点的边缘分布在(0, 1), 可以得到6种不同的数据集MNIST basic-back-random-a/b/c/d/e/f.同样可以对MNIST rotated处理得到数据集MNIST rotated-back-random-a/b/c/d/e/f.本文实验所用的图像数据集是文献[18]中的MNIST back-image和MNIST rotated-back-image.在所有的数据集中, 训练样本都有10 000个噪声数据和10 000个干净数据, 验证和测试样本分别为2 000个和50 000个噪声数据, 样本维数是784, 标签数目为10.图 3给出了若干数据集的部分样本.

Fig. 3 Legends of benchmark data sets 图 3 基准数据集的图例

在本文中, 所有算法都采用mini-batch方法学习, 并且批量的大小均为100.RBM和wRBM隐层节点数为500或1 000.pgRBM和pgwRBM都是通过特征选择的方法对隐层节点数为1 200的RBM学习到的权值处理得到初值, 并且它们的与分类有关的隐层和与分类无关的隐层节点数均为500.

pgrncRBM、pgincRBM、pgwrncRBM和pgwincRBM都是在传统的pgRBM基础上对pgRBM学习到的数据二次去噪, 并且它们的与分类有关的隐层和与分类无关的隐层节点数均为500.

pgrncRBM、pgincRBM、pgwrncRBM和pgwincRBM与分类有关的隐层相连权值的初值是用RBM或wRBM对不含噪声的数据学习得到的, 其与分类无关的隐层相连权值的初值都是用特征选择的方法对隐层节点数为1 200的RBM或者ssRBM对一次降噪的数据v'学习到的权值处理得到的.

DBN、wDBN、pgDBN、pgwDBN、pgrncDBN、pgincDBN、pgwrncDBN和pgwincDBN的隐层结构均为500-500-2 000.CNN是五隐层网络结构, 依次为卷积层(32个5×5卷积核)、池化层(过滤器大小为2×2)、卷积层(64个5×5卷积核)、池化层(过滤器大小为2×2)和全连接层(1 024个隐层节点).所有算法最后均使用梯度下降算法分类, 最大迭代次数为200(其中, CNN的最大的迭代数目为500), 并且依据验证数据集的错误率采用提前终止方法.

4.2 算法性能比较与分析

表 1给出了RBM、wRBM、pgRBM、pgwRBM、pgrncRBM和pgwrncRBM算法在含随机噪声的手写数据集上的错误率.

Table 1 Error rates of shallow algorithms on random noisy data sets    (%) 表 1 浅层算法在随机噪声数据集上的错误率    (%)

我们可以看出,pgwrncRBM在所有数据集上都表现出优于其他浅层学习算法的分类效果.

通过对比pgRBM和pgrncRBM, 我们可以看出, pgrncRBM在所有数据集上的分类性能都优于pgRBM.这说明利用不含噪声的数据可以提升pgrncRBM在随机噪声数据上的学习能力.通过对比表 1中的算法, 我们还可以发现:

1) wRBM基本上在所有随机噪声数据集上都表现出优于RBM的分类性能.

2) pgwRBM仅在MNIST back-random-a、MNIST rotated-back-b和MNIST rotated-back-d这3个数据集上的错误率略高于pgRBM.

3) pgwrncRBM在所有数据集上都表现出优于pgrncRBM的分类性能.

4) 随机噪声数据中噪声结构越简单, 与pgRBM相比, pgrncRBM提升的分类效果就越明显.

表 2给出了RBM、wRBM、pgRBM、pgwRBM、pgincRBM 和 pgwincRBM 算法在含图像噪声的手写数据集上的错误率.同样地,pgwincRBM 在所有图像噪声数据集上都表现出优于其他浅层学习算法的分类效果.

Table 2 Error rates of shallow algorithms on image noisy data sets    (%) 表 2 浅层算法在图像噪声数据集上的错误率    (%)

通过对比表 2中的算法, 我们还可以发现:

1) wRBM在所有图像噪声数据集上的分类性能略优于RBM.

2) pgwRBM在MNIST rotated-back-image数据集上的错误率略高于pgRBM.

3) pgwincRBM在所有图像噪声数据集上都表现出优于pgncRBM的分类性能.

表 1表 2我们可以得出:1)权值不确定性方法能够有效地解决RBM、pgRBM、pgrncRBM和pgincRBM在处理含噪声的数据时出现的过拟合问题; 2)利用不含噪声的数据, 可以提升pgrncRBM和pgincRBM在噪声数据上的学习能力.

图 4展示了pgrncRBM在MNIST back-random-f上的分类性能随干净样本数目变化曲线.

Fig. 4 Variations in the performance of pgrncRBM on MNIST back-random-/f, as we increase the number of the clean data 图 4 pgrncRBM在MNIST back-random-f上的分类性能随干净样本数目变化曲线

我们可以从图 4中看出, 当干净样本数目增大时, pgrncRBM分类效果越来越好, 这和我们的直观理解是一致的.pgrncRBM中与分类有关的隐层节点相连权值的初值是用RBM对不含噪声的数据学习得到的, 干净样本越多, RBM学习到的不含噪声数据的信息就越多, pgrncRBM也能更好地将噪声数据中与分类有关的信息表示出来.图 5给出了pgRBM和pgrncRBM在MNIST back-random-a/f两种数据集上的学习结果, 图 6给出了pgRBM和pgincRBM在MNIST back-image数据集上的学习结果.pgRBM、pgrncRBM和pgincRBM都把隐层节点分为与分类有关的和与分类无关的两个部分, 并且都能在含噪声的数据中自适应找到数据中与分类有关的部分.但是, 我们可以从图 5图 6中看出:

Fig. 5 Learing results of pgRBM and pgncRBM on MNIST back-random-a/f data sets 图 5 pgRBM和pgncRBM在MNIST back-random-a/f数据集上的学习结果

Fig. 6 Learing results of pgRBM and pgincRBM on MNIST back-image data set 图 6 pgRBM和pgincRBM在MNIST back-image数据集上的学习结果

1) pgRBM学习得到的与分类无关的图像(也就是噪声)中包含的噪声信息很少, pgRBM学习得到的与分类有关的图像与原始的含噪声图像相差不是很大.

2) pgrncRBM是在pgRBM基础上对其学习到的与分类有关的图像二次去噪, 但是pgrncRBM可以很好地把图像中与分类有关的信息(也就是手写数字)和噪声信息分别学习出来, 特别是pgncRBM在MNIST back-random-f这个数据集上学习得到的与分类有关的图像基本上没有噪声.

3) pgincRBM是在pgRBM基础上对其学习到的与分类有关的图像二次去噪, pgncRBM可以把图像中与分类有关的信息(也就是手写数字)和图像噪声信息分别学习出来, 但是有时也只能学习到部分与分类有关的信息, 如第1列中的数字2.

表 3给出了含噪声的原始图像、pgRBM学习到的与分类有关的图像和pgincRBM/pgrncRBM学习到的与分类有关的图像与干净数据的信噪比.我们可以得出, pgrncRBM和pgincRBM可以在传统的pgRBM基础上对pgRBM学习到的数据二次去噪得到蕴含噪声信息较少的图像, 从而达到更好的分类效果.pgrncRBM在MNIST back-random-f和MNIST rotated-random-f上的错误率分别是5.03%和21.49%, 而pgRBM在这两个数据集的错误率是pgrncRBM的2倍以上.并且, 特别是在文献[18]中, RBM在MNIST basic和MNIST rotated的错误率分别是3.94%和14.69%, 这与pgrncRBM在MNIST back-random-f和MNIST rotated-random-f上的错误率还是比较接近的.

Table 3 Signal-noise ratios of learing results of pgRBM and pgincRBM/pgrncRBM on different valid data sets 表 3 pgRBM和pgincRBM/pgrncRBM学习结果在验证数据集上的信噪比

表 4给出了DBN、wDBN、pgDBN、pgwDBN、pgncDBN、pgwncDBN和CNN算法含随机噪声的手写数据集上的错误率.我们从表 4可以看出, pgwrncDBN在绝大多数数据集上的性能都表现出优于其他深度学习算法的分类效果.通过对比pgDBN和pgncDBN, 我们可以看出, pgrncDBN在所有随机噪声数据集上的分类性能都优于pgDBN.实验结果表明, pgrncDBN还是一种有效的神经网络学习算法.我们又可以发现以下结果.

Table 4 Error rates of deep algorithms related to DBN on random noisy data sets    (%) 表 4 与DBN相关的深度算法在随机噪声数据集上的错误率    (%)

1) wDBN在所有数据集上都要表现出优于DBN的分类性能.

2) pgwDBN在所有数据集上都要表现出优于pgDBN的分类性能.

3) pgwrncDBN仅在MNIST rotated-back-f数据集上的错误率略高于pgrncDBN.

4) CNN仅在MNIST back-random-a、MNIST back-random-b和MNIST rotated-random-a这3个数据集上的错误率低于pgrncDBN和pgwrncDBN.

表 5给出了DBN、wDBN、pgDBN、pgwDBN、pgincDBN、pgwincDBN和CNN算法在含图像噪声的手写数据集上的错误率.除了在MNIST back-image上的错误率略高于CNN以外, pgwincDBN在所有图像噪声数据集上都表现出优于深度浅层学习算法的分类效果.通过对比表 5中的算法, 我们还可以发现:

Table 5 Error rates of deep algorithms related to DBN on image noisy data sets    (%) 表 5 与DBN相关的深度算法在图像噪声数据集上的错误率    (%)

1) wDBN在所有图像噪声数据集上的分类性能略优于DBN.

2) pgwDBN在所有图像数据集上的错误率略高于pgDBN.

3) pgwincRBM在所有图像噪声数据集上都表现出优于pgncRBM的分类性能.

4) CNN仅仅在MNIST back-image数据集上的错误率略低于pgincDBN和pgwincDBN.

表 4表 5中我们可以得出:1)权值不确定性方法有效地解决了pgrncDBN和pgincDBN两种深度网络中出现的过拟合问题; 2) pgrncDBN/pgwrncDBN和pgincDBN/pgwincDBN可以在绝大多数数据集上的性能超过CNN的主要原因是pgrncRBM/pgwrncRBM和pgincRBM/pgwincRBM可以学习得到更为“干净”的数据.通过对比RBM、DBN和wDBN, 我们可以得出, DBN在处理含噪声数据时出现过拟合现象, 并没有展现出比RBM更好的学习能力, 并且权值不确定性方法有效地解决了DBN深度网络中出现的过拟合问题.通过对比pgRBM与pgDBN、pgrncRBM与pgrncDBN、pgincRBM与pgincDBN, 我们又可以发现, 堆叠pgRBM/pgrncRBM/ pgincRBM和RBM构造出的深度网络(pgDBN、pgrncDBN和pgincDBN)展现出优于浅层网络(pgRBM、pgrncRBM和pgincRBM)的学习能力.

5 结束语

Point-wise Gated受限玻尔兹曼机是一种针对噪声数据的浅层学习算法.本文在此基础上利用干净数据提升其在噪声数据上的学习能力, 提出了两种基于噪声数据与干净数据的Point-wise Gated受限玻尔兹曼机(pgrncRBM和pgincRBM)方法, 然后将它们学习到的与分类有关的数据子集用到深度置信网中, 提出了两种基于噪声数据与干净数据的Point-wise Gated深度置信网(pgrncDBN和pgincDBN).pgrncRBM和pgincRBM在绝大多数手写数据集上都表现出优于pgRBM的学习能力.同样, 以pgrncRBM和pgincRBM为基石的pgrncDBN和pgincDBN一般都优于pgDBN.然后, 本文将权值不确定性方法用在所提出的4种算法中, 并将这几种算法称为基于噪声数据与干净数据的Point-wise Gated权值不确定性受限玻尔兹曼机(pgwrncRBM和pgwincRBM)以及基于噪声数据与干净数据的Point-wise Gated权值不确定性深度置信网(pgwrncDBN和pgwincDBN).实验结果表明, 权值不确定性方法能够有效地解决pgrncRBM、pgincRBM、pgrncDBN和pgincDBN在处理含噪声数据时出现的过拟合问题.我们同时发现, pgRBM、pgrncRBM和pgincRBM并不能在部分噪声数据集(数据中与分类有关的部分被噪声损坏时)上取得理想的结果.如何把它们应用到更多的噪声数据上, 也是我们下一步的研究方向.

参考文献
[1]
Ravanbakhsh S, Póczos B, Schneider J. Stochastic neural networks with monotonic activation functions, In:Gretton A, Robert CC, eds. Proc. of the 19th Int'l Conf. on Artificial Intelligence and Statistics. Cadiz:MIT Press, 2016, 809-818.
[2]
alakhutdinov R, Hinton GE.. An efficient learning procedure for deep Boltzmann machines. Neural Computation, 2012, 24(8): 1967-2006. [doi:10.1162/NECO_a_00311]
[3]
Hinton GE, Salakhutdinov RR. Reducing the dimensionality of data with neural networks. Science, 2006, 313(5786): 504-507. [doi:10.1126/science.1127647]
[4]
Zhao S, Muraoka Y, Fujimaki R, Carin L. Scalable model selection for belief networks. In:Guyon I, Luxburg UV, Bengio S, Wallach H, Fergus R, Vishwanathan S, Garnett R, eds. Proc. of the Advances in Neural Information Processing Systems 30. Long Beach:MIT Press, 2017.4612-4622.
[5]
Zhang N, Ding SF, Zhang J, Xue Y. An overview on RESTRICTED Boltzmann machines. Neurocomputing, 2018, 275: 1186-1199. [doi:10.1016/j.neucom.2017.09.065]
[6]
Guyon I, Elisseeff A. An introduction to variable and feature selection. Journal of Machine Learning Research, 2003, 3: 1157-1182. http://d.old.wanfangdata.com.cn/NSTLQK/10.1162-153244303322753616/
[7]
Sohn BK, Zhou G, Lee C, Lee H. Learning and selecting features jointly with point-wise gated Boltzmann machines. In:Proc. of the 30th Int'l Conf. on Machine Learning. Atlanta:MIT Press, 2013, 217-225. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=CC0214139690
[8]
Zhang N, Ding SF, Zhang J, Xue Y. Research on point-wise gated deep networks. Applied Soft Computing, 2017, 52: 1210-1221. [doi:10.1016/j.asoc.2016.08.056]
[9]
Ranzato M, Hinton GE. Modeling pixel means and covariances using factorized third-order Boltzmann machines. In:Proc. of the 23rd IEEE Conf. on Computer Vision and Pattern Recognition. San Francisco:IEEE Press, 2010, 2551-2558. [doi:10.1109/CVPR.2010.5539962]
[10]
Courville A, Desjardins G, Bergstra J, Bengio Y. The spike-and-slab RBM and extensions to discrete and sparse data distributions. IEEE Trans. on Pattern Analysis and Machine Intelligence, 2014, 36(9): 1874-1887. [doi:10.1109/TPAMI.2013.238]
[11]
Srivastava N, Hinton GE, Krizhevsky A, Sutskever I, Salakhutdinov RR. Dropout:A simple way to prevent neural networks from overfitting. Journal of Machine Learning Research, 2014, 15: 1929-1958. [doi:10.1214/12-AOS1000]
[12]
Wan L, Zeiler M, Zhang S, Le Cun Y, Fergus R. Regularization of neural networks using dropconnect. In:Proc. of the 30th Int'l Conf. on Machine Learning. Atlanta:MIT Press, 2013, 1058-1066. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=CC0214139130
[13]
Iosifidis A, Tefas A, Pitas I. DropELM:Fast neural network regularization with dropout and DropConnect. Neurocomputing, 2015, 162: 57-66. [doi:10.1016/j.neucom.2015.04.006]
[14]
Blundell C, Cornebise J, Kavukcuoglu K. Weight uncertainty in neural networks. In:Bach FR, Blei DM, eds. Proc. of the 32nd Int'l Conf. on Machine Learning. Lille:MIT Press, 2015, 1613-1622. http://d.old.wanfangdata.com.cn/Periodical/rjxb201804020
[15]
Zhang J, Ding SF, Zhang N, Xue Y. Weight uncertainty in Boltzmann machine. Cognitive Computation, 2016, 8(6): 1064-1073. [doi:10.1007/s12559-016-9429-1]
[16]
Ding SF, Zhang N, Shi ZZ. Laplacian multi layer extreme learning machine. Ruan Jian Xue Bao/Journal of Software, 2017, 28(10): 2599-2610(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5128.htm [doi:10.13328/j.cnki.jos.005128]
[17]
Hinton GE. Training products of experts by minimizing contrastive divergence. Neural Computation, 2002, 14(8): 1711-1800. [doi:10.1162/089976602760128018]
[18]
Larochelle H, Erhan D, Courville A, Bergstra J, Bengio Y. An empirical evaluation of deep architectures on problems with many factors of variation. In:Ghahramani Z, ed. Proc. of the 24th Int'l Conf. on Machine Learning. New York:MIT Press, 2007, 473-480. [doi:10.1145/1273496.1273556]
[16]
丁世飞, 张楠, 史忠植. 拉普拉斯多层极速学习机. 软件学报, 2017, 28(10): 2599-2610. http://www.jos.org.cn/1000-9825/5128.htm [doi:10.13328/j.cnki.jos.005128]