Deep Belief Network简介
1. 多層神經網絡存在的問題 ?
? 常用的神經網絡模型, 一般只包含輸入層, 輸出層和一個隱藏層:
? ? ? ?
? 理論上來說, 隱藏層越多, 模型的表達能力應該越強。但是, 當隱藏層數多于一層時, 如果我們使用隨機值來初始化權重, 使用梯度下降來優化參數就會出現許多問題[1]:
? 所以, 如果初始的權重值已經比較接近最優解時, 使用梯度下降可以得到一個比較好的結果, Hinton等在2006年提出了一種新的方法[2]來求得這種比較接近最優解的初始權重。
2. Deep Belief Network
? DBN是由Hinton在2006年提出的一種概率生成模型, 由多個限制玻爾茲曼機(RBM)[3]堆棧而成:
? 在訓練時, Hinton采用了逐層無監督的方法來學習參數。首先把數據向量x和第一層隱藏層作為一個RBM, 訓練出這個RBM的參數(連接x和h1的權重, x和h1各個節點的偏置等等), 然后固定這個RBM的參數, 把h1視作可見向量, 把h2視作隱藏向量, 訓練第二個RBM, 得到其參數, 然后固定這些參數, 訓練h2和h3構成的RBM, 具體的訓練算法如下:
??
? 上圖最右邊就是最終訓練得到的生成模型:
??
? 用公式表示為:
??
3. 利用DBN進行有監督學習
? 在使用上述的逐層無監督方法學得節點之間的權重以及節點的偏置之后(亦即初始化), 可以在DBN的最頂層再加一層, 來表示我們希望得到的輸出, 然后計算模型得到的輸出和希望得到的輸出之間的誤差, 利用后向反饋的方法來進一步優化之前設置的初始權重。因為我們已經使用逐層無監督方法來初始化了權重值, 使其比較接近最優值, 解決了之前多層神經網絡訓練時存在的問題, 能夠得到很好的效果。
? 參考文獻:
? [1]. Reducing the Dimensionality of Data with Neural Networks. G. E. Hinton, R. R. Slakhutdinov. 2006, Science.
? [2]. A fast learning algorithm for deep belief nets. G. E. Hinton,?Simon Osindero,?Yee-Whye Teh. 2006, Neural Computation.
? [3]. 限制玻爾茲曼機(Restricted Boltzmann Machine, RBM)簡介
? [4]. Scholarpedia: Deep Belief Networks
? [5].?Learning Deep Architectures for AI.?Yoshua Bengio
轉載于:https://www.cnblogs.com/kemaswill/p/3266026.html
總結
以上是生活随笔為你收集整理的Deep Belief Network简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VC++ 坐标问题总结,控件大小随窗口变
- 下一篇: 依赖属性之附加属性