当前位置: 首页 > news >正文

【深度学习】Hopfield网络:模拟联想记忆

Hopfield网络是一种经典的循环神经网络,由物理学家John Hopfield在1982年提出。它的核心功能是模拟联想记忆,类似于人类大脑通过部分信息回忆完整记忆的能力。以下是通俗易懂的解释:


1. 核心思想

想象你看到一张模糊的老照片,虽然细节不清,但大脑能自动“补全”图像细节。Hopfield网络就是模仿这种能力:

  • 输入:一个有噪声或不完整的模式(如残缺的图片)。
  • 输出:网络通过动态调整,输出最接近的完整存储模式。

2. 网络结构

  • 神经元:每个神经元是二值的(通常取+1或-1,或0和1)。
  • 连接方式:所有神经元全连接,且权重对称(神经元A到B的权重 = B到A的权重)。
  • 无自反馈:单个神经元不会连接自己(权重矩阵对角线为0)。

3. 工作原理

(1) 存储记忆
  • 存储模式:将需要记忆的模式(如图片像素的二值化向量)存入网络。
  • 权重计算:通过Hebbian学习规则调整权重(模式的外积叠加),公式:
    W i j = ∑ 所有模式 x i x j ( i ≠ j ) W_{ij} = \sum_{\text{所有模式}} x_i x_j \quad (i \neq j) Wij=所有模式xixj(i=j)
    其中(x_i)是模式中第i个神经元的值。
(2) 回忆记忆
  1. 输入扰动模式:将带有噪声的模式输入网络。
  2. 动态更新:随机选择一个神经元,根据相邻神经元的状态更新自身:
    x i = sign ( ∑ j W i j x j ) x_i = \text{sign}\left( \sum_{j} W_{ij} x_j \right) xi=sign(jWijxj)
  3. 收敛:重复更新直到网络状态稳定(能量最低),此时输出即为最接近的存储模式。

4. 能量函数

Hopfield网络有一个能量函数,类似物理系统的势能:
E = − 1 2 ∑ i , j W i j x i x j E = -\frac{1}{2} \sum_{i,j} W_{ij} x_i x_j E=21i,jWijxixj

  • 能量越低,网络状态越稳定。
  • 更新过程总是降低能量,最终收敛到局部最小值(即存储的模式)。

5. 优点与局限

优点
  • 简单高效,适合模式补全和噪声过滤。
  • 理论优美,启发了后续模型(如玻尔兹曼机)。
局限
  • 存储容量有限:最多约存储0.14N个模式(N为神经元数量)。
  • 伪吸引子问题:可能收敛到非预期的混合模式。
  • 仅处理二值数据:难以处理连续值输入。

6. 应用场景

  • 图像恢复:从损坏的像素中恢复原图。
  • 优化问题:如旅行商问题(TSP)的近似求解。
  • 联想记忆存储:快速检索与输入最匹配的记忆。

7. 现代发展

近年来Hopfield网络被重新探索,例如:

  • 连续Hopfield网络:支持连续值神经元,用于生成模型(如联想生成图像)。
  • 现代Hopfield网络(2020):通过改进能量函数,存储容量指数级提升(可存储数百万模式)。

类比总结

Hopfield网络像一个智能黑板

  1. 存储阶段:在黑板上写下几个关键图案。
  2. 回忆阶段:即使有人涂抹了部分图案,黑板能自动“擦除”涂鸦,还原最初的关键图案。
http://www.lryc.cn/news/545824.html

相关文章:

  • Python可视化大框架的研究与应用
  • Java 泛型(Generics)详解与使用
  • 七、Three.jsPBR材质与纹理贴图
  • 2024 ChatGPT大模型技术场景与商业应用视频精讲合集(45课).zip
  • Pytest之parametrize参数化
  • Python面试(八股)
  • 2024年第十五届蓝桥杯大赛软件赛省赛Python大学A组真题解析《更新中》
  • 湖仓一体概述
  • 【行政区划获取】
  • 【深入剖析:机器学习、深度学习与人工智能的关系】
  • Docker 学习(一)
  • flink web ui未授权漏洞处理
  • 【vue-echarts】——03.配置项---tooltip
  • 【弹性计算】弹性裸金属服务器和神龙虚拟化(二):适用场景
  • 提升系统效能:从流量控制到并发处理的全面解析
  • 计算机毕业设计SpringBoot+Vue.js贸易行业CRM系统(源码+文档+PPT+讲解)
  • 从头开始学SpringBoot—02ssmp整合及案例
  • 0301 leetcode - 1502.判断是否能形成等差数列、 682.棒球比赛、657.机器人能否返回原点
  • Vulnhub靶机——AI-WEB-1
  • 无人系统:未来科技的智能化代表
  • 在Docker中部署DataKit最佳实践
  • 进程的状态 ─── linux第11课
  • MySQL数据库基本概念
  • 什么是 jQuery
  • Redis Desktop Manager(Redis可视化工具)安装及使用详细教程
  • [KEIL]单片机技巧 01
  • 云原生监控篇——全链路可观测性与AIOps实战
  • C# 13与.NET 9革新及工业开发应用
  • Linux系统之DHCP网络协议
  • 【Linux】【网络】不同子网下的客户端和服务器通信其它方式