受限制玻爾茲曼機(RBM)的能量函數及其梯度求解
在前面的一篇文章 受限制玻爾茲曼機(Restricted Bolzmann Machine)以及自編碼器(Autoencoder)中我們提到了RBM的能量函數這一概念以及對比散度(CD)的快速採樣的訓練方法,但我一直糾結與為何Hinton大神能夠從能量函數和Gibbs Sampling中獲得CD-k採樣演算法,兩個式子看似沒有關聯。於是我花了幾天的時間,終於對RBM這個結構有了更深一步的了解。
From: Ph0en1x Notebook
一、能量函數與概率分布
之前講到受限制玻爾茲曼機時,我們提到,RBM是由一個可見層(visible, v)與隱藏層(hiddenm, h)組成,如下圖,W在物理中表示系統內部能量轉換,比如分子間碰撞產生的能量傳遞,同時有a, b兩個偏置項,在物理中表示外來因素的影響,與外界的能量交換:
能量函數的定義是:
用矩陣來表示就是
能量函數具體的含義涉及物理領域,在本文不會具體介紹,具體請閱讀Ising Model的相關文章,本文具體介紹如何從能量函數中推倒出Gibbs Sampling和CD-k
v, h聯合概率分布是
其中Z是所有[v, h]對對應的能量的總和,稱為歸一化因子或配分函數(Partition Function)
v與h的邊緣概率分布如下
條件分布
同理
由於RBM層內無連接,所以同一層內的變數還具有相互獨立性,即
二、對數似然函數
上面定義了那麼多,然而要開始正式的梯度優化,我們還差一個優化目標,現在就要正式地定義損失函數:
之前曾經提到過,受限制玻爾茲曼機的訓練目的是讓原始數據的分布得到最大的保留,用最大似然估計來表示就是讓P(v)
最大。採用對數似然函數,則式子如下:
對參數求梯度:
所以只要能求得
就可以求出最終的梯度,RBM每層有W, a, b三個不同的參數,則需要分別對三個參數分別求導:
- W
- b與W的推導過程類似,結果為:
- a的推導更加的簡單
把上面三個式子帶回到梯度的公式中,就可以得到
這就是Gibbs採樣和CD-k採樣的來源,只是採用了不同的估計方法來確定概率分布。
推薦閱讀:
※人類壯陽簡史
※我為什麼要寫《自然規律的探索之旅》
※地心溫度為什麼如此之高?
※動物界這麼多同性戀 是雌雄比例懸殊導致的嗎?
※八個宇宙秘密(最好的算命風水)