一、前言

经过一段时间的积累,对于神经网络,已经基本掌握了感知器、BP算法及其改进、AdaLine等最为简单和基础的前馈型神经网络知识,下面开启的是基于反馈型的神经网络Hopfiled神经网络。前馈型神经网络通过引入隐层及非线性转移函数(激活函数)使得网络具有复杂的非线性映射能力。前馈网络的输出仅由当前输入和权矩阵决定,而与网络先前的输出状态无关。J.J. Hopfield教授在反馈神经网络中引入了能量函数的概念,使得反馈型神经网络运行稳定性的判断有了可靠依据,1985年Hopfield和Tank共同用模拟电子线路实现了Hopfield网,并成功的求解了优化组合问题中最具有代表性的旅行商TSP问题,从而开辟了神经网络用于智能信息处理的新途径。

前馈网络中,不论是离散还是连续,一般都不考虑输入和输出之间在时间上的滞后性,而只是表达两者间的映射关系,但在Hopfield网络中,需考虑输入输出间的延迟因素,因此需要通过微分方程或差分方程描述网络的动态数学模型。

神经网络的学习方式包括三种:监督学习、非监督学习、灌输式学习。对于Hopfield网络的权值不是经过反复学习获得的,而是按照一定的实现规则计算出来,在改变的是网络的状态,直到网络状态稳定时输出的就是问题的解。

Hopfield网络分为连续性和离散型,分别记为CHNN和DHNN。这里主要讲解DHNN。

二、DHNN

1. 网络结构与工作方式

DHNN的特点是任一神经元的输出xi均通过链接权wij反馈至所有神经元xj作为输入,目的是为了让输出能够受到所有神经元的输出的控制,从而使得各个神经元的输出相互制约。每个神经元均设有一个阈值Tj,以反映对输入噪声的控制。DHNN可简记为N=(W,T)。

(1) 网络的状态

所有神经元的状态集合构成了反馈网络状态X=(x1,x2,x3,...,xn),反馈网络的输入就是网络的状态初始值,X(0) = (x1(0),x2(0),x3(0),...,xn(0))。反馈网络在外界输入的激发下,从初始状态进入动态演变过程,其间每个神经元的状态不断变化,变化规律为:xj = f(net-j),f为转移函数,常采用符号函数,则神经元j的净输入net-j = sum(wji*xi - Tj),对于DHNN网,一般有wii = 0,
wji= wij。即权矩阵的对角线元素为0,且为对阵矩阵。表示神经元i的输出不反馈到神经元i,而是反馈到神经元i以外的所有神经元的输入端。

反馈网络稳定时每个神经元的状态都不再改变,即X(t) = X(t+1) = ... = X(∞)。

(2) 网络的异步工作方式

串行,网络每次只对一个神经元的状态进行调整计算,其他均不变。这样调整的顺序就有一定的影响了。可以随机选定或者按照固定的顺序。本次调整的结果会在下一个神经元的净输入中发挥作用。

(3) 网络的同步工作方式

并行,所有神经元同时进行状态调整计算。

2. 网络的稳定性与吸引子

(1) 稳定性

反馈网络是一种能够存储若干预先设置的稳定点的网络,作为非线性动力学系统,具有丰富的动态特性,如稳定性、有限环状态和混沌状态等;

稳定性指的是经过有限次的递归后,状态不再发生改变;

有限环状态指的是限幅的自持震荡;

混沌状态指的是网络状态的轨迹在某个确定的范围内变迁,既不重复也不停止,状态变化无穷多个,轨迹也不发散到无穷远。

对于DHNN,由于网络状态是有限的,不可能出现混沌状态。

利用Hopfield网络可实现联想记忆功能:用网络的稳态表示一种记忆模式,初始状态朝着稳态收敛的过程便是网络寻找记忆模式的过程,初态可视为记忆模式的部分信息,网络演变可视为从部分信息回忆起全部信息的过程,从而实现联想记忆。

可实现优化求解问题:将带求解问的目标函数设置为网络能量函数,当能量函数趋于最小时,网络状态的输出就是问题的最优解。网络的初态视为问题的初始解,而网络从初始状态向稳态的收敛过程便是优化计算过程,这种寻优搜索是在网络演变过程中自动完成的。

(2) 吸引子与能量函数

网络的稳定状态X就是网络的吸引子,用于存储记忆信息。网络的演变过程就是从部分信息寻找全部信息,即联想回忆过程。吸引子有以下的性质:

X=f(WX-T),则X为网络的吸引子;

对于DHNN,若按异步方式调整,且权矩阵W为对称,则对于任意初态,网络都最终收敛到一个吸引子;

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

X为网络吸引子,且阈值T=0,在sign(0)处,xj(t+1) = xj(t),则-X也一定是该网络的吸引子;

吸引子的线性组合,也是吸引子;

能使网络稳定在同一吸引子的所有初态的集合,称为该吸引子的吸引域;

对于异步方式,若存在一个调整次序,使网络可以从状态X演变为Xa,则称X弱吸引到Xa;若对于任意调整次序,网络都可以从X演变为Xa,则称X强吸引到Xa。则对应弱吸引域和强吸引域。

若使反馈网络具有联想能力,每个吸引子都应该具有一定的吸引域,只有这样,对于带有一定噪声或缺损的初始样本,网络才能经过动态演变而稳定到某一个吸引子状态,从而实现正确联想。反馈网络设计的目的就是要使网络能落到期望的稳定点上,并且还要具有尽可能大的吸引域,以增强联想功能。

3. 网络的权值设计

吸引子的分布是由网络权值包括阈值决定的,设计吸引子的核心就是如何设计一组合适的权值,为了使得所设计的权值满足要求,权值矩阵应符合以下要求:

(1) 为保证异步方式网络收敛,W为对称矩阵;

(2) 为保证同步方式网络收敛,W为非负定对称矩阵;

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

根据应用所要求的吸引子数量,可以采用以下不同的方法:

(1) 联立方程法

对于吸引子较少时,可采用该方法。

(2) 外积和法

对于吸引子较多时,可采用该方法。采用Hebb规律的外积和法。

参考资料:

韩力群,人工神经网络教程,北京邮电大学出版社,2006年12月

反馈神经网络Hopfield网络的更多相关文章

  1. Hopfield 网络(上)

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

  2. 神经网络hopfield的学习

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

  3. Hopfield 网络(下)

    讲的什么 这部分主要讲离散的 Hopfield 网络权值的计算方法,以及网络记忆容量.主要参考了网上搜到的一些相关 PPT.   DHNN 的训练方法 常见的学习方法中有海布法,还有 \(\delta ...

  4. 利用神经网络进行网络流量识别——特征提取的方法是(1)直接原始报文提取前24字节,24个报文组成596像素图像CNN识别;或者直接去掉header后payload的前1024字节(2)传输报文的大小分布特征;也有加入时序结合LSTM后的CNN综合模型

    国外的文献汇总: <Network Traffic Classification via Neural Networks>使用的是全连接网络,传统机器学习特征工程的技术.top10特征如下 ...

  5. 用python实现数字图片识别神经网络--启动网络的自我训练流程,展示网络数字图片识别效果

    上一节,我们完成了网络训练代码的实现,还有一些问题需要做进一步的确认.网络的最终目标是,输入一张手写数字图片后,网络输出该图片对应的数字.由于网络需要从0到9一共十个数字中挑选出一个,于是我们的网络最 ...

  6. My blog in AI ---神经网络,网络架构

    上一篇博文中,我们介绍了神经网络中的神经元,那么该如何组织起来这些神经元,才能发挥出最好的效果去解决现实中的问题呢? 这是一个复杂的问题,在工程中,神经网络的架构也是训练的也是一种超参数,本节先在理论 ...

  7. 深度学习原理与框架-递归神经网络-RNN网络基本框架(代码?) 1.rnn.LSTMCell(生成单层LSTM) 2.rnn.DropoutWrapper(对rnn进行dropout操作) 3.tf.contrib.rnn.MultiRNNCell(堆叠多层LSTM) 4.mlstm_cell.zero_state(state初始化) 5.mlstm_cell(进行LSTM求解)

    问题:LSTM的输出值output和state是否是一样的 1. rnn.LSTMCell(num_hidden, reuse=tf.get_variable_scope().reuse)  # 构建 ...

  8. 五.反馈(Hopfield)神经网络

    前馈网络一般指前馈神经网络或前馈型神经网络.它是一种最简单的神经网络,各神经元分层排列.每个神经元只与前一层的神经元相连.接收前一层的输出,并输出给下一层,数据正想流动,输出仅由当前的输入和网络权值决 ...

  9. Hopfield神经网络

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

随机推荐

  1. (1)前端框架uni-app

    前端框架uni-app 可编译到iOS.Android.H5.小程序等多个平台 一套代码编到7个平台 uni-app在跨端数量.扩展能力.性能体验.周边生态.学习成本.开发成本等6大关键指标上拥有极强 ...

  2. JSP带有标签体的自定义标签

    新建OutTag类 如何添加jsp-api.jar包 OutTag类详细代码 ``` package bid.zhazhapan.fims.tag; import javax.servlet.jsp. ...

  3. 描述yeild作用

    保存当前运行状态(断点),然后暂停执行,即将函数挂起 将yeild关键字后面表达式的值作为返回值返回,此时可以理解为起到了return的作用,当使用next().send()函数让函数从断点处继续执行 ...

  4. Tkinter 之ProgressBar进度条标签

    一.参数说明 参数 作用 cursor 鼠标位于进度条内时的形状 length 进度条长度 maximum 进度条最大刻度值 mode  进度条的模式.有两种:‘determinate’和’indet ...

  5. shell脚本实例,通向shell脚本大师的必经之路

    概述 读书百遍其义自见,shell脚本也是,只要例子看得多了,自然就知道怎么写了.这里主要整理了20几个例子,因为内容比较多,所以分了几次来做介绍了.下面的实例最好先自己思考怎么去实现,然后再看下实现 ...

  6. macOS 系统下载地址

    macOS Catalina macOS Mojave macOS High Sierra macOS Sierra 点击可以直接在MAC App Store下载,如果不能下载就多试几次.

  7. 基于Redis的分布式锁到底安全吗(下)?

    2017-02-24 自从我写完这个话题的上半部分之后,就感觉头脑中出现了许多细小的声音,久久挥之不去.它们就像是在为了一些鸡毛蒜皮的小事而相互争吵个不停.的确,有关分布式的话题就是这样,琐碎异常,而 ...

  8. 11.linux dns服务器建立和安装apache

    dns服务器建立 1.安装bind建立dns服务器     yum install bind -y 2.安装好修改配置文件:vim /etc/named.conf 修改:      listen-on ...

  9. HSCR | Hirschsprung‘s disease | 巨结肠 | 研究进展

    这个网站介绍得很详细:Hirschsprung Disease,基本的定义.病因.诊断. Hirschsprung disease — integrating basic science and cl ...

  10. 手写MyBatis ORM框架实践

    一.实现手写Mybatis三个难点 1.接口既然不能被实例化?那么我们是怎么实现能够调用的? 2.参数如何和sql绑定 3.返回结果 下面是Mybatis接口 二.Demo实现 1.创建Maven工程 ...