人工神经网络.pdf
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.2 多层感知机
例: (XOR问题)
问题的提出以及重要性:
1956-1958年Rosenblatt提出感知机,是为了实现 另一种形式(模拟)的计算机。与数字计算机形 成鲜明对照。 数字计算机是用逻辑门电路实现的。逻辑门电路 的设计:AND, OR, NOT; 实际上,数字计算机的所有逻辑电路都是用XOR 门实现的。
x2
x1 0 0 1 1
A
B
B
A
x1
5.2 多层感知机
解决XOR问题
x2
A
B
B
A
x1
5.2 多层感知机
两层神经网络解决XOR问题的真值表
第一层
x1 0 0 1 1
x2 0 1 0 1
y1 0 1 1 1
y2 0 0 0 1
第二 层 B(0) A(1) A(1) B(0)
y2
B
B
A
y1
5.2 多层感知机
第五章 人工神经网络简介
5.0 引言 5.1 感知机 5.2 多层感知机 5.3 反向传播算法 5.4 径向基函数网络 5.5 说明
5.0 引言
5.0 引言
人工神经网络结构:
示例:
神经元
输出信号
输入信号
M
M
连接权重
M
5.0 引言
神经元:
x1 x2
连接权重
w1 w2
y = ϕ (u ) = ϕ (∑ wi x i + b )
Logistic函数
5.2 多层感知机
多层感知机的一致逼近性:
定理(Funahashi(1989), Hornik(1989), Stinchcombe& White(1989), Hecht(1989)):
具有一个隐含层的感知机,可以在闭区间上一致逼 近任意连续函数。
只要增加网络隐单元个数,就能提高逼近精 度。因此,复杂的网络可以实现训练数据集 上的零错误率分类器。
5.2 多层感知机
XOR是通用门(universal logic gate):任何一个逻 辑电路都可以只用XOR门来实现(因为用XOR 可以实现AND、OR、NOT)。而AND, OR, NOT 都不是通用门。 能否实现XOR关系到学习机的“学习”能力,若连 XOR都实现不了,更不用谈实现计算机。
5.3 反向传播算法
当
vj
为输出节点时: o
j
(t) = ϕ(v j (t ))
∂E ∂E (t ) ∂o j (t ) = • δ j (t ) = ∂v j (t ) ∂o j (t ) ∂v j (t ) = −( y j (t ) − o j (t ))ϕ (v j (t )).
'
5.3 反向传播算法
x(t ) ∈ ω1 . x(t ) ∈ ω 2
权重: w(t ) = {w0 (t ), w1 (t ), w2 (t ),L, wd (t )}.
5.1 感知机
学习算法: 是LMS算法 (1)初始化 w(0) = {0,0, L ,0}.
(2)迭代
保持
( x (t ) 分对)
w(t − 1) w(t ) = w(t − 1) + η y(t ) x(t )
5.3 反向传播算法
计算步骤:
初始值选择 前向计算: 求出所有神经元的输出 v j (t ); 反向计算各隐层的局部梯度:
δ j (t ), ∇E.
更新网络权重:
w(k ) = w(k − 1) + η∇E.
5.3 反向传播算法
准则的选用:通常用LMS:
稳定,计算量比LS小; LMS的最优解的数学期望收敛到LS的最优解。 收敛速度快。
5.3 反向传播算法
最小平方误差(Least Square)准则:
平方误差:
1 n 2 1 n E = ∑ e (t ) = ∑ ( y (t ) − o(t )) 2 . 2 t =1 2 t =1
最速下降法:
w(k ) = w(k − 1) − η∇E.
∇E 要用到所有的训练数据 — 批处理。
5.3 反向传播算法
BP算法:
+1
u j (t )
ui (t )
w ij
= ϕ (v j (t ))
w
jk
ϕ (vk (t ))
M
v j (t )
u j (t )
vk (t )
u k (t )
v j (t ) = ∑ wij (t )ui (t )
i
第j个神经元
第k个神经元
5.3 反向传播算法
2 ρ
5.1 感知机
对应于线性判别函数 算法的问题:
对线性不可分的数据,算法不收敛!
一个解决方案:
多层感知机,非线性分类器。
5.2 多层感知机
5.2 多层感知机
多层感知机(Multilayer Perceptrons)结构:
o
ϕ
wi
输出层
ϕ h
2 w kj
2 1
ϕ h
2 2
更新
y(t )(w(t − 1) ∗ x(t )) > 0 . y(t )(w(t − 1) ∗ x(t )) ≤ 0
( x (t ) 分错)
控制收敛速度的参数
5.1 感知机
学习算法收敛性:
对线性可分的数据有下面的定理。
定理(Novikoff):假设训练数据有界 x(i ) ≤ D, 两类样本的最大边界距离(maximal margin)为 2ρ (线性SVM)。则当学习速度参数η = 1 时, 2 次更新就会收敛。 D 感知机学习算法至多做
5.3 反向传播算法
初始权值的选取
两层前馈网络的收敛性不受初始值影响,因而各权 值的初始值可以设为0; 三层以上的前馈网络(含有一个以上隐层),如果 权值都为0或都相同,隐层各单元不能出现差异, 运算不能正常进行。 通常选用较小的随机数(如-0.3~+0.3)
5.3 反向传播算法
参数 η 和 α 的选取
训练数据:( x(1), y(1)), ( x(2), y (2)),L , ( x(n), y (n))
x(t ) = {+1, x1 (t ), x 2 (t ),L , x d (t )}, y (t ) : 希望的输出值。
o(t ) : 实际输出值。 e(t ) = y (t ) − o(t ) : 误差。
L L L
ϕ
2 hn 2
ϕ h
w 1ji
1 1
ϕ
1 h2
隐含层
ϕ
x
1
x
2
x
d
输入层
5.2 多层感知机
激活函数(activation function):
符号函数(不可微): ϕ ( u ) = sgn( u ). Sigmoid函数(可微):
ϕ (u )Baidu Nhomakorabea=
1 1 + e −u
ϕ (u )
u
5.3 反向传播算法
权值修正应使误差最快地减小,修正量为
Δwij = −ηδ j (t )ui (t ) wij (t + 1) = wij (t ) + Δwij
5.3 反向传播算法
在实际计算中,为了加快收敛速度,往往 在权值修正量中加上前一次的权值修正 量 α ,称为惯性项。
Δwij = −ηδ j (t )ui (t ) + αΔwij (t − 1)
5.2 多层感知机
感知机不能解决。
x1
w1
ϕ
y
x
2
w2
b
5.2 多层感知机
两个隐单元的三层感知机解决XOR问题。
+1
x
1
+1 +1 +1 +1
− 1.5
−2 +1
+1 − 0.5
x2
+1 +1
5.2 多层感知机
XOR问题真值表 x2 0 1 0 1 XOR Class 0 B 1 A 1 A 0 B
5.2 多层感知机
E(ω) = ∑[ϕ ( x, w) −1]2 + ∑[ϕ ( x, w)]2
x∈I x∈II
≈ P(ω1 )∫ [ϕ ( x, w) −1]2 P( x | ω1 )dx + P(ω2 )∫ [ϕ ( x, w)]2 P( x | ω2 )dx = ∫ [ϕ ( x, w) −1]2 P( x) P(ω1 | x)dx + ∫ [ϕ ( x, w)]2 P( x) P(ω2 | x)dx = ∫ ϕ 2 ( x, w)P( x)dx − 2∫ ϕ ( x, w) P( x)P(ω1 | x)dx + ∫ P( x) P(ω1 | x)dx = ∫ [ϕ ( x,w) − P(ω1 | x)]2 P( x)dx + ∫ P(ω1 | x)[1 − P(ω1 | x)]P( x)dx
等价表示:
固定输入 x 0 = +1
w0 = b
w1 w2
x1 x
2
ϕ
y
输出
输入信号
M
x
d
wd
5.1 感知机
感知机的学习算法:
( x(1), y(1)), ( x(2), y (2)),L , ( x(n), y (n)) 训练数据:
增广向量
x(t ) = {+1, x1 (t ), x 2 (t ),L , x d (t )}, + 1 y (t ) = − 1
当
vj
不是输出节点时,局部梯度的反向传播:
∂E δ j (t ) = ∂v j (t ) ∂E (t ) ∂uk (t ) ∂o j (t ) • • =∑ ∂o j (t ) ∂v j (t ) k ∂u k (t ) = ∑ δ k (t )w jkϕ ' (vk (t ))
k
对所有以神经元j的输出为输入的k求和。
5.0 引言
大规模并行、分布表达和计算 本质上可以理解为函数逼近
5.1 感知机
5.1 感知机
感知机(Perceptrons)模型:
ϕ (u )
1
x1
u
−1
w1 w2
x2
ϕ
y
ϕ ( u ) = sgn( u ).
y = sgn(
M
x
d
wd
∑
d
i =1
wi x i + b )
线性分类器!
b
5.1 感知机
两层感知机解决XOR问题
1 x1 1 -1/2 1 x2 1 -1 -3/2 -1/2 1
5.2 多层感知机
多层感知机为什么能解决XOR问题?
XOR可以看作两类的分类学习问题: (0,0)、(1,1)是一类,(1,0)、(0,1)是一类。学习一 个连续函数 ϕ ,满足:
ϕ (( 0 , 0 )) = ϕ (( 1,1)) = 1, ϕ (( 1, 0 )) = ϕ (( 0 ,1)) = − 1 .
5.3 反向传播算法
5.3 反向传播算法
多层感知机的中间隐层不直接与外界连 接,其误差无法估计。 反向传播算法
从输入层经隐层逐层正向计算各单元的输出; 由输出误差逐层反向计算隐层各单元的误差, 并用此误差修正前层的权值。
5.3 反向传播算法
反向传播:Back-Propagation (BP) 符号:
5.3 反向传播算法
Least-Mean-Square (LMS)算法:
第 t 步只用当前误差
1 2 1 E = e (t ) = ( y (t ) − o(t )) 2 . 2 2
∂o(t ) ∂o(t ) ∇E = ( y(t ) − o(t )) = −e(t ) . ∂w ∂w ∇E 只用当前训练数据 — 串行处理。
v j (t ) =
∑
i
w ij ( t ) u i ( t )
考虑局部梯度δ j (t ) 和权值 wij 对误差的影响
∂E ∂e(t ) ' δ j (t ) = = e(t ) ϕ (v j (t )). ∂v j (t ) ∂u j (t )
∂v j (t ) ∂E ∂E • = δ j (t )ui (t ) = ∂wij (t ) ∂v j (t ) ∂wij (t )
i =1 d
ϕ
y
M
x
d
wd
b
5.0 引言
Hebb学习规则:如果神经元 u j 接收来自 另一个神经元 ui 的输出,则当这两个神经 元同时兴奋时,从 ui 到 u j 的权值 wij 就得 到加强。
∆wij = ηyxi
5.0 引言
发展历程:
McCulloch-Pitts模型( McCulloch, Pitts 1943 ); Hebb提出神经元学习准则(1949) 感知机(Rosenblatt 1958); Hopfield模型(1982) 多层感知机与反向传播算法(Rumelhart, Hinton 1986).
步长η 对收敛性影响较大,通常在0.1~3之间 试探;较复杂的问题选用较大的值
α 影响收敛速度,通常在0.9~1之间选 惯性项 择。α ≥ 1 时不收敛
5.3 反向传播算法
MLPs具有一致逼近能力,因此可以学习这个函 数,也就解决了XOR问题。后面要讲到的RBF网 络也是一致逼近子,也可以解决XOR问题。
5.2 多层感知机
多层感知机把输入空间变换到由其隐层 输出所张成的空间,然后在这个空间中 进行线性分类。
5.2 多层感知机
与Bayes决策的关系:对两类问题[0,1], 采用最小均方误差训练时,多层感知机 的输出是Bayes后验概率的估计。