Hebb学习规则 以及 Hebb网络

Hebb学习规则代表一种纯向前的非监督学习。这里用一个简单的例子来说明具有简单网络的二进制和连续激活函数的Hebb学习情况。先上图:


假定具有以下初始权向量的网络如上图所示。

初始权向量 

W1 = [1, -1, 0, 0.5]T

输入

X= [x1, x2, x3, x4]T

训练集用以下三个输入向量

X1 = [1, -2, 1.5, 0]T   X2 = [1, -0.5, -2, -1.5]T   X3 = [0, 1, -1, 1.5]T

学习常数在这里则设为 η = 1。因为初始权重具有非零值,这意味着这个网络事先已经明显受过训练。这里我们采用双机二进制神经元, 那么 f(net) = sgn(net)。

学习过程有以下步骤:

第一步 加到网络的输入X1产生如下的net1 

net1 = (W1)TX1 = [1, -1, 0, 0.5]*[1, -2, 1.5, 0]T  = 3

更新的权是

W2 = W1 + sgn(net1)X1 = W1 + X1 = [1, -1, 0, 0.5]T + [1, -2, 1.5, 0]T = [2, -3, 1.5, 0.5]T

sgn(net1)=1,net1>=0

sgn(net1)=-1,net1<0

ΔWi= ηf(WiTX)X  f(WiTX)=sgn(net1),W2 = W1 + ΔWi

当这里的f(WiTX)不是符号函数sgn(net1)时,如当f(net) = 2/[1+exp(-λ*net)] - 1,计算也是一样的。(net=WiTX)

其中在表达式右边的下标表示当前调节步数。

第二步 这次学习使用X2作输入,重复第一步的步骤

W3 = [1, -2.5, 3.5, 2]

第三步 这次学习使用X3作输入,重复第一步的步骤

W4 = [1, -3.5, 4.5, 0.5]

由上可见,具有离散f(net)和η = 1的学习分别产生加整个输入模式向量到权向量中或者从权中减去整个输入模式向量。在连续f(net)的情况,权增加/减少向量按比例缩小到输入模式的分数值。

下面看一个具有连续双极激活函数f(net),用输入X1和初始权W1的Hebb学习例子。

同在第一步概况那样,我们得到神经元输出值和对于 λ=1 更新权,和以前的情况比较,不同的是f(net), 现在的激活函数如下式

f(net) = 2/[1+exp(-λ*net)] - 1

通过计算可得

f(net1) = 0.905   f(net2) = -0.077 f(net3) = -0.932

W2 = [1.905, -2.81, 1.357, 0.5]T   W3 = [1.828, -2.772, 1.512, 0.616]T         W4 = [1.828, -3.70, 2.44, -0.783]T

ΔWi= ηf(net(i)) X      W2(i+1)= Wi + ΔWi     f(net(i))=W(i)T * X(i)

通过对比离散的和连续的激活函数,可见 对于连续的激活函数,权调节成锥形,但是一般是在同一方向上的。以上,就是关于Hebb学习规律的简单的例子。


  • 10
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值