开发者学堂课程【神经网络概览及算法详解:散Hopfield网络-3】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/40/detail/942
散Hopfield网络-3
DHNN例子
1. 例子一
l 题目
有一三节点的DHNN网络拓扑图如下,对每个节点而言,都有一个输出x和阈值T,同时输出都返回到节点中做输入。
三节点的DHNN,其阈值如下:
T1 = --0.1 T2 = 0 T3 = 0
权重矩阵如下:
解析
由权重矩阵可知,该对角线为0,同时为对称的矩阵,必定会有一些稳定状态。对角线为0表示第一个神经元的x1输出返回到节点本身的权重T1也是0。而第一行的W12=-0.5说明第一个神经元输出返回到第二个神经元的输入权重为-0.5。W13=0.2说明第一个神经元输出返回到第三个神经元的输入权重为0.2。第二行W21= -0.5,即表示第二个神经元的输出返回到第一个神经元的输入的权重为-0.5,w22=0说明第二个神经元返回本身作为输出的权重是0,w23=0.6说明第二个神经元的输出返回第三个神经元的输入的权重为0.6,依次类推。将值放入图中。
如图,第一个神经元的阈值为-0.1,省略输出返回到自身权重为0,对于x2权重为-0.5,x3为0.2。
除上图画法,将神经元看作圆圈,以将阈值写在其中,三角形的边对应着神经元的输出返回到神经元的输入权重。Eg:x1到x2的边为-0.5,表示x1的输出返回x2的输入的权重为-0.5,同样x2的输入返回到x1的输出的权重也为-0.5.
同时对角线为0说明神经元的输出不会返回到自身神经元的输入。如果对角线不为0,则以上图还有资格神经元返回给自身的线。
2. 例子二
l 题目
假设此时三节点的DHNN 网络,其阈值、权重值都已经确定,即该网络能够存储的记忆值均以确定。按照异步工作模式,计算网络的演变过程。
l 解析
网络工程就是联想记忆,所以要明确记忆了什么东西或是输入样本片段时怎么通过动态演变过程联想得到最终结论。同时图中x1x2x3到各自样本本身的权重0,因而省略不在图中展示。
因为是离散的Hopfield,所以网络各节点取值为0或1,同时3个节点则其输入模式共有23=8种状态。初态以X=(0 0 0)T为例:
共有同步和异步两种工作模式,此处采用异步工作模式,异步工作模式需要指定其顺序,其更新顺序可以指定,也可以随机。本例中使用固定顺序:1-> 2 ->3,因为随机的可能性过多,无法遍历。
按照固定顺序,首先遍历第一个节点再遍历第二个,最后遍历第三个。
①第一次更新x1
初始状态(0 0 0)T更新x1:
利用sgn函数作用于净输出net,净输出net等于w1j减去阈值T求和,代入公式W11*x1+W12*x2+W13*x3-T1得到结果1后将x1的状态更新为1。
②第一次更新x2
(1 0 0)T,更新x2:
同理将W21*x1+W22*x2+W23*x3-T2公式的各个值带入,其中W21=-0.5,W22=-0,W23=0.6,x1=1,x2=0, x3=0,注意此时x1已经更新为1,带入公式得出x2更新的值为0,说明x2没有发生变化。
③第一次更新x3
(1 0 0)T,更新x3:
同上,根据公式W31*x1+W32*x2+W33*x3-T3,W31=-0.2,W32=0.6,W33=0,x1=1,x2=0, x3=0代入公式计算得到X3更新的结果sgn(0.2)为1,x3原先为0更新变为1,说明发生改变。
④第二次更新x1
(1 0 1)T,再次更新x1:
步骤同第一次更新,但x1和x3的值为更新后的值。
⑤第二次更新x2
如果再次更新完x2后仍为(1 0 1)T,说明(1 0 1)T就是该计算网络的稳定状态。
(1 0 1)T,再次更新x2:
根据再次更新x2后(1 0 1)T变成(1 1 1)T,状态并未稳定,不满足稳定状态条件,因而接着更新。
⑥第二次更新x3
(1 1 1)T,更新x3:同上步骤,将权重值和阈值带入计算为sgn(0.8)为1,x3原先就为1所以说明x3没有发生变化。
⑦第三次更新x1
因为还未到达稳定状态,继续第三轮更新。
(1 1 1)T更新x1:
将权重值和阈值再次带入,得到x1第三轮更新结果为sgn(-0.2)为0,与之前的1相比发生了变化。
⑧第三次更新x2
第三次更新x2值未发生变化。
(1 1 1)T变为(0 1 1)T更新x2:
⑨第三次更新x3
第三次更新x3值同样未发生变化.
(0 1 1)T更新x3:
⑩第四次更新x1
此时已经稳定两次不变,所以当更新x3时也不变说明当前状态为稳定状态。如下结果可知,x1仍为0说明此时处于稳定状态。
(1 1 1)T更新x1:
3.演变路线
开始为000 更新一次后变为100 再经历第二次更新后为101,第三次变为111,最后处于稳定状态时为011。
以上结果证实,该题中如果输入000,最后演变结果会稳定为011,此时011就是记忆值,为联想记忆结果之一。同时第一步时,如果先更新x2或者x3,下一个状态仍然为(0 0 0)。
意为有2/3的状态是保持000的,若先更新x2或者x3的话保持000不变,仅有先更新x1时才会更新为100。即2/3概率变为本身,1/3概率变为下一状态。