1. 程式人生 > >《白話深度學習與Tensorflow》學習筆記(7)RBM限制玻爾茲曼機

《白話深度學習與Tensorflow》學習筆記(7)RBM限制玻爾茲曼機

不受限的:在實際工程中用處不大,所以目前只需要研究受限玻爾茲曼機。

一層是視覺化層,一般來說是輸入層,另一層是隱含層,也就是我們一般指的特徵提取層。

RBM是可以多層疊加在一起的。

上面的h1到hn是n個實數,下面的v1到vm是m個實數,都是0到1之間的數字,它們各自組成了一個h向量和一個v向量。

邏輯迴歸:其實這是一個伯努利分佈(二項分佈)的演化,正例概率是p,負例為1-p。

令s=P/1-p  t=ln(s).

f(x)就是1產生的概率p,x就是這個多維向量。

邏輯迴歸的損失函式:

最大似然度:有一個未知引數向量,這是一種條件描述。觀測物件資料用x來表示,在觀測過程中x會有一定的概率分佈。

未知向量

如果你觀測到一個正態分佈,那麼P(x)就表示為

最大似然:一個連乘關係的最大值可以根據取對數後找到極大值的點。

對於完整的X=wTx,x1到xn叫做“解釋變數”,而u叫做隨機擾動項,是在隨機過程中的一種不確定的值,且這個u也是服從正太分佈的。

3sigma準則。

損失函式:

RBM的損失函式是CD(contrasive divergence對比散度)學習目標是最大似然度 讓網路學習到一個矩陣,使得網路中擬合的概率“全域性性”最大。

RBM的能量模型:

就是引數w,c,b後面的能量表示:一個是權重w連線兩側節點的v和h產生的

,必須三個都為1才算有能量的輸出;另外兩個則是節點上的偏置和節點輸入的向量維度值相乘,也必須都為1才算有能量的輸出。

通過最大化這個P(v)(取其對數的值)對於對比散度,只利用這兩個式子,然後讓向量在這個網路的兩側不斷反彈,吃書畫網路權重w,用一個向量v通過網路對映來得到h,然後是第一次反彈,用h通過網路反過來生成v’;然後是第二次反彈,用這個v’通過網路生成h’。然後根據L函式的導數來更新w。

能量模型的意義:

[if !supportLists]第一、[endif]RBM網路是一種無監督學習的方法,無監督學習的目的是最大可能的擬合輸入資料,所以學習RBM網路的目的是讓RBM網路最大可能地擬合輸入資料。

[if !supportLists]第二、[endif]能量模型能為無監督學習方法提供兩個東西:a)目標函式;b)目標解。

[if !supportLists]第三、[endif]任何概率分佈都可以轉變成基於能量的模型,而且很多的分佈都可以利用能量模型的特有的性質和學習過程,有些甚至從能量模型中找到了通用的學習方法。

能量模型需要兩個東西,一個是能量函式,另一個是概率,有了概率才能跟要求解的問題聯合起來。

深度學習中可以由多個RBM疊加而成。

應用:分類問題,降維可進行串並聯的使用,也就是通過多個RBM模型來形成一個完整的工作網路。

相關推薦

白話深度學習Tensorflow學習筆記7RBM限制

不受限的:在實際工程中用處不大,所以目前只需要研究受限玻爾茲曼機。 一層是視覺化層,一般來說是輸入層,另一層是隱含層,也就是我們一般指的特徵提取層。 RBM是可以多層疊加在一起的。 上面的h1到hn是n個實數,下面的v1到vm是m個實數,都是0到1

深度置信網路DBN和受限RBM

原部落格於http://blog.163.com/silence_ellen/blog/static/176104222201431710264087/ 本篇非常簡要地介紹了深度信念網路的基本概念。文章先簡要介紹了深度信念網路(包括其應用例項)。接著分別講述了:(1)

深度學習20-限制RBM

玻爾茲曼機來源於玻爾茲曼分佈,而玻爾茲曼分佈的創立者是路德維希·玻爾茲曼,這個原理來源於他首次將統計學用於研究熱力學,即物質的狀態概率和它對應的能量有關。比如,我們常用熵來形容物體的混亂程度,同時如果我們的定義足夠好,任何物質其實都有它的一個“能量函式”,這個

Restricted Boltzmann Machine限制

RBM原理: 玻爾茲曼機最初是作為一種廣義的“聯結主義”引入,用來學習向量上的任意概率分佈。聯結主義(connectionism)的中心思想是,當網路將大量簡單計算單元連線在一起時可以實現智慧的行為。分散式表示(distributed representation)認為系統每個

深度學習tensorflow的小日子

本系列專門用來記錄我的深度學習歷程,其中程式碼大部分均出自於李金洪老師的《深度學習之TensorFlow》,希望所有機器學習的道友都能有所知、有所得。 import tensorflow as tf import numpy as np import matpl

深度學習讀書筆記RBM限制

深度學習讀書筆記之RBM 宣告: 1)看到其他部落格如@zouxy09都有個宣告,老衲也抄襲一下這個東西 2)該博文是整理自網上很大牛和機器學習專家所無私奉獻的資料的。具體引用的資料請看參考文獻。具體的版本宣告也參考原文獻。 3)本文僅供學術交流,非商用。所以每一部分具體

深度學習 --- 受限科夫過程、馬科夫鏈

        上一節我們詳細的探討了玻爾茲曼機,玻爾茲曼機的發明是為了解決Hopfield神經網路的偽吸引子的問題,因此把退火演算法、玻爾茲曼分佈和Hopfield神經網路結合在一起形成了玻爾茲曼機(隨機神經網路)。通過前面幾節我們知道玻爾茲曼機可以很好

深度學習 --- 隨機神經網路詳解學習演算法、執行演算法

BM網路的學習演算法 (1)  學習過程       通過有導師學習,BM網路可以對訓練集中各模式的概率分佈進行模擬,從而實現聯想記憶.學習的目的是通過調整網路權值使訓練集中的模式在網路狀態中以相同的概率再現.學習過程可分為兩個階段;第一階段

深度學習方法:受限RBM模型求解,Gibbs sampling

歡迎轉載,轉載請註明:本文出自Bin的專欄blog.csdn.net/xbinworld。  技術交流QQ群:433250724,歡迎對演算法、技術、應用感興趣的同學加入。 接下來重點講一下RBM模型求解方法,其實用的依然是梯度優化方法,但是求解需要用

達觀資料於敬:深度學習來一波,受限原理及在推薦系統中的應用

深度學習相關技術近年來在工程界可謂是風生水起,在自然語言處理、影象和視訊識別等領域得到極其廣泛的應用,並且在效果上更是碾壓傳統的機器學習。一方面相對傳統的機器學習,深度學習使用更多的資料可以進行更好的擴充套件,並且具有非常優異的自動提取抽象特徵的能力。 另外得益於GPU、SSD儲存、大

[深度信念網絡][] DBN (Deep Belief Network) RBM (Restricted Boltzmann Machine) 原理講解

mac 隨機 ted 圖片 程序 inf nbsp 深度 理論 主要講了玻爾茲曼機的推導以及二值RBM,這一部分程序很簡單但理論感覺不是很好講,涉及到挺多隨機過程和概率的知識。Bengio那篇文章其實講的很詳細,不過他是從自由能的角度講的,物理意義挺清楚但推導過程不如網上有

受限RBM原理總結

guid filter font list cuc spa 得到 aci dcb https://blog.csdn.net/l7H9JA4/article/details/81463954 授權轉發自:劉建平《受限玻爾茲曼機(RBM)原理總結》 地址:http://w

六.隨機神經網路Boltzmann

Hopfield網路具有最優計算功能,然而網路只能嚴格按照能量函式遞減方式演化,很難避免偽狀態的出現,且權值容易陷入區域性極小值,無法收斂於全域性最優解。 如果反饋神經網路的迭代過程不是那麼死板,可以在一定程度上暫時接受能量函式變大的結果,就有可能跳出區域性極小值。隨機神經網路的核心思想就是在網路中加入概率

RBM受限和深層信念網絡Deep Brief Network

例如 sha 目標 監督學習 怎麽 繼續 定義 再次 rbm 目錄: 一、RBM 二、Deep Brief Network 三、Deep Autoencoder 一、RBM 1、定義【無監督學習】 RBM記住三個要訣:1)

RBM受限和深層信念網路Deep Brief Network

 目錄: 一、RBM 二、Deep Brief Network 三、Deep Autoencoder   一、RBM 1、定義【無監督學習】 RBM記住三個要訣:1)兩層結構圖,可視層和隱藏層;【沒輸出層】2)層內無連線,層間全連線;3)二值狀態值,

受限(RBM)原理分析以及在Tensorflow的實現

簡介 受限玻爾茲曼機是一種無監督,重構原始資料的一個簡單的神經網路。  受限玻爾茲曼機先把輸入轉為可以表示它們的一系列輸出;這些輸出可以反向重構這些輸入。通過前向和後向訓練,訓練好的網路能夠提取出輸入中最重要的特徵。 為什麼RBM很重要? 因為它能夠自動地從輸入中提

RBM受限原理及程式碼

EBMs 的隱藏神經元 在很多情況下, 我們看不到部分的隱藏單元  , 或者我們要引入一些不可見的參量來增強模型的能力.所以我們考慮一些可見的神經元(依然表示為 ) 和 隱藏的部分 . 我們可以這樣寫我們的表示式:                                            

TensorFlow筆記7-----實戰Google深度學習框架----隊列多線程

一起 width nbsp stop 之前 圖片 第一個 queue enqueue 一、創建一個隊列: FIFOQueue:先進先出 RandomShuffleQueue:會將隊列中的元素打亂,每次出列操作得到的是從當前隊列所有元素中隨機選擇的一個。 二、操作一個隊列的函

深度學習tensorflow實戰筆記3VGG-16訓練自己的資料並測試和儲存模型

    前面的部落格介紹瞭如何把影象資料轉換成tfrecords格式並讀取,本篇部落格介紹如何用自己的tfrecords格式的資料訓練CNN模型,採用的模型是VGG-16。現有的教程都是在mnist或者cifar-10資料集上做的訓練,如何用自己的資料集進行訓練相關的資料比較

深度學習tensorflow實戰筆記1全連線神經網路FCN訓練自己的資料從txt檔案中讀取

      寫在前面的話:離上一次寫部落格已經有些日子了,以前的工程都是在caffe平臺下做的,caffe平臺雖然挺好用的,但是caffe主要用於做CNN,對於其它的網路模型用起來不太方便,所以博主轉戰tensorflow,Google對待tensorflow就想當年對待An