深度学习 --- Hopfield神经网络详解(吸引子的性质、网络的权值的设计、网络的信息存储容量)
上一节我们详细的讲解了Hopfield神经网络的工作过程,引出了吸引子的概念,简单来说,吸引子就是Hopfield神经网络稳定时其中一个状态,不懂的请看 Hopfield神经网络详解,下面我们就开始看看吸引子有什么性质:
1.吸引子的性质
性质1:若是网络的一个吸引子,且阈值,在处,,则也一定是该网络的吸引子。
证明: 因为是吸引子,即,从而有:
所以也一定是该网络的吸引子。
性质2: 若是网络的一个吸引子,则与的海明距离的一定不是吸引子。
注:所谓海明距离是通信的含义就是说状态位不一样的个数,如1100和1000,其海明距离为1,因为不同的位就只有1位,
证明:两个向量的海明距离是指两个向量中不同元素的个数,不妨设
,因为,由吸引子定义,有:
由假设条件知,,故:
所以一定不是吸引子。
性质3:
若有一组向量均是网络的吸引子,且在sgn(0)处,,则有该组向量线性组合而成的向量也是该网络的吸引子。
2.吸引子的吸引域
能使网络稳定在同一吸引子的所有初态的集合,称该吸引子的吸引域,下面给出吸引域的定义:
定义1: 若是吸引子,对于异步方式,若存在一个调整次序,使网络可以从状态演变到,则称弱吸引到;若对于任意调整次序,网络都可以从状态演变到,则称强吸引到
定义2:若对于某些,有弱吸引到吸引子,则称这些的集合为的弱吸引域;若对某些,有强吸引到吸引子,则称这些的集合为的弱吸引域。
欲使反馈网络具有联想能力,每个吸引子应该都具有一定的吸引域,这样这样带噪声和缺失信息的初始样本,网络才能经过动态演变而稳定到某一个吸引子状态,从而实现正确的联想。反馈网络设计的目的就是要使网络能落到期望的稳定点上,并且具有最可能大的吸引域,以增强联想的功能即抗干扰的能力。
下面举个例子来说明是如何联想的:
这里就不画图了,直接从书中截图过来,然后详细讲解:
先解释一下,(a)图是说明的权值和阈值,其中圆圈内的是阈值即,连线旁边的是权值,状态的排列是这样的即:,假设的状态的更新顺序为,在假设初始状态为000,那么下面开始第一步更新:
设各节点状态取值为1或者0,3节点的DHNN网络应有种状态,设,更新顺序为:,下面开始:
第一步更新: ,其他节点状态不变,网络的状态由变为,如果先更新或者,网络状态仍为,因此初始状态保持不变的概率为,而变为的概率为。
第二步,此时的网络为,更新后,得到其他节点保持不变,网络状态仍为,如果本步先更新或者,网络的状态将为和,因此本状态保持不变的概率为,为变为为。
第三步,此时的网络状态为,更新得到,
同理可算出其他状态的直接的演变过程和状态转移概率,如上图b给出八种状态,从图中我们看到是一个吸引子,网络从任意状态更新后都将达到此稳定状态。
上面就是网络的转移过程和联想过程,下面我们来看看,如何设计吸引子,即如何设置网络权值。
3.网络的权值设计
从上面我们知道了网络是如何动态的更新到吸引子的,那么我们现在如何设计吸引子呢?
吸引子的分布是由权值决定的,设计吸引子的核心是如何设计一组合适的权值,为了使所设计的权值满足要求,权值矩阵应符合如下要求:
- 为保证异步方式工作时网络收敛,应该为对称阵
- 为保证同步方式工作时网络收敛,应该为非负定对称阵
- 保证给定的样本是网络的吸引子,并且要有一定的吸引域
根据所要求的的吸引子的数量,可以采用不同的方法设计吸引子,如下:
联立方程法:
下面根据上图的3个节点继续设计吸引子,设要求设计的吸引子为和,权值和阈值在【-1,1】区间取值,试求权值和阈值。
考虑到,对于状态,各节点净输入应该满足如下:
对于状态,各节点净输入应满足:
联立可以接得:权值的范围,在范围内选择一个权值就可以,下面直接给出答案了,权值不唯一:
因此该参数的从初态最终会演变到我们设计的两个吸引子中。
但是此种方法只适合吸引子较少的时候计算,如果吸引子较多时就需要采用外积和法。
外积和法:
更为通用的权值设计方法是采用Hebb规则的外积和法,设给定P个模式样本,,并且设样本两两正交,且n>p,则权值矩阵为记忆样本的外积和:
若,上式写为:
式中,为单位矩阵,上式写成分量形式,可写为:
所以上面w必然满足对称性要求,下面还需要检查一下是否为吸引子。
因P个样本,是两两正交的,有:
所以:
因为n>p,所以有:
可见给定样本,是吸引子,但是需要指出来的是我们设计时有时候并不能正好的设计那么多,例如我需要60个吸引子,但是我需要设计64个吸引子,因此会多出4个吸引子,该吸引子称为伪吸引子。下面画个图给大家理解一下什么意思,伪吸引子并不是我们想要的,但是它存在:
假如吸引子a,b,c是我们设计的吸引子,但是后面的就是伪吸引子,如何处理伪吸引子,我们将在下节继续讨论,这里先提一下。
4.网络的信息存储容量
当网络规模一定时,所能记忆的模式是有限的,对于所容许的联想出错率,网络所能存储的最大模式数称为网络容量,网络的容量与网络的规模、算法以及记忆模式向量的分布都有关系,下面给出DHNN网络存储容量的有关定理:
定理1: 若DHNN网络的规模为n,且权矩阵主对角线元素为0,该网络的信息容量上界为n。
定理2: 若P个记忆模式,是两两正交的,n>p,且权值矩阵按照进行求得,则所有P个记忆模式都是DHNN网的吸引子.
定理3:若P个记忆模式,是两两正交的,n>p,且权值矩阵按照进行求得,则所有P个记忆模式都是DHNN网的吸引子.
从上面的定理可知,当用外积设计DHNN网络时,如果记忆模式都满足两两正交的条件,则规模为n维网络最多可记忆n个模式,一般情况,模式样本不可能都满足正交条件,对于非正交模式,网络的信息存储会大大降低。
事实上,当网络规模n一定时,要记忆的模式越来越多,联想时出错的可能性很大,反之,要求出错率越低,网络的信息存储容量上限越小。研究表明当存储模式数P超过0.15n时,联想时就有可能出错,错误结果对应的是能量的局部极小点,或称为伪吸引子。
提高网络存储容量有两个基本途径:
1.改进网络拓扑结构
2.改进网络的权值设计方法
常用的改进方法有:反复学习法、纠错学习法、移动兴奋门限法、伪逆法、忘记规则和非线性谢谢规则等。
我们们知道了, Hopfield神经网络的最大问题在于伪吸引子的存在,一旦存在伪吸引子,因此容易造成错误,如何处理伪吸引子就是我们下一节所要解决的。
到这里DHNN就结束了,CHNN这里不讲了,感兴趣的自行查阅资料了解。
深度学习 --- Hopfield神经网络详解(吸引子的性质、网络的权值的设计、网络的信息存储容量)相关推荐
- 深度学习 --- Hopfield神经网络详解
前面几节我们详细探讨了BP神经网络,基本上很全面深入的探讨了BP,BP属于前馈式类型,但是和BP同一时期的另外一个神经网络也很重要,那就是Hopfield神经网络,他是反馈式类型.这个网络比BP出现的 ...
- 深度学习 --- 随机神经网络详解(玻尔兹曼机学习算法、运行算法)
BM网络的学习算法 (1) 学习过程 通过有导师学习,BM网络可以对训练集中各模式的概率分布进行模拟,从而实现联想记忆.学习的目的是通过调整网络权值使训练集中的模式在网络状态中以相同的概率再现.学习 ...
- 深度学习开发环境调查结果公布,你的配置是这样吗?(附新环境配置) By 李泽南2017年6月26日 15:57 本周一(6 月 19 日)机器之心发表文章《我的深度学习开发环境详解:Te
深度学习开发环境调查结果公布,你的配置是这样吗?(附新环境配置) 机器之心 2017-06-25 12:27 阅读:108 摘要:参与:李泽南.李亚洲本周一(6月19日)机器之心发表文章<我的深 ...
- 深度学习 --- 玻尔兹曼分布详解
上一节我们从Hopfield神经网络存在伪吸引子的问题出发,为了解决伪吸引子带来的问题,详细介绍了模拟退火算法,本节也是基础性的讲解,为了解决伪吸引子还需要引入另外一个重要概念即:玻尔兹曼分布.本篇将 ...
- 深度学习 --- BP算法详解(BP算法的优化)
上一节我们详细分析了BP网络的权值调整空间的特点,深入分析了权值空间存在的两个问题即平坦区和局部最优值,也详细探讨了出现的原因,本节将根据上一节分析的原因进行改进BP算法,本节先对BP存在的缺点进行全 ...
- 深度学习 --- 受限玻尔兹曼机详解(RBM)
本节终于来到了重头戏受限玻尔兹曼机,为了能深入理解本节,我们深入讲了很多基础知识,这些基础知识很重要,是理解本节的基础,同时也是你学习其他算法的基础如强化学习.自然语言处理等.本节的安排是先对比一下受 ...
- 【深度学习之美】局部连接来减参,权值共享肩并肩(入门系列之十一)
系列文章: 一入侯门"深"似海,深度学习深几许(深度学习入门系列之一) 人工"碳"索意犹尽,智能"硅"来未可知(深度学习入门系列之二) 神经 ...
- 深度学习 --- BP算法详解(流程图、BP主要功能、BP算法的局限性)
上一节我们详细推倒了BP算法的来龙去脉,请把原理一定要搞懂,不懂的请好好理解BP算法详解,我们下面就直接把上一节推导出的权值调整公式拿过来,然后给出程序流程图,该流程图是严格按照上一节的权值更新过程写 ...
- 离散型Hopfield神经网络详解
DHNN详解目录 hopfield hopfield类型 DHNN网络模型 DHNN网络的运行过程 DHNNN网络的状态 DHNN网络的输入 DHNN网络的演变规律(转移函数) DHNN网路的异步工作 ...
- 深度学习归一化算法详解(BN,LN,IN,GN)
目录 一.Batch Normalization(BN) 1.1为什么提出BN? 1.2BN的基本原理和公式 1.3BN在神经网络中的实现 1.4BN的优点和缺点 二.LN,IN,GN的原理和适用范围 ...
最新文章
- 2018年机器视觉前景预测
- Linux下多窗口分屏式终端--Terminator
- 图片存储解决方案的分析
- 这个爱喝酒的酒鬼可真是让人操碎了心
- Pentium的指令系统(1)——Pentium的寻址方式
- 随想录(关于dsp)
- 数据库 memorial
- strongswan 配置文件 /etc/ipsec.conf 速查手册1
- 2015蓝桥杯C++A:奇妙的数字(枚举法)
- 利用maven命令将外部jar包导进maven仓库
- 基于51/52单片机毕业设计课题选题表/毕设题目/设计资料
- __stdcall使用
- ARM架构与X86架构
- [转]字典学习/稀疏编码
- micropython入门 stm32_micropython(1):芯片 STM32 开发,也可以使用micropython开发,都很方便...
- 基于onenet的开关定位接收消息的APP设计
- 【cf】Codeforces 题解等汇总
- 黑马程序员 IO流
- 简单易学的机器学习算法——非线性支持向量机
- java发送hotmail邮件_如何使用Gmail、Yahoo或Hotmail通过Java应用程序发送电子邮件?...
热门文章
- android 控制手机,如何用Android手机控制另一部手机[详细说明]
- Markdown常用样式
- w ndows10图标,Win10桌面图标没了怎么办?Win10桌面快捷方式消失了解决方法
- 守望先锋为何如此火爆
- 微信公众号支付 java_微信支付之公众号支付(java实现)
- 转 我奋斗了18年,不是为了和你一起喝咖啡!
- 猿辅导 iOS 精准测试实践 - Objective-C 与 Swift 混编工程精准测试探索
- oracle删除表空间和修改索引表空间
- p9刷Android原生系统,华为P9怎么刷机 华为P9卡刷机方法【图文教程】
- Ph0thon字符串