更改

跳到导航 跳到搜索
添加353字节 、 2026年7月27日 (星期一)
无编辑摘要
第1行: 第1行: −
'''Hopfield网络'''(霍普菲尔德网络,英文:Hopfield network)是一类对称全连接的[[循环神经网络]],由物理学家约翰·霍普菲尔德于1982年正式提出,核心借鉴伊辛自旋模型,可实现'''内容寻址联想记忆''':输入残缺、带噪声的样本,网络会自动收敛还原完整存储图案;同时可通过能量极小化求解组合优化问题。该模型是最早仿生人脑记忆的神经网络框架,也是现代大模型自注意力机制的理论前身之一。
+
'''Hopfield网络'''(霍普菲尔德网络,英文:Hopfield network)是一类对称全连接的[[循环神经网络]],由物理学家[[约翰·霍普菲尔德]]于1982年正式提出,核心借鉴[[伊辛自旋模型]],可实现'''内容寻址联想记忆''':输入残缺、带噪声的样本,网络会自动收敛还原完整存储图案;同时可通过能量极小化求解[[组合优化问题]]。该模型是最早仿生人脑记忆的[[神经网络]]框架,也是现代基于神经网络的大语言模型[[自注意力机制]]的理论前身之一。
    
[[File:Hopfieldsvg.svg|thumb|350px|一个具有四个单元的Hopfield网络示例]]
 
[[File:Hopfieldsvg.svg|thumb|350px|一个具有四个单元的Hopfield网络示例]]
 +
 +
== Hopfield 网络模拟 ==
 +
画图案后点「记忆」;清空后画残缺或带噪版本,再点「回忆」:
 +
 +
<htmltag tagname="iframe" src="/applets/hopfield/index.html" style="display:block; margin-bottom:1em; width:780px; height:560px; border:solid 1px #ddd;"></htmltag>
 +
 +
基于 [https://visualize-it.github.io/hopfield_networks/simulation.html Visualize It 的 Hopfield Networks 模拟] 改写。
    
== 发展历史 ==
 
== 发展历史 ==
 
=== 前置理论 ===
 
=== 前置理论 ===
−
1974年Little提出基于自旋单元的关联记忆模型,为Hopfield网络奠定数学基础;1920年代伊辛模型提供多单元对称耦合的统计力学框架。
+
1974年Little提出基于自旋单元的[[关联记忆模型]],为Hopfield网络奠定数学基础;1920年代[[伊辛模型]]提供多单元对称耦合的[[统计力学]]框架。
    
=== 正式提出与发展 ===
 
=== 正式提出与发展 ===
−
1982年约翰·霍普菲尔德在《美国国家科学院院刊》发表论文,将自旋系统与神经网络结合,建立完整收敛性证明,证明对称权重网络存在李雅普诺夫能量函数,迭代必然收敛至局部极小值(存储记忆)。
+
1982年[[约翰·霍普菲尔德]]在《美国国家科学院院刊》发表论文<ref name='hopfield_1982'>{{cite journal|author=Hopfield J J.|title=Neural networks and physical systems with emergent collective computational abilities|journal=Proceedings of the National Academy of Science|year=1982|volume=79|issue=8|page=2554-2558}}</ref>,将[[自旋系统]]与[[神经网络]]结合,建立完整收敛性证明,证明对称权重网络存在[[李雅普诺夫能量函数]],迭代必然收敛至局部极小值(存储记忆)。
−
1984年霍普菲尔德拓展出**连续Hopfield网络**,神经元取值连续,适配优化问题;
+
1984年霍普菲尔德拓展出'''连续Hopfield网络''',[[神经元]]取值连续,适配优化问题;
−
2016年后Krotov、Hopfield提出**现代Hopfield网络(稠密关联记忆)**,突破经典模型极低存储容量限制,数学上等价于Transformer自注意力层,广泛应用于大语言模型记忆检索。
+
2016年后Krotov、Hopfield提出'''现代Hopfield网络(稠密关联记忆)''',突破经典模型极低存储容量限制,数学上等价于[[Transformer]][[自注意力]]层,广泛应用于[[大语言模型]]记忆检索。
    
== 网络结构 ==
 
== 网络结构 ==
 
Hopfield网络无分层结构,仅单层神经元,满足三条核心约束:
 
Hopfield网络无分层结构,仅单层神经元,满足三条核心约束:
−
1. '''全互连无自环''':共N个神经元,每个神经元与其余N-1个神经元双向连接,自身权重$w_{ii}=0$;
+
1. '''全互连无自环''':共[math]N[/math]个神经元,每个神经元与其余N-1个神经元双向连接,自身权重[math]w_{ii}=0[/math];
−
2. '''权重对称''':神经元$i$到$j$的连接权重等于$j$到$i$,即$w_{ij}=w_{ji}$;
+
2. '''权重对称''':神经元[math]i[/math]到[math]j[/math]的连接权重等于[math]j[/math]到[math]i[/math],即[math]w_{ij}=w_{ji}[/math];
 
3. 神经元分两类状态定义:
 
3. 神经元分两类状态定义:
−
   * 离散型:二值状态$x_i \in \{+1,-1\}$,+1代表神经元激活放电,-1代表抑制静默;
+
   * 离散型:二值状态[math]x_i \in \{+1,-1\}[/math],+1代表神经元激活放电,-1代表抑制静默;
−
   * 连续型:取值$x_i \in [0,1]$,采用Sigmoid激活。
+
   * 连续型:取值[math]x_i \in [0,1][/math],采用[[Sigmoid激活]]。
    
=== 权重矩阵学习(赫布规则) ===
 
=== 权重矩阵学习(赫布规则) ===
−
给定$P$组待存储模式向量$\boldsymbol{s}^1,\boldsymbol{s}^2,\dots,\boldsymbol{s}^P$,每组向量长度为$N$,离散Hopfield权重矩阵计算公式:
+
给定[math]P[/math]组待存储模式向量[math]\boldsymbol{s}^1,\boldsymbol{s}^2,\dots,\boldsymbol{s}^P[/math],每组向量长度为[math]N[/math],离散Hopfield权重矩阵计算公式:
−
$$
+
<math>
 
w_{ij} = \frac{1}{N}\sum_{k=1}^P s_i^k s_j^k \quad (i\neq j),\quad w_{ii}=0
 
w_{ij} = \frac{1}{N}\sum_{k=1}^P s_i^k s_j^k \quad (i\neq j),\quad w_{ii}=0
−
$$
+
</math>
 
逻辑:同步激活的神经元互相增强正向权重,互斥激活的神经元产生负权重,全部记忆编码存入权重矩阵。
 
逻辑:同步激活的神经元互相增强正向权重,互斥激活的神经元产生负权重,全部记忆编码存入权重矩阵。
   第31行: 第38行:     
=== 离散Hopfield能量函数 ===
 
=== 离散Hopfield能量函数 ===
−
$$
+
<math>
 
E = -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N w_{ij}x_i x_j
 
E = -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N w_{ij}x_i x_j
−
$$
+
</math>
−
每次更新神经元状态时,总能量只会下降或不变,不会上升;能量极小值对应网络存储的完整记忆图案,称为**吸引子**。
+
每次更新神经元状态时,总能量只会下降或不变,不会上升;能量极小值对应网络存储的完整记忆图案,称为'''吸引子'''。
    
=== 神经元状态更新规则 ===
 
=== 神经元状态更新规则 ===
 
两种更新方式:
 
两种更新方式:
 
1. '''异步更新(标准)''':随机逐个更新神经元,仅修改单个单元状态,收敛稳定;
 
1. '''异步更新(标准)''':随机逐个更新神经元,仅修改单个单元状态,收敛稳定;
−
$$
+
<math>
 
x_i(t+1) = \text{sgn}\left(\sum_{j=1}^N w_{ij}x_j(t)\right)
 
x_i(t+1) = \text{sgn}\left(\sum_{j=1}^N w_{ij}x_j(t)\right)
−
$$
+
</math>
 
2. '''同步更新''':所有神经元同时更新,速度更快,少数场景存在周期震荡。
 
2. '''同步更新''':所有神经元同时更新,速度更快,少数场景存在周期震荡。
   第52行: 第59行:  
=== 连续Hopfield网络 ===
 
=== 连续Hopfield网络 ===
 
神经元输出连续实数,激活函数采用Sigmoid:
 
神经元输出连续实数,激活函数采用Sigmoid:
−
$$
+
<math>
 
x_i = \sigma\left(\sum_j w_{ij}x_j\right),\quad \sigma(z)=\frac{1}{1+e^{-z}}
 
x_i = \sigma\left(\sum_j w_{ij}x_j\right),\quad \sigma(z)=\frac{1}{1+e^{-z}}
−
$$
+
</math>
 
主要用于组合优化问题:将问题代价函数转化为网络能量函数,收敛到最低能量时输出最优解,典型应用:旅行商问题(TSP)、任务调度、图像分割。
 
主要用于组合优化问题:将问题代价函数转化为网络能量函数,收敛到最低能量时输出最优解,典型应用:旅行商问题(TSP)、任务调度、图像分割。
   第95行: 第102行:  
4. 认知心理学仿真、精神疾病神经建模。
 
4. 认知心理学仿真、精神疾病神经建模。
   −
== Hopfield 网络模拟 ==
  −
画图案后点「记忆」;清空后画残缺或带噪版本,再点「回忆」:
  −
  −
<htmltag tagname="iframe" src="/applets/hopfield/index.html" style="display:block; margin-bottom:1em; width:780px; height:560px; border:solid 1px #ddd;"></htmltag>
     −
基于 [https://visualize-it.github.io/hopfield_networks/simulation.html Visualize It 的 Hopfield Networks 模拟] 改写。
      
== 参见 ==
 
== 参见 ==
第113行: 第115行:  
{{reflist}}
 
{{reflist}}
 
# 核心原始文献
 
# 核心原始文献
−
1. Hopfield J J. Neural networks and physical systems with emergent collective computational abilities[J]. Proceedings of the National Academy of Sciences, 1982, 79(8): 2554-2558.
+
 
 
2. Hopfield J J. Neurons with graded response have collective computational properties like those of two-state neurons[J]. PNAS, 1984, 81(10): 3088-3092.
 
2. Hopfield J J. Neurons with graded response have collective computational properties like those of two-state neurons[J]. PNAS, 1984, 81(10): 3088-3092.
 
3. Krotov D, Hopfield J J. Dense associative memory for pattern recognition[J]. Advances in Neural Information Processing Systems, 2016, 29.
 
3. Krotov D, Hopfield J J. Dense associative memory for pattern recognition[J]. Advances in Neural Information Processing Systems, 2016, 29.

导航菜单