陸萍 陳志峰 施連敏
摘 要: 隨著深度學習在模型、算法與理論上的突破性進展,以玻爾茲曼機為基礎(chǔ)的各類深度模型近年來在目標識別與自然語言處理等諸多領(lǐng)域得到廣泛應(yīng)用。概述了玻爾茲曼機的相關(guān)概念,分析了受限玻爾茲曼機模型所具有的優(yōu)勢。對RBM中的學習方法進行了詳細的描述,對應(yīng)用最為廣泛的受限玻爾茲曼機的幾種典型學習算法進行了對比,并指出學習算法的研究在未來仍將是深度學習中的一項核心問題。
關(guān)鍵詞: 受限玻爾茲曼機; 深度模型; 隱藏單元; 學習方法
中圖分類號: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)作為機器學習中新興的代表,由于其具有能夠處理大規(guī)模的數(shù)據(jù)、自動提取有意義的特征、完成數(shù)以百萬計的自由參數(shù)的學習等諸多淺層模型所無法匹敵的能力,而受到各領(lǐng)域的廣泛關(guān)注。目前深度學習模型已經(jīng)被逐漸應(yīng)用于圖像分類、目標識別、自然語言處理、數(shù)據(jù)挖掘等各類應(yīng)用中。當前的深度模型,如深度信念網(wǎng)絡(luò)(deep belief net,DBN)、深度玻爾茲曼機(deep Boltzmann machine, DBM)等均采用的是由受限玻爾茲曼機(restricted Boltzmann machine,RBM)堆疊而成。在RBM中,可見層各單元之間與隱藏層各單元之間無連接的拓樸結(jié)構(gòu)使得其模型相對簡單,參數(shù)學習相對容易,因此使用RBM作為構(gòu)建深度模型的基礎(chǔ)結(jié)構(gòu)單元成為研究人員的最佳選擇。雖然深度學習模型還有堆疊自動編碼器(stacked auto encoders)、卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural net,CNN)等,但由于以RBM為核心的結(jié)構(gòu)在深度模型中占據(jù)著核心的地位,因此本文主要關(guān)注于RBM的模型結(jié)構(gòu)與其中的學習方法。
1 玻爾茲曼機概述
1.1 玻爾茲曼機
玻爾茲曼機(Boltzmann machine, BM)是源于物理學的一種基于能量函數(shù)的建模方法,能夠描述變量的高層相互作用。雖然BM中學習算法復(fù)雜,但其模型與算法有完備的物理解釋與數(shù)理統(tǒng)計理論基礎(chǔ)。Hinton與Sejnowski最早將BM模型引入人工神經(jīng)網(wǎng)絡(luò)中,用于自動提取數(shù)據(jù)的內(nèi)在特征表示。將BM作為單層反饋網(wǎng)絡(luò)時,具有與Hopfield網(wǎng)絡(luò)類似的對稱權(quán)值,且每個單元與自已無連接。網(wǎng)絡(luò)由可見層與隱藏層組成,對應(yīng)的網(wǎng)絡(luò)節(jié)點也可以分為可見單元(visible unit)與隱藏單元(hidden unit),每個單元不存在自回路,圖1給出了BM的示意圖。
圖1 BM模型結(jié)構(gòu)示意圖
由于其中樣本分布服從玻爾茲曼分布故命名為BM ,BM由二值單元構(gòu)成,各單元的狀態(tài)隨機,且只可取0或1兩種狀態(tài),1指代單元處于激活(on)狀態(tài),0則指代此單元處于斷開(off)狀態(tài)。由于每個單元僅有2種狀態(tài)si={0,1},因此網(wǎng)絡(luò)的總的能量函數(shù)為:
⑴
其中wij為神經(jīng)元i與j之間的連接權(quán)重,θi為神經(jīng)元i的閾值。神經(jīng)元i狀態(tài)為0與1所產(chǎn)生的能量的差值則可表示為:
⑵
si=1的概率為:
⑶
其中T為系統(tǒng)的溫度。相應(yīng)的,si=0的概率則為:
⑷
由式(3)/式(4)可得:
⑸
進一步將上式推廣到網(wǎng)絡(luò)中任意兩個全局狀態(tài)α與β,有:
⑹
此即為玻爾茲曼分布的表達式。
1.2 受限玻爾茲曼機
由于BM的模型結(jié)構(gòu)復(fù)雜,學習時間很長,而且無法確切地計算BM所表示的分布,甚至獲得BM表示分布的隨機樣本也非常困難。為此,Smolensky提出了受限玻爾茲曼機(restricted Boltzmann machine, RBM)模型,其結(jié)構(gòu)如圖2所示。與一般BM相比,RBM具有更優(yōu)的性質(zhì):在給定可見層單元輸入時,各隱藏層單元的激活條件獨立;反之亦然。這樣盡管RBM所表示的分布仍無法有效計算,但卻可以通過Gibbs采樣獲得服從RBM分布的隨機樣本。
圖2 RBM模型結(jié)構(gòu)示意圖
RBM也可以被看作為一個無向圖(undirected graph)模型,其中v為可見層,用于表示輸入數(shù)據(jù),h為隱藏層,可以看作為特征提取器,W為兩層間對稱的連接權(quán)重。若一個RBM中可見層單元數(shù)為n,隱藏層單元數(shù)為m,用向量V與h分別表示可見層與隱藏層的狀態(tài),當狀態(tài)(v,h)給定時,與BM類似,則RBM中的能量定義為:
⑺
其中wij為可見單元i與隱藏單元j之間的連接權(quán)重,ai為可見單元i的偏置,bj為隱藏單元j的偏置。θ={wij,ai,bj}指代RBM中所有參數(shù)集。當θ確定時,則可根據(jù)式⑺的能量函數(shù)獲得(v,h)的聯(lián)合概率為:
⑻
其中z(θ)為保證P(v,h|θ)成為概率分布的歸一化項,也稱為劃分函數(shù)。若可見單元服從某種概率分布,根據(jù)RBM的給定可見單元時各隱藏單元激活狀態(tài)獨立的條件,可獲得隱藏單元為1的條件概率為:
⑼
同理,若令隱藏單元服從某種概率分布,可見單元向量v為1的條件概率分布為:
(10)
因此可以獲得在給定可見單元向量v時隱藏單元j的條件概率及給定隱藏單元向量h時可見單元i為1的條件概率分布為:
(11)
其中,為sigmoid激活函數(shù)。
2 RBM中的學習
為了學習RBM中的參數(shù)集θ,以擬合給定的訓(xùn)練數(shù)據(jù),可以通過最大化RBM在訓(xùn)練集上的對數(shù)似然函數(shù)而獲得,假設(shè)訓(xùn)練集中樣本數(shù)為T,有:
(12)
這樣獲得最優(yōu)的參數(shù)θ*則可以采用隨機梯度上升法求得使的最大值,為此,對logP(v(t)|θ)求參數(shù)θ的偏導(dǎo)數(shù)有:
(13)
其中為求關(guān)于分布P的數(shù)學期望。由于訓(xùn)練樣本已知,所以上式中前一項期望易求得,但對于P(h,v|θ)需要求得隱藏單元與可見單元的聯(lián)合分布,由于劃分函數(shù)Z(θ)的存在,無法直接計算,而只能采用一些采樣方法獲得其近似值。若分別用與指代P(h|v(t),θ)和P(h,v|θ)分布,則對式(13)中關(guān)于連接權(quán)重Wij,可見單元偏置ai和隱藏單元偏置bj的偏導(dǎo)數(shù)分別為:
(14)
RBM的學習過程可以分為正階段與負階段兩個步驟。在正階段,可見單元狀態(tài)取訓(xùn)練輸入樣本值,經(jīng)采樣得到隱藏單元。在負階段中,從當前模型采樣得到可見單元與隱藏單元狀態(tài),重建可見單元狀態(tài)。BM的學習即通過調(diào)節(jié)連接權(quán)重,使得模型定義的概率分布P-(va)與訓(xùn)練樣本集定義的概率P+(va)一致,如果采用K-L散度度量兩個概率的近似程度:
(15)
當且僅當P+(va)=P-(va)時,G=0,即兩個分布完全一致。這樣可以通過不斷調(diào)節(jié)連接權(quán)重來使模型確定的概率分布與數(shù)據(jù)概率分布的K-L散度盡可能接近。RBM的學習步驟如下:
⑴ 隨機設(shè)定網(wǎng)絡(luò)的初始連接權(quán)重wij(0)與初始高溫;
⑵ 按照已知概率P(va)依次給定訓(xùn)練樣本,在訓(xùn)練樣本的約束下按照SA算法運行網(wǎng)絡(luò)到平衡狀態(tài),統(tǒng)計,同樣在無約束條件下按同樣的步驟運行網(wǎng)絡(luò)相同次數(shù),統(tǒng)計;
⑶ 修改各個連接權(quán)重:wij(k+1)=wij(k)+Δwij。
重復(fù)上面的步驟,直到-小于某個閾值,獲得合適的權(quán)重。
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的聯(lián)合分布P(X1,X2,…,XN)非常困難,但如果可以在給定其他分量時,求得第k個分量的條件分布P(Xk|Xk-),其中Xk-=(X1,X2,…,Xk-1,Xk+1,…,XN)指代排除Xk的其他N-1維的隨機向量,則可以從X的一個任意狀態(tài)[x1(0),x2(0),…,xk(0)]開始,利用條件分布,對各分量依次迭代采樣。隨著采樣次數(shù)增加,隨機變量[x1(n),x2(n),…,xk(n)]將會以幾何級數(shù)的速度收斂于聯(lián)合分布P(X1,X2,…,XN)。在訓(xùn)練RBM的迭代過程中,可以設(shè)置一個收斂到模型分布的馬爾可夫鏈,將其運行到平衡狀態(tài)時,用馬爾可夫鏈近似期望值。
使用Gibbs采樣算法具有通用性好的優(yōu)點,但是由于每次迭代中都需要馬爾可夫鏈達到極限分布,而Gibbs采樣收斂度緩慢,需要很長的時間,因此也限制了其應(yīng)用。
3.2 變分方法
變分方法(variational approach)的基本思想是通過變分變換將概率推理問題轉(zhuǎn)換為一個變分優(yōu)化問題。對于比較困難的概率推理問題,對應(yīng)的變分優(yōu)化問題通常也缺乏有效的精確解法,但此時可以對變分優(yōu)化問題進行適當?shù)乃沙?,借助于迭代的方法,獲得高效的近似解。在變分學習中,對每個訓(xùn)練樣本可見單元向量v,用近似后驗分布q(h|v,μ)替換隱藏單元向量上的真實后驗分布p(h|v,θ),則RBM模型的對數(shù)似然函數(shù)有下面形式的變分下界:
(16)
其中H(·)為熵函數(shù)。
使用變分法的優(yōu)勢在于,它能夠在實現(xiàn)最大化樣本對數(shù)似然函數(shù)的同時,最小化近似后驗分布與真實后驗分布之間的K-L距離。若采用樸素平均場方法,選擇完全可因式分解化的分布來近似真實后驗分布:,其中q(hj=1)=μj,訓(xùn)練樣本的對數(shù)似然函數(shù)的下界有如下的形式:
(17)
采用交替優(yōu)化的方式,首先固定參數(shù)θ,最大化上式學習變分參數(shù)μ,得到不平均場不動點方程:
(18)
接下來,再給定變分參數(shù)μ,采用Gibbs采樣法與模擬退火方法等其他方法更新模型參數(shù)θ。在實際使用中,使用變分方法能夠很好地估計數(shù)據(jù)期望,但由于式(17)中的負號會改變變分參數(shù),使得近似后驗分布與真實后驗分布的K-L距離增大,因此將其用來近似模型期望時不適用。
3.3 對比散度算法
對比散度(contrastive divergence, CD)學習方法由Hinton提出,能夠有效地進行RBM學習,而且能夠避免求取對數(shù)似然函數(shù)梯度的麻煩,因此在基于RBM構(gòu)建的深度模型中廣泛使用。CD算法使用估計的概率分布與真實概率分布之間K-L距離作為度量準則。在近似的概率分布差異度量函數(shù)上求解最小化。執(zhí)行CD學習算法時,對每個批次的各訓(xùn)練樣本運行n步Gibbs采樣,使用得到的樣本計算。則連接權(quán)重的CD梯度近似為:
(19)
其中pn為n步Gibbs采樣后獲得的概率分布。通常在使用中只需要取n=1即可以進行有效的學習,因此在使用中較為方便。但CD算法隨著訓(xùn)練過程的進行與參數(shù)的增加,馬爾可夫鏈的遍歷性將會下降,此時算法對梯度的近似質(zhì)量也會退化。
3.4 模擬退火算法(Simulated Annealing)
模擬退火算法是對Gibbs采樣算法的改進,由于Gibbs采樣收斂速度緩慢,因此模擬退火算法采用有索引溫度參數(shù)的目標分布進行采樣,其核心思想是模擬多個不同的溫度并行運行多個MCMC鏈,每個MCMC鏈在一個有序序列溫度ti上,且t0=1 4 結(jié)束語 隨機深度神經(jīng)網(wǎng)絡(luò)的興起,借助RBM來學習深層網(wǎng)絡(luò)逐漸成為了研究的主流,作為深度網(wǎng)絡(luò)的基礎(chǔ)單元結(jié)構(gòu)—RBM,也成為深度學習領(lǐng)域中的核心,它為人們解決各類問題提供了一種強有力的工具。本文對RBM的基本模型進行簡要介紹,并對RBM的各種學習方法進行對比分析。目前RBM的各種學習算法仍各有利弊,尚未有滿足各種場合要求的學習方法。因此,進一步研究如何有效減少計算復(fù)雜性,簡化網(wǎng)絡(luò)拓撲結(jié)構(gòu),以及快速有效的RBM學習方法仍將在深度學習模型中占據(jù)重要的地位。 參考文獻: [1] 李海峰,李純果.深度學習結(jié)構(gòu)和算法比較分析[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].計算機應(yīng)用研究, 2012.29(8):2806-2810. [4] 鄭胤,陳權(quán)峰,章毓晉.深度學習及其在目標和行為識別中的新進展[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