首页 > 范文大全 > 正文

RBM学习方法对比

开篇:润墨网以专业的文秘视角,为您筛选了一篇RBM学习方法对比范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要: 随着深度学习在模型、算法与理论上的突破性进展,以玻尔兹曼机为基础的各类深度模型近年来在目标识别与自然语言处理等诸多领域得到广泛应用。概述了玻尔兹曼机的相关概念,分析了受限玻尔兹曼机模型所具有的优势。对rbm中的学习方法进行了详细的描述,对应用最为广泛的受限玻尔兹曼机的几种典型学习算法进行了对比,并指出学习算法的研究在未来仍将是深度学习中的一项核心问题。

关键词: 受限玻尔兹曼机; 深度模型; 隐藏单元; 学习方法

中图分类号:TP391 文献标志码:A 文章编号:1006-8228(2014)11-10-04

RBM learning method comparison

Lu Ping, Chen Zhifeng, Shi Lianmin

(Dept. of Information, Suzhou Institute of Trade & Commerce, Suzhou, Jiangsu 215009, China)

Abstract: With the deep learning on the breakthrough of models, algorithms and theory studies, models based on Boltzmann machine have been used in many areas in recent years, such as target recognition and natural language processing. The concept of Boltzmann machine is presented. The restricted Boltzmann machine's advantage is also pointed out. In this paper, the learning method of RBM is described in detail and some typical learning algorithms widely used are compared. The study on learning algorithms will still be a core issue in deep learning area.

Key words: RBM; depth model; hidden units; learning method

0 引言

当前深度学习(deep learning)作为机器学习中新兴的代表,由于其具有能够处理大规模的数据、自动提取有意义的特征、完成数以百万计的自由参数的学习等诸多浅层模型所无法匹敌的能力,而受到各领域的广泛关注。目前深度学习模型已经被逐渐应用于图像分类、目标识别、自然语言处理、数据挖掘等各类应用中。当前的深度模型,如深度信念网络(deep belief net,DBN)、深度玻尔兹曼机(deep Boltzmann machine, DBM)等均采用的是由受限玻尔兹曼机(restricted Boltzmann machine,RBM)堆叠而成。在RBM中,可见层各单元之间与隐藏层各单元之间无连接的拓朴结构使得其模型相对简单,参数学习相对容易,因此使用RBM作为构建深度模型的基础结构单元成为研究人员的最佳选择。虽然深度学习模型还有堆叠自动编码器(stacked auto encoders)、卷积神经网络(convolutional neural net,CNN)等,但由于以RBM为核心的结构在深度模型中占据着核心的地位,因此本文主要关注于RBM的模型结构与其中的学习方法。

1 玻尔兹曼机概述

1.1 玻尔兹曼机

玻尔兹曼机(Boltzmann machine, BM)是源于物理学的一种基于能量函数的建模方法,能够描述变量的高层相互作用。虽然BM中学习算法复杂,但其模型与算法有完备的物理解释与数理统计理论基础。Hinton与Sejnowski最早将BM模型引入人工神经网络中,用于自动提取数据的内在特征表示。将BM作为单层反馈网络时,具有与Hopfield网络类似的对称权值,且每个单元与自已无连接。网络由可见层与隐藏层组成,对应的网络节点也可以分为可见单元(visible unit)与隐藏单元(hidden unit),每个单元不存在自回路,图1给出了BM的示意图。

图1 BM模型结构示意图

由于其中样本分布服从玻尔兹曼分布故命名为BM ,BM由二值单元构成,各单元的状态随机,且只可取0或1两种状态,1指代单元处于激活(on)状态,0则指代此单元处于断开(off)状态。由于每个单元仅有2种状态si={0,1},因此网络的总的能量函数为:

其中wij为神经元i与j之间的连接权重,θi为神经元i的阈值。神经元i状态为0与1所产生的能量的差值则可表示为:

si=1的概率为:

其中T为系统的温度。相应的,si=0的概率则为:

由式(3)/式(4)可得:

进一步将上式推广到网络中任意两个全局状态α与β,有:

此即为玻尔兹曼分布的表达式。

1.2 受限玻尔兹曼机

由于BM的模型结构复杂,学习时间很长,而且无法确切地计算BM所表示的分布,甚至获得BM表示分布的随机样本也非常困难。为此,Smolensky提出了受限玻尔兹曼机(restricted Boltzmann machine, RBM)模型,其结构如图2所示。与一般BM相比,RBM具有更优的性质:在给定可见层单元输入时,各隐藏层单元的激活条件独立;反之亦然。这样尽管RBM所表示的分布仍无法有效计算,但却可以通过Gibbs采样获得服从RBM分布的随机样本。

图2 RBM模型结构示意图

RBM也可以被看作为一个无向图(undirected graph)模型,其中v为可见层,用于表示输入数据,h为隐藏层,可以看作为特征提取器,W为两层间对称的连接权重。若一个RBM中可见层单元数为n,隐藏层单元数为m,用向量V与h分别表示可见层与隐藏层的状态,当状态(v,h)给定时,与BM类似,则RBM中的能量定义为:

其中wij为可见单元i与隐藏单元j之间的连接权重,ai为可见单元i的偏置,bj为隐藏单元j的偏置。θ={wij,ai,bj}指代RBM中所有参数集。当θ确定时,则可根据式⑺的能量函数获得(v,h)的联合概率为:

其中z(θ)为保证P(v,h|θ)成为概率分布的归一化项,也称为划分函数。若可见单元服从某种概率分布,根据RBM的给定可见单元时各隐藏单元激活状态独立的条件,可获得隐藏单元为1的条件概率为:

同理,若令隐藏单元服从某种概率分布,可见单元向量v为1的条件概率分布为:

(10)

因此可以获得在给定可见单元向量v时隐藏单元j的条件概率及给定隐藏单元向量h时可见单元i为1的条件概率分布为:

(11)

其中,为sigmoid激活函数。

2 RBM中的学习

为了学习RBM中的参数集θ,以拟合给定的训练数据,可以通过最大化RBM在训练集上的对数似然函数而获得,假设训练集中样本数为T,有:

(12)

这样获得最优的参数θ*则可以采用随机梯度上升法求得使的最大值,为此,对logP(v(t)|θ)求参数θ的偏导数有:

(13)

其中为求关于分布P的数学期望。由于训练样本已知,所以上式中前一项期望易求得,但对于P(h,v|θ)需要求得隐藏单元与可见单元的联合分布,由于划分函数Z(θ)的存在,无法直接计算,而只能采用一些采样方法获得其近似值。若分别用与指代P(h|v(t),θ)和P(h,v|θ)分布,则对式(13)中关于连接权重Wij,可见单元偏置ai和隐藏单元偏置bj的偏导数分别为:

(14)

RBM的学习过程可以分为正阶段与负阶段两个步骤。在正阶段,可见单元状态取训练输入样本值,经采样得到隐藏单元。在负阶段中,从当前模型采样得到可见单元与隐藏单元状态,重建可见单元状态。BM的学习即通过调节连接权重,使得模型定义的概率分布P-(va)与训练样本集定义的概率P+(va)一致,如果采用K-L散度度量两个概率的近似程度:

(15)

当且仅当P+(va)=P-(va)时,G=0,即两个分布完全一致。这样可以通过不断调节连接权重来使模型确定的概率分布与数据概率分布的K-L散度尽可能接近。RBM的学习步骤如下:

⑴ 随机设定网络的初始连接权重wij(0)与初始高温;

⑵ 按照已知概率P(va)依次给定训练样本,在训练样本的约束下按照SA算法运行网络到平衡状态,统计,同样在无约束条件下按同样的步骤运行网络相同次数,统计;

⑶ 修改各个连接权重:wij(k+1)=wij(k)+Δwij。

重复上面的步骤,直到-小于某个阈值,获得合适的权重。

3 RBM学习方法对比

当前在对RBM的研究中,典型的学习方法有Gibbs采样(Gibbs sampling)算法,变分近似方法(variational approach),对比散度 (contrastive divergence,CD)算法,模拟退火 (simulate annealing) 算法等。下面对这些方法进行对比。

3.1 Gibbs采样算法

Gibbs采样(Gibbs sampling)算法是一种基于马尔可夫链蒙特卡罗(Markov Chain Monte Carlo, MCMC)策略的采样方法。给定一个N维的随机向量X=(X1,X2,…,XN),若直接求取X的联合分布P(X1,X2,…,XN)非常困难,但如果可以在给定其他分量时,求得第k个分量的条件分布P(Xk|Xk-),其中Xk-=(X1,X2,…,Xk-1,Xk+1,…,XN)指代排除Xk的其他N-1维的随机向量,则可以从X的一个任意状态[x1(0),x2(0),…,xk(0)]开始,利用条件分布,对各分量依次迭代采样。随着采样次数增加,随机变量[x1(n),x2(n),…,xk(n)]将会以几何级数的速度收敛于联合分布P(X1,X2,…,XN)。在训练RBM的迭代过程中,可以设置一个收敛到模型分布的马尔可夫链,将其运行到平衡状态时,用马尔可夫链近似期望值。

使用Gibbs采样算法具有通用性好的优点,但是由于每次迭代中都需要马尔可夫链达到极限分布,而Gibbs采样收敛度缓慢,需要很长的时间,因此也限制了其应用。

3.2 变分方法

变分方法(variational approach)的基本思想是通过变分变换将概率推理问题转换为一个变分优化问题。对于比较困难的概率推理问题,对应的变分优化问题通常也缺乏有效的精确解法,但此时可以对变分优化问题进行适当的松弛,借助于迭代的方法,获得高效的近似解。在变分学习中,对每个训练样本可见单元向量v,用近似后验分布q(h|v,μ)替换隐藏单元向量上的真实后验分布p(h|v,θ),则RBM模型的对数似然函数有下面形式的变分下界:

(16)

其中H(・)为熵函数。

使用变分法的优势在于,它能够在实现最大化样本对数似然函数的同时,最小化近似后验分布与真实后验分布之间的K-L距离。若采用朴素平均场方法,选择完全可因式分解化的分布来近似真实后验分布:,其中q(hj=1)=μj,训练样本的对数似然函数的下界有如下的形式:

(17)

采用交替优化的方式,首先固定参数θ,最大化上式学习变分参数μ,得到不平均场不动点方程:

(18)

接下来,再给定变分参数μ,采用Gibbs采样法与模拟退火方法等其他方法更新模型参数θ。在实际使用中,使用变分方法能够很好地估计数据期望,但由于式(17)中的负号会改变变分参数,使得近似后验分布与真实后验分布的K-L距离增大,因此将其用来近似模型期望时不适用。

3.3 对比散度算法

对比散度(contrastive divergence, CD)学习方法由Hinton提出,能够有效地进行RBM学习,而且能够避免求取对数似然函数梯度的麻烦,因此在基于RBM构建的深度模型中广泛使用。CD算法使用估计的概率分布与真实概率分布之间K-L距离作为度量准则。在近似的概率分布差异度量函数上求解最小化。执行CD学习算法时,对每个批次的各训练样本运行n步Gibbs采样,使用得到的样本计算。则连接权重的CD梯度近似为:

(19)

其中pn为n步Gibbs采样后获得的概率分布。通常在使用中只需要取n=1即可以进行有效的学习,因此在使用中较为方便。但CD算法随着训练过程的进行与参数的增加,马尔可夫链的遍历性将会下降,此时算法对梯度的近似质量也会退化。

3.4 模拟退火算法(Simulated Annealing)

模拟退火算法是对Gibbs采样算法的改进,由于Gibbs采样收敛速度缓慢,因此模拟退火算法采用有索引温度参数的目标分布进行采样,其核心思想是模拟多个不同的温度并行运行多个MCMC链,每个MCMC链在一个有序序列温度ti上,且t0=1

4 结束语

随机深度神经网络的兴起,借助RBM来学习深层网络逐渐成为了研究的主流,作为深度网络的基础单元结构―RBM,也成为深度学习领域中的核心,它为人们解决各类问题提供了一种强有力的工具。本文对RBM的基本模型进行简要介绍,并对RBM的各种学习方法进行对比分析。目前RBM的各种学习算法仍各有利弊,尚未有满足各种场合要求的学习方法。因此,进一步研究如何有效减少计算复杂性,简化网络拓扑结构,以及快速有效的RBM学习方法仍将在深度学习模型中占据重要的地位。

参考文献:

[1] 李海峰,李纯果.深度学习结构和算法比较分析[J].河北大学学报(自

然科学版),2012.32(5):538-544

[2] Salakhutdinov R, Hinton G E. An efficient learning procedure for

deep Boltzmann machines[J]. Neural Computation,2012.24(8):1967-2006

[3] 孙志军,薛磊,许阳明,王正.深度学习研究综述[J].计算机应用研究,

2012.29(8):2806-2810.

[4] 郑胤,陈权峰,章毓晋.深度学习及其在目标和行为识别中的新进展[J].

中国图象图形学报,2014.19(2):175-184

[5] 程强,陈峰,董建武,徐文立.概率图模型中的变分近似推理方法[J].自

动化学报,2012.38(11):1721-1734

[6] Geoffrey E. Hinton,Simon Osindero,Yee-Whye T eh. A fast

learning algorithm for deep belief nets[J]. Neural Computation,2006.18(7):1527-1554

[7] Ruslan Salakhutdinov,Geoffrey Hinton. Deep Boltzmann Machines[J].

JMLR W&CP,2009.5:448-455

[8] 陈达,高升,蔺志青.基于受限波兹曼机的推荐算法研究[J].软件,

2013.34(12):156-159,185