人工智能:7.2    人工神经网络




人工智能:7.2    人工神经网络


 


7.2.1        
感知器


感知器是在 1958 年由
F.Rosenblatt 提出的,它是一个简单的单层神经网络模型,由线性阈值单元(TLU) 组成,如图 7.11 所示。


 







p1


 


文本框: …输入   p2


 


 


 


 


pR






 


w1,2


 



 





 

 

输出


 


?


w1,R


1







 


7.11    线性阈值单元 TLU


其中 p 1 p2 p R 为二值或实值输入信号y  为二值输出信号w 1,1 w1,2





文本框: R


w1,R 为连接权值? 为阈值TLU 的数学描述如下

u = w1,1 p1 + w1,2 p 2 + + w1, R p R + 0 = å w1,i pi +
0 = W
TP
+0


i=1







 


y=f (u)=sgn(u)=





1      u
0


0      u < 0







可见 ,TLU 在输入样本空间上建立一个超平面,将两类模式分开,即当 W T P 超过阈值时 ,则 TLU 输出 1(A 类模式) W T P 低于阈值时 ,则输出 0(B 类模式) 这里,变量 u 可以是连续变化的,最后的输出为二值变量 0
1 ,实现输入样本集的分类,即







y = 1


y = 1





® A


® B







7.12 表明了在二维平面情况下的分类,此时的超平面方程为一条直线,即


 


194







 





2

 

p =  w1,1 p1


w1,2






 


0


w1, 2





7    神经网










WP +? 0

 




WP +? 0

 

单层感知器能够完成简单的模式识别或分类,对于一个线性可分的函数,感知器可以通过调整权系数值来达到识别目的。


 


 


 


 


 


 


 


 





WP +? 0

 


7.12
模式 AB 的分类


考虑第 k 个神经元, a k pi 的连接权为 w k,i ,对样本 pi 的实际输出值为 a k相应的理想输出值为 d k ,则权和偏置的更新算式为


Dwk ,i = ri(d k ak ) pi


wk, i (t + 1) = wk ,i (t )
+ Dwk ,i (t)


0k (t +1) = 0k (t ) + D0 k (t)


(1)      如果 ak = dk ,则 Dwk ,i (t) = 0 D0k (t) = 0 ,原来的 w k, i 0k 保持不变


(2) 如果 ak= 0 dk=1 ,则 Dwk,i (t) = pi D0k (t) = 1


(3) 如果 ak= 1 dk=0 ,则 Dwk,i (t) = pi D0k (t) = 1


为方便起见,将阈值 0 并入到 W
中去,令 w k,R +1= 0
P 也相应地增加一个分 pR+1=1 ,于是, 得到一个广义的权值向量 W
=[ wk,1 w k,2 w
k
,R 0 ]T


感知器学习算法 的具体
步骤如下 。


(1)     初始化。赋给 w 较小的非零随机值,确定比例因子(学习速度?=0.1 1


(2)      选择一个样本模式 pi 送入 TLU ,并给出理想输出值 dk


(3)      求出实际的输出值





å

 

R
+1


a = f (W TP)
= sgn(      wk ,i pi )


i=1


(4)      计算调节权系数值


 


195







人工智能技术与方法






Dwk,i = ri(dk ak ) p k,i


wk,i (t +1) = wk,i
(t)
+
Dwk







(5)      转入步骤(2) 选择下一个样本,直到 W 稳定不变为止。


从感 知 器的学习算法可知,学习的过程就 在于网络中权系数
的 修改,使网络对于所输入的模式样本 能够 正确 地 分类。当学习结束时,也即神经网络能正确分类时,显然权系数就反映了同类输 入 模式样本的共同特征。换句话讲,权系数存







储了 由于权系数是分散存在      p1


神经网络自然 就具有了 分布存储的
特性 。 下面,


通过一个简单例子来说明感知器的学习过程。


7.1    7.13 所示感知器,其权系数   p2


W=[w1w2]=[1 1]T ,阈值 ?=1 。现在,训练该感






 


 


 


 


?=1







知 器 以 实 现 对 样
p 1=[p1,p2]=(
1
1)


p2=[p1,p2]=(1
0) 的分类。


初始权值及阈值已经给出,选择 ? 1 。首先,扩展变量如下





7.13 感知器分类










p

 

é-
1  1
ù










1

 

P
= [ pT





T 1]T= ê 1 0ú = [P(1)





ê

 




ú

 




2

 

êë   1   1úû





  P (2)]







 


W0 = [w1





é1ù





ê ú

 




2

 

w      0 ]T= ê1ú


êë1úû







1   输入样 P (1)计算实际输出





ú

 

é-1ù










0

 




ê

 




1

 


=  f
(T
´ P(1))
=
sgn([1    1   1]
´ ê


êë





1ú) = 1


1úû





d 1 = 1










1

 

样本 P (1)对应的调节权系数值 DW = (1 1) P (1) = 0 ,不改变 W
0 ,即


é1ù


ê ú





ê ú

 

W= W+ DW= W+
= 1


êë1ûú


2   输入样 P (2)计算实际输出


 


 


196







 


 


a = f (W
T
´ P (2)) = sgn([1






 


é1ù


1 1]´ ê0ú)
= 1





7    神经网







2                    1                                                                     ê ú







 


d 2 = 0


样本 P (2)对应的调节权系数值为






 





ê

 




0

 




ú

 

é- 1ù





êë1úû







DW2





= (0 1) P(2) = ê        ú







êë 1úû







é1ù é 1ù





é0ù







W = W + DW





= ê1ú + ê





0ú = ê1ú







2             1                 2





ê ú   ê  ú     ê ú







êë1úû    êë 1úû





êë0úû







3   重复输入样 P (1)计算实际输出





ú

 

é- 1ù










2

 




ê

 




3

 

a  
=  f
(T
´ P (1))
=
sgn([0   1   0]
´ ê


êë





1ú) = 1


1úû







d 3 = 1





3

 

样本 P (1)对应的调节权系数值为 DW = (1 1) P (1) = 0 ,不改变,即 W 3= W 2


4   输入样 P (2)计算实际输出







 


a = f (W
T
´ P (2)) = sgn([0





é1ù


1 0]´ ê0ú)
= 1







4                    3                                                                        ê ú







 


d = 0


样本 P (2)对应的调节权系数值为


é- 1ù





êë1úû










ê

 




0

 




ú

 

DW4  = (0 1) P(2) = ê       ú


êë 1úû







é0ù é 1ù





é-1ù







W = W + DW





= ê1ú + ê





0ú = ê 1ú







4             3                 4





ê  ú   ê ú     ê     ú







êë0úû    êë 1úû





êë1úû







5     重复输入样 P (1)计算实际输出





ú

 

é-1ù










4

 




ê

 




5

 


= f (
T
´ P (1)) = sgn([1  
1  
1] ´ ê


êë





1ú) = 1


1úû







 


197







人工智能技术与方法


d 5 = 1





5

 

样本 P (1)对应的调节权系数值为 DW = (1 1) P (1) = 0 ,不改变,即 W 5= W 4


6 输入样本 P(2) ,计算实际输出值







 


a = f (W
T
´ P (2)) = sgn([1 1





é1ù


1] ´ ê0ú)
= 0







6                    5                                                                                 ê ú







 


d 6 = 0





êë1úû










6

 

样本 P (2)对应的 调节权系数值为 DW
= (0 0)P (2) = 0 ,不改变,即 W
6= W 4 此时, W 达到了稳定状态,感知器学习前后的分类情况如图 7.14 所示。


 


 


 


 


 


0


 


(a)                                                                                                                                                                                                 
(b)


7.14 感知器学习前后的状态


(a)      学习前初始状 (b) 学习后稳定状态


由上可 知 ,单层感知器具有将输入样本 P (1 )
P(2
)
正确地分为两类区域的简单识别能力 ,F.Rosenblatt 
已证明,如果输入样本空间是线性可划分的,则感知器的学习过程一定会正确收敛。然而,对于线性不可分的情况,单层感知器就无法正确实现划分,学习过程将会发生振荡而达不到一个稳定的状态。


比如,与逻辑(AND) 运算,其输入/ 输出关系如下







p1

p2

p1 AND p2

0

0

0

0

1

0

1

0

0

1

1

1

将与逻辑真值表中的输入表示为平面上的 4 个点, 如图 7.15 所示。


 


 


198







7    神经网






 


7.15   (AND)逻辑


显然,选取 w1,1=1/2 w1,2=1/2
?=0.6 ,可以实现区域划分,即


2                                    1          1





2          2

 

u
= å w1,pi +0 =    p1  +   p2 + 0.6


i=1


 


y = f (u) = sgn(u)
=


 


而对于异或逻辑(XOR) 运算,其输入/ 输出关系如下







p1

p2

p1 XOR p2

0

0

0

0

1

1

1

0

1

1

1

0

将异或逻辑真值表中的 输入表示为平面上的 4
个点 ,设输出 1 的样本为
A 类,
输出 0 的样本为 B 类,就无法找到一条直线能够将
A 类和
B 类两类模式分开
。进一步分析,为了满足异或逻辑条件,应有如下关系式成立


w1,1 ´ 0 + w1, 2 ´ 0 + 0 < 0  Þ        0 < 0







w1,1 ´ 0 + w1, 2 ´1 +0 0              Þ


w1,1 ´1 + w1,2  ´ 0 +0 0            Þ





0 w1,2


0 w1,1







 


化简上式,可得





w1,1 ´ 1 + w1,2 ´ 1 + 0 < 0


 


w1,1    > 0


w1, 2  > 0





Þ       0 < w w





1,1

 

1,2







 


显然,上式不可能同时被满足。





w1,1 + w1,2 < 0







 


199







人工智能技术与方法


如果将单层感知器扩展成为一个多层感知器 ,即在输 入/
输出层之间增加一些隐含层,如图 7.16(a)所示,则隐含层有两个神经元,此时隐含层的输出分别为


x1 = sgn(1´ p1 +1´ p 2 0.5)


x2 = sgn(1´ p1 1´ p2 +1.5)


输入/ 输出关系为


 







p1

p2

x1

x2

0

0

0

1

0

1

1

1

1

0

1

1

1

1

1

0

随后,在输出层上形成更复杂的区域划分


y1 = sgn(1´ x1 +1´ x2 1.5)


得输入/
输出关系







p1

p2

x1

x2

y1

0

0

0

1

0

0

1

1

1

1

1

0

1

1

1

1

1

1

0

0

至此,就完成对异或(XOR) 问题的分类,如图 7.16(b) 所示。


可见,多层感知器由于增加了隐含层,克服了单层感知器的许多局限,能够 形成更为复杂的分类区域,从而大大提高了神经网络的分类能力。由于 感知机学习算法是一种单层网络的学习算法 ,它 在多层网络中只能改变最后权系数 ,因此, 知机学习算法不能用于多层神经网络的学习。


 


 


p1


 


 


 


p1


p2


x2


(a)                                                                                                               
(b)


 


 


200







7    神经网


 


7.16 扩展后的多层感知器


(a)      多层感知器 (b) 异或
XOR 问题


 


7.2.2        
自适应线性单元


自适应线性单元(Adaptive Linear Element) Widrow 1960 年提出,它是一个连续时间线性网络,其结构如图
7.17 所示。该模型实际上就是一种自适应阈值线性单元,神经元在 k
时刻的输入信号向量为 X k=[x1 ,k x 2 ,k x n ,k]T ,各分量通过一组权系数进行加权
求和,权向量为
W k =[w1 ,k w2 ,k w n ,k]T ,偏置权 w0 k
接入常量输入 x0 = +1,神经元输出分为两个部分,模拟输出
y k 和二值输出 q k
即模拟输出


y   = X TW


k              k       k







q = sgn(y ) =
ì 1





yk0







二值输出





k                        k            í


î 1





yk < 0







 


 


 


 


x1, k


 


文本框: …x2, k


 


 


 


 


 


xn, k


输入模式






 


 


w1, k


 


w2, k


 


 


 


 


 


文本框: …wn, k





x0 = +1


w0, k                                               模拟输出


yk


 


二值输出


Σ                              qk


 


 


 


 


 


误差





LMS 算法

 

Σ







 


期望输出


 


7.17   阈值型


期望输出用于训练神经元,实际输出和期望输出之差送入最小均方差(LMS) 学习算法机制中,用来调整权向
量,使得这种偏差逐步减小,即实际输出逐步和期望输出达到一致,当实际输出达到期望输出时,神经元训练完毕。


LMS
算法又称为 Widrow-Hoff
算法或 Delta
算法,可以形式化地描述为


 


201







人工智能技术与方法






 


W      = W






+ a        E X







k+1





k                      k


k










X

 

其中, W k X
k 为当前的权向量值和输入向量值 W k +1 为下一次的权向量值, e k


为当前误差( 期望输出于实际输出之 差) a 为学习速度(Learning Rate)


这种算法是调整神经元权值,使神经元实际输出与期望输出尽量保持一致, 即使下式的误差最小


E   = d   X
TW


k            k             k       k


ADALINE 中,神经元通过改变权值来减小该误差 ek ,即


DE = D(d X
TW )
= X TDW







此时,权值的变化为





k                   k              k       k                     k            k







DW = W





W = a          E X










X

 

k              k +1





k                       k


k







            DE





= X T DW





= X T a         E X





= X T X





   a  E





= aE










X

 

k                  k            k





k                 2    k    
k k





k        k                2    k               k
k










X

 

可见,误差 ek 的减小是与学习速度 a 相关的,即 a 决定了收敛的稳定性和速度。 稳定性要求 a 0 2 ,但是 a
过大可能会修正过度,一般选择在 0.1 1 的范围。 7.18 所示的为
LMS 算法的几何解释, W k +1 等于 W k D
W k
的向量和,向


D W k 与向量 X k 平行,而误差 的改变量D e k XkT D W k ,由于 LMS
算法选定D W k X k 平行,所以当D W k 为极小时就修正了误差。下面以一个例子来说明 LMS 法的工作过程。


7.2    两输 ADALINE 神经元如 7.19 初始权系数值 w 1=1 w2=1


阈值权值 w 0=1 。现在,已知输入样本为 P =(2.7 1.5) ,理想输出为 d =1.2 ,采用


LMS
算法来训练该网络。


解  ADALINE 输出


y = w0 + w1x1 + w2x2 = 1+ 2.7 + 1.5 = 5.2


大于 d=1.2


扩展输入向量为                       X=[1     p]T


扩展权向量为                        W=[w0w1 w2]T


于是,误差为 e
1.2
5.2
=- 4.0
,选择 a
0.6
,则


 


 


202







 


 


 


z


 


xk


 


wk+1


 


 


wk


 


 


x






 


 


 


 


 


 


 


x1


 


Dwk


 


 


y        x2





7    神经网


 


 


y


 


 


 


q







7.18   LMS 算法                  7.19 训练 ADLINE


2





0

 

Dw0 = (a / X
)
E x = (0.6
/10.54)
´ (4.0) ´1 = 0.2277







Dw1





= (a / X
2 )
E x





= (0.6 /10.54) ´ (4.0) ´ 2.7 = 0.61479










1

 




2                                          2

 

Dw = (a / X
2 )
E x = (0.6 /10.54) ´ (4.0) ´1.5 = 0.34155


修正以后的权值为







 


此时,新的输出为





w0 = 1 0.2277 = 0.7723


w= 1 0.61479 =
0.38521


w= 1 0.34155 =
0.63845







y = 0.7723+
0.38521
´ 2.7 +
0.65845
´1.5 = 0.7723+
1.040067
+
0.987675
= 2.8


新的输出误差降为 e
1.2 2.8 1.4 。重复以上过程,直到输出达到理想输出为止。


ADALINE
的学习收敛过程如图 7.20
所示,训练完毕后,权值及阈值 w1=0.0687w2=0.3348w0=0.5565,将样本 P =(2.71.5) 输入到神经元后,得到输出为
y =1.2031 , 已经接近理想输出值。


 














11

 

 

10

 

 

 

 

9

 

 

 

 

8

 

 

 

 

7

 

 

 

 

6

 

 

 

 

5

 

 

 

 

4

 

 

 

 

3

 

 

 

 

2

 

 

 

 

1

 

 

 

 

0

10

20     30     40      50

60

70     80

 


203







人工智能技术与方法


 


7.20 训练
ADLINE


类似于单层感知器,单个 ADALINE 神经元可以完成线性分割的任务,而对于 非 线 性 划 分 问 题 则 不 能 完 成 , 需 要 将 多 个 ADAL INE 连 接 起 来 , 即MADALNE(Many
Adaline)
但是,如何去训练 MADALINE 则是个难题。我们知道,在
ADALINE 中是使用 LMS 算法来训练网络的,它必须知道相应的误差 e 才能确定网络的调整方向。然而,在 MADALINE 
中,由于中间层的误差不能直接知道 ,因此,就不能使用 LMS 
来训练网络了,这给多层神经网络的研究带来困难。


 


7.2.3        
多层前向网络


1985 年, D.E.Rumelhart
等人提出了多层前向网络的学习算法,即 BP


(Backpropagation) 算法, 这种算法可以对网络中各层的权系数进行修正,
解决了多层网络的学习 问题。目前, BP
算法是影响最大、应用最广的神经网络学习算法之一。


一个标准的 BP 模型由三层神经元组成 输入层、隐层和输出层。
输 入 层 将


外部信号输入到神经网络中,起到一个传递的作用。中间层由于它们和外界没有
直接的联系,故也称为隐层, 隐 层中的神经元也称 为 隐单元。隐层虽然和外界不连接 ,但它们的状态 会 影响 到网络的 输入/ 输出关系。这也是说,改变隐层的权系数,可以改变整个多层神经网络的性能。输出层
则是网络内部信号反映到外部的接口部分 。在多层神经网络中 ,由于输入层仅仅只起到将信号输入到网络的作用, 因此有人认为输入不算一层,而将之称为两层前向网络,本书以后均采用前者的
命名方式,即三层前向网络。


由于  BP  模型是一个多层前向神经网络,含有一个或多个隐含层,因此,不能够直接采用
Delta LMS 规则来训练网络,但是,可以将之加以扩展,即可得到多层网络的学习
算法(BP 算法) 。设 对于 多层前向神经网络 ,输入
层 接收外来的输入样本{ X
( p1 ) p1=1,2, ,p} ,网络的实际输出为{ Y
(p1 ) p1=1,2, ,p } ,如果期望的网络输出为{ T
( p1 ) p1=1,2, ,p } ,则通过网络学习
,即 调整网络的权系数 W
, 使网络的输出 Y
尽可能接近或达到期望的输出值 T


在 这个 学习的 过程中,期望的输出信号与实际输出进行比较,产生误差信号


 


204







7    神经网


E
,将此误差 信号再 去 调节和修改网 络的 权系数 W ,使网络产生的新 误差 能够 变小 并 不断进行下去 、直到误差 减小到 零,这时实际输出值
Y 和期望输出值
T (t) 完全一样,则学习过程结束
。显然,网络的学习目标实际上可以转化为求输出误差函数||T


ETC注销ETC充值ETC客服ETC扣费查询


ETC发行合作

发表回复