xianchaozhang的个人博客分享 http://blog.sciencenet.cn/u/xianchaozhang

博文

深度学习起源翻译4

已有 2331 次阅读 2017-5-11 16:50 |系统分类:论文交流

4 记忆网络和深度置信网络 图7:几种模型的表示能力和计算复杂度的关系,从而指导更好的模型开发 在现代神经网络的背景下,我们继续访问当前深度学习家族的每个突出分支。我们的第一站是通往受欢迎的受限玻尔兹曼机和深度置信网络的分支,它开始作为一个模型无监督地理解数据。 图7总结了本节将涉及的模型。横轴代表这些模型的计算复杂度,而纵轴代表表示功率。 图中六个里程碑将在本节中讨论。 4.1 自组织映射(Self Organizing Map) 讨论从Kohonen在1990年[Kohonen,(1990)]发明的自组织映射(SOM)开始。SOM是一种强大的技术,主要用于减少数据的维度,通常是映射到一维或二维[Germano,(1999)]。在降低维度的同时,SOM还保留了数据点的拓扑相似性。 它也可以被看作是用于聚类的工具,同时将拓扑强加在聚类表示上。图8是二维隐藏神经元的自组织图表示,它学习数据的二维表示。上面的阴影节点表示数据的SOM的单位,而下面的空结点表示数据。SOM 中的节点之间没有连接。 图8:自组织映射图 每个节点的位置固定。这种表示不应被视为仅仅是数值。相反,它的位置也很重要。这个属性不同于一些被广泛接受的表示标准。例如,我们比较one-hot(一位有效)向量和一维SOM用于表示颜色的情况:为了表示集合中的绿色:C = {绿色,红色,紫色},one-hot表示方式可以使用(1,0,0),(0,1,0)或(0,0,1)中任何一个向量,只要我们相应地指定绿色的位。然而,对于一维SOM,只有两个向量是可能的:(1,0,0)或(0,0,1)。这是因为SOM旨在保持相似性的同时表示数据;并且红色和紫色比绿色和红色、或绿色和紫色更相似,绿色不应该以一种分裂红色和紫色的方式来表示。应该注意到,该示例仅用于证明SOM中每个神经元的位置是重要的。在实践中,SOM神经元的值不限于整数。 —————————————— 2.在一些其他文献中,以[Bullinaria,(2004)]为例,可以注意到在模型的插图中存在连接。然而,这些连接只用于表示节点的邻域关系,没有经由这些连接的信息。在本文中,由于我们要展示许多其他的依赖于信息流的模型,我们决定保存这些连接。   SOM用于可视化数据的好工具。例如,如果我们对每个国家的幸福水平和富裕程度进行调查,并将数据注入二维SOM。那么训练的神经元中应该是代表最快乐和最富有的国家在一角,最不快乐最贫穷的国家在对面。剩下的两个角代表最富有但最不幸福的,和最贫穷但最幸福的国家。其余国家相应地定位。SOM的优点是,它允许人们通过简单地了解学习神经元来轻松地知道一个国家在世界上的排名[Guthikonda,(2005)]。 4.1.1 学习算法(Learning Algorithm) 通过理解SOM的表示能力,现在我们继续学习其参数学习算法。经典算法是启发式的和直观的,如下所示: 初始化所有神经元的权重,w_(i,j)∀ i,j for t ≤ N do 随机选择v_k 选择最好的匹配神经元作为p,q≔〖arg min〗_(i,j) ‖w_ij-v_k ‖_2^2 选择感兴趣的节点作为BMU的邻居。I={w_(i,j)│dist(w_(i,j),w_(p,q) )<r(t)} 更新权重:w_(i,j)=w_(i,j)+P(i,j,p,q)l(t) ‖w_ij-v_k ‖_2^2,∀i,j∈I end for 这里我们使用二维SOM作为例子,i、j是神经元索引;w是神经元的权重;v表示数据向量;k是数据的索引;t表示当前迭代;N限制允许的最大步数;P(·)表示考虑神经元p,q和神经元i,j之间的距离的惩罚;l是学习率;r表示用于选择相邻节点的半径。l和r通常随着t的增加而减小。‖·‖_2^2表示欧几里得距离,dist(·)表示单位位置上的距离。 该算法解释了如何使用SOM来学习表示以及如何保持相似性,因为它总是选择与采样的数据相似的神经元的子集,并调整神经元的权重以匹配采样的数据。 然而,该算法依赖于如何选择邻居结点的半径和良好的权重初始化。否则,尽管学习的权重将具有拓扑相似性的局部属性,但是在全局上丢失拓扑相似性。有时,类似事件的两个相似簇被另一不相似簇的类似事件分离。更简单地说,如果网络没有被适当地训练,则绿色神经元实际上可以分离红色神经元和紫色神经元。[Germano,(1999)]。 4.2 Hopfield网络(Hopfield Network) Hopfield网络在历史上被描述为一种形式的recurrent 神经网络,首先被Hopfield引入[Hopfield,(1982)]。在本文中,“Recurrent”是指连接神经元的权重是双向的。Hopfield网络由于其内容可寻址的存储器属性而被广泛认可。该内容可寻址存储器属性是自旋玻璃态理论的模拟。因此,我们从自旋玻璃态开始讨论。 图9:Hopfield网络的图示。它是六个二进制阈值神经元的全连接网络。 每个神经元都与数据连接,因此这些神经元表示为非阴影节点。 4.2.1 自旋玻璃态(Spin Glass) 自旋玻璃态是用于描述磁现象的物理学术语。许多工作已经详细地研究其相关理论[Edwards and Anderson,(1975); Mezard et al.,(1990)],因此在本文中,我们仅直观地描述这一点。 当一组偶极子被一起放在任何空间。每个偶极子被迫使其自身与由这些偶极子在其位置产生的场对准。然而,通过对准它自己,它改变在其他位置的场,导致其他偶极子飞行,导致原始位置的场变化。最终,这些变化将收敛到稳定状态。 为了描述稳定状态,我们首先定义位置j处的总场 s_j=o_j+c^t ∑_k▒s_k/(d_jk^2 ) —————————————— 3.术语“recurrent”如今由于循环神经网络日益流行而变得非常混乱。 其中o_j是外部场, c^t是取决于温度t的常数, s_k是第k个偶极子的极性, d_jk是从位置j到位置k的距离。 因此,系统的总势能为: PE=∑_j▒〖s_j o_j 〗+c^t s_j ∑_k▒s_k/(d_jk^2 ) (4) 这个磁系统将慢慢演变直到势能最小。 4.2.2 Hopfield网络(Hopfield Network) Hopfield网络是一个具有二进制阈值神经元的全连通神经网络。这些神经元的值为0或1 。这些神经元用双向权重完全连接。 使用此设定,Hopfield网络的能量定义为: E=-∑_i▒〖s_i b_i 〗-∑_(i,j)▒〖s_i s_j w_(i,j) 〗 (5) 其中s是神经元状态,b表示偏置;w表示双向权重,i,j是神经元的索引。这个能量函数紧密地连接到自旋玻璃态的势能函数,如公式4所示。 Hopfield网络通常用于记忆数据状态。设计或学习网络的权重以确保在给定感兴趣的状态下能量最小化。 因此,当另一状态呈现给网络,且权重固定时,Hopfield网络可以搜索使其能量最小化并恢复内存中的状态。 例如,在人脸实现任务中,当面部的一些图像被呈现给hopfield网络(网络的每个神经元对应于一个图像的每个像素并且图像被一个接一个地呈现的方式)时,网络可以计算权重以最小化给定这些人脸信息的能量值。 之后,如果一个图像被破坏或失真并再次呈现给该网络,网络能够通过搜索状态配置来恢复原始图像,以最小化输入的损坏数据的能量值。 术语“能量”可以使人联想到物理。 解释Hopfield网络在物理场景中的工作原理将会更加清楚:大自然使用Hopfield网络记住摆锤的平衡位置,因为在平衡位置,摆锤具有最低的重力势能。 因此,每当放置摆锤时,它将收敛回到平衡位置。 —————————————— 4. 一些其他文献可以使用-1和1来表示这些神经元的值。 虽然值的选择不影响Hopfield网络的思想,不过它改变能量函数的公式。 在本文中,我们只讨论0和1作为值的上下文。   4.2.3 学习与推断(Learning and Inference) Hopfield网络权重的学习是直接的[Gurney,(1997)]。 权重可以计算为: w_(i,j)=∑_(i,j)▒〖(2s_i-1)(2s_j-1)〗 符号与公式5相同。 这种学习过程很简单,但仍值得一提,因为它是Hopfield网络在应用于解决实际问题时的一个重要步骤。 然而,我们发现许多在线教程省略了这一步,更糟的是,他们将状态的推理称为学习/训练。为了消除混淆,在本文中,类似于在标准机器学习社会中如何使用术语,我们将模型的权重计算(从闭式解或数值解)称为“参数学习”或“训练”。 我们将具有已知权重的现有模型应用于解决现实世界问题作为“推理” 或“测试”(来解码数据的隐藏状态,例如预测标签)。 Hopfield网络的推理也是直观的。 对于数据状态,网络测试如果反转一个神经元的状态,能量是否将减小。如果是,网络将反转状态并继续测试下一个神经元。 这个过程称为异步更新,这个过程显然受神经元选择顺序的影响。相对的称之为同步更新,当网络首先测试所有神经元,然后同时反转所有神经元。这两种方法都可能导致局部最优。同步更新甚至可以导致能量的增加,并且可以收敛到振荡或循环状态。 4.2.4 能力(Capacity) Hopfield网络的一个明显的缺点是它不能保持内存非常有效,因为N个神经元的网络只能存储0.15N^2比特。虽然具有N个神经元的网络具有N^2条边。此外,在存储M内存(M个数据实例)之后,每个连接具有[-M,M]中的整数值。因此,存储N个神经元所需的比特数是N^2 log⁡〖(2M+1)〗[Hopfield,(1982)]。因此,我们可以安全地得出这样的结论,虽然Hopfield网络是一个令人惊讶的想法,使网络能够记住数据,但是它在实践中是非常低效的。 作为Hopfield网络研究的后续,许多工作试图研究和增加原始Hopfield网络的能力[Storkey,(1997); Liou and Yuan,(1999); Liou and Lin,(2006)]。 尽管做了这些尝试,Hopfield网络仍然逐渐退出社会。它被其它受它启发的模型所取代。紧接着这一节,我们将讨论受欢迎的玻尔兹曼机和受限玻尔兹曼机,并研究如何从Hopfield网络的初始想法过渡到这些模型并取代它。 —————————————— 5.“推理”在机器学习社会中通常以这种方式使用,但是一些统计学家可能不同意这种使用方式。 4.3 波尔兹曼机(Boltzmann Machine) 玻尔兹曼机,由Ackley等人在1985年发明[Ackley,(1985)],是一个随机隐藏神经元的Hopfield网络。它的名字来自Boltzmann Distribution。 4.3.1 玻尔兹曼分布(Boltzmann Distribution) 玻尔兹曼分布以Ludwig Boltzmann命名并被广泛研究[Willard,(1902)]。 它最初用于描述粒子在各种可能状态下的概率分布,如下: F(s)∝e^(-E_s/kT) 其中s代表状态, E_s代表相应的能量。k和T分别是玻尔兹曼常数和热力学温度。 自然地,两个分布的比仅以能量的不同为特征,如下: r=(F(s_1))/(F(s_2))=e^((E_(s_2 )-E_(s_1 ))/kT) r被称为波尔兹曼因子。 图10:玻尔兹曼机图示。 随着隐藏神经元(阴影节点)的引入,模型在概念上分为两个部分:可见神经元和隐藏神经元。红色虚线用于突出概念分离。 由于如何分布由能量决定,概率被定义为每个状态的项除以总和,如下: p_(s_i )=e^(-E_(s_i )/kT)/(∑_j▒e^(-E_(s_j )/kT) ) 4.3.2 玻尔兹曼机(Boltzmann Machine) 如前所述,玻尔兹曼机是一个随机隐藏神经元的Hopfield网络。 图10介绍了如何引入隐藏神经元的想法,将Hopfield网络变成玻尔兹曼机。在玻尔兹曼机中,只有可见神经元与数据连接,隐藏神经元用于帮助可见神经元描述数据的分布。 因此,模型在概念上分为可见部分和隐藏部分,而它们仍然保持这些神经元之间的全连接网络。 “随机”是为了从跳跃网络改进玻尔兹曼机关于跳出局部最优或振荡的一种手段。受物理学的启发,引入了一种传递状态而不考虑电流能量的方法:将状态设置为状态1(意味着状态为on),而不考虑具有以下概率的当前状态: p=1/(1+e^(-∆E/T) ) 其中ΔE表示当状态为on和off时的能量差,即∆E=E_(s=1)-E_(s=0)。T代表温度。T的想法是受物理过程的启发,温度越高,状态越可能转移 。此外,能量从较高状态转移到较低状态的概率将总是大于逆过程 。这个想法与一种非常流行的模拟退火算法[Khachaturyan et al.,(1979); Aarts and Korst,(1988)]高度相关,但模拟退火算法几乎与如今的深度学习无关。暂且不管T所引入的历史重要性,在本节中为了简化起见,我们将假设T = 1为常数。 4.3.3 玻尔兹曼机能量(Energy of Boltzmann Machine) 除了当前可见单位和隐藏单位被分别表示,玻尔兹曼机的能量函数定义与Hopfield网络定义的公式5相同,公式如下: E(v,h)=-∑_i▒〖v_i b_i-∑_k▒〖h_k b_k-∑_(i,j)▒〖v_i v_j w_ij 〗-∑_(i,k)▒〖v_i h_k w_ik-∑_(k,l)▒〖h_k h_l w_(k,l) 〗 〗〗〗 其中,v代表可见单位,h表示隐藏单位。除了玻尔兹曼机根据隐藏单位和可见单位将能量函数分解,这个方程也往回连接到公式4。 基于这个能量函数,可见单元和隐藏单元的联合配置概率可定义如下: p(v,h)=e^(-E(v,h))/(∑_(m,n)▒e^(-E(m,n)) ) 可见/隐藏单位的概率可以通过边缘化联合概率来得到。 例如,通过边缘化隐藏单元,我们可以得到可见单位的概率分布: p(v)=(∑_h▒e^(-E(v,h)) )/(∑_(m,n)▒e^(-E(m,n)) ) —————————————— 6.当有更多的动能时,分子移动得更快,这可以通过加热实现。 7.对应热力学第零定律。 其可用于对可见单元进行采样,即生成数据。 当玻尔兹曼机被训练到稳定状态,即热平衡状态时,概率p(v,h)分布将保持恒定,因为此时能量分布是一个常数。然而,每个可见单元或隐藏单元的概率都可能变化,并且能量可能不在其最小值位置。这与如何确定热平衡状态有关,其中唯一的常数因子是系统各部分的分布。 热平衡是一个难以理解的概念。可以想象,将一杯热水倒入瓶中,然后将一杯冷水倒入热水中。开始时,瓶底感觉热,瓶顶感觉冷。接着,随着冷水和热水混合,热量被传递,瓶子逐渐变得温和。然而,瓶子的温度趋于稳定(对应于p(v,h)的分布)并不一定意味着分子停止移动(对应于每个p(v,h))。 4.3.4 参数学习(Parameter Learning) 训练玻尔兹曼机的最常见方法是确定能使观察数据的似然性最大化的参数。通常执行似然函数对数上的梯度下降以确定参数。为简单起见,以下推导仅基于单次观察。 首先我们有对数似然函数: l(v;w)=log⁡〖p(v;w)=〗 log⁡∑_h▒e^(-E_(v,h) ) -log⁡∑_(m,n)▒e^(-E_(m,n) ) 其中,第二项在RHS中是归一化的。 现在我们取对数似然函数w.r.t的导数,并简化,得到: (∂l(v;w))/∂w=-∑_h▒〖p(h│v) ∂E(v,h)/∂w〗+∑_(m,n)▒〖p(m,n) ∂E(m,n)/∂w〗=-IE_(p(h│v) ) ∂E(v,h)/∂w+IE_(p(m,n)) (∂E(m,n))/∂w 其中IE表示期望。因此,似然函数的梯度由两部分组成。第一部分是相对于条件分布p(h|v)的能量函数的期望梯度。第二部分是相对于在所有可变状态下的联合分布的能量函数期望梯度。然而,对于任何实际大小的模型来说,计算这些期望通常是不可行的,因为其涉及到需要汇总大量的可能状态/配置。解决这个问题的一般方法是,使用马尔科夫链蒙特卡罗(Markov Chain Monte Carlo,MCMC)来近似这些和: ∂l(v;w)/∂w=-〖〗_(p(h_data│v_data ) )+〖〗_(p(h_model│v_model ) ) (6) 其中表示期望。 公式6是有数据被送入可见状态时以及没有数据被送入可见状态时,状态结果的期望值之间的差异。当可见和隐藏单元由观测数据样本驱动时,通过取能量函数梯度的平均值来计算第一项。在实践中,这一项通常可以直接计算。计算第二项通常更复杂,并且涉及运行一组马可夫链,直到它们达到当前模型平衡分布,然后基于这些样本取平均能量函数梯度。 然而,这个采样过程计算可能是非常复杂的,由此推出了下一节的主题----受限玻尔兹曼机。 4.4 受限玻尔兹曼机(Restricted Boltzmann Machine) 受限玻尔兹曼机(RBM),最初称为Harmonium,由Smolensky于1986年发明[Smolensky,(1986)],是一版被限制在可见单元之间或隐藏单元之间没有连接的玻尔兹曼机。 图11是基于图10所示的玻尔兹曼机如何实现受限玻尔兹曼机的图示:隐藏单元之间的连接以及可见单元之间的连接被移除,并且模型变成二分图。 在引入这种限制的情况下,RBM的能量函数简单得多: E(v,h)=-∑_i▒〖v_i b_i-∑_k▒〖h_k b_k-∑_(i,k)▒〖v_i h_k w_ik (7) 〗〗〗 图11:受限玻尔兹曼机的例证。由于在隐藏单元(阴影节点)之间和可见单元(非阴影节点)之间没有连接的限制,玻尔兹曼机变成受限玻尔兹曼机。此时的模型是一个二分图。 4.4.1 对照散度(Contrastive Divergence) RBM仍可以按照训练玻尔兹曼机的方式进行训练。由于RBM的能量函数非常简单,用于推断公式6第二项的采样方法变得更容易。尽管这样相对简单,但其学习过程中仍需要大量的采样步骤来近似模型分布。 为了强调这种采样机制的困难,以及简化后续的介绍,我们可以用一组不同的符号重写公式6,如下: ∂l(v;w)/∂w=-〖〗_(p_0 )+〖〗_(p_∞ ) (8) 在这里,我们使用p_0表示数据分布,p_∞表示模型分布。其他符号保持不变。由此可见,前文所提及学习参数的方法的难点就在于其需要潜在的“无限”多个采样步骤来近似模型分布。 2002年,Hinton克服了这个问题[Hinton,(2002)],引入了一种名为对比分散(Contrastive Divergence)的方法。从经验上讲,他发现人们不必在“无限”多个采样步骤中收敛于模型分布,有限的k步采样就足够了,因此,公式8被重写为: ∂l(v;w)/∂w=-〖〗_(p_0 )+〖〗_(p_k ) 值得注意的是,Hinton表明[Hinton,(2002)],设定k=1对于使学习算法应用于实践并很好地工作是很有效的。 2005年,Carreira-Perpinan和Hinton试图在理论上证明对比分散法[Carreira-Perpinan and Hinton,(2005)],但他们的推导导致了一个负面结论----对比分散法是一种偏颇算法,而且有限的k不能代表模型分布。然而,他们的实证结果表明,有限的k可以足够接近模型分布,并使偏差足够小。此外,该算法在实践中运行良好,这使得对比发散的方法更强壮。 有了合理的建模能力和快速近似算法,RBM很快地吸引了极大的注意,并成为深层神经网络最基本的构建块之一。以下两个部分,我们将介绍两个基于受限玻尔兹曼机/玻尔兹曼机的深度神经网络,即深度置信网络和深度玻尔兹曼机。 4.5 深度置信网络(Deep Belief Nets) 2006年,Hinton等人提出深度置信网络[Hinton,〖(2006)〗^8],他表明RBM可以使用贪心算法训练和堆叠。 图12:深层置信网络插图。深层置信网络不完全是将RBM叠加在一起,底层(除了顶部之外的层)不具有双向连接,而只有自上而下的连接。 图12展示了三层深度置信网络的结构。与堆叠RBM不同的是,DBN仅支持顶层的双向连接(RBM型连接),而下层仅具有自上而下的连接。可能一个理解DBN的更好方式是将它认定为多层生成模型。 —————————————— 8. 此文通常被视为当今深度学习时代的开端,因为它首次介绍了通过分层训练训练深层神经网络的可能性。 尽管DBN通常被描述为堆叠RBM,但DBN与将一个RBM放置在另一个RBM顶部是相当不同的。认为DBN是具有专门用于生成数据模式的扩展层的单层RBM可能更合适。 因此,模型只需对最顶层的热平衡进行采样,然后由顶向下传递可见状态以生成数据。 4.5.1 参数学习(Parameter Learning) 深度置信网络的参数学习分为两个步骤:第一步,逐层预训练;第二步,微调。 逐层预训练 深度置信网络的成功很大程度上归功于引入了逐层预训练。这个想法很简单,但它的工作原理仍然吸引着研究者。预训练只是简单地由下向上通过组件来训练网络:首先将前两层作为RBM并加以训练,然后将第二层和第三层视为另一个RBM并训练参数。 这一想法的证明对后来的微调过程的成功起到了关键支持作用。人们已经提出了若干想法来解释预训练的机制: 直观地说,预训练是一种巧妙的初始化方式。它将参数值设定在适当的范围内从而进行进一步的微调。 2007年,Bengio等人提出[Bengio et al.(2007)],无监督预训练将模型初始化为参数空间中的一个点,这导致了更有效的优化过程,通过优化可以找到经验成本函数更低最小值。 2010年,Erhan等人根据经验支持一个正则化解释[Erhan et al.(2010)],无监督预训练指导学习朝向吸引力极小值处,支持从训练数据集中得到更好泛化。 除了深度置信网络,这种预训练机制还启发了许多其他经典模型的预训练,包括Poultney等人2006年和Bengio等人2007提出的自编码器[Poultney et al.,(2006);Bengio et al.,(2007)],Salakhutdinov和Hinton2009年提出的深度玻尔兹曼机[Salakhutdinov and Hinton,(2009)],以及由这些古典模型启发得到的模型,例如Yu等人2010年提出的模型[Yu et al.,(2010)]。 在执行预训练之后,通过执行微调来进一步优化网络以搜索使最小值更低的参数。对于深度置信网络,有两种不同的微调策略,取决于网络目标。 生成模型的微调 生成模型的微调是通过Hinton等人1995年提出的唤醒-睡眠(wake-sleep)算法的一个对比版本实现的[Hinton et al.,(1995)]。这个算法是很有趣的,它被设计用来解释大脑的工作原理。科学家们发现,睡眠是大脑功能的一个关键过程,它似乎是我们在清醒状态下学习时的反向版本。wake-up算法也有两个步骤。在清醒阶段,我们由下向上传播信息来调整自顶向下的权重用以重建下面的层。睡眠阶段是清醒阶段的倒序。我们由上向下传播信息来调整自下向上的权重用以重建上面的层。 这种唤醒-睡眠算法的对比版本是,我们在清醒阶段和睡眠阶段之间添加一个对比发散阶段。唤醒阶段只上升到顶部RBM的可见层,然后我们在对比发散阶段对顶部RBM进行采样,之后睡眠阶段从顶部RBM的可见层开始。 判别模型的微调 将DBN微调为叛别模型的策略是简单地将标准反向传播应用于预训练的模型,因为我们有数据的标签。然而,尽管反向传播拥有一般良好性能,但预训练仍必不可少。 图13:深度玻尔兹曼机的图示。深度玻尔兹曼机更像是将RBM堆叠在一起。每两层之间的连接是双向的。 4.6 深度波尔兹曼机(Deep Boltzmann Machine) 我们在深度生成模型家族部分引入的最后一个里程碑是,由Salakhutdinov和Hinton在2009年提出的深度玻尔兹曼机[Salakhutdinov and Hinton,(2009)]。 图13展示了三层深度玻尔兹曼机(DBM)。上一节中提到,DBM和DBN之间的区别是DBM允许底层中的双向连接。因此,用DBM表示堆叠RBM的想法比DBN好得多,DBM被命名为深度受限玻尔兹曼机可能更清晰。 由于DBM的性质,其能量函数被定义为RBM能量函数的延伸(公式7),如下所示: E(v,h)=-∑_i▒〖v_i b_i-∑_(n=1)^N▒〖∑_k▒〖h_(n,k) b_(n,k) 〗-∑_(i,k)▒〖v_i w_ik h_k-∑_(n=1)^(N-1)▒∑_(k,l)▒〖h_(n,k) w_(n,k,l) h_(n+1,l) 〗〗〗〗 对应于具有N个隐藏层的DBM。 能量函数的相似性赋予了训练具有约束发散的DBM的可能性。但预训练同样很必要。 4.6.1 深度玻尔兹曼机(Deep Boltzmann Machine /DBM)和 深度置信网络(Deep Belief Networks /DBN) 正如它们的首字母缩写所示,深度玻尔兹曼机和深度置信网络有许多相似之处,特别是在第一眼看到时。它们都是起源于受限玻尔兹曼机想法的深度神经网络。(深度置信网络这个名字似乎也表明它也部分起源于贝叶斯网络[Krieg, 2001])。它们也依靠分层预训练实现了参数学习的成功。 然而,这两个模型之间的基本差异是引人注目的,其通过如何在底层之间形成连接(未定向/双向vs定向)而引入。DBM的双向结构赋予DBM学习更加复杂的数据模式的可能性。它也赋予了近似推理程序自顶向下反馈以及初始的自下而上传播的可能性,使得深度玻尔兹曼机能够更好地传播歧义输入的不确定性。 4.7 深度生成模型:现在和未来(Deep Generative Models:Now and the Future) 深度玻尔兹曼机是生成模型的历史中我们所讨论的最后一个里程碑,但是在DBM之后还有很多工作,并且未来还要做更多的工作。 2015年,Lake等人提出了一个贝叶斯方案学习框架[Lake et al.(2015)],可以运用大规模视觉概念模拟人类学习能力。除了在一次性学习分类任务上有所表现外,他们的模型通过了从世界字母表中生成手写字符方面的视觉图灵测试。换句话说,他们的模型的生成性能与人类的行为是没有区别的。他们的模型不仅是一个深层神经模型本身,更胜过几个并发的深层神经网络。可以预见,贝叶斯方案学习框架的深度神经副本具有更好的性能。 条件图像生成(给定图像的一部分)是最近另一个有趣的话题。问题同样由像素网络(Pixel CNN [van den Oord et al.,(2016)] and Pixel RNN [Oord et al.,(2016)])解决。然而,给定图像的一部分似乎简化了生成任务。 生成模型的另一个贡献是生成对抗网络[Goodfellow et al.,(2014)],然而,GAN仍然太年轻,不在本文中讨论。

https://blog.sciencenet.cn/blog-612724-1054380.html

上一篇:深度学习起源翻译2
下一篇:深度学习起源8
收藏 IP: 175.171.179.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-25 22:42

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部