您好,欢迎访问三七文档
RBM介绍王岳青RBM网络结构•RBM结构特点•层内无连接•层间全连接RBM网络结构•RBM结构参数•nv和nh表示可见层和隐含层中神经元的数目•𝑣=(𝑣1,𝑣2,…,𝑣𝑛𝑣)𝑇,可见层的状态向量•h=(ℎ1,ℎ2,…,ℎ𝑛ℎ)𝑇,隐含层的状态向量•a=(𝑎1,𝑎2,…,𝑎𝑛𝑣)𝑇,可见层的偏置向量•b=(𝑏1,𝑏2,…,𝑏𝑛ℎ)𝑇,隐含层的偏置向量•𝑊={𝑤𝑖𝑗}𝜖𝑅𝑛ℎ×𝑛𝑣,隐含层与可见层之间的权值矩阵•记θ=(W,a,b)表示RBM中的参数,可以将其视为把W,a,b的所有分量拼起来得到的长向量•此外,为讨论方便,假定RBM中所有神经元均为二值的,即,,,{0,1}ijijvh有RBM目标•输入:一组样本𝑆=𝑣1,𝑣2,…,𝑣𝑛𝑠,𝑛𝑠表示样本数目•对任意样本空间Ω,总有一个分布q表示该空间中样本分布的概率•S是样本空间中抽取的部分样本,则S⊆Ω,即S必然服从q分布•目标:让RBM网络得到可见层节点v的分布p(v)最大可能的拟合输入样本所在样本空间的分布q(v)•1.RBM网络如何表示可见层节点v的分布?•2.如何对两种分布进行距离估计?•3.如何使分布的距离最小?1.RBM网络如何表示可见层节点v的分布•随机神经网络是根植于统计力学的。受统计力学中能量泛函的启发,引入了能量函数•能量函数是描述整个系统状态的一种测度。•系统越有序或者概率分布越集中,系统的能量越小•反之,系统越无序或者概率分布越趋于均匀分布,则系统的能量越大•能量函数的最小值,对应于系统的最稳定状态•RBM结构是由v和h决定的,因此其能量函数的定义必须同时包含v和h•1.1如何定义RBM的能量函数?•1.2如何从能量函数推导出v和h的联合概率分布?•1.3如何从v和h的联合概率分布推导出关于v的分布?1.RBM网络如何表示可见层节点v的分布•1.1如何定义RBM的能量函数?•RBM能量模型函数•来源?-易辛模型(Isingmodel)Ising模型•1922年,德国物理学家Lenz教授交给其学生Ising一个题目,让其研究铁磁体(如磁铁)的相变和有序行为。•伊辛模型的基本单元是电子自旋。讨论中用一个箭头表示自旋,这个箭头只可以指向“上”或者“下”。如果很多箭头排列在一个点阵或者网格上,格点处是箭头的位置,那么这些箭头的组合行为就构成了一个磁性体系。•铁磁体系中,自旋箭头倾向于和其周围邻居平行排列,也就是说,两个相邻的箭头如果平行排列,体系能量就比较低;反之能量就比较高。•Ising模型(二维三维情形)的后续研究者:Onsager,杨振宁,李政道,……•用σk∈{+1,-1}表示原子的自旋状态,+1和-1分别表示自旋向上和向下。σ=(σ1σ2…σK)为系统的自旋组态。•系统的哈密顿量:(Jij为交互作用系数,hj为外加磁场作用)•系统在某个特定的自旋组态下的概率满足玻尔兹曼分布律:,()ijijjjijjHJh()()()()HHkTkTHkTeePZe1.RBM网络如何表示可见层节点v的分布•1.2如何从能量函数推导出v和h的联合概率分布?•在统计热力学上,当系统和它周围的环境处于热平衡时,一个基本的结果是状态i发生的概率如下面的公式•根据能量模型,借鉴统计热力学能量与概率的关系,就可以定义RBM的v和h的联合概率()1()EikTpieZ(,)(,)(,)EvhEvhepvhe1.RBM网络如何表示可见层节点v的分布•1.3如何从v和h的联合概率分布推导出关于v的分布?•通过积分或者累加,可以求得下面的分布RBM目标•目标:让RBM网络得到可见层节点v的分布p(v)最大可能的拟合输入样本所在样本空间的分布q(v)•1.RBM网络如何表示可见层节点v的分布!•2.如何对两种分布进行距离估计?•3.如何使分布的距离最小?2.如何对两种分布进行距离估计?•假设Ω是样本空间,S是输入样本集合,则S⊆Ω•q是样本空间Ω的分布,而S⊆Ω,因此输入样本v的概率也服从q(v)•q的性质:输入样本一旦确定,则样本空间的分布q(x)确定,只不过无法表示出来•假设p是RBM网络表示的可见层v的分布•目标:p分布尽可能逼近q分布•借鉴信息论中的K-L距离表示两种分布的距离•K-L距离越小,两种分布越相近•KL(𝑞|𝑝=𝑞𝑣𝑙𝑛𝑞(𝑣)𝑝(𝑣)𝑣𝜖Ω=𝑞𝑣𝑙𝑛𝑞𝑣𝑣𝜖Ω−𝑞𝑣𝑙𝑛𝑝𝑣𝑣𝜖ΩRBM目标•目标:让RBM网络得到可见层节点v的分布p(v)最大可能的拟合输入样本所在样本空间的分布q(v)•1.RBM网络如何表示可见层节点v的分布!•2.如何对两种分布进行距离估计?•KL(𝑞|𝑝=𝑞𝑣𝑙𝑛𝑞(𝑣)𝑝(𝑣)𝑣𝜖Ω=𝑞𝑣𝑙𝑛𝑞𝑣𝑣𝜖Ω−𝑞𝑣𝑙𝑛𝑝𝑣𝑣𝜖Ω•3.如何使分布的距离最小?3.如何使分布的距离最小?•KL(𝑞|𝑝=𝑞𝑣𝑙𝑛𝑞(𝑣)𝑝(𝑣)𝑣𝜖Ω=𝑞𝑣𝑙𝑛𝑞𝑣𝑣𝜖Ω−𝑞𝑣𝑙𝑛𝑝𝑣𝑣𝜖Ω•样本空间确定时,第一项是确定的•最小化KL,只需要最大化第二项,面临的问题•3.1第二项如何求?•现在只有输入样本集S,没有整个样本空间Ω,没法求和•q(v)不知道,如何计算•3.2如何保证第二项最大化?3.如何使分布的距离最小?•3.1如何求𝑞𝑣𝑙𝑛𝑝𝑣𝑣𝜖Ω•形式是对函数𝑙𝑛𝑝(𝑣)在分布q(v)下的期望,v是指样本空间中的任意样本,不仅仅是输入样本•蒙特卡罗方法的目的是用随机化的方法求积分。例如求给定函数h(x)的积分,则首先可以将h(x)分解为某个函数f(x)和其概率密度函数p(x)的乘积:•ℎ𝑥𝑏𝑎𝑑𝑥=𝑓𝑥∗ℎ(𝑥)𝑓(𝑥)𝑏𝑎𝑑𝑥=𝑓𝑥∗𝑝(𝑥)𝑏𝑎𝑑𝑥=Ε𝑝(𝑥)[𝑓(𝑥)]•发现蒙特卡罗方法求解的目标实际是某个函数在某种分布下的期望•蒙特卡罗方法如何求解上述目标呢•采样方法,如果从分布p(x)上采集大量符合p(x)的样本,则可以利用这些样本均值逼近上述积分•ℎ𝑥𝑏𝑎𝑑𝑥=Ε𝑝(𝑥)[𝑓(𝑥)]≈1𝑛𝑓(𝑥𝑖)𝑛𝑖=13.如何使分布的距离最小?•3.1如何求𝑞𝑣𝑙𝑛𝑝𝑣𝑣𝜖Ω•蒙特卡罗方法如何求解上述目标呢•采样方法,如果从分布p(x)上采集大量符合p(x)的样本,则可以利用这些样本均值逼近上述积分•ℎ𝑥𝑏𝑎𝑑𝑥=Ε𝑝(𝑥)[𝑓(𝑥)]≈1𝑛𝑓(𝑥𝑖)𝑛𝑖=1•如何借鉴蒙特卡罗方法的思想求解我们的目标?•𝑞𝑣𝑙𝑛𝑝(𝑣)𝑣𝜖Ω=Ε𝑞(𝑣)[𝑙𝑛𝑝(𝑣)]≈1𝑛𝑙𝑛𝑝(𝑣)𝑣𝜖𝑆•注意第一个求和和最后一个求和针对的集合是不一样的3.如何使分布的距离最小?•3.2如何保证第二项最大化?•根据3.1可以得到第二项𝑞𝑣𝑙𝑛𝑝𝑣𝑣𝜖Ω的近似表达式•1𝑛𝑙𝑛𝑝(𝑣)𝑣𝜖𝑆•要使第二项最大,只需要让新的近似表达式最大•即只需让𝑙𝑛𝑝(𝑣)𝑣𝜖𝑆最大•由于网络中可变的参数为𝜃,因此对𝜃求导,使𝜃向上式增大的方向变化•问题:3.2.1如何求导?3.如何使分布的距离最小?•3.2如何保证第二项最大化?•3.2.1如何求导?•先针对单个样本来求上述公式对应的导数•为不引起混淆,使用v表示单个样本,使用v表示任意样本3.如何使分布的距离最小?•3.2如何保证第二项最大化?•问题:3.2.1如何求导?•求导之后分解为两项•第一项表示可见单元限定为已知的训练样本v时隐藏单元的概率分布,容易计算;•第二项中P(v,h)表示可见层和隐含层单元的联合分布,该分布很难获取(v和h的所有状态要遍历),因此无法直接计算•问题:如何求解公式中的第二项(红色框)?3.如何使分布的距离最小?•问题:如何求解公式𝑝(𝑣,ℎ)𝜕𝐸(𝑣,ℎ)𝜕𝜃𝑣,ℎ?•𝑝(𝑣,ℎ)𝜕𝐸(𝑣,ℎ)𝜕𝜃𝑣,ℎ=𝑝𝑣𝑝(ℎ|𝑣)𝜕𝐸(𝑣,ℎ)𝜕𝜃ℎ𝑣=(𝑝𝑣𝑝ℎ𝑣𝜕𝐸𝑣,ℎ𝜕𝜃ℎ)𝑣•先求𝑝(ℎ|𝑣)𝜕𝐸(𝑣,ℎ)𝜕𝜃ℎ3.如何使分布的距离最小?•问题:求𝑝(ℎ|𝑣)𝜕𝐸(𝑣,ℎ)𝜕𝜃ℎ•将𝜃拆开为W,a和b分别计算偏导数3.如何使分布的距离最小?•问题:求𝑝(ℎ|𝑣)𝜕𝐸(𝑣,ℎ)𝜕𝜃ℎ•将𝜃拆开为W,a和b分别计算偏导数3.如何使分布的距离最小?•将求得的结果带入之前计算偏导数的公式得到3.如何使分布的距离最小?•偏导数看似计算出来了,但此时公式有假设条件•单个训练样本•上面三个偏导数公式中关于的𝑣计算复杂度为O(2𝑛𝑣+𝑛ℎ)3.如何使分布的距离最小?•多样本情况下的偏导数计算•假设样本集为𝑆=𝑣1,𝑣2,…,𝑣𝑛𝑠,且各个样本是独立同分布的•则整个样本集S的最大似然函数可以表示为所有样本概率的乘积•最大化上式与最大化其对数值是等价的•把ℒ𝜃,𝑆简写为ℒ𝑆,得到下面的偏导数公式3.如何使分布的距离最小?•如何计算𝑝𝑣𝑓(𝑣)𝑣呢?f(v)表示上面公式中的𝑝ℎ𝑖=1𝑣𝑣𝑗或者𝑣𝑗•又想到了蒙特卡罗思想,上面的公式相当于求f(v)在分布p(v)下的期望,可以用抽样来近似•问题是:样本从何而来?•直接使用输入样本?不行!因为现在要表示的是RBM的分布p(v),输入样本符合分布q(v),却不一定符合p(v)•回头看RBM的网络结构,发现下一步v的状态分别只和当前步v的状态有关•pv𝑡𝑣𝑡−1=𝑝𝑣𝑡ℎ𝑡−1𝑝ℎ𝑡−1𝑣𝑡−1•马尔可夫链中,变量x的当前状态仅与之前状态有关•因此可以讲RBM中关于v的计算看做一个马尔可夫链•马尔可夫链的性质也可以应用于RBM的计算过程中3.如何使分布的距离最小?•样本从何而来?•马尔可夫链的基本知识•用X𝑡表示X在t时刻的取值,则若该变量随时间的变化仅依赖其当前取值,则我们称之为马尔可夫链•加入用π表示系统某一时刻的状态,P表示转移矩阵,则有•性质:对于各种马尔科夫过程,随着转移次数的增多,随机变量的取值最终都会收敛于唯一的平稳分布,即:3.如何使分布的距离最小?•RBM如何使用马尔科夫链的性质?•性质:对于各种马尔科夫过程,随着转移次数的增多,随机变量的取值最终都会收敛于唯一的平稳分布•RBM中,π(0)相当于v(0),即初始v的初始状态(不一定是样本),π*表示经过多次转移后得到的稳定样本,该样本服从平稳分布。•转移矩阵P•pv𝑡𝑣𝑡−1=𝑝𝑣𝑡ℎ𝑡−1𝑝ℎ𝑡−1𝑣𝑡−13.如何使分布的距离最小?•样本从何而来?•如果想在某个分布下采样,就可以进行足够多的转移次数,之后取得的分布就会接近于该分布,就可以用蒙卡罗特方法来逼近均值•如何采样?•利用Gibbs采样算法•1.初始化系统状态为X(0)=(𝑥10,𝑥20,⋯,𝑥𝑚0)•2.初始化t=0•3.对每个变量𝑥𝑖,𝑖∈1,2,⋯𝑚,按以下条件概率对其采样•𝑝(𝑥𝑖𝑡+1|𝑥1𝑡+1,⋯,𝑥𝑖−1𝑡+1,𝑥𝑖+1𝑡,⋯,𝑥𝑚𝑡)•4.t=t+1•5.若t少于足够转移次数,返回第3步•6.返回X(t)作为采集到的样本3.如何使分布的距离最小?•样本从何而来?•Gibbs采样算法可以采样RBM表示的分布函数p(v)的样本•直接可以使用吗?•每次执行MCMC采样,都需要经过足够多次数的状态转移才能保证采集到的样本符合目标分布,并且需要有足够多的样本才能保证精度。这从效率上并不可取•如何解决效率问题?•采用对比散度算法(CD-k)•RBM的目标是拟合训练样本的分布,因此可以考虑让MCMC的状态以训练样本为起点,这样便可以只需很少次状态转移就可抵达RBM的分布了3
本文标题:RBM理解
链接地址:https://www.777doc.com/doc-5449162 .html