Deep Boltzmann Machines
轉載自:http://blog.csdn.net/win_in_action/article/details/25333671?
http://blog.csdn.net/zouxy09/article/details/8775518
深度神經網絡(Deep neural network)
? ? ? 深度學習的概念源于人工神經網絡的研究。含多隱層的多層感知器就是一種深度學習結構。深度學習通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發現數據的分布式特征表示。
? ? ? Deep learning本身算是machine learning的一個分支,簡單可以理解為neural network的發展。大約二三十年前,neural network曾經是ML領域特別火熱的一個方向,但是后來確慢慢淡出了。
? ? ? Deep learning與傳統的神經網絡之間有相同的地方也有很多不同。二者的相同在于deep learning采用了神經網絡相似的分層結構,系統由包括輸入層、隱層(多層)、輸出層組成的多層網絡,只有相鄰層節點之間有連接,同一層以及跨層節點之間相互無連接,每一層可以看作是一個logistic regression模型;這種分層結構,是比較接近人類大腦的結構的。
? ? ? ?依據(3深度學習基本思想:分層的特征表示);假設我們有一個系統S,它有n層(S1,…Sn),它的輸入是I,輸出是O,形象地表示為:
I =>S1=>S2=>…..=>Sn => O,
? ? ? 則上圖深度神經網絡中,中間層(除去開始的輸入層和最后的分類輸出層)每一層都是系統S的一種特征表示。
深度波爾茨曼機Deep Boltzmann Machine(DBM)
? ? ? 假設有一個二部圖,每一層的節點之間沒有鏈接,一層是可視層,即輸入數據層(v),一層是隱藏層(h),如果假設所有的節點都是隨機二值變量節點(只能取0或者1值),同時假設全概率分布p(v,h)滿足Boltzmann?分布,我們稱這個模型是Restricted BoltzmannMachine (RBM)。
? ? ? 下面我們來看看為什么它是Deep Learning方法。首先,這個模型因為是二部圖,所以在已知v的情況下,所有的隱藏節點之間是條件獨立的(因為節點之間不存在連接),即p(h|v)=p(h1|v)…p(hn|v)。同理,在已知隱藏層h的情況下,所有的可視節點都是條件獨立的。同時又由于所有的v和h滿足Boltzmann 分布。
? ? ? 因此,當輸入v的時候,通過p(h|v)?可以得到隱藏層h,而得到隱藏層h之后,通過p(v|h)又能得到可視層,通過調整參數,我們就是要使得從隱藏層得到的可視層v1與原來的可視層v如果一樣,那么得到的隱藏層就是可視層另外一種表達,因此隱藏層可以作為可視層輸入數據的特征,所以它就是一種Deep Learning方法。
? ? ? 如果,我們把隱藏層的層數增加,我們可以得到Deep Boltzmann Machine(DBM);如果我們在靠近可視層的部分使用貝葉斯信念網絡(即有向圖模型,當然這里依然限制層中節點之間沒有鏈接),而在最遠離可視層的部分使用Restricted Boltzmann Machine,我們可以得到DeepBelief Net(DBN)。
深度置信網絡(Deep Belief Network)
? ? ? DBNs是一個概率生成模型,與傳統的判別模型的神經網絡相對,生成模型是建立一個觀察數據和標簽之間的聯合分布,對P(Observation|Label)和?P(Label|Observation)都做了評估,而判別模型僅僅而已評估了后者,也就是P(Label|Observation)。
DBNs由多個限制玻爾茲曼機(Restricted Boltzmann Machines)層組成,一個典型的神經網絡類型如圖所示。這些網絡被“限制”為一個可視層和一個隱層,層間存在連接,但層內的單元間不存在連接。隱層單元被訓練去捕捉在可視層表現出來的高階數據的相關性。
? ? ?DBNs的靈活性使得它的拓展比較容易。一個拓展就是卷積DBNs(Convolutional Deep Belief Networks(CDBNs))。DBNs并沒有考慮到圖像的2維結構信息,因為輸入是簡單的從一個圖像矩陣一維向量化的。而CDBNs就是考慮到了這個問題,它利用鄰域像素的空域關系,通過一個稱為卷積RBMs的模型區達到生成模型的變換不變性,而且可以容易得變換到高維圖像。DBNs并沒有明確地處理對觀察變量的時間聯系的學習上,雖然目前已經有這方面的研究,例如堆疊時間RBMs,以此為推廣,有序列學習的dubbed temporalconvolutionmachines,這種序列學習的應用,給語音信號處理問題帶來了一個讓人激動的未來研究方向。
目前,和DBNs有關的研究包括堆疊自動編碼器,它是通過用堆疊自動編碼器來替換傳統DBNs里面的RBMs。這就使得可以通過同樣的規則來訓練產生深度多層神經網絡架構,但它缺少層的參數化的嚴格要求。與DBNs不同,自動編碼器使用判別模型,這樣這個結構就很難采樣輸入采樣空間,這就使得網絡更難捕捉它的內部表達。但是,降噪自動編碼器卻能很好的避免這個問題,并且比傳統的DBNs更優。它通過在訓練過程添加隨機的污染并堆疊產生場泛化性能。訓練單一的降噪自動編碼器的過程和RBMs訓練生成模型的過程一樣。
文獻:Deep Boltzmann Machines
總結
以上是生活随笔為你收集整理的Deep Boltzmann Machines的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 晚餐不吃米饭只吃菜能减肥吗
- 下一篇: 减肥为什么喝黑咖啡