第三章-监督学习神经网络
个模式前,有:
zi, p (t − 1) = zi, p (t)
(3.20)
在给出 t' 个模式后并在给出第 t' + 1 个模式之前,对于所有的 t = 1, ,t' ,有:
zi, p (t − t' ) = zi, p (t − t' + 1)
(3.21)
这使得总共有 nt 个模式影响权值的更新,因此使时域特征可以引导所学习到的函数曲 线。 zi, p (t − t' ) 和 zi, p (t − t' + 1) 之间的每一个连接的权值为 1。
这种类型的神经元接下来被当作构件来构造一个完整的前馈时延神经网络。
图 3.5 单个时延神经元
第 3 章 监督学习神经网络
27
初始时仅 zi, p (t) (t=0)有值。所有的 zi, p (t − t' ) ( i = 1, , I ,t' = 1, , nt )均为 0。t' 为时间
步长。 nt 是时间步长的总数,或延迟模式的个数。在给出第一个模式出现后并在给出第二
⎝k j =1
⎠ j , p
∑ ∑ ⎛ J +1
I +1
⎞
= fo ⎜ wkj f y ( v ji zi, p ) ⎟
⎝k j =1
j
i =1
⎠
(3.1)
其中 fOk 和 fyj 分别是输出单元 ok 和隐层单元 yi 的激活函数。wki 是输出单元 ok 和隐层单 元 yi 之间的权值。zi,p 是输入模式 zp 的输入单元 zi 的值。第(I+1)个输入单元和第(J+1) 个隐层单元是代表下一层中的神经元的阈值的偏置单元。
(3.13)
且 zi, p ≠ 0 。
则:
net y
=
eρ j,p
cos(π∅ j, p )
j,p
每一个输出单元的输出值则为:
∑ ok, p
=
fo
⎛ J +1 ⎜ wkj f y
(eρ j,p
⎞ cos(π∅ j, p )) ⎟
⎝k j =1
j
⎠
(3.14) (3.15)
第 3 章 监督学习神经网络
第 3 章 监督学习神经网络
单个神经元对于所能够学习的函数类型有很多限制。一个(实现求和单元)的单个神 经元仅能被用于线性可分函数。当需要学习非线性可分函数的时候,就需要一个分层的神 经元网络。训练这些分层的网络比训练一个单个的神经元更为复杂,并且训练可以是监督 学习、非监督学习或者是增强学习。本章讨论监督学习。
上述的乘积单元网络输入信号计算公式的另一种形式是在乘积中包括“失真度”,例如
24
计算智能导论(第 2 版)
I +1
∏ nety =
zv ji i, p
j,p
i =1
(3.5)
其中对于所有的模式 zI +1, p = −1 ,v j,I +1 代表失真度。引入失真度的目的是在训练中动态地调 整激活函数以使其更好地逼近训练数据所代表的真实函数。
请注意每一个激活函数可以是不同的函数。并不需要所有的激活函数都必须是同一
类型。同样,每一个输入单元可以实现一个激活函数。通常假定输入单元具有线性激活
函数。
图 3.1 前馈神经网络
3.1.2 函数链神经网络
在函数链神经网络(FLNN)中,输入单元实现了激活函数(或者变换函数)。一个函
数链神经网络即为将输入层单元扩展为高阶函数单元的前馈神经网络[314,401]。一个 I 维
层仅含有求和单元,并且假定网络中的所有神经元均使用线性激活函数。则对于每一个隐
层单元 y j , 其网络输入为(注意没有包括偏置):
I
∏ nety =
zv ji i, p
j,p
i =1
I
= ∏ ev ln(z )
ji
i,p
i =1
= e∑ v ln(z )
i ji
i,p
(3.4)
其中 zi,p 是输入单元 zi 的激活值,vji 是输入单元 zi 和隐层单元 yj 之间的权重。
ln c = ln relθ = ln r + lθ + 2πkl
(3.7)
其中 r = a2 + b2 = 1 。
仅考虑主要参数 arg(c) ,k = 0 表明 2πkι = 0 ,此外对于ι = (0,1) 有θ = π 。因此ιθ = ι π ,
2
2
这将等式(3.10)简化为 ln c = ι π ,因此有: 2
时延神经网络的输出为:
∑ ∑ ∑ ⎛ J +1
⎛I
n t
⎞⎞
ok , p
=
fo k
⎜⎜⎝
wkj
j =1
fy j
⎜ ⎝
i =1
t=0
v
j,i(t )
zi,
p
(t)
+
z v I +1 j,I +1
⎟ ⎠
⎟⎟⎠
(3.22)
3.1.6 级联神经网络
级联神经网络[252,688]是一个多层的前馈神经网络,并且所有的输入单元都对所有的 隐层单元和输出单元建立了直接连接。此外,隐层单元也是级联的,即每一个隐层单元的 输出均作为后续所有隐层单元和输出单元的一个输入。图 3.6 给出了一个级联神经网络的 例子。
出层被称为状态层,将输入层扩展为:
z = (z1, , zI +1 , zI +2 , , zI +1+K )
实际输出
状态单元
(3.18)
输出层的先前状态接下来被用作网络的输入。对于每一个输出单元,其输出为:
∑ ∑ ok, p
=
fo k
⎛ J +1 ⎜ wkj ⎝ j=1
fy j
⎛ ⎜⎝
I
+1+ K i =1
如图 3.3 所示的 Elman 简单反馈神经网络[236],通过复制隐层得到环境层。环境层的
目的是存储隐层的先前状态,即先前模式呈现中隐层的状态。环境层作为输入层的一个扩
展,给隐层提供表示先前网络状态的信号。因此输入向量为:
z = (z1, , zI +1 , zI +2 , , zI +1+ J )
图 3.6 级联神经网络
级联神经网络的输出为:
∑ ∑ ∑ ∑ ok, p = fo
⎛ I +1 ⎜ uki zi +
监督学习需要一个训练集,该训练集由输入向量和与每一个输入向量相关联的目标向 量组成。神经网络学习器使用目标向量来决定其已经学习的程度,并且通过目标向量指导 权值的调整从而降低整体误差。本章考虑监督学习下不同的神经网络类型,包括标准多层 神经网络、函数链神经网络、简单反馈神经网络、时延神经网络、乘积单元神经网络以及 级联神经网络。第 3.1 节首先介绍这些不同的神经网络结构。第 3.2 节讨论了对于监督训练 的不同的学习规则。第 3.4 节将对集成神经网络进行一个简短的讨论。
(3.2)
对于函数链神经网络,vjl 是隐层单元 yi 和函数链 hl 之间的权重。 除了要考虑额外的函数单元层以外,每一个输出 ok 的激活的计算方法与前馈神经网络 是相同的。
第 3 章 监督学习神经网络
23
∑ ∑ ok, p
=
fo k
⎛ J +1 ⎜ wkj ⎝ j=1
fy j
⎛ ⎜⎝
l
L =1
(3.16)
实际输入
环境单元
图 3.3 Elman 简单反馈神经网络
图 3.4 Jordan 简单反馈神经网络
26
计算智能导论(第 2 版)
环境单元 zI +2 , , zI +1+J 和所有隐层单元均为全连接。每一个隐层单元 y j ( j = 1, , J ) 到 其对应的环境单元 zI +1+ j 的连接权重为 1。因此,激活函数值 y j 被简单地被复制给 zI +1+ j 。 然而也可以让权重不为 1,在这种情况下先前状态的影响被加权。确定这样的权值为训练
的输入层从而被扩展到函数单元 h1, h2 , , hL 。其中 L 是函数单元的总数且每一个函数单元 hl 是输入参数向量 (z1, , zI ) 的一个函数,即 hl (z1, , zI ) (见图 3.2)。输入层和函数单元层 之间的权值矩阵 U 被定义为:
uli
=
⎧1 ⎨⎩0
如果函数单位 hl 依赖于 zi 其他
人们已经提出了不同类型的乘积单元神经网络。在其中一种乘积单元神经网络中,每
一个输入单元都被连接到一些求和单元以及一些乘积单元的一个专用组。另一种类型的乘
积单元神经网络交替(alternating)乘积单元层和求和单元层。由于当多个隐层均含有乘积
单元时的数学复杂性,本节只阐述隐层仅具有乘积单元,且不含求和单元时的情形。输出
如果 zi, p < 0 ,则 zi, p 可表示为复数 zi, p = ι2 | zi, p | (ι = −1) ,用其替换式(3.4)中的相应 项,得到:
net y
= e∑ e∑ v ln|z |
i ji
i,p
v lnι2
i ji
j,p
(3.6)
设 c = 0 + ι = a + bι 是表示ι 的复数。则:
v
ji
zi, p
⎞ ⎟⎠
⎞ ⎟ ⎠
(3.19)
其中 (zI +2, p , , zI +1+K , p ) = (o1, p (t − 1), , oK , p (t −1)) 。