官术网_书友最值得收藏!

1.2.5 玻爾茲曼機(jī)

玻爾茲曼機(jī)屬于另一種顯式概率模型,是一種基于能量的模型。訓(xùn)練玻爾茲曼機(jī)同樣需要基于極大似然的思想,但在計(jì)算極大似然梯度時(shí),還需要運(yùn)用一種不同于變分法的近似算法。玻爾茲曼機(jī)已經(jīng)較少引起關(guān)注,故在此我們只簡述。

在能量模型中,通常將樣本的概率p(x)建模成如下形式:

其中,Z=為配分函數(shù)。為了增強(qiáng)模型的表達(dá)能力,通常會在可見變量v的基礎(chǔ)上增加隱變量h,以最簡單的受限玻爾茲曼機(jī)(RBM)為例,RBM中的可見變量和隱變量均為二值離散隨機(jī)變量(當(dāng)然也可推廣至實(shí)值)。它定義了一個(gè)無向概率圖模型,并且為二分圖,其中可見變量v組成一部分,隱藏變量h組成另一部分,可見變量之間不存在連接,隱藏變量之間也不存在連接(“受限”即來源于此),可見變量與隱藏變量之間實(shí)行全連接,結(jié)構(gòu)如圖1-14所示。

圖1-14 受限玻爾茲曼機(jī)結(jié)構(gòu)圖

在RBM中,可見變量和隱藏變量的聯(lián)合概率分布由能量函數(shù)給出,即

其中能量函數(shù)的表達(dá)式為:

配分函數(shù)Z可寫為:

考慮到二分圖的特殊結(jié)構(gòu),當(dāng)隱藏變量已知時(shí),可見變量之間彼此獨(dú)立;當(dāng)可見變量已知時(shí),隱藏變量之間也彼此獨(dú)立,即有以及pv|h=,進(jìn)一步地,我們可得到離散概率的具體表達(dá)式:

為了使RBM與能量模型有一致的表達(dá)式,定義可見變量v的自由能f(v)為:

其中hi為第i個(gè)隱藏變量,此時(shí)可見變量的概率為:

配分函數(shù)Z。使用極大似然法訓(xùn)練RBM模型時(shí),我們需要計(jì)算似然函數(shù)的梯度,記模型的參數(shù)為θ,則

可以看出,RBM明確定義了可見變量的概率密度函數(shù),但它并不易求解,因?yàn)橛?jì)算配分函數(shù)Z時(shí)需要對所有的可見變量v和隱藏變量h求積分,所以無法直接求解對數(shù)似然函數(shù)logp(v),故無法直接使用極大似然的思想訓(xùn)練模型。但是,若跳過對數(shù)似然函數(shù)的求解而直接求解對數(shù)似然函數(shù)的梯度,也可完成模型的訓(xùn)練。對于θ中的權(quán)值、偏置參數(shù)有

分析其梯度表達(dá)式,其中不易計(jì)算的部分在于對可見變量v的期望的計(jì)算。RBM通過采樣的方法來對梯度進(jìn)行近似,然后使用近似得到的梯度進(jìn)行權(quán)值更新。為了采樣得到可見變量v,我們可以構(gòu)建一個(gè)馬爾可夫鏈并使其最終收斂到pv),即設(shè)置馬爾可夫鏈的平穩(wěn)分布為pv)。初始隨機(jī)給定樣本,迭代運(yùn)行足夠次數(shù)后達(dá)到平穩(wěn)分布,這時(shí)可根據(jù)轉(zhuǎn)移矩陣從分布pv)連續(xù)采樣得到樣本。我們可使用吉布斯采樣方法完成該過程,由于兩部分變量的獨(dú)立性,當(dāng)可見變量(或隱藏變量)固定時(shí),隱藏變量(可見變量)的分布分別為hn+1)~sigmoid(WTvn+c)和vn+1)~sigmoid(Whn+1)+b),即先采樣得到隱藏變量,再采樣得到可見變量,這樣,我們便可以使用“隨機(jī)極大似然估計(jì)法”完成生成模型的訓(xùn)練了。

玻爾茲曼機(jī)依賴馬爾可夫鏈來訓(xùn)練模型或者使用模型生成樣本,但是這種技術(shù)現(xiàn)在已經(jīng)很少使用了,這很可能是因?yàn)轳R爾可夫鏈近似技術(shù)不能被適用于樣本維度較大的生成問題。并且,即便馬爾可夫鏈方法可以很好地用于訓(xùn)練,但是使用一個(gè)基于馬爾可夫鏈的模型生成樣本需要花費(fèi)很大的計(jì)算代價(jià)。

受限玻爾茲曼機(jī)[8]的核心代碼如下所示:

主站蜘蛛池模板: 岳普湖县| 广东省| 三亚市| 晴隆县| 玉屏| 青冈县| 香格里拉县| 九江县| 陵川县| 买车| 平果县| 阳江市| 佛教| 宜黄县| 五峰| 上栗县| 湟源县| 松潘县| 雅安市| 南宫市| 封丘县| 阳新县| 丹巴县| 保靖县| 龙南县| 康保县| 剑河县| 罗山县| 武宣县| 广州市| 徐州市| 平乐县| 北票市| 藁城市| 新晃| 山西省| 翼城县| 宁蒗| 南投市| 拉孜县| 通州市|