DL之HNN:Hopfield神经网络(HNN之DHNN、CHNN)的相关论文、简介、使用案例之详细攻略(一)

简介: DL之HNN:Hopfield神经网络(HNN之DHNN、CHNN)的相关论文、简介、使用案例之详细攻略

HNN


      1982年,美国加州工学院生物物理学家约翰·霍普菲尔德Hopfield开创性地提出了一种新型的连续时间递归神经网络模型(原始的Hopfield模型)。1982年,约翰·霍普菲尔德认识到如果这种连接是对称的,那就存在一个全局的能量函数。整个网络每个二进制单元的“配置”都对应了能量的多与少,二进制单元的阈值决策规则会让网络的配置朝着能量函数最小化的方向进行。 使用这种类型的计算的一种简洁方法是使用存储器作为神经网络的能量最小值,使用能量极小值的记忆提供了一个内存关联存储器(CAM) 。


       Hopfield神经网络HNN(Hopfiled Neural Network)是一种结合存储系统和二元系统的神经网络。它保证了向局部极小的收敛,但收敛到错误的局部极小值,而非全局极小的情况也可能发生。Hopfield神经网络也提供了模拟人类记忆的模型。


       Hopfield神经网络是一种循环神经网络,每个节点的输出都是其他节点的输入(但不存在自反馈),下边的T代表阈值(类似NN的偏置)。Hopfield网络是一种结合存储系统和二元系统的神经网络。它保证了向局部极小的收敛,但收敛到错误的局部极小值(local minimum),而非全局极小(global minimum)的情况也可能发生。Hopfield网络也提供了模拟人类记忆的模型。



1、Hopfield神经网络应用


        Hopfield神经网络早期应用包括按内容寻址存储器,模数转换、优化组合计算、解决TSP问题等。具有代表意义的是解决TSP问题,1985年Hopfield和Tank用Hopfield网络求解N=30的TSP问题,从而创建了神经网络优化的新途径。除此之外,Hopfield 神经网络在人工智能之机器学习、联想记忆、模式识别、优化计算、VLSI和光学设备的并行实现等方面有着广泛应用。



一、HNN之DHNN


1、DHNN


image.png


DHNN—离散型Hopfield神经网络:Hopfield最早提出的网络是二值神经网络,各神经元的激励函数为阶跃函数或双极值函数,神经元的输入、输出只取{0,1}或者{ -1,1},所以也称为离散型Hopfield神经网络DHNN(Discrete Hopfiled Neural Network)。在DHNN中,所采用的神经元是二值神经元;因此,所输出的离散值1和0或者1和-1分别表示神经元处于激活状态和抑制状态。

       离散Hopfield神经网络DHNN是一个单层网络,有n个神经元节点,每个神经元的输出均接到其它神经元的输入。各节点没有自反馈。每个节点都可处于一种可能的状态(1或-1),即当该神经元所受的刺激超过其阀值时,神经元就处于一种状态(比如1),否则神经元就始终处于另一状态(比如-1)。


DHNN的特点:


DHNN是一种多输入、含有阈值的二值非线性动态系统—能量函数。在动态系统中,平衡稳定状态可以理解为系统某种形式的能量函数(energy function)在系统运行过程中,其能量不断减少,最后处于最小值。

DHNN稳定的充分条件是权重系数矩阵W是一个对称矩阵且对角线元素为0:如果DHNN的权系数矩阵W是一个对称矩阵,并且对角线元素为0,则这个网络是稳定的。W是一个对称矩阵仅是充分条件,不是必要条件。

DHNN的类人类的联想记忆功能:DHNN一个重要功能是可以用于联想记忆,即联想存储器,这是人类的智能特点之一。

DHNN实现联想记忆过程分为两个阶段:

1)、学习记忆阶段: 设计者通过某一设计方法确定一组合适的权值,使DHNN记忆期望的稳定平衡点。

2)、联想回忆阶段: DHNN的工作过程。



DHNN局限性:

image.png

DHNN记忆容量的有限性—无混沌状态:由于网络状态是有限的,不可能出现混沌状态。

DHNN的伪稳定点的联想与记忆;

DHNN对于近似样本容易出错:当记忆样本较接近时,网络不能始终回忆出正确的记忆等;

DHNN平衡稳定点不可以任意设置:也没有一个通用的方式来事先知道平衡稳定点。



激活函数:DHNN中采用的是sgn函数

阈值Tj:以前是加偏置,但现在是减阈值,其实思想是一样的。t是迭代次数。


image.png

image.png

image.png

image.png






相关文章
|
2月前
|
机器学习/深度学习 编解码 计算机视觉
【APFN】从大佬论文中探索如何分析改进金字塔网络
【APFN】从大佬论文中探索如何分析改进金字塔网络
45 0
|
2月前
|
计算机视觉
【论文复现】经典再现:yolov4的主干网络重构(结合Slim-neck by GSConv)
【论文复现】经典再现:yolov4的主干网络重构(结合Slim-neck by GSConv)
51 0
【论文复现】经典再现:yolov4的主干网络重构(结合Slim-neck by GSConv)
|
2月前
|
消息中间件 Kubernetes 网络协议
Cilium 系列 -15-7 层网络 CiliumNetworkPolicy 简介
Cilium 系列 -15-7 层网络 CiliumNetworkPolicy 简介
|
3月前
|
前端开发 JavaScript Java
毕业设计论文|基于SSM的网络教学系统设计与实现
毕业设计论文|基于SSM的网络教学系统设计与实现
|
1天前
|
数据可视化 数据挖掘
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
|
10天前
|
数据建模
R语言网络分析友谊悖论案例
R语言网络分析友谊悖论案例
R语言网络分析友谊悖论案例
|
14天前
|
网络协议 Java API
Python网络编程基础(Socket编程)Twisted框架简介
【4月更文挑战第12天】在网络编程的实践中,除了使用基本的Socket API之外,还有许多高级的网络编程库可以帮助我们更高效地构建复杂和健壮的网络应用。这些库通常提供了异步IO、事件驱动、协议实现等高级功能,使得开发者能够专注于业务逻辑的实现,而不用过多关注底层的网络细节。
|
23天前
|
数据采集 网络协议 API
python中其他网络相关的模块和库简介
【4月更文挑战第4天】Python网络编程有多个流行模块和库,如requests提供简洁的HTTP客户端API,支持多种HTTP方法和自动处理复杂功能;Scrapy是高效的网络爬虫框架,适用于数据挖掘和自动化测试;aiohttp基于asyncio的异步HTTP库,用于构建高性能Web应用;Twisted是事件驱动的网络引擎,支持多种协议和异步编程;Flask和Django分别是轻量级和全栈Web框架,方便构建不同规模的Web应用。这些工具使网络编程更简单和高效。
|
1月前
|
机器学习/深度学习 开发者
论文介绍:基于扩散神经网络生成的时空少样本学习
【2月更文挑战第28天】论文介绍:基于扩散神经网络生成的时空少样本学习
16 1
论文介绍:基于扩散神经网络生成的时空少样本学习
|
1月前
|
缓存 网络协议 网络虚拟化
网络技术基础(15)——DHCP简介与配置
【3月更文挑战第3天】刚加完班又去南京出差了,实在是太忙了。。。。网络基础笔记(加班了几天,中途耽搁了,预计推迟6天),这篇借鉴了之前师兄的笔记。