當前位置:
首頁 > 最新 > 一文幫你理解什麼是深層置信網路

一文幫你理解什麼是深層置信網路

翻譯 林椿眄

編輯SuiSui

前言

隨著機器學習的進步和深度學習的出現,一些工具和圖形表示被逐漸用來關聯大量的數據。深度置信網路(Deep Belief Networks)本質上是一種具有生成能力的圖形表示網路,即它生成當前示例的所有可能值。

深度置信網路是概率統計學與機器學習和神經網路的融合,由多個帶有數值的層組成,其中層之間存在關係,而數值之間沒有。深層置信網路主要目標是幫助系統將數據分類到不同的類別。

深度信念網路如何演進?

第一代神經網路使用感知器,通過考慮「權重」或預先饋送的目標屬性來識別特定的物體或其他物體。然而,感知器只能在更基本的層面上有效,並不能提高識別的技術。

為了解決這些問題,第二代神經網路引入了反向傳播的概念,將得到的輸出與期望的輸出進行比較,最終目標是使誤差值減小到零。支持向量機通過引用先前測試用例的輸入來創建和理解更多的測試用例。

接下來是針對信念網路的非循環圖。這種圖能夠幫助解決與推理那些和學習問題有關的問題。隨後是深度置信網路,它幫助創建存儲在葉節點中的無偏值。

受限玻爾茲曼機

深度置信網路由諸如波爾茲曼機無監督網路組成。在這裡,每個子網路的不可見層是下一層的可見層。隱藏層或不可見的層並不是相互連接,而是有條件互相獨立的。

聯合配置網路的可見層和隱藏層上的概率,取決於聯合配置網路的能量與其他所有聯合配置網路的能量。

訓練深度置信網路

訓練網路層屬性的第一步是直接從像素獲取輸入信號。下一步是將此圖層的值作為像素,並在第二個隱藏層從先前獲取的特徵中學習特徵。每當另一層的屬性或特徵被添加到深度置信網路時,訓練數據集的對數概率的下限就會有所改善。

例如:

??

實施

MATLAB可以很容易地將可見層,隱藏層和權重表示為矩陣形式並高效地執行矩陣演算法。因此,我們選擇MATLAB來實現深度置信網路。

選用這些MNIST9的手寫數字,然後用作深度置信網路的計算,以便與其他分類器的性能進行比較。

MNIST9可以被描述為是一個手寫數字的資料庫,有6萬個訓練樣本和1萬個數字測試樣本。手寫數字是從0到9,並且在每個圖像表現出各種的形狀和位置特徵。每一張圖像都被標準化,並以28x28像素為中心被標記。

決定這些權重更新頻率的方法是-在線學習,或採用小批量和全批量數據大小。

在線學習需要最長的計算時間,因為在每個訓練數據實例之後,它才完成權重的更新。全批量處理通過訓練數據並更新權重,但是,建議不要將其用於大數據集。

小批量處理是把數據集分成較小的數據塊,並對每個數據塊進行學習操作,這種方法需要更少的計算時間。因此,我們使用小批量學習來實現。

需要記住的一個重要的問題是,實現一個深層置信網路需要對每層波爾茲曼機進行訓練。

為此,首先需要初始化網路單位和參數。其次是對比散度演算法的兩個階段--正相和負相階段。在正相階段,隱藏層的二進位狀態可以通過權重的計算和可見單位的概率來獲得。由於增加了訓練數據集的概率,因此稱為正相。負相階段會降低模型生成樣本的概率。

貪婪學習演算法被用來訓練整個深度置信網路。它一次訓練一個波爾茲曼機,直到所有的波爾茲曼機都被訓練為止。

作者 Icecream Labs

https://medium.com/@kaveri_53280/deep-belief-networks-all-you-need-to-know-cb708774ee3a


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI科技大本營 的精彩文章:

豐田、福特們的焦慮:2018才大舉殺入自動駕駛,是剛剛好還是已經晚了?

TAG:AI科技大本營 |