| 第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. |