DL之HNN:Hopfield神经网络(HNN)的简介(两类DHNN/CHNN)、简介、使用案例之详细攻略
导读:Hopfield神经网络(HNN)是一种具有循环、递归特性,结合存储和二元系统的神经网络。由约翰·霍普菲尔德在1982年发明。对于一个Hopfield神经网络来说,关键在于确定它在稳定条件下的权系数。Hopfield神经网络分为离散型和连续型两种,主要差别在于激活函数的不同。Hopfield神经网络(HNN)提供了模拟人类记忆的模型。
目录
DL之HNN:基于HNN(subplot)将凌乱数字矩阵图像(模拟手写数字图片)实现转为最相近的阿拉伯数字
DL之HNN:基于HNN(subplot)将凌乱数字矩阵图像(模拟手写数字图片)实现转为最相近的阿拉伯数字
相关文章
DL之HNN:基于HNN(subplot)将凌乱数字矩阵图像(模拟手写数字图片)实现转为最相近的阿拉伯数字
DL之HNN:基于HNN(subplot)将凌乱数字矩阵图像(模拟手写数字图片)实现转为最相近的阿拉伯数字_一个处女座的程序猿的博客-CSDN博客
Hopfield神经网络(HNN)的简介
1、Hopfield神经网络(HNN)的概述
背景 | 1982年,美国加州工学院生物物理学家约翰·霍普菲尔德Hopfield开创性地提出了一种新型的连续时间递归神经网络模型(原始的Hopfield模型)。 1982年,约翰·霍普菲尔德认识到如果这种连接是对称的,那就存在一个全局的能量函数。整个网络每个二进制单元的“配置”都对应了能量的多与少,二进制单元的阈值决策规则会让网络的配置朝着能量函数最小化的方向进行。 使用这种类型的计算的一种简洁方法是使用存储器作为神经网络的能量最小值,使用能量极小值的记忆提供了一个内存关联存储器(CAM) 。 |
简介 | HNN(Hopfiled Neural Network,HNN)是一种基于反馈的神经网络,它是由物理学家John Hopfield在1982年提出的。该网络的主要应用包括模式识别、最优化、组合优化等。 HNN是一种结合存储系统和二元系统的神经网络。它保证了向局部极小的收敛,但收敛到错误的局部极小值,而非全局极小的情况也可能发生。HNN也提供了模拟人类记忆的模型。 HNN是一种循环神经网络,每个节点的输出都是其他节点的输入(但不存在自反馈),下边的T代表阈值(类似NN的偏置)。HNN是一种结合存储系统和二元系统的神经网络。它保证了向局部极小的收敛,但收敛到错误的局部极小值(local minimum),而非全局极小(global minimum)的情况也可能发生。HNN也提供了模拟人类记忆的模型。 |
原理 | HNN的主要原理是能量最小化。网络的能量函数是一个基于神经元状态和权重矩阵的函数,它描述了网络的总能量。网络会通过改变神经元的状态,以减小能量函数的值,直到网络达到一个稳定状态。在这种稳定状态下,网络的能量将达到一个最小值,这就是HNN的目标。 |
意义 | HNN的意义在于它能够实现模式识别和最优化等任务。 当网络被输入一个模式时,它会根据网络的能量函数进行状态更新,最终收敛到一个与输入模式最相似的状态。这种特性使得HNN能够用于模式识别任务,例如图像识别。此外,HNN还可以用于解决组合优化问题,例如旅行商问题和图着色问题等。 |
网络结构特点 | 反向网络+全连接+相互连接+节点取二元值 HNN是一种反向网络,用于存储和查找模式。它的节点只能取0或1值。 HNN是一种全连接的神经网络,其神经元之间互相连接,形成一个循环神经网络。每个神经元都有一个状态(通常是1或-1),并且它们可以相互作用以改变彼此的状态。这种相互作用是通过权重矩阵来实现的,权重矩阵中的每个元素表示一个神经元之间的连接强度。 >> Hopfield神经网络由二进制阈值单元反复连接组成; >> Hopfield神经网络考虑输出与输入间的延迟因素; >> Hopfield神经网络模拟人类记忆功能—死记硬背式学习; >> Hopfield的反馈性—反复进行直至稳定平衡态—稳定状态、有限环状态、混沌状态; >> Hopfield神经网络关键在于确定稳定条件下的权系数; |
优缺点 | HNN由于实现简单且存储能力强,适用于内容寻址存储和模式匹配等任务。但是其存储空间有限和收敛性不佳,对于复杂问题的处理能力有限。 实现简单:网络结构简单,学习算法也很直接。HNN具有快速计算的优势,因为其能够在一定的时间内收敛到稳定状态。 存储能力强:能很高效地存储和检索大量的模式。 噪声容错能力:HNN能够处理噪声和失真,因为它能够通过反复迭代来修复受损的输入。HNN具有容错性,因为它能够从部分信息中恢复出原始模式。 存在理论基础:基于 Lyapunov 函数分析。 具有适应性:能适应模式的变化。HNN具有自适应性和自组织性,因为它能够自动调整权重矩阵以适应不同的输入。 |
计算复杂度高:对于大型问题,HNN的计算复杂度很高,因为其需要迭代多次才能收敛到稳定状态。 存储空间有限:网络只能存储少量的稳定模式。HNN对于输入模式的数量有限制,因为它的能量函数可能存在多个局部最小值,从而导致模式混乱。 模式过于相似会干扰:相似的模式难以区分。 适用问题有限—非监督学习:主要用来存储和检索模式,其他用途有限。HNN的训练过程是非监督学习,因此它无法利用标签信息进行精细的分类和回归任务。 节点协同性差:不同节点间相互作用不充足。 收敛性不好:部分情况下难以收敛到正确的模式。HNN可能会出现震荡现象,即网络在多个状态之间反复跳动,从而无法收敛到稳定状态。 | |
分类 | HNN的两个类别DHNN和CHNN 离散型DHNN(Discrete Hopfiled Neural Network):Hopfield最早提出的网络是二值神经网络,各神经元的激励函数为阶跃函数或双极值函数,神经元的输入、输出只取{0,1}或者{ -1,1},所以也称为离散型Hopfield神经网络DHNN。在DHNN中,所采用的神经元是二值神经元;因此,所输出的离散值1和0或者1和-1分别表示神经元处于激活状态和抑制状态。 离散Hopfield神经网络DHNN是一个单层网络,有n个神经元节点,每个神经元的输出均接到其它神经元的输入。各节点没有自反馈。每个节点都可处于一种可能的状态(1或-1),即当该神经元所受的刺激超过其阀值时,神经元就处于一种状态(比如1),否则神经元就始终处于另一状态(比如-1)。 1、DHNN的特点: DHNN是一种多输入、含有阈值的二值非线性动态系统—能量函数。在动态系统中,平衡稳定状态可以理解为系统某种形式的能量函数(energy function)在系统运行过程中,其能量不断减少,最后处于最小值。 DHNN稳定的充分条件是权重系数矩阵W是一个对称矩阵且对角线元素为0:如果DHNN的权系数矩阵W是一个对称矩阵,并且对角线元素为0,则这个网络是稳定的。W是一个对称矩阵仅是充分条件,不是必要条件。 DHNN的类人类的联想记忆功能:DHNN一个重要功能是可以用于联想记忆,即联想存储器,这是人类的智能特点之一。 DHNN实现联想记忆过程分为两个阶段: >> 学习记忆阶段: 设计者通过某一设计方法确定一组合适的权值,使DHNN记忆期望的稳定平衡点。 >> 联想回忆阶段: DHNN的工作过程。 2、DHNN局限性: DHNN记忆容量的有限性—无混沌状态:由于网络状态是有限的,不可能出现混沌状态。 DHNN的伪稳定点的联想与记忆; DHNN对于近似样本容易出错:当记忆样本较接近时,网络不能始终回忆出正确的记忆等; DHNN平衡稳定点不可以任意设置:也没有一个通用的方式来事先知道平衡稳定点。 |
连续型CHNN(Continuous Hopfiled Neural Network):CHNN与DHNN在拓扑结构上是一致的。 (1)、在实际应用中的系统,如果其优化问题可以用能量函数E(t)作为目标函数,那么CHNN网络和优化问题直接对应。这样,大量优化问题都可以用CHNN网络来求解。这也是HNN用于神经计算的基本原因。 HNN与DHNN的主要区别—CHNN采用S型连续的Sigmoid函数:CHNN与DHNN不同之处在于其函数g不是阶跃函数,而是S型的连续函数。 (1)、CHNN与DHNN的主要差别在于:CHNN神经元激活函数使用Sigmoid函数,而DHNN神经元激活函数使用了硬极限函数。 CHNN的各个神经元同步式工作:CHNN在时间上是连续的,所以CHNN网络中各个神经元是处于同步方式工作的。 CHNN网络是稳定的条件—函数连续且有界+权值系数矩阵对称:当CHNN网络的神经元传递函数g是连续且有界的(如Sigmoid函数),并且CHNN网络的权值系数矩阵对称,则这个CHNN网络是稳定的。 | |
应用场景 | Hopfield神经网络早期应用包括按内容寻址存储器,模数转换、优化组合计算、解决TSP问题等。具有代表意义的是解决TSP问题。 1985年Hopfield和Tank用HNN求解N=30的TSP问题,从而创建了神经网络优化的新途径。除此之外,Hopfield 神经网络在人工智能之机器学习、联想记忆、模式识别、优化计算、VLSI和光学设备的并行实现等方面有着广泛应用。 |
HNN通过模拟人脑神经网络的某些特性,可以高效实现大量的数据存储和检索。它的应用主要在于能够搜索最接近输入的存储模式。HNN的应用场景包括: 信息存储和检索:可以用作内容寻址存储器,存储和检索模式。HNN可以存储和检索大量的信息,例如在数据库搜索和信息检索中。 最优化问题:HNN可以用于解决最优化问题,例如在机器学习中,用于寻找最优参数组合。 组合优化问题:HNN可以用于解决组合优化问题,例如在旅行商问题和图着色问题中,用于找到最优解决方案。 图像识别:HNN可以被用于图像识别,例如在医学图像处理中,用于识别肿瘤细胞。 |
2、DHNN的简介
(1)、DHNN的网络结构与工作方式
激活函数:DHNN中采用的是sgn函数
阈值Tj:以前是加偏置,但现在是减阈值,其实思想是一样的。t是迭代次数。
(2)、吸引子和能量函数
(3)、计算网络演变的过程
(4)、DHNN网络权值的选取
3、CHNN的简介
连续Hopfield神经网络CHNN(Continuous Hopfield Neural Network)与DHNN在拓扑结构上是一致的。
Hopfield神经网络(HNN)的案例应用
1、进阶用法
DL之HNN:基于HNN(subplot)将凌乱数字矩阵图像(模拟手写数字图片)实现转为最相近的阿拉伯数字
DL之HNN:基于HNN(subplot)将凌乱数字矩阵图像(模拟手写数字图片)实现转为最相近的阿拉伯数字_一个处女座的程序猿的博客-CSDN博客