霍普菲尔德神经网络
此条目需要精通或熟悉相关主题的编者参与及协助编辑。 (2014年9月30日) |
霍普菲尔德神经网络(Hopfield neural network)是一种循环神经网络,由约翰·霍普菲尔德在1982年发明。Hopfield网络是一种结合存储系统和二元系统的神经网络。它保证了向局部极小的收敛,但收敛到错误的局部极小值(local minimum),而非全局极小(global minimum)的情况也可能发生。霍普菲尔德网络也提供了模拟人类记忆的模型。
构造
霍普菲尔德网络的单元是二元的(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)