霍普菲爾德神經網絡
![]() | 此條目需要精通或熟悉相關主題的編者參與及協助編輯。 (2014年9月30日) |
霍普菲爾德神經網絡(Hopfield neural network)是一種循環神經網絡,由約翰·霍普菲爾德在1982年發明。Hopfield網絡是一種結合存儲系統和二元系統的神經網絡。它保證了向局部極小的收斂,但收斂到錯誤的局部極小值(local minimum),而非全局極小(global minimum)的情況也可能發生。霍普菲爾德網絡也提供了模擬人類記憶的模型。
構造
![](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/9/95/Hopfield-net.png/220px-Hopfield-net.png)
霍普菲爾德網絡的單元是二元的(binary),即這些單元只能接受兩個不同的值,並且值取決於輸入的大小是否達到閾值。Hopfield網絡通常接受值為-1或1,也可以是0或者1。輸入是由sigmoid函數處理得到的。 sigmoid函數定義為:
,
用於將輸入化簡為兩個極值。
每一對霍普菲爾德網絡的單元i和j間都有一對以一定權重(weight)的連接。因此,霍普菲爾德網絡可被描述為一個完整的無向圖,其中是人工神經元集合。
霍普菲爾德網絡的連接有以下特徵:
- (沒有神經元和自身相連)
- (連接權重是對稱的)
權重對稱的要求是一個重要特徵,因為它保證了能量方程(稱向函數某一點收斂的過程為勢能轉化為能量)在神經元激活時單調遞減,而不對稱的權重可能導致周期性的遞增或者噪聲。然而,霍普菲爾德網絡也證明噪聲過程會被局限在很小的範圍,並且並不影響網絡的最終性能。
更新
使用下述公式更新霍普菲爾德中節點的值:
公式中:
- 是節點j到節點i的權重。
- 節點i的值(狀態s).
- 節點i的閾值,常為0.
霍普菲爾德的更新有兩種方式:
- 異步: 每個更新一個節點。此節點可以是隨機選中的,也可是按照預設順序選中的。
- 同步: 同時更新所有節點的狀態。這種更新方式要求系統中具有中央時鐘以便維持同步。這種方式被認為是不太現實的,因為在生物或物理系統中常常沒有中央時鐘(用於保持同步狀態,即各個節點常常是自行其是的。)
參見
參考文獻
- J. J. Hopfield, "Neural networks and physical systems with emergent collective computational abilities", Proceedings of the National Academy of Sciences of the USA, vol. 79 no. 8 pp. 2554–2558, April 1982.
- Hebb, D.O. (1949). Organization of behavior. New York: Wiley
- Hertz, J., Krogh, A., & Palmer, R.G. (1991). Introduction to the theory of neural computation. Redwood City, CA: Addison-Wesley.
- McCullough, W.S., & Pitts, W.H. (1943). A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics,5, 115-133
- Polyn, S.M., & Kahana, M.J. (2008). Memory search and the neural representation of context. Trends in Cognitive Sciences, 12, 24-30.
- Rizzuto, D.S., & Kahana, M.J. (2001). An autoassociative neural network model of paired-associate learning. Neural Computation, 13, 2075-2092.
- Kruse, Borgelt, Klawonn, Moewes, Russ, Steinbrecher (2011). Computational Intelligence.
外部連結
- Chapter 13 The Hopfield model(頁面存檔備份,存於互聯網檔案館) of Neural Networks - A Systematic Introduction(頁面存檔備份,存於互聯網檔案館) by Raul Rojas (ISBN 978-3-540-60505-8)
- Hopfield Neural Network Applet
- Hopfield Neural Network implementation in Ruby (AI4R)(頁面存檔備份,存於互聯網檔案館)
- The Travelling Salesman Problem(頁面存檔備份,存於互聯網檔案館) - Hopfield Neural Network JAVA Applet
- scholarpedia.org- Hopfield network(頁面存檔備份,存於互聯網檔案館) - Article on Hopfield Networks by John Hopfield
- Hopfield Network Learning Using Deterministic Latent Variables - Tutorial by Tristan Fletcher
- Neural Lab Graphical Interface - Hopfield Neural Network graphical interface (Python & gtk)