A Fast Learning Algorithm for Deep Belief Nets - 论文学习

摘要

explaining away现象的存在使得稠密连接、拥有多个隐藏层的深度信念网络的训练变的困难,我们提出了使用互补先验来解决这一问题。使用互补先验,我们推导出一种快速、贪婪的算法,可以每次学习深层的有向信念网络中的一层,该网络的最上面两层形成了一个无向联想记忆。该算法用于初始化一个比较慢的学习算法,使用Wake-Sleep算法进行调整网络参数。一个经过调整的三层神经网络可以对手写数字识别数据进行很好的建模。

介绍

在稠密连接的多层有向信念网络中很难根据给定的输入向量推断隐藏单元的条件分布,因此其学习是十分困难的。变分学习方法可以对其真实的分布进行简单的近似,但是这种近似效果可能很差。而且,变分学习需要同时学习所有的参数,所以当网络参数规模增长的时候,这种学习方法的扩展性很差。

我们描述了一个网络模型,它的最上面两层形成了一个无向联想记忆模块,剩下的隐藏层形成了有向无环图,用于把抽象表达转化成可观察到的变量,比如图片像素。这个混合模型有以下特点:

  1. 存在一个快速、贪婪的算法可以快速的找到一组合适的参数,即使网络拥有上百万的参数并且含有多个隐藏层;
  2. 虽然学习算法是无监督的,但是可以通过学习一个同时生成数据和标签的模型来给数据打标签;
  3. 存在一个微调算法可以学习得到一个生成模型,使其在MINST数据集上的表现优于判别模型;
  4. 这个生成模型可以很容易的解释隐藏层中的分布表示;
  5. 学习算法是局部的;

第二部分介绍了互补先验的概念,以及它如何去除了explaining away的影响,并举了一个例子。第三部分解释了为什么限制玻尔兹曼机和有约束权的无限有向网络是等价的。

第四部分介绍了一个快速的、贪婪的学习算法,一层一层的构造多层有向网络。使用变分约束展示了每当加入一个新的层,整个生成模型的效果都会提升。

第五部分展示了这个算法是如何调整权重的,这是Wake-Sleep算法的对比版本,并且不受模式平均问题的影响,使得该算法能够学习到更好的重构权重。

第六部分展示了使用该算法训练的一个三层模型在Minst数据及上的表现。

第七部分展示了当使用该模型生成数据的时候,内部神经元到底是怎么变化的。

互补先验

explaining away现象的存在是的有向信念网络的推断边的困难,在稠密连接的网络中,隐变量的后验分布是难以处理的,只有少数特殊情况例外,如混合模型或线性模型加上高斯噪声。MCMC系列的采样方法可以从这种后验分布中采样,但是非常耗时。变分方法(Neal & Hinton, 1998)用更易于处理的分布近似真实后验,可以提高训练数据对数概率的下限。

扫描二维码关注公众号,回复: 5918318 查看本文章

complementary prior就是在第一层hidden unit上再加一层或多层Sigmoid,并且拥有和visible到hidden相反作用的weight。目的是为了抵消explaining away现象,该现象使得p(h|v)对于不同的hi不可分解。具体的原理请参照Learning Deep Architecture for AI里的数学式。写出p(h|v)之后你会发现它依赖于likelihood而这个的式子无法分解,于是这里我们假设式子里有一个先验分布,使得其乘上似然之后得到的p(h|v)能够被分解为p(hi|v)的乘积。这个先验就是complementary prior。对于一个单层SBN,其补完先验就是无数多层的SBN,且相互之间互绑weight,至于为什么是这个请看数学式。这个模型也等同于一层的RBM。

Sigmoid信念网络是一种简单的由随机二值神经元组成的网络,当其被用于生成数据时,单元i的条件概率分布如下:

p ( s i = 1 ) = 1 1 + e x p ( b i j s j w i j ) p(s_i=1)=\frac{1}{1+exp(-b_i- \sum_js_jw_{ij})}

其中 b i b_i 是单元i的偏置, w i j w_{ij} 是单元i和单元j的连接权重。如果一个logistic信念网络只有一个隐藏层,那么其概率分布是所有隐藏单元的连乘。后验分布的不独立性是由来自数据中的似然项决定的。也许我们可以通过使用额外的隐藏层来创建一个“互补”的先验,从而消除在第一个隐藏层中的explaining away现象,这个“互补”的先验与那些在似然项中的先验具有完全相反的相关性。然后我们就可以获得互相独立的隐藏单元。但是我们并不清楚这个互补的先验是否存在,图三展示了一个无限的逻辑信念网络,它的权值是有限的,其中先验在每一个隐层都是互补的。使用tied weights来构造互补的优先级,这看起来像是一个使有向模型等价于无向模型的简单技巧。但是,正如我们将看到的,它导致了一种新颖且非常有效的学习算法,该算法通过逐步地将每一层的权重从更高层的权重中分离出来来工作。

infinite logistic belief net with tied weights

一个带约束权的无限有向模型

在图3的无限有向网络中,我们可以通过随机初始化一个初始状态,从上到下的按照伯努利分布对单元进行激活,从而生成数据。从这一点看,它和其他的有向无环网络似乎没有什么不同,然而,与其他有向网络不同,我们可以从所有隐层的真实后验分布中取样,方法是先从可见单元上的数据向量开始,然后使用转置的权重矩阵依次推断每个隐层上的阶乘分布。在每一个隐层,我们在计算上一层的后验阶乘之前,先从后验阶乘中取样。

限制玻尔兹曼机和对比散度学习

RBM是一个无向二部图模型,等价于一个具有约束权的无限深逻辑信念网络。RBM通过从随机状态开始并执行交替吉布斯采样,直到平衡。理论上,这需要无限次才能达到平衡。这等价于通过一个无限深的有向网络进行传播。换句话说,我们在空间展开吉布斯采样步骤。如下图所示。

RBMs

由于受限玻尔兹曼机的特殊结构,因此可以使用一种比吉布斯采样更有效的学习算法,即对比散度(Contrastive Divergence)[Hinton, 2002]。对比散度法仅需k 步吉布斯采样。

CD

一种转换表示的贪婪学习算法

网络的最底层为可观测变量,其它层节点都为隐变量。最顶部的两层间的连接是无向的,其他层之间的连接是有向的。下面给出了一个深度信念网络的示例。

Some Ideas Based on DBN

Nonlinear Dimensionality Reduction

The DBN framework allows us to make nonlinear autoencoders work considerably better than widely used methods such as PCA, SVD, and LLE.

The standard way to train autoencoders is to use backpropagation to reduce the reconstruction error. It is difficult, however, to optimize the weights in non-linear autoencoders that have multiple hidden layers with many million parameters. So we can use our learning algorithm to pretrain autoencoders, which can discovers useful features efficiently.

The key idea is that the greedy learning algorithm will perform a good search for a good, sensible region in the parameter space. After that pretrain, we will already have a data reconstruction model. Backpropagation is better at local fine-tuning of model parameters than global search, so further train of the entire autoencoder model using backpropgation will result in a good local optimum.

Learning Semantic Address Space (SAS) for Fast Document Retrieval

Most of the existing text retrieval algorithms in one way or another rely on comparing a given query document to all other documents from the large document collection, retrieving the most relevant ones. So the larger the word vocabulary and the size of data collection, the longer it takes to retrieval relevant documents.

The DBN framework allow us to build a model that can learn to map document into “semantic” binary code. By using learned binary code as memory address, we can learn “Semantic Address Space”. So a document can be mapped to a memory address in such a way that the documents with similar address have similar semantics. This method allows to retrieval short-list of semantically similar documents on very large document sets in time independent of the number of documents.

Learning Nonlinear Embeddings

The DBN framework can also be used to efficiently learn a nonlinear transformation from the input space to a low-dimensional feature space, in which K-NN can perform well.

参考文献

关于DBN(深度信念网)的几点思考

Deep Belief Networks

A Fast Learning Algorithm for Deep Belief Nets

猜你喜欢

转载自blog.csdn.net/serryuer/article/details/89349821