深度波爾茨曼機(DBM)

2021-10-21 15:43:02 字數 2243 閱讀 3082

1.在受限波爾茨曼機(rbm)基礎上直接疊加會變成深度信念網路(dbn)

2.深度波爾茨曼機(dbm)是把有向圖部分變為無向圖的dbn

3.求解dbm採取隨機梯度上公升法

模型介紹

波爾茨曼機(boltzmann machine)是深度學習很重要的一種系列模型。在概率圖模型中,我們介紹了受限波爾茨曼機(rbm)的模型表示,之後在深度學習開篇不久給出了其learning問題的一種解法。

接著我們嘗試在rbm基礎上做迭加——深度信念網路(dbn),在是貝葉斯網路與馬爾科夫網路的混合模型。

傳送門:受限波爾茨曼機(rbm)、rbm的learning問題、深度信念網路(dbn)

今天我們來介紹深度波爾茨曼機英文是deep boltzmann machine,簡稱dbm。我們會介紹它的模型表示,以及模型的learning問題,包括模型預訓練和隨機梯度解法,其中,隨機梯度法適用一般的波爾茨曼機。

深度波爾茨曼機是在受限波爾茨曼機的基礎上加入多層,它的概率圖模型可以表示如下:

節點的設定與受限波爾茨曼機一致,這裡不再贅述。

模型預訓練

先來看兩個rbm如何做疊加。對於下面兩個rbm,v是唯一的觀測資料(樣本資料),隱變數都是我們假定的:

對於第乙個rbm(包含觀測變數),其邊緣概率分布與權重w1有關:

當我們學習出權重w,對於隱藏層h1,我們利用取樣方法得到樣本

根據取樣樣本作為第二個rbm的資料,學習得到w2,此時隱藏層h1也可以用w2表示:

dbn是一種有向圖,根據sbn的演算法我們知道,dbn的h1是用w2表示。對於dbm,我們知道:

真實的h1既跟w1有關,也跟w2有關。只用w1或w2表示有失偏頗。我們應該綜合兩者去表示p(h1)。

總結來說,h1的邊緣概率分布應該用如下兩個式子綜合表達

採取蒙特卡洛方法近似:

如果直接把兩者相加用以表示p(h1),會造成double counting problem,使得所表達的分布過於sharp(鋒利),偏差很大。

最簡單的解決辦法是w1與w2取半。但對於第一層和最後一層會有問題,因為它們只有乙個方向連線。因此,對上下最頂層複製乙份,形成改造後的rbm

求解dbm採取隨機梯度上公升法,它通過將目標函式分解為正相負相(在介紹直面配分函式有介紹)兩部分進行求解。這裡我們不展開詳細介紹。這一點到後面高階篇介紹波爾茨曼機時候再介紹,因為跟普通的波爾茨曼機差不多。

受限的波爾茲曼機的簡單了解知識

如果萬一大家不小心檢索到了本篇文章,為了不浪費大家的時間,請大家直接看 寫在很好,太好好好!本篇內容僅僅用於我的自我複習 它長這樣子 它的特點 在給定可見層單元狀態 輸入資料 時,各隱層單元的啟用條件獨立,反過來看,在給定隱層單元狀態時,可見層單元的啟用條件也是獨立的。其中的引數 可見層用v表示,隱...

受限玻爾茲曼機與深度信念網路

rbm是無監督學習模型,有兩個層的淺層神經網路,乙個可見層,乙個隱藏層,是一種用於降維 分類 回歸 協同過濾 特徵學習和主題建模的演算法,它是組成深度置信網路的基礎部件。rbm的結構如下所示 rbm的 前向運算 圖 1r bm的前 向運算可見層的狀態向量 v v1,v2,v nv t v v1,v ...

keras 受限玻爾茲曼機 深度學習 從理論到實踐

深度學習的概念已經非常火,並廣泛應用在計算機視覺 自然語言處理等人工智慧領域中。為什麼深度學習在諸多領域應用中的表現,遠超傳統的機器學習方法?它的原理到底是什麼呢?課程講師 宮老師,中國科學院自動化研究所博士,模式識別與智慧型系統專業,在計算機視覺與人工智慧領域具有近六年的研究經歷。攻讀博士學位期間...