tft每日頭條

 > 生活

 > 深度價值網絡

深度價值網絡

生活 更新时间:2024-07-22 05:12:39

—— 原文發布于本人的微信公衆号“大數據與人工智能Lab”(BigdataAILab),歡迎關注。

深度價值網絡(大話深度信念網絡)1

讓我們把時間撥回到2006年以前,神經網絡自20世紀50年代發展起來後,因其良好的非線性能力、泛化能力而備受關注。然而,傳統的神經網絡仍存在一些局限,在上個世紀90年代陷入衰落,主要有以下幾個原因:

1、傳統的神經網絡一般都是單隐層,最多兩個隐層,因為一旦神經元個數太多、隐層太多,模型的參數數量迅速增長,模型訓練的時間非常之久;

2、傳統的神經網絡,随着層數的增加,采用随機梯度下降的話一般很難找到最優解,容易陷入局部最優解。在反向傳播過程中也容易出現梯度彌散或梯度飽和的情況,導緻模型結果不理想;

3、随着神經網絡層數的增加,深度神經網絡的模型參數很多,就要求在訓練時需要有很大的标簽數據,因為訓練數據少的時候很難找到最優解,也就是說深度神經網絡不具備解決小樣本問題的能力。

由于以上的限制,深度的神經網絡一度被認為是無法訓練的,從而使神經網絡的發展一度停滞不前。

2006年,“神經網絡之父”Geoffrey Hinton祭出神器,一舉解決了深層神經網絡的訓練問題,推動了深度學習的快速發展,開創了人工智能的新局面,使近幾年來科技界湧現出了很多智能化産品,深深地影響了我們每個人的生活。

那這個神器是什麼呢?那就是“深度信念網絡”(Deep Belief Network,簡稱DBN)。

深度信念網絡(DBN)通過采用逐層訓練的方式,解決了深層次神經網絡的優化問題,通過逐層訓練為整個網絡賦予了較好的初始權值,使得網絡隻要經過微調就可以達到最優解。而在逐層訓練的時候起到最重要作用的是“受限玻爾茲曼機”(Restricted Boltzmann Machines,簡稱RBM),為什麼叫“受限玻爾茲曼機”呢?因為還有一個是不受限的,那就是“玻爾茲曼機”(Boltzmann Machines,簡稱BM)。

下面依次介紹一下什麼是“玻爾茲曼機”(BM)、“受限玻爾茲曼機”(RBM)?

一、玻爾茲曼機(Boltzmann Machines,簡稱BM)

深度價值網絡(大話深度信念網絡)2

玻爾茲曼機于1986年由大神Hinton提出,是一種根植于統計力學的随機神經網絡,這種網絡中神經元隻有兩種狀态(未激活、激活),用二進制0、1表示,狀态的取值根據概率統計法則決定。

由于這種概率統計法則的表達形式與著名統計力學家L.E.Boltzmann提出的玻爾茲曼分布類似,故将這種網絡取名為“玻爾茲曼機”。

在物理學上,玻爾茲曼分布(也稱為吉布斯分布,Gibbs Distribution)是描述理想氣體在受保守外力的作用(或保守外力的作用不可忽略)時,處于熱平衡态下的氣體分子按能量的分布規律。

在統計學習中,如果我們将需要學習的模型看成高溫物體,将學習的過程看成一個降溫達到熱平衡的過程(熱平衡在物理學領域通常指溫度在時間或空間上的穩定),最終模型的能量将會收斂為一個分布,在全局極小能量上下波動,這個過程稱為“模拟退火”,其名字來自冶金學的專有名詞“退火”,即将材料加熱後再以一定的速度退火冷卻,可以減少晶格中的缺陷,而模型能量收斂到的分布即為玻爾茲曼分布。

聽起來很難理解的樣子,隻需要記住一個關鍵點:能量收斂到最小後,熱平衡趨于穩定,也就是說,在能量最少的時候,網絡最穩定,此時網絡最優。

玻爾茲曼機(BM)是由随機神經元全連接組成的反饋神經網絡,且對稱連接,由可見層、隐層組成,BM可以看做是一個無向圖,如下圖所示:

深度價值網絡(大話深度信念網絡)3

其中,x1、x2、x3為可見層,x4、x5、x6為隐層。

整個能量函數定義為

深度價值網絡(大話深度信念網絡)4

其中,w為權重,b為偏置變量,x隻有{0,1}兩種狀态。

根據玻爾茲曼分布,給出的一個系統在特定狀态能量和系統溫度下的概率分布,如下:

深度價值網絡(大話深度信念網絡)5

前面講過,“能量收斂到最小後,熱平衡趨于穩定”,因此:

1、簡單粗暴法

要尋找一個變量使得整個網絡的能量最小,一個簡單(但是低效)的做法是選擇一個變量,在其它變量保持不變的情況下,将這個變量設為會導緻整個網絡能量更低的狀态。那麼一個變量Xi的兩個狀态0(關閉)和1(打開)之間的能量差異為:

深度價值網絡(大話深度信念網絡)6

這時,如果能量差異ΔE大于一定的阈值(比如0),我們就設Xi = 1(也即取能量小的),否則就設Xi = 0。這種簡單的方法通過反複不斷運行,在一定時間之後收斂到一個解(可能是局部最優解)。

2、最大似然法

利用“模拟退火”原理尋找全局最優解,根據玻爾茲曼分布,Xi=1的概率為:

深度價值網絡(大話深度信念網絡)7

訓練集v的對數似然函數為:

深度價值網絡(大話深度信念網絡)8

對每個訓練向量p(v)的對數似然對參數w求導數,得到梯度:

深度價值網絡(大話深度信念網絡)9

跟傳統的神經網絡類似,參數w的更新公式如下(a為學習率):

深度價值網絡(大話深度信念網絡)10

好了好了,公式就講到這裡了,看上去挺複雜的,沒錯,确實計算很複雜,這個梯度很難精确計算,整個計算過程會十分地耗時。

目前,可以通過一些采樣方法(例如Gibbs采樣)來進行近似求解。

玻爾茲曼機(BM)可以用在監督學習和無監督學習中。在監督學習中,可見變量又可以分為輸入和輸出變量,隐變量則隐式地描述了可見變量之間複雜的約束關系。在無監督學習中,隐變量可以看做是可見變量的内部特征表示,能夠學習數據中複雜的規則。玻爾茲曼機代價是訓練時間很長很長很長。

二、受限玻爾茲曼機(Restricted Boltzmann Machines,簡稱RBM)

深度價值網絡(大話深度信念網絡)11

所謂“受限玻爾茲曼機”(RBM)就是對“玻爾茲曼機”(BM)進行簡化,使玻爾茲曼機更容易更加簡單使用,原本玻爾茲曼機的可見元和隐元之間是全連接的,而且隐元和隐元之間也是全連接的,這樣就增加了計算量和計算難度。

“受限玻爾茲曼機”(RBM)同樣具有一個可見層,一個隐層,但層内無連接,層與層之間全連接,節點變量仍然取值為0或1,是一個二分圖。也就是将“玻爾茲曼機”(BM)的層内連接去掉,對連接進行限制,就變成了“受限玻爾茲曼機”(RBM),這樣就使得計算量大大減小,使用起來也就方便了很多。如上圖。

“受限玻爾茲曼機”(RBM)的特點是:在給定可見層單元狀态(輸入數據)時,各隐層單元的激活條件是獨立的(層内無連接),同樣,在給定隐層單元狀态時,可見層單元的激活條件也是獨立的。

跟“玻爾茲曼機”(BM)類似,根據玻爾茲曼分布,可見層(變量為v,偏置量為a)、隐層(變量為h,偏置量為b)的概率為:

深度價值網絡(大話深度信念網絡)12

訓練樣本的對數似然函數為:

深度價值網絡(大話深度信念網絡)13

求導數:

深度價值網絡(大話深度信念網絡)14

總之,還是挺複雜的,計算也還是挺花時間的。

同樣,可以通過Gibbs 采樣的方法來近似計算。雖然比一般的玻爾茲曼機速度有很大提高,但一般還是需要通過很多步采樣才可以采集到符合真實分布的樣本。這就使得受限玻爾茲曼機的訓練效率仍然不高。

2002年,大神Hinton再出手,提出了“對比散度”(Contrastive Divergence,簡稱CD)算法,這是一種比Gibbs采樣更加有效的學習算法,促使大家對RBM的關注和研究。

RBM的本質是非監督學習的利器,可以用于降維(隐層設置少一點)、學習提取特征(隐層輸出就是特征)、自編碼器(AutoEncoder)以及深度信念網絡(多個RBM堆疊而成)等等。

三、深度信念網絡(Deep Belief Network,簡稱DBN)

深度價值網絡(大話深度信念網絡)15

2006年,Hinton大神又又又出手了,提出了“深度信念網絡”(DBN),并給出了該模型一個高效的學習算法,這也成了深度學習算法的主要框架,在該算法中,一個DBN模型由若幹個RBM堆疊而成,訓練過程由低到高逐層進行訓練,如下圖所示:

深度價值網絡(大話深度信念網絡)16

回想一下RBM,由可見層、隐層組成,顯元用于接受輸入,隐元用于提取特征,因此隐元也有個别名,叫特征檢測器。也就是說,通過RBM訓練之後,可以得到輸入數據的特征。(感性對比:聯想一下主成分分析,提取特征)

另外,RBM還通過學習将數據表示成概率模型,一旦模型通過無監督學習被訓練或收斂到一個穩定的狀态,它還可以被用于生成新數據。(感性對比:聯想一下曲線拟合,得出函數,可用于生成數據)

正是由于RBM的以上特點,使得DBN逐層進行訓練變得有效,通過隐層提取特征使後面層次的訓練數據更加有代表性,通過可生成新數據能解決樣本量不足的問題。逐層的訓練過程如下:

(1)最底部RBM以原始輸入數據進行訓練

(2)将底部RBM抽取的特征作為頂部RBM的輸入繼續訓練

(3)重複這個過程訓練以盡可能多的RBM層

深度價值網絡(大話深度信念網絡)17

由于RBM可通過CD快速訓練,于是這個框架繞過直接從整體上對DBN高度複雜的訓練,而是将DBN的訓練簡化為對多個RBM的訓練,從而簡化問題。而且通過這種方式訓練後,可以再通過傳統的全局學習算法(如BP算法)對網絡進行微調,從而使模型收斂到局部最優點,通過這種方式可高效訓練出一個深層網絡出來,如下圖所示:

深度價值網絡(大話深度信念網絡)18

Hinton提出,這種預訓練過程是一種無監督的逐層預訓練的通用技術,也就是說,不是隻有RBM可以堆疊成一個深度網絡,其它類型的網絡也可以使用相同的方法來生成網絡。

牆裂建議

Hinton 大神寫了一篇關于受限玻爾茲曼機的訓練實用指南(《A Practical Guide to Training Restricted Boltzmann Machines》),非常詳細地描述訓練過程,建議仔細閱讀下這篇論文,肯定大有收獲。

掃描以下二維碼關注本人公衆号“大數據與人工智能Lab”(BigdataAILab),然後回複“論文”關鍵字可在線閱讀這兩篇經典論文的内容。

深度價值網絡(大話深度信念網絡)19

推薦相關閱讀

  • 大話卷積神經網絡(CNN)
  • 大話循環神經網絡(RNN)
  • 大話深度殘差網絡(DRN)
  • 淺說“遷移學習”
  • 什麼是“強化學習”
  • AlphaGo算法原理淺析
  • 大數據究竟有多少個V
  • Apache Hadoop 2.8 完全分布式集群搭建超詳細教程
  • Apache Hive 2.1.1 安裝配置超詳細教程
  • Apache HBase 1.2.6 完全分布式集群搭建超詳細教程
  • 離線安裝Cloudera Manager 5和CDH5(最新版5.13.0)超詳細教程

參考文獻:K碼農-http://kmanong.top/kmn/qxw/form/home?top_cate=28

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved