霍普菲尔德神经网络(Hopfield neural network)是一种循环神经网络,由约翰·霍普菲尔德在1982年发明。Hopfield网络是一种结合存储系统和二元系统的神经网络。它保证了向局部极小的收敛,但收敛到错误的局部极小值(local minimum),而非全局极小(global minimum)的情况也可能发生。Hopfield网络也提供了模拟人类记忆的模型。
Hopfield网络的单元是二元的(binary),即这些单元只能接受两个不同的值,并且值取决于输入的大小是否达到阈值。Hopfield网络通常接受值为-1或1,也可以是0或者1。输入是由sigmoid函数处理得到的。 sigmoid函数定义为:
和间都有一对以一定权重(weight)的连接。因此,Hopfiled网络可被描述为一个完整的无向图,其中是人工神经元集合。
Hopfiled网络的连接有以下特征:
权重对称的要求是一个重要特征,因为它保证了能量方程(称向函数某一点收敛的过程为势能转化为能量)在神经元激活时单调递减,而不对称的权重可能导致周期性的递增或者噪声。然而,Hopfiled网络也证明噪声过程会被局限在很小的范围,并且并不影响网络的最终性能。
使用下述公式更新Hoffield中节点的值:
公式中:
Hopfied的更新有两种方式: