您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 翻译Afastlearningalgorithmfordeepbeliefnets
基于深度置信网络的快速学习算法Afastlearningalgorithmfordeepbeliefnets摘要本文展示了如何运用“互补先验”来消除使得在多隐层密度连接型置信网络中推理困难的explainingaway现象。利用互补先验,我们提出了一个快速贪婪算法,用于学习深度有向置信网络,每次学习一层,为最顶上的两层提供无向关联记忆。快速贪婪算法用来初始化一个更慢的的学习过程,这个过程是用wake-sleep算法的对比版本来微调权值。在微调之后,一个三层隐含层的网络生成了一个很好的手写数字图像和其它记号的联合分布生成模型。这个生成模型能比判别式学习算法更好的分类数字。这些存在数字的低维副本通过顶层关联记忆的自由能量地形的长峡谷建模,利用有向关系去表现脑海中的关联记忆,很容易找到这些峡谷。1、介绍在一些含有多个隐层的密度连接有向置信网络中,学习是困难的,因为给定一个数据向量,要推断隐含活动的条件分布是很难的。变分方法简单地去近似真实的条件分布,但是这些近似可能很差,特别是在假设先验独立的最深的隐层。而且,很多学习仍需要所有的参数一起学习,造成学习时间随参数增加而剧增。图1这个网络用来建模数字图像的联合分布。我们设计了一个模型,模型的顶部两层来自于一个无向联想记忆(见图1),剩下的隐层来自于一个有向无环图,这个有向无环图能将联想记忆转换为像像素点那样的观察变量的。这种混合模型有很多优点:1、可以利用快速贪婪算法来快速的寻找一个很好的参数集合,甚至是有数百万参数和很多隐层的深度网络。2、学习算法是无监督的,但是可以通过学习一个生成标记和数据的模型,从而使的模型同样适用于有标记的样本。3、提出微调算法来学习优秀的生成模型,是一个优于用于手写数字MNIST数据库的判别式算法的算法。4、生成模型更易于解释深度隐层的分布情况。5、用于形成认知的推断又快又准。6、学习算法是本地的:神经元强度的调整仅取决于前端神经元和后端神经元的状态。7、通信简单:神经元仅需要去联系他们的随机二值状态。第二部分介绍了“互补先验”的概念,它可以消除使的有向模型推断困难的“explainingaway”现象。并展示了一个带补充先验的有向置信网络的例子。第三部分展示了限制玻尔姿曼机与定权无限有向网的等价性。第四部分介绍了一个快速贪婪算法,可以每次建立多层有向网中的一层。变分边界表明了随着每增加一个新的层,整个生成模型都会得到改进。贪婪算法与boosting有一些相似性,在于它的重复利用“弱”分类器而不是重新权衡每个数据向量以保证下一步能学到新的东西。被用来构建深度有向网的'弱'学习器本身就是一个无向图模型。第五部分,快速贪婪算法得到的权重如何用“上下”算法进行微调。这是一个wake-sleep算法的对比版本,它没有“模型平均”问题,这个问题会使得wake-sleep算法得不到很好的认知权重。第六部分展示了一个网络的模式识别效果,这个网络有三个隐层,和手写数字MNIST集的170万个权重。不提供任何几何学时,没有任何特殊的预处理,这个网络的生成效果在10000张数字集上是1.25%的错误率。在这个特殊的应用中,这个算法比最佳的后向传播网络优了1.5%。该算法也稍微优于支持向量机在相同任务中取得的1.4%的错误率。最后,第七部分展示了当运行不被视觉输入所限制时,网络的“mind”中在发生着什么。这个网络有一个完整的生成模型,所以可以轻易的看到它的mind,我们可以简单地从高层表示中生成一个图像。综上所述,我们考虑了一个由随机二值变量组成的网络,但是这些ideas可以生成其他模型,其中变量的log概率是一个有向连接邻居的状态的加性函数。2.互补先验分布有向置信网络中的“explainingaway”现象使得推断变得困难,见图2。在密度连接网络中,隐含变量的后验分布是很棘手的,除非少数特殊的例子,如混合模型,带高斯噪声的线性模型。马尔可夫链MonteCarlo可以被用来从后验采样,但他们特别耗时。变分方法用一个更易处理的分布来近似真实的后验,并可以被用来为训练数据的log概率划分一个更低的下界lowerbound。令人欣慰的是,学习可以确保给出一个变分边界,甚至是当隐含状态的推断是错误的时候,但寻找一个一次性消除“explainingaway”的方法会更好,甚至是在隐含变量对可见变量有高度相关性的模型里。但大部分认为这是不可能的。图2当我们观察房价的跳跃时,一个包含两个独立的、罕见的原因的logistic置信网络,变得高度非相关。-10的地震节点意味着,在任何观察的情况下,这种节点关的可能性比开的可能性多E10倍。如果地震节点打开,卡车节点关闭,跳跃节点有一个总数为0的输入,这说明开、关的可能性是相等的。一个logistic置信网络是由随机二值单元组成的。当用这个网络去生成数据,打开单元i的概率是一个由它的直接祖先j,和与直接祖先的联系权重wij组成的logistic函数:)exp(11)1(jijjiisbsp(1)这里的bi指单元i的偏差。如果一个logistic置信网络只有一个隐层,隐含变量的先验分布是因子的,因为当用模型来生成数据时,它们的二值状态是被独立选择的。后验分布中的非独立性来自于数据中的可能性term。可能我们能通过另外的隐层建立补充先验来削减“explainingaway”现象。当可能性term随先验增加,我们会得到一个因子的后验。补充先验存在的并不明显,但图3展示了一个简单的定权无限logistic置信网的例子,这个网络中每一隐层都有一个补充先验。利用固定的权重来构建补充先验可能看起来小事一桩。正如我们所见,然而,它是一个很好的学习算法,逐渐的由上一层的权重来求解每一层的权重。2.1定权无限有向模型我们可以通过无限深度隐层的随机初始化后,用图3中的无限有向网来生成数据,然后执行自顶向下“祖先”pass,这里的每层的每个变量的二值状态都是服从由自顶向下的来自于它上层的活跃父节点的输入决定的Bernoulli分布。在这方面,它就跟其它的有向无环置信网络一样。然而,不同于其它有向网络,我们可以开始于可见单元的数据向量,然后用权重转置矩阵去依次推断每一个隐层的因子分布,来从所有隐层的真实的先验分布中取样。在每一个隐层,在对上一层进行因子后验的计算之前,我们从每一个因子后验中取样。附录A显示了这个流程给出了无偏的样本,因为每一层的补充先验确保了后验分布是因子的。图3定权无限置信网络。向下的箭头代表生成模型。向上的箭头不属于这个模型。他们表示用来从网络的每个隐层的后验分布中推断样本的参数。既然我们能够从真实的后验中采样,我们就可以计算数据的log概率的导数。首先对H0层的j单元到V0层的i单元的生成权重00ij求导,见图3。在logistic置信网络中,单个数据向量V0的极大似然学习准则是:)()(log000000iijijvvhvp(2)这里的表示采样状态的平均,vi0指如果可见向量是由采样的隐含状态中随机重构的,单元i被打开的概率。由第一层隐层H0的采样随机状态,计算第二层隐层V1的后验分布,跟重构数据是一样的过程,所以vi1是一个概率为vi0的Bernoulli随机变量的样本。学习准则被写成下式:)()(log100000iijijvvhvp(3)vi1对hj0的依赖性毫无疑问是用3式来推导2式,如下:)()(log100000iijijvvhvp)(001jjihhv)(211iijvvh+…………(4)所有的垂直对齐项相互抵消得到5式的Boltzmann机器学习准则。3、限制Boltzmann机和对比发散学习图3中的无限有向网络是与RBM等价的。RBM有一个由互不相连、无向的、与可见状态层连接对称的隐含状态组成的单独层。为了从RBM中生成数据,我们可以从某一层的随机状态开始,然后执行交替Gibbs采样:给定目前其他层的单元的状态,一层中的所有单元都被并行更新,重复这个过程直到系统从均匀分布中采样。要注意的是,这个过程与从定权无限置信网中生成数据的过程是等价的。为了在RBM中执行极大似然学习,我们可以利用两个交互作用之间的区别。对每一个可见单元i和隐含单元j之间的权重Wij,当一个数据向量附属在一个可见单元上,而且隐含状态是从它们的因子条件分布中采样的,我们就要衡量交互关系0j0ihv。然后,用另外的Gibbs采样,我们运行马尔科夫链直到它达到它的平稳分布,然后计算交互关系0j0ihv。训练数据的log概率导数为:jijiijhvhvvp00000)(log(5)这个学习准则与定权无限logistic置信网的极大似然学习准则是一致的,Gibbs采样的每一步都对应计算无限logistic置信网的每一层的精确的后验分布。)||(KL)||(KL0PPPPn(6)图4中描绘了一个使用交替Gibbs采样的马尔科夫链。在一个完整的Gibbs采样过程中,顶层的隐单元都被并行更新。4、转化表征的贪婪算法学习复杂模型的一种有效办法就是组合一系列的简单模型,并有序的学习它们。为了防止序列中的模型与前面的模型学到不同的东西,在每个模型都被学习后,数据就被修改了。图5混合网络。顶部的两层有无向连接,而且来自关联记忆。图5展示了一个多层生成模型,这个模型的顶部两层通过无向连接交互,其他的都是有向连接。顶部的无向连接与固定权重的无限多更高的层等效。模型中没有层内连接,为了简化分析,每层都有相同数目的单元。可以通过假设高层之间的参数被用来组成Wo的互补先验知识,来计算参数Wo的敏感值。这就等价于假设所有的权重矩阵都是相同的。在这些假设下的学习Wo任务就简化成学习RBM,虽然这仍然很困难。一旦学习到了Wo,数据通过映射T0W后在第一层隐层创建更高级的“数据”。如果RBM是原始数据的最佳模型,高层权重矩阵将得到很好的高层“数据”。然而通常RBM都不能很好的得到原始数据的模型,我们可以用下面的贪婪算法得到一个更好的生成模型:1、学习Wo时,假设所有的权重矩阵都是固定的。2、固定Wo,然后用T0W来推断第一个隐层的变量的状态的因子近似后验分布,尽管随后高层权重的改变意味着这个推断方法不再正确。3、让所有的高层权重矩阵彼此相连,但独立于Wo,学习一个由原始数据经T0W转化后生成的高层数据的RBM模型。如果这个贪婪算法改变了高层的权重矩阵,它肯定会改进生成模型。多层生成模型下的单数据向量vo的消极的log概率被来自近似分布Q的负熵的变分的自由能量所限制。对于一个有向模型,配置vo,ho的”能量”表示为:)]|(log)([log),(00000hvphphvE(7)边界为:00)|(log)|()]|(log)()[log|()(log0000000000allhallhvhQvhQhvphpvhQvp(8)这里的ho是第一层隐层的单元的二值配置,pho是基于现在的模型的ho的先验概率,Q是基于第一层隐层的单元的二值配置的任意概率分布。当且仅当Q是真实的后验分布时取等号。当所有的权重矩阵捆绑在一起,将T0W应用于数据向量产生的Ho的因子分布是真实的后验分布,所以第二步中的贪婪算法logp是等于边界的。第二步固定了Q和p后,边界的导数也就是下式的导数:0)(log)|(000allhhpvhQ(9)所以将边界最大化。更高层的权重等于最大化一个ho发生的概率为Q的数据集的log概率。如果边界变的更小,尽管下界在增长,log下降也是可能的,但log不会低于第二步中贪婪算法得出的值,因为边界在这一点上是紧的,而且一直在增加。贪婪算法可以递归,所以如果我们用完整的极大似然Boltzmann机学习算法去学习每一组固定权重,然后再将组里底层从上一层的权重里解开,我们就可以每次都学习到一层的权重,并能保证数据的log概率不会低于完全生成模型。实际上,我们用对比发散学习来代替极大似然Boltzmann机学习算法是因为它更好更快。为了确保通过贪婪地学习更多
本文标题:翻译Afastlearningalgorithmfordeepbeliefnets
链接地址:https://www.777doc.com/doc-2076440 .html