1、第九章深度信念网络9.2受限Boltzmann模型9.3深度信念网络设计of4119.1Boltzmann机9.4参数学习of412深度信念网络(Deep Belief Network,DBN)是由Geoffrey Hinton所提出。深度信念网络是一种生成模型,其训练数据,是借由训练各神经元之间的权重,再通过将整个神经网络按照最大概率来进行生成。深度信念网络的应用广泛,不仅可以对特征进行识别、对数据进行分类,还能生成数据。基本概念第九章 深度信念网络第九章深度信念网络9.1Boltzmann机9.2受限Boltzmann模型9.3深度信念网络设计of4139.4参数学习of4149.1 Bo
2、ltzmann机1985年,Hinton和Ackley等人提出Boltzmann机的模型。Boltzmann机是一种随机神经网络,其主要是以模拟退火思想为基础,并将随机机制与Hopfield模型进行结合。1.基本概念第九章 深度信念网络of4159.1 Boltzmann机第九章 深度信念网络2.Boltzmann机模型Boltzmann机网络结构Boltzmann机神经元的输出取值是0或者1,根据相应的输入来决定取值的概率。可见神经元可以是输入结点,也可以是输出结点。隐含神经元不与外界发生联系。of4169.1 Boltzmann机2.Boltzmann机模型Boltzmann机神经元的结构
3、第九章 深度信念网络3)功能上:Boltzmann可以看成是多层网络,其中一部分结点是输入结点,一部分是输出结点,还有一部分是隐结点。隐结点不与外界发生联系,它主要用来实现输入与输出之间的高阶联系。1)结构上:Boltzmann机是单层的反馈网络2)形式上:与离散Hopfield网一样,具有对称的连接权系数,即Wij=Wji,且Wii0。of4179.1 Boltzmann机第九章 深度信念网络取值以取值以iiiTsinjijijippkxekpkxwksi1 0 1)1(11)()()(/1T 为“温度”神经元I 在时刻 k 的内部状态为si(k)of4189.1 Boltzmann机第九章
4、 深度信念网络Boltzmann机的能量函数为TTninjniiijiijxWxxxxxwE2121111Boltzmann机也有同步同步和异步异步工作方式 考虑异步工作方式,k 时刻第i 个神经元调整状态,根据 Hopfield网络有iinjijijiisxxwxE)(1这时,的概率为1)1(kxiTsiiekp/11)(of4199.1 Boltzmann机第九章 深度信念网络1)若(a)若 1)(kxi0)(kxi(b)若 0)(kxi0)(kE0is2/1ip则较大概率 1)1(kxi1)(kxi0)(kEiinjijijiisxxwxE)(1Tsiiekp/11)(2)若 0is2/
5、1ip则较大概率 2/11ip0)1(kxi(a)若 0)(kxi0)(kxi(b)若 1)(kxi0)(kE1)(kxi0)(kE总之0)(kEof41109.1 Boltzmann机第九章 深度信念网络根据前面的结果,当xi 由1变为0时,xi(k)=-1,则ijnjijiiikxkxixwssxEEEii11)(0)1(|设xi(k+1)1(其它状态不变)的概率为p1,相应的能量函数为E1,xi(k+1)0(其它状态不变)的概率为p0,相应的能量函数为E0,则TETETETsiiiieeppeep/10/1111111of41119.1 Boltzmann机第九章 深度信念网络有TETE
6、TEETEeeeeppi/)(/101010 推广之,容易得到,对于网络中任意两个状态 和 出现的概率与它们的能量E 和 E 之间也满足TETETEEeeepp/)(这正好是Boltzmann分布,也就是该网络称为Boltzmann机的来由。of41129.1 Boltzmann机3.Boltzmann机神经元状态的更新算法第九章 深度信念网络of41139.1 Boltzmann机第九章 深度信念网络9.1Boltzmann机9.2受限Boltzmann模型第九章大数据概念与应用9.3深度信念网络设计of41149.4参数学习of41159.2 受限Boltzmann模型受限玻尔兹曼机(re
7、stricted Boltzmann machine,RBM)是对Boltzmann机的改进,对Boltzmann机的某些连接进行限制,这样可以使得学习算法变得简单很多。那限制指的是什么呢?其实就是将可见层与隐藏层中的层内连接断开。受限玻尔兹曼机的优点主要是将学习算法的效率大幅提高,与此同时,还将玻尔兹曼机的许多优良特性进行了保留,因此受限玻尔兹曼机被称为玻尔兹曼机的一次复兴。1.基本概念第九章 深度信念网络of41169.2 受限Boltzmann模型受限Boltzmann机是一种生成式的随机神经网络,它的网络是由可见神经元层v和一个隐神经元层h所组成,其中可见单元构成一个向量v,可以输入训
8、练数据,隐藏单元构成一个向量h,可以作为特征检测器,w为一个权值矩阵。第九章 深度信念网络of41179.2 受限Boltzmann模型2.RBM的学习目标第九章 深度信念网络of41189.2 受限Boltzmann模型第九章 深度信念网络首先,RBM网络采用无监督学习的方法,无监督学习的目的是最大可能的拟合输入数据,所以学习RBM网络的目的是让网络的目的是让RBM网络最大可能地拟合输入数据。网络最大可能地拟合输入数据。那么对于一般的一组输入数据来说,我们是不知道它符合一个什么分布,似然函数都没法得到。统计力学的结论表明:任何概率分布都可以转变成基于能量的模任何概率分布都可以转变成基于能量的
9、模型,很多的分布都可以利用能量模型的特有的性质学习得到。型,很多的分布都可以利用能量模型的特有的性质学习得到。为什么要引入这个能量模型?其次,马尔科夫随机场(MRF)在能量模型发挥两个主要作用:一是全局解的度量(目标函数);二是能量最小时的解(各种变量对应的配置)为目标解。能量模型能为无监督学习方法提供目目标函数和目标解。标函数和目标解。最后,RBM作为一种概率图模型,引入了概率就可以使用采样技术求解,在CD(contrastive divergence)算法)算法中采样部分扮演着模拟求解梯度的角色。of41199.2 受限Boltzmann模型第九章 深度信念网络of41209.2 受限Bo
10、ltzmann模型第九章 深度信念网络of41219.2 受限Boltzmann模型3.RBM学习方法对比散列第九章 深度信念网络求解极大似然2)求解的过程:对参数就导,然后用梯度上升法梯度上升法不断地把目标函数提升,最终到达停止条件。1)求解目标:似然函数(对数似然函数)是目标函数,求解输入样本的极大似然,让RBM网络表示的Gibbs分布和样本本身表示的分布最接近。RBM网络里面的几个参数网络里面的几个参数w,b,c的值,这个就是解的值,这个就是解。of41229.2 受限Boltzmann模型第九章 深度信念网络求解极大似然在条件概率 下的期望(,)E v h(|)P h v(,)E v
11、h(,)P h v在联合概率 下的期望of41239.2 受限Boltzmann模型第九章 深度信念网络蒙特卡罗采样为什么要看成是一个函数在某个概率分布下的期望?最早的蒙特卡罗方法,是由物理学家发明的,旨在于通过随机化的方法计算积分。假设给定函数h(x),我们想计算积分:()bah x dx但是又没有办法对区间内的所有x的取值都算一遍,我们可以将h(x)分解为某个函数f(x)和一个定义在(a,b)上的概率密度函数p(x)的乘积。这样整个积分就可以写成:()()()()()bbp xaah x dxf x p x dxEf xof41249.2 受限Boltzmann模型第九章 深度信念网络蒙特
12、卡罗采样()()()()()bbp xaah x dxf x p x dxEf x这样一来,原积分就等同于f(x)在p(x)这个分布上的均值(期望)。这时,如果我们从分布p(x)上采集大量的样本x1,x2,.,xn,这些样本符合分布p(x),即:,/(),iiiii xxp x那么,我们就可以通过这些样本来逼近这个均值:()11()()()nbp xiaih x dxEf xf xn这就是蒙特卡罗方法的基本思想。剩下的就是怎么样能够采样到符合分布p(x)的样本了,这个简单来说就是一个随机的初始样本,通过马尔科夫链进行多次转移,最终就能得到符合分布p(x)的样本。of41259.2 受限Bolt
13、zmann模型第九章 深度信念网络根据能量函数的公式,就分别对w,b和c这三个参数求导:求解的结果of41269.2 受限Boltzmann模型第九章 深度信念网络求解的结果圈出来的地方,要求遍历所有可能的v的值去计算概率,求解的过程比较麻烦,采用蒙卡特罗采样方法会大大简化计算过程。of41279.2 受限Boltzmann模型第九章 深度信念网络只要抽取一堆样本,这些样本符合RBM网络表示的Gibbs分布的(也就是符合参数确定的Gibbs分布p(x)的),就可以把上面的三个偏导数估算出来:其中yk表示第k个训练样本对应的RBM网络表示的Gibbs分布的样本。of41289.2 受限Boltz
14、mann模型第九章 深度信念网络由于隐藏节点和可视节点在能量函数中位置对称性,和 有类似结果。(1|)jP vh(1|)iP hv 的计算结果如下:(1|)iP hv 结合上面两个概率表达式,最终经过若干论迭代,就能得到参数w,b,c的解,这样极大似然的工作就完成了。of41299.2 受限Boltzmann模型第九章 深度信念网络Gibbs抽样其实就是在知道联合概率分布p(v)的情况下对其进行抽样。基于RBM模型的对称结构,以及其中节点的条件独立行,我们可以使用Gibbs抽样方法得到服从RBM定义的分布的随机样本。在RBM中进行k步Gibbs抽样的具体算法为:用一个训练样本(或者可视节点的一
15、个随机初始状态)初始化可视节点的状态 ,交替进行下面的抽样:0VGibbs采样对于训练样本特征比较多时,需要大量时间of41309.2 受限Boltzmann模型CD算法示意图第九章 深度信念网络 在抽样步数n足够大的情况下,就可以得到RBM所定义的分布的样本(即符合参数确定的Gibbs分布的样本)了,得到这些样本我们就可以拿去计算梯度的第二项了。of41319.2 受限Boltzmann模型4.RBM的权重学习算法第九章 深度信念网络基于CD-K快速学习算法的主要步骤9.3深度信念网络设计9.2受限Boltzmann模型9.1大数据的概念与意义第九章大数据概念与应用9.4参数学习of4132
16、of41339.3 深度信念网络设计深度信念网络(Deep Belief Netword,DBN)是一种深层的概率有向图模型,其图结构有多层的节点构成。每层节点的内部没有连接,相邻两层的1.基本概念第九章 深度信念网络节点之间为全连接。网络的最底层为可观测的变量,其他层节点都为隐变量。最顶部的两层间的连接是无向的,其他层之间的连接是有向的。of41349.3 深度信念网络设计2.深度信念网络框架深度信念神经网络(DBNs)是由多个RBM基本结构组成,与传统的判别模型不同,生成模型建立了观察数据和标签之间的联合分布。第九章 深度信念网络of41359.3 深度信念网络设计第九章 深度信念网络对于
17、判别模型的应用来说,下面举一个例子。Unsupervised Learning for Generative ModelSupervised Learning for Discriminant ModelPretrainingFine-tuneUnlabeledLabeled 右图是一个三隐藏的DBN,先用堆叠RBM的方式进行无监督学习,最上层的2000个神经元学习到数字的特征,这就是一个生成模型,我们可以用它来生成学习到的数字。然后我们学习2000个特征,最终我们在DBN的顶层再添加一层Softmax分类的神经网络,采用backpropagation算法来微调。41*41image500 u
18、nits500 units2000 units9.3深度信念网络设计9.4参数学习9.2受限Boltzmann模型9.1大数据的概念与意义第九章大数据概念与应用of4136of41379.4 参数学习第九章 深度信念网络of4138深度信念网络的训练过程可以分为预训练和精调两个阶段。先通过逐层预训练将模型的参数初始化为较优的值,再通过传统学习方法对参数进行精调。1.训练过程9.4 参数学习第九章 深度信念网络of41392.预训练在预训练阶段,采用逐层训练的方式,将深度信念网络的训练简化为多个玻尔兹曼机的训练。9.4 参数学习第九章 深度信念网络of41403.预训练算法流程9.4 参数学习第九章 深度信念网络of41414.精调经过预训练之后,再结合具体的任务(监督学习或无监督学习),通过传统的全局学习算法对网络进行精调,使模型收敛到更好的局部最优点。深度信念网络一般采用唤醒-睡眠算法进行精调,其算法过程是:唤醒阶段:认知过程,通过外界输入(可观测变量)和向上认知权重,计算每一层隐变量的后验概率并采样。然后,修改下行的生成权重使得下一层的变量的后验概率最大。睡眠阶段:生成过程,通过顶层的采样和向下的生成权重,逐层计算每一层的后验概率并采样。然后,修改向上的认知权重使得上一层变量的后验概率最大。交替进行唤醒和睡眠过程,直到收敛。9.4 参数学习第九章 深度信念网络感谢聆听