霍普菲尔德神经网络

霍普菲爾德神经网络(Hopfield neural network)是一种循环神经网络,由约翰·霍普菲尔德在1982年发明。Hopfield网络是一种结合存储系统和二元系统的神经网络。它保证了向局部极小的收敛,但收敛到错误的局部极小值(local minimum),而非全局极小(global minimum)的情况也可能发生。霍普菲尔德网络也提供了模拟人类记忆的模型。

构造

 
一个有四个节点的Hopfiled网络。

霍普菲尔德网络的单元是二元的(binary),即这些单元只能接受两个不同的值,并且值取决于输入的大小是否达到阈值。Hopfield网络通常接受值为-1或1,也可以是0或者1。输入是由sigmoid函数处理得到的。 sigmoid函数定义为:

 

用于将输入化简为两个极值。

每一对霍普菲尔德网络的单元ij间都有一对以一定权重(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.

外部链接