1. 程式人生 > >RBM(受限玻爾茲曼機)和深層信念網絡(Deep Brief Network)

RBM(受限玻爾茲曼機)和深層信念網絡(Deep Brief Network)

例如 sha 目標 監督學習 怎麽 繼續 定義 再次 rbm

目錄:

  • 一、RBM

  • 二、Deep Brief Network

  • 三、Deep Autoencoder

一、RBM

1、定義【無監督學習】

RBM記住三個要訣:1)兩層結構圖,可視層和隱藏層;【沒輸出層】2)層內無連接,層間全連接;3)二值狀態值,前向反饋和逆向傳播求權參。定義如下:

一般來說,可見層單元用來描述觀察數據的一個方面或一個特征,而隱藏層單元的意義一般來說並不明確,可以看作特征提取層。

比較通俗解釋RBM的博客:https://blog.csdn.net/u013631121/article/details/76652647

玻爾茲曼機的模型,它一共有兩層:如下圖,下邊4個圈為可見層【即輸入層】,上面3個圈為隱藏層。雙向箭頭【因為前向傳播和後向傳播,無監督學習】

技術分享圖片

前向傳播:

  • b為偏置,如左上角的圈計算:y1=x1*w11+x2*w21+x3*w31+x4*w41+b1。將y1,y2,y3求出,加上激活函數即可。

  • a為偏置。通過算出來的y1,y2,y3再回求一遍x1~x4。為了方便區分,回求的值我們叫做x‘1~x’4。舉個例子求x‘1,把隱含層3個數據與權值相乘,之後把偏置量a1給加上就完事兒了,公式寫作x1=y1*w11+y2*w12+y3*w13+a1。其余3個也按照這個方式求出。
  • 求完x‘1~x’4後用x‘1~x’4對隱含層再次求一遍值,得到y‘1~y‘3三個數。

技術分享圖片

反向傳播:

目標函數:我們要做的就是讓我們求得x與x‘盡量相等,但是我們通過計算他們的差值,不為0,那怎麽辦呢,那就是反向傳播。

權重計算:x和y的矢量做乘積,x‘與y‘做乘積,求出z與z‘兩個矩陣,這兩個矩陣shape(x,y),z與z‘相減,然後加入到權值裏面,例如w11,那麽新的w11值就為:w11=w11+alpha*(z11-z‘11),alpha為學習速率,其它的權值也是一樣計算。

偏置量計算:隱含層偏置量b1更新值為:b1=b1+alpha*(y1-y‘1),可視層偏置量a1=a1+alpha*(x1-x‘1),其余偏置量同理計算。

前向、後向傳播叠代訓練直到輸入x和訓練x‘近乎相等。

前向、後向傳播的例子解釋:區分以下大象和狗的圖。

技術分享圖片

正向更新:給定這些像素,權重應該送出一個更強的信號給大象還是狗?

反向更新:給定大象和狗,我應該送出一個什麽樣的像素分布?

2、RBM原理:

能量模型:一般認為物體的能量越高越不穩定,能量越低越趨於穩定。比如說,斜坡上的一個箱子,它位於越高的位置,則擁有更高的重力勢能。能量模型把箱子停在哪個位置定義為一種狀態,每個狀態對應著一個能量。這個能量由能量函數來定義,箱子位於某個位置(某個位置)的概率。比如箱子位於斜坡1/2高度上的概率為p,它可以用E表示成p=f(E)

技術分享圖片

RBM結構

技術分享圖片

這裏為了簡單描述,假設每個節點的取值為{0,1}。

技術分享圖片

計算過程:

技術分享圖片

技術分享圖片

求解極大似然:梯度上升。參考http://lib.csdn.net/article/deeplearning/59097?knId=1746

二、 Deep Brief Network概念:多個Restricted Boltlzmann Machines

通俗解釋:深度信念網絡就是指能夠通過概率大小學習的神經網絡。把RBM堆疊在一塊,然後形成一大串連接的RBM,最後在頂端加入一個輸出層,就是深度信念神經網絡。

如圖:

技術分享圖片

運行圖:就是把原始數據輸入到最下面的RBM可視層中,然後訓練RBM1,訓練完成之後把RBM1的隱含層作為RBM2的可視層,繼續訓練RBM2,接下來把RBM2的隱含層做為RBM3的可視層,直到訓練完成為止。

每層的神經元不與本層的其他神經元交流。最後一層通常是分類層(eg,softmax)

除了第一層和最後一層,每層都有兩個作用:對於前一層作為隱藏層,作為後一層的輸入層。

技術分享圖片

三、Deep Autoencoders:有兩個Deep Brief Network組成

自編碼作用:用來降低維度,圖像搜索(壓縮),數據壓縮,信息檢索

下圖:中間藍色:相當於學習到的特征向量,左邊為自編碼,右邊為解編碼。

每層由RBM組成。

技術分享圖片

RBM(受限玻爾茲曼機)和深層信念網絡(Deep Brief Network)