前馈网络一般指前馈神经网络或前馈型神经网络。它是一种最简单的神经网络,各神经元分层排列。每个神经元只与前一层的神经元相连。接收前一层的输出,并输出给下一层,数据正想流动,输出仅由当前的输入和网络权值决定,各层间没有反馈。包括:单层感知器,线性神经网络,BP神经网络、RBF神经网络等。

  递归神经网络(RNN)是两种人工神经网络的总称。一种是时间递归神经网络(recurrent neural network),又名循环神经网络,包括RNN、LSTM、GRU等;另一种是结构递归神经网络(recursive neural network)。

  反馈网络(Recurrent Network),又称自联想记忆网络,输出不仅与当前输入和网络权值有关,还和网络之前输入有关。其目的是为了设计一个网络,储存一组平衡点,使得当给网络一组初始值时,网络通过自行运行而最终收敛到这个设计的平衡点上。包括Hopfield,Elman,CG,BSB,CHNN、DHNN等。

反馈网络具有很强的联想记忆和优化计算能力,最重要研究是反馈网络的稳定性(即其吸引子)

离散Hopfield神经网络

Hopfield神经网络是一种单层反馈,循环的从输入到输出有反馈的联想记忆网络。离散型为DHNN(Discrete Hopfield Neural Network)和连续型CHNN(Continues Hopfield Neural Network)。

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

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

对于中间层,任意两个神经元链接权值为Wij,Wij=Wji,神经元的连接是对称的,。如果Wii等于0,即神经元自生无连接,则称为无自反馈的Hopfield网络,如果不为0,则为有自反馈的Hopfield网络,但是出于稳定性考虑,应避免使用具有自反馈的网络,在这里,第一层Xi仅仅作为输入,没有实际功能。第三层为输出神经元,其功能是使用阈值函数对计算结果进行二值化。

仅考虑中间神经元节点发现,每个神经元输出将成为其他神经元输入,每个神经元输入又都来自其他神经元。神经元输出数据经过其他神经元之后又反馈给自己。

Hopfield网络的稳定性

Hopfield网络按照神经动力学方式运行,对于给定的初始状态按照能量减小的方式演化,最终达到稳定状态。

  • DHNN网实质上是一个离散的非线性动力学系统。网络从初态X(0)开始,若能经有限次递归后,其状态不再发生变化,即X(t+1)=X(t),则称该网络是稳定的。

  • 如果网络是稳定的,它可以从任一初态收敛到一个稳态:

  • 若网络是不稳定的,由于DHNN网每个节点的状态只有1和-1两种情况,网络不可能出现无限发散的情况,而只可能出现限幅的自持振荡,这种网络称为有限环网络。
  • 在有限环网络中,系统在确定的几个状态之间循环往复,系统也可能不稳定收敛于一个确定的状态,而是在无限多个状态之间变化,但是轨迹并不发散到无穷远,这种现象叫做混沌。

网络的状态 :

DHNN网中的每个神经元都有相同的功能,其输出称为状态,用 xj 表示。所有神经元状态的集合就构成反馈网络的状态
反馈网络的输入就是网络的状态初始值,表示为 X(0)=[x1(0),x2(0),…,xn(0)]T
反馈网络在外界输入激发下,从初始状态进入动态演变过程,变化规律为
xj=f(net(j))
DHNN网的转移函数常采用符号函数 :

净输入为:

网络计算的过程就是初始输入向量经过逐次迭代向吸引子演化的过程,演化的规则是向能量函数减小的方向演化,指导最终达到稳定状态。能量函数的定义为(为什么这样定义呢):

吸引子,吸引域与能量函数

吸引子:网络达到稳定时的状态X,称为网络的 吸引子。

吸引域:能够最终演化为该吸引子的初始状态集合称为该吸引子的吸引域。

若网络的状态X 满足 
X=f(WX-T) 
则称X为网络的吸引子。

对于DHNN 网,已被证明:

若按异步方式调整网络状态,且连接权矩阵W 为对称阵,则对于任意初态,网络都最终收敛到一个吸引子。
若按照同步方式调整网络,且链接权矩阵为非负定对称矩阵,则对于任意状态,网络最终都收敛到一个吸引子。

DHNN有两种向吸引子演化的工作方式:

1)串行(异步)方式:在时刻t时,只有某一个神经元j的状态发生变化(即一次只修改这一个神经元),而其他n-1个神经元的状态不变,称为串行工作方式。

若按照同步方式调整网络,且链接权矩阵为非负定对称矩阵,则对于任意状态,网络最终都收敛到一个吸引子的证明:

2)并行(同步)方式:在任一时刻t,所有的神经元的状态都产生了变化,称为并行工作方式。

设计离散Hopfield网络

Hopfield网络可以用于联想记忆,因此又称为联想记忆网络,与人脑类似,该网络实现联想记忆需要两个阶段:

  1. 记忆阶段:外界输入数据,使得系统自动调整网络的权值,最终用合适的权值使得系统有若干个稳定状态(即吸引子)。其吸引域半径定义为吸引子所能吸引的状态的最大距离,吸引域越半径越大,说明联想能力越强,联想记忆网络的记忆容量为吸引子的数量。
  2. 联想阶段:对于给定的输入模式,系统经过一定的演化,最终稳定收敛于某个吸引子。

假设待识别的数据为向量U=[u1,u2,.....uN],则系统将其设为初始状态,即Y=U。

网络中神经元个数与输入向量长度相同,初始化完成后,根据上面的式子反复迭代,直到神经元的状态不改变为止,此时输出的西营子就是 对应于输入Y的联想返回结果。

完成联想记忆的关键在于用恰当的学习算法得到网络权值。常见以下学习算法:

  • 外积法
  • 投影学习法
  • 伪逆法
  • 特征结构法

K:需要记忆的K个吸引子

N:输入向量的维度,神经元的个数,吸引子的维度。

另外离散Hopfield网络中存在伪吸引子,伪吸引子也是稳定的状态,但它不是设计者所需要的,减小伪状态是改进离散Hopfield网络的一个方向。

由于网络中各节点的状态只能取1 或 –1 ,能量函数E(t)
作为网络状态的函数是有下界的,因此网络能量函数最终将收敛于一个常数,此时ΔE(t)=0
综上所述,当网络工作方式和权矩阵均满足条件时,网络最终将收敛到一个吸引子。

以上分析表明,在网络从初态向稳态演变的过程中,网络的能量始终向减小的方向演变,当能量最终稳定于一个常数时,该常数对应于网络能量的极小状态,称该极小状态为网络的能量井,能量井对应于网络的吸引子。

实例:

网络的权值设计

⑴为保证异步方式工作时网络收敛,W应为对称阵;

⑵为保证同步方式工作时网络收敛,W应为非负定对称阵;

⑶保证给定样本是网络的吸引子,并且要有一定的吸引域。

五.反馈(Hopfield)神经网络的更多相关文章

  1. Hopfield神经网络

    神经网络分类 多层神经网络:模式识别 相互连接型网络:通过联想记忆去除数据中的噪声 1982年提出的Hopfield神经网络是最典型的相互连结型网络. 联想记忆 当输入模式为某种状态时,输出端要给出与 ...

  2. Hopfield神经网络和TSP问题

    一.TSP问题 旅行商问题,又叫货郎担问题.它是指如下问题:在完全图中寻找一条最短的哈密尔顿回路. 哈密尔顿回路问题:给定一个图,判断图中是否存在哈密尔顿回路. 哈密尔顿回路:寻找一条回路,经过图中所 ...

  3. Hopfield 神经网络及稳态性的证明

    根据其提出者,John Joseph Hopfield 命名.Hopfield 在 1982 年提出的划时代的:Neural networks and physical systems with em ...

  4. 数模学习笔记(五)——BP神经网络

    1.BP神经网络是一种前馈型网络(各神经元接受前一层的输入,并输出给下一层,没有反馈),分为input层,hide层,output层 2.BP神经网络的步骤: 1)创建一个神经网络:newff a.训 ...

  5. Hopfield神经网络实现污染字体的识别

    这个网络的内部使用的是hebb学习规则 贴上两段代码: package geym.nn.hopfiled; import java.util.Arrays; import org.neuroph.co ...

  6. tensorFlow(五)深层神经网络

    TensorFlow基础见前博客 上实例: MNIST 数据集介绍 MNIST 是一个手写阿拉伯数字的数据集. 其中包含有 60000 个已经标注了的训练集,还有 10000 个用于测试的测试集. 本 ...

  7. 反馈神经网络Hopfield网络

    一.前言 经过一段时间的积累,对于神经网络,已经基本掌握了感知器.BP算法及其改进.AdaLine等最为简单和基础的前馈型神经网络知识,下面开启的是基于反馈型的神经网络Hopfiled神经网络.前馈型 ...

  8. 神经网络hopfield的学习

    Hopfield神经网络使用说明. 该神经网络有两个特点: 1,输出值只有0,1 2,Hopfield没有输入(input) 这里解释一下第二个特点,什么叫没有输入?因为在使用Hopfield网络的时 ...

  9. Hopfield 网络(上)

    讲的什么 这部分主要对 Hopfield 网络作一大概的介绍.写了其模型结构.能量函数和网络的动作方式.主要参考了网上搜到的一些相关 PPT.   概述 早在 1982 年,Hopfield 发表的文 ...

随机推荐

  1. 为什么说 Python 是数据科学的发动机(一)发展历程(附视频中字)

    为什么说 Python 是数据科学的发动机(一)发展历程(附视频中字) 在PyData Seattle 2017中,Jake Vanderplas介绍了Python的发展历程以及最新动态.在这里我们把 ...

  2. 左神算法进阶班6_1LFU缓存实现

    [题目] LFU也是一个著名的缓存算法,自行了解之后实现LFU中的set 和 get 要求:两个方法的时间复杂度都为O(1) [题解] LFU算法与LRU算法很像 但LRU是最新使用的排在使用频率最前 ...

  3. 使用dubbo中间件出现NoSuchBeanDefinitionException异常

    dubbo中间件中有一个import com.alibaba.dubbo.config.annotation.Service类,在service层添加注解时要注意,我们添加的是import org.s ...

  4. elasticsearch 中文API 基于查询的删除(九)

    基于查询的删除API 基于查询的删除API允许开发者基于查询删除一个或者多个索引.一个或者多个类型.下面是一个例子. import static org.elasticsearch.index.que ...

  5. drools规则管理Guvnor的安装

    今天找了一圈没看到tomcat下如何安装Guvnor,自己试了安装一把把流程记录下来. 1.JBOSS官方下载Guvnor(或者网上找找很多war包) 2.下载tomcat,安装(保证8080 ind ...

  6. vs 快捷键 (空格显示 绿点, Tab 显示箭头)

    VS 快捷键 (空格显示 绿点, Tab 显示箭头)   VS 有用的快捷键 : Ctrl + r, ctrl + w, 切换空格示.

  7. css3的2D变形

    一.2D变形 1.变形 transform:translate();translateX();translateY();translate(,); 2.过渡 transition:all 1s; 二. ...

  8. js阻止冒泡和默认事件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. MyISAM 与 innoDB 的选择

    1.MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法.不 ...

  10. JS中的一些函数式编程术语

    组合 Composition 组合某种类型(含函数)的两个元素,进而生成一个该类型的新元素:           JavaScript   1 2 3 4 5 6 7 let compose = (f ...