0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一種基于能量模型的神經(jīng)網(wǎng)絡(luò)架構(gòu)受限玻爾茲曼機(jī)

nlfO_thejiangme ? 來(lái)源:未知 ? 作者:李倩 ? 2018-07-26 10:09 ? 次閱讀

受限玻爾茲曼機(jī)是一種基于能量模型的神經(jīng)網(wǎng)絡(luò)架構(gòu),雖然不像通常的卷積神經(jīng)網(wǎng)絡(luò)一樣被人熟知,但近年來(lái)在推薦系統(tǒng)中受到了越來(lái)越多的關(guān)注,在協(xié)同過(guò)濾推薦等領(lǐng)域表現(xiàn)出越來(lái)越重要的作用。在這篇文章中,我們將從基礎(chǔ)理論和基本結(jié)構(gòu)方面梳理受限玻爾茲曼機(jī)的原理,以便對(duì)受限玻爾茲曼機(jī)(RBM: Restricted Boltzmann Machine)有更深的了解。

最典型的受限玻爾茲曼機(jī)如下圖所示,在兩層簡(jiǎn)單的結(jié)構(gòu)中分布式的輸入的可見層(visible layer)和隱含層結(jié)構(gòu)。

和通常的前饋神經(jīng)網(wǎng)絡(luò)不同的是,受限玻爾茲曼機(jī)可以通過(guò)可見層的狀態(tài)預(yù)測(cè)對(duì)應(yīng)隱含層的狀態(tài),相反亦可以由隱含層預(yù)測(cè)可見層對(duì)應(yīng)單元的狀態(tài)。同時(shí),它與玻爾茲曼機(jī)不同在于同一層內(nèi)的單元之間沒有相互連接。

能量模型

為了更好地理解RBM是如何工作的,我們需要引入基于能量的模型來(lái)進(jìn)行解釋。在重力場(chǎng)中,不同高度的物體具有不同的重力勢(shì)能,我們可以利用能量來(lái)描述物體所具有潛在做功的能力?;谶@樣的啟發(fā),科學(xué)家們將這一觀點(diǎn)應(yīng)用到深度學(xué)習(xí)中,來(lái)度量模型質(zhì)量。

深度學(xué)習(xí)模型的目的之一便是對(duì)變量之間的依賴關(guān)系進(jìn)行編碼,將變量組合與一個(gè)標(biāo)量能量聯(lián)系起來(lái),而這一能量就作為模型能力的度量。通常情況下,較小的能量意味著更加合理的變量組合。所以基于能量的模型在訓(xùn)練過(guò)程中會(huì)不斷最小化事先定義好的能量函數(shù)從而實(shí)現(xiàn)變量間的最優(yōu)組合,RBM的能量函數(shù)定義為如下的形式:

可以看到能量函數(shù)與可見層、隱含層的狀態(tài)以及對(duì)應(yīng)的權(quán)重和偏置都有關(guān)系。RBM的訓(xùn)練過(guò)程就是最小化這一能量函數(shù)的過(guò)程。

概率模型

RBM同時(shí)也是一種典型的概率模型,模型中的狀態(tài)通過(guò)概率來(lái)表示。在每一個(gè)時(shí)間點(diǎn)上受限玻爾茲曼機(jī)的狀態(tài)由可見層和隱含層單元決定,其可被觀測(cè)到的狀態(tài)可由以下聯(lián)合概率分布來(lái)表示:

其中p為可見層和隱藏層的聯(lián)合概率分布函數(shù),Z為配分函數(shù),用于表示系統(tǒng)所有可能的狀態(tài)。這一聯(lián)合概率分布在物理上就是著名的玻爾茲曼分布——在給定能量E上粒子在某個(gè)狀態(tài)上被觀測(cè)到的概率。但由于Z中h和v的組合情況十分龐大,使得這一聯(lián)合概率分布難以計(jì)算,但幸運(yùn)的是對(duì)于對(duì)于給定隱含層或者可見層狀態(tài)下的概率卻是更加容易計(jì)算的:

需要注意的是在RBM中每一個(gè)單元都是0/1的二值狀態(tài),實(shí)際使用中通常會(huì)計(jì)算出每個(gè)單元處于1,也就是被激活的概率。在給定可見層v的條件下,隱含層單元j被激活的概率可以寫成下圖的表示,同樣給定隱含層的狀態(tài)下,可見層單元i的概率也可以被寫成下面的表示形式。

上式通過(guò)前述的條件概率推導(dǎo)得到,求得的值為對(duì)應(yīng)單元取1激活的概率。其中σ是Sigmoid函數(shù)。

訓(xùn)練

RBM的訓(xùn)練與通常神經(jīng)網(wǎng)絡(luò)的訓(xùn)練有很大的區(qū)別,研究人員們使用了吉布斯采樣(GibbsSampling)和對(duì)比散度(Contrastive Divergence,CD)兩個(gè)數(shù)學(xué)手段來(lái)對(duì)訓(xùn)練過(guò)程進(jìn)行處理。簡(jiǎn)單來(lái)說(shuō)吉布斯采樣利用了上述的條件概率公式,通過(guò)輸入v可以計(jì)算得到隱含層的條件概率h,隨后根據(jù)這一h反過(guò)來(lái)預(yù)測(cè)輸入層的值v,經(jīng)過(guò)k次迭代后的輸出vk分布將會(huì)收斂于v0的分布,從而得到了可見層的聯(lián)合概率。

為了更新權(quán)重,還需要計(jì)算出每次訓(xùn)練過(guò)后誤差,這時(shí)候就需要使用對(duì)比散度來(lái)進(jìn)行計(jì)算:

基于RBM的協(xié)同過(guò)濾系統(tǒng)

在推薦系統(tǒng)中RBM常常被用于識(shí)別數(shù)據(jù)的隱含因素。例如在電影推薦系統(tǒng)中,人們常常將不同的電影按照不同的潛在變量進(jìn)行分析,例如速度與激情會(huì)被歸并到動(dòng)作片里,而玩具總動(dòng)員和瓦力則會(huì)更多的包含皮克斯的因素。模型通過(guò)對(duì)用戶打分?jǐn)?shù)據(jù)進(jìn)行學(xué)習(xí),在多個(gè)循環(huán)后將得出用戶的個(gè)性化偏好以及用戶群體的整體偏好。

在電影推薦的例子中,受限玻爾茲曼機(jī)面對(duì)的數(shù)據(jù)是二進(jìn)制的0/1而不是連續(xù)的打分?jǐn)?shù)據(jù)。這意味著用于對(duì)于電影的評(píng)價(jià)要么是喜歡(1)要么是不喜歡(0)。這些評(píng)價(jià)值作為輸入層/可見層被送入模型。在給定的數(shù)據(jù)下,RBM會(huì)發(fā)掘數(shù)據(jù)中能解釋用戶偏好的隱含因素,并在隱含層中用不同的單元表示出來(lái)。

圖中是一個(gè)用戶對(duì)于幾部電影評(píng)分的簡(jiǎn)單例子,其中霍比特人由于用戶沒有評(píng)分,數(shù)據(jù)中使用-1來(lái)標(biāo)注,由于電影的數(shù)量龐大,某個(gè)用戶只對(duì)小部分電影進(jìn)行了評(píng)價(jià),需要告訴模型哪些是沒有用戶評(píng)價(jià)的輸入從而可以忽略這些因素的影響。

上圖就對(duì)應(yīng)了給定可見層狀態(tài),求出隱含層單元激活概率的情況。圖中可以看出只有Fantasy類型是被激活的,在給定用戶評(píng)分的情況下,RBM正確地識(shí)別出這一用戶喜歡的類型更多的偏向于科幻電影。

在另一種情況下,在知道了用戶的偏好后(hidden),如果要為用戶推薦電影(visible)就可以利用已知隱含層求得可見層單元被激活的條件概率,從而為用戶推薦偏好類型的電影。

上圖中可以看到,RBM計(jì)算出被激活的電影除了輸入數(shù)據(jù)中指環(huán)王和哈利波特,還為用戶推薦了原來(lái)沒有看過(guò)的霍比特人。模型認(rèn)為喜歡科幻的用戶很有可能也喜歡霍比特人。

總結(jié)來(lái)看,在推薦系統(tǒng)中使用RBM主要分為以下幾個(gè)步驟:

1.在所有用戶數(shù)據(jù)上訓(xùn)練模型;

2.使用特定用戶的數(shù)據(jù)來(lái)進(jìn)行預(yù)測(cè);

3.得到隱含層的激活情況;

4.基于隱含層的激活來(lái)計(jì)算輸出層的激活情況;

5.可見層的新激活單元表示了用戶對(duì)未看過(guò)的電影/節(jié)目/音樂(lè)的評(píng)價(jià),并選取其中大概率的激活單元向用戶推薦。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:簡(jiǎn)單明了地告訴你不明覺厲的「受限玻爾茲曼機(jī)」到底是個(gè)啥?

文章出處:【微信號(hào):thejiangmen,微信公眾號(hào):將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    多層感知機(jī)神經(jīng)網(wǎng)絡(luò)的區(qū)別

    (Feedforward Neural Networks)的一種基礎(chǔ)且廣泛使用的模型。以下將從多個(gè)方面詳細(xì)闡述多層感知機(jī)神經(jīng)網(wǎng)絡(luò)之間的區(qū)別與聯(lián)系。
    的頭像 發(fā)表于 07-11 17:23 ?2028次閱讀

    rnn是什么神經(jīng)網(wǎng)絡(luò)模型

    RNN(Recurrent Neural Network,循環(huán)神經(jīng)網(wǎng)絡(luò))是一種具有循環(huán)結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型,它能夠處理序列數(shù)據(jù),并對(duì)序列中的元素進(jìn)行建模。RNN在自然語(yǔ)言處理、語(yǔ)音識(shí)別、
    的頭像 發(fā)表于 07-05 09:50 ?627次閱讀

    人工神經(jīng)網(wǎng)絡(luò)模型包含哪些層次

    人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)是一種模擬人腦神經(jīng)網(wǎng)絡(luò)的計(jì)算模型,具有自適應(yīng)、自學(xué)習(xí)、泛化能力強(qiáng)等特點(diǎn)。本文將詳細(xì)介紹人工
    的頭像 發(fā)表于 07-05 09:17 ?620次閱讀

    人工神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的基本原理

    圖像識(shí)別、語(yǔ)音識(shí)別、自然語(yǔ)言處理等。本文將介紹人工神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的基本原理。 1. 神經(jīng)網(wǎng)絡(luò)的基本概念 1.1 神經(jīng)神經(jīng)元是
    的頭像 發(fā)表于 07-05 09:16 ?694次閱讀

    人工神經(jīng)網(wǎng)絡(luò)模型的分類有哪些

    人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks, ANNs)是一種模擬人腦神經(jīng)元網(wǎng)絡(luò)的計(jì)算模型,它在許多領(lǐng)域,如圖像識(shí)別、語(yǔ)音識(shí)別、自然語(yǔ)言處理、預(yù)測(cè)分析等有著廣泛
    的頭像 發(fā)表于 07-05 09:13 ?1259次閱讀

    人工神經(jīng)網(wǎng)絡(luò)模型一種什么模型

    人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,簡(jiǎn)稱ANNs)是一種受生物神經(jīng)網(wǎng)絡(luò)啟發(fā)而產(chǎn)生的數(shù)學(xué)模型,用于模擬人腦處理信息的方式。它由大量的節(jié)點(diǎn)(或稱為
    的頭像 發(fā)表于 07-04 16:57 ?973次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)和bp神經(jīng)網(wǎng)絡(luò)的區(qū)別

    不同的神經(jīng)網(wǎng)絡(luò)模型,它們?cè)诮Y(jié)構(gòu)、原理、應(yīng)用等方面都存在定的差異。本文將從多個(gè)方面對(duì)這兩神經(jīng)網(wǎng)絡(luò)進(jìn)行詳細(xì)的比較和分析。 引言
    的頭像 發(fā)表于 07-02 14:24 ?4267次閱讀

    數(shù)學(xué)建模神經(jīng)網(wǎng)絡(luò)模型的優(yōu)缺點(diǎn)有哪些

    數(shù)學(xué)建模神經(jīng)網(wǎng)絡(luò)模型一種基于人工神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)建模方法,它通過(guò)模擬人腦神經(jīng)元的連接和信息傳遞機(jī)制,對(duì)復(fù)雜系統(tǒng)進(jìn)行建模和分析。
    的頭像 發(fā)表于 07-02 11:36 ?931次閱讀

    神經(jīng)網(wǎng)絡(luò)模型的原理、類型及應(yīng)用領(lǐng)域

    數(shù)學(xué)建模神經(jīng)網(wǎng)絡(luò)模型一種基于人工神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)建模方法,它通過(guò)模擬人腦神經(jīng)元的工作機(jī)制,實(shí)現(xiàn)對(duì)復(fù)雜問(wèn)題的建模和求解。
    的頭像 發(fā)表于 07-02 11:31 ?1174次閱讀

    神經(jīng)網(wǎng)絡(luò)在數(shù)學(xué)建模中的應(yīng)用

    數(shù)學(xué)建模是一種利用數(shù)學(xué)方法和工具來(lái)描述和分析現(xiàn)實(shí)世界問(wèn)題的過(guò)程。神經(jīng)網(wǎng)絡(luò)一種模擬人腦神經(jīng)元結(jié)構(gòu)和功能的計(jì)算模型,可以用于解決各種復(fù)雜問(wèn)題。
    的頭像 發(fā)表于 07-02 11:29 ?978次閱讀

    基于神經(jīng)網(wǎng)絡(luò)算法的模型構(gòu)建方法

    神經(jīng)網(wǎng)絡(luò)一種強(qiáng)大的機(jī)器學(xué)習(xí)算法,廣泛應(yīng)用于各種領(lǐng)域,如圖像識(shí)別、自然語(yǔ)言處理、語(yǔ)音識(shí)別等。本文詳細(xì)介紹了基于神經(jīng)網(wǎng)絡(luò)算法的模型構(gòu)建方法,包括數(shù)據(jù)預(yù)處理、
    的頭像 發(fā)表于 07-02 11:21 ?568次閱讀

    人工神經(jīng)網(wǎng)絡(luò)模型及其應(yīng)用有哪些

    人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,ANNs)是一種受生物神經(jīng)網(wǎng)絡(luò)啟發(fā)的計(jì)算模型,它通過(guò)模擬人腦神經(jīng)元的連接
    的頭像 發(fā)表于 07-02 10:04 ?1091次閱讀

    神經(jīng)網(wǎng)絡(luò)架構(gòu)有哪些

    神經(jīng)網(wǎng)絡(luò)架構(gòu)是機(jī)器學(xué)習(xí)領(lǐng)域中的核心組成部分,它們模仿了生物神經(jīng)網(wǎng)絡(luò)的運(yùn)作方式,通過(guò)復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)信息的處理、存儲(chǔ)和傳遞。隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,各種
    的頭像 發(fā)表于 07-01 14:16 ?730次閱讀

    GRU是什么?GRU模型如何讓你的神經(jīng)網(wǎng)絡(luò)更聰明 掌握時(shí)間 掌握未來(lái)

    模型是指遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network),是一種常用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)架構(gòu)。與傳統(tǒng)的前饋
    發(fā)表于 06-13 11:42 ?1801次閱讀
    GRU是什么?GRU<b class='flag-5'>模型</b>如何讓你的<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>更聰明 掌握時(shí)間 掌握未來(lái)

    助聽器降噪神經(jīng)網(wǎng)絡(luò)模型

    抑制任務(wù)是語(yǔ)音增強(qiáng)領(lǐng)域的個(gè)重要學(xué)科, 隨著深度神經(jīng)網(wǎng)絡(luò)的興起,提出了幾種基于深度模型的音頻處理新方法[1,2,3,4]。然而,這些通常是為離線處理而開發(fā)的,不需要考慮實(shí)時(shí)性。當(dāng)使用神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 05-11 17:15