开发者学堂课程【神经网络概览及算法详解:离散Hopfield网络-2】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/40/detail/941
离散Hopfield网络-2
内容介绍:
一. DHNN 网络结构示意图
二. DHNN 网络状态
三. DHNN 网络稳定性
四. 能量函数
五. DHNN 的工作方式
一. DHNN 的网络结构示意图
1.介绍
上图中不同的颜色表示了不同神经元的反馈情况,一第一个神经元为例,他有一个阀值 T ,这个主要是用来对输入进行一个控制,我们看到其有一个输出 X ,X 输出之后还会反馈到前面那一层,下一个时刻比如说 T+1 时刻它会把输出返回到所有的输入层的四个节点上,任意一个都可以,每一个神经元都可以处理输入,也可以处理输出,并且它的输出还可以反馈到前面的层,这就是典型的反馈神经网络。
2.特点:
(1)单层、全连接、反馈:任一神经元输出 xi 均通过权重 wij 反馈至所有神经元 xi 作为输入,即让任一神经元的输出都能受到所有神经元的控制,从而使神经元的输出能互相制约。
(2)每个神经元均有一个阈值 Tj ,以反映对输入噪声的控制。 DHNN 网关键因素为权重矩阵及神经元阈值,因此也可以简单记作: N=(W,T)
(3)网络系统具有若干个稳定状态,当网络从某一初始状态开始运动,网络系统总可以收敛于一个稳定状态
(4)系统稳定的平衡状态可以通过设计网络的权值而被存储到网络中
简单来说, Hopfield 网络的一个主要的功能是联想记忆。那么首先要进行记忆,需要通过一些数据对这个网络进行训练,然后把权值这些信息存储到这个网络里,形成它的记忆功能。
联想的时候,拿一个不完整的数据输入进来,它就会根据这个网络的权重去运算,然后对应到一个稳定的输出。
二.DHNN 网络状态
1.每个神经元都具有相同的功能,其输出状态为 xj
2.所有神经元状态的集合,即为反馈网络的状态: X=(x1,x2,…,xn)
3.反馈网络的输入即为网络的状态初始值,记为: X(0)=(x1(0),x2(0),…,xn(0))
4. 反馈网络在外界输入激发下,进入动态演变过程,直到网络收敛于某一稳定态:输出不再变化(一定会收敛于一个稳定状态,如果不行就不存在联想记忆这个功能)
5.网络演变过程:
三.DHNN 网络稳定性
1.含义
DHNN 反馈网络实质上能存储若干个预先设置的稳定状态的网络(如果不能理解可以联系一下它的功能:联想记忆,首先要记忆一些固定的东西),运行时外界提供一个输入作为初始网络状态,网络将该输入对应的输出反馈回来作为下次的输入,经过多次循环迭代后,在某些条件下,网络会最终稳定在某一个预先设定好的稳定点。(简单来讲,就是它通过不断的运算,它可以根据输入的信息匹配到一个固定的输出模式,即输入一些信息经过联想得到最终的结果)稳态使得 DHNN 具有联想记忆功能。
网络稳定性:网络从初态 X(0) 开始,经过有限次递归后,其状态不再发生变化,即 X(t+1)=X(t) ,则称该网络是稳定的。
2.几种常见的状况:
四.能量函数
能量函数用来表征系统的稳定性,在满足一定的条件下,某种“能量函数”的能量在网络运行过程中不断减小,当能量最终稳定于一个常数时,网络趋于最终的稳定态。
公式如下:
这个公式借鉴了热能上的公式,系统的能量越低,它的稳定性越高。比如说鞭炮,当有一个火点燃之后,它在那一瞬间它的能量过大就导致鞭炮爆炸,能量越低,它就越稳定,又比如说沸腾的水和零下几度的这个冰,它的状态肯定是区别很大的。再比如你站得高势能就大,不稳定。
1. 利用网络的能量函数可实现优化求解功能。这个优化函数有点像讲回归的损失函数。就是通过一个网络的能量函数,把需要求解的问题的目标函数表示出来。一旦有了可量化的目标函数,我们就可以根据这个函数去求解我们网络里边的参数。网络的能量函数在网络状态按一定规则变化时,能自动趋向能量的极小点。
如果把一个待求解问题的目标函数以网络能量函数的形式表达出来,当能量函数趋于最小时,对应的网络状态就是问题的最优解。网络的初态可视为问题的初始解,这个解的效果可能不好,当运行的时候,它会从初始状态向稳定状态收敛。而网络从初态向稳态的收敛过程便是优化计算过程,这种寻优搜索是在网络演变过程中自动完成的。
2.网络达到稳定时的状态 x ( x 是一个输出向量,他是有多个节点的输出组成的向量)称为网络的吸引子。若把需记忆的样本信息存储于网络的不同吸引子,当输入含有部分记忆信息的样本时,网络的演变过程就是便是从部分信息寻找全部信息即联想回忆的过程。能量函数本身就相当于目标函数或者是损伤函数,求解的过程就是尽量让这个函数逐步变小。
五.DHNN 的工作方式
1.异步方式:即串行方式。
网络运行时,每次只有一个神经元 i 按如下公式进行状态调整的计算,其他神经元的状态都保持不变。
神经元调整的次序可指定也可随机。(当前调整这个神经元的输出,有可能会影响到下一次调整的神经元的输入。因为它是一个反馈程序网络,这一次的输出会变为下一次的输入,所以这个次序是很重要的。)当前调整的神经元的输出会影响下一个调整的神经元的输入。
基本运行步骤:
(1)初始化网络
(2)取出一个神经元,求出其净输出
(3)求其经过激活函数作用后的输出
(4)判断网络是否达到稳态,达到退出,否则继续
2.同步方式:即并行方式。
网络运行时,每次都是同时调整所有神经元的状态,即: