Hopfiled 神经网络实例解释
Hopfiled 神經網絡入門
進擊吧程序猿 2018-01-01 23:04:27本文參考 Hinton 的機器學習課程,總結了 Hopfield 神經網絡,整個學習的脈絡是:Hopfield 網絡 -> 玻爾茲曼機 BM -> 受限玻爾茲曼機 RBM,本文是第一部分 Hopfield 網絡。
Hopfield 神經網絡
首先我們需要知道 Hopfield 網絡是一種遞歸神經網絡,從輸出到輸入有反饋連接。Hopfield 網絡的一個特性是能實現聯想功能,能夠以動力學的方式運行。
其典型的結構如下:
對于每一個節點單元,它只有兩種狀態:0 或者 1,代表閉或開,節點之間彼此之間互相連接,但是這種網絡是很難分析的,其可能的狀態有:
穩定狀態
震蕩狀態
混沌狀態
收斂
非穩定
混沌
人們研究發現如果模型是對稱的,那么整個網絡就會存在一個全局能量函數,系統能夠收斂到一個最低能量處。因此,我們研究的 Hopfield 網絡是一個對稱網絡。
Hopfield 能量函數
能量函數定義如下:
定義兩個差值變量:
則可以得出能量變化為:
我們假設 t 時刻,只有 1 個神經元調整狀態,假設神經元為 j,則此時
帶入上式,得到:
因為神經元不存在自反饋,所以 wii 為 0,則最終能量變化為:
我們考慮:
因此能量 E 是不斷減少的。
下面以一個例子來說明能量減少的整個過程。
上圖表示有 3 個節點,每個節點之間的權重 x12=x21=-0.5,x13=x31=0.2,x23=x32=0.6,每個節點的閾值為:-0.1,0.0,0.0。
假設每個節點狀態為 0 或者 1,則 3 個節點共有 2*2*2=8 種狀態,對應上面的右圖,我們以 000 為第一個狀態,即 x1=x2=x3=0,此時我們假設先變化 x1=1,則
其他節點狀態不變,網絡狀態由 000 變為 100;此時如果先更新 x2 或者 x3,則網絡狀態還是 000,所以上面圖中從 000,有 1/3 概率變為 100,2/3 概率保持不變,最終我們計算所有的狀態轉移概率,我們發現 011 是一個穩定狀態,系統從任意狀態出發,經過若干次更新,最終都能穩定到 011。
存儲記憶
記憶可以是一個具有對稱權重的 神經網絡 的能量最小狀態。
二值閾值局側可以用來清理不完整的記憶,即使我們只知道部分記憶,也能通過網絡最終知道全部(怎么理解呢?個人理解是因為最后狀態都會趨于能量極小,而神經元只會取 0 或者 1,因此狀態是有限的,所以在能量極小附近的相似輸入,最后都會趨于同一個能量極小狀態)
如果我們取節點狀態為 - 1 或者 1,則根據能量公式:
我們取 wij=xixj,T=0,則此時能量 E=-n^2。很明顯,這時候 E 是最小的。
總結
本文主要根據 Hinton 大神 Hopfield 部分的第一節整理而來,主要介紹了 Hopfield 網絡的定義,能量函數以及記憶存儲,下面一節將會介紹如何在 Hopfield 網絡中處理 偽極小值。
這是 Hopfield 網絡 的第一篇,你的鼓勵是我繼續寫下去的動力,期待我們共同進步。
參考
人工神經網絡理論、設計及應用_第 2 版
從 Hopfiled 網絡到 BM(玻爾茲曼機)
Hopfield 神經網絡?
Lecture 12.1 — Boltzmann machine learning
總結
以上是生活随笔為你收集整理的Hopfiled 神经网络实例解释的全部內容,希望文章能夠幫你解決所遇到的問題。