第五章 神经网络信号处理

32

Click here to load reader

description

第五章 神经网络信号处理. 郑宝玉. 主要内容. 神经网络模型及其训练 自适应主分量分析 模糊自适应信号处理 其它非线性滤波. 神经网络模型及其训练. 引言 神经网络模型. 静态神经网络 动态神经网络. 神经网络训练. 训练规则 训练方法. 神经网络模型及其训练. 静态神经网络 1 . 多层感知器 (MLP: Multilayer Perceptron). 神经网络模型. - 多层感知器是信号处理中应用最多的神经网络结构, 如图 1 所示。 - 多层感知器是一种前饋神经网络 , 由输入层、输出层和 - PowerPoint PPT Presentation

Transcript of 第五章 神经网络信号处理

Page 1: 第五章  神经网络信号处理

1

第五章 神经网络信号处理郑宝玉

Page 2: 第五章  神经网络信号处理

2

主要内容主要内容 神经网络模型及其训练 自适应主分量分析 模糊自适应信号处理 其它非线性滤波

Page 3: 第五章  神经网络信号处理

3

神经网络模型及其训练 引言 神经网络模型 神经网络训练

• 静态神经网络 • 动态神经网络• 训练规则• 训练方法

Page 4: 第五章  神经网络信号处理

4

神经网络模型及其训练 神经网络模型 静态神经网络 1. 多层感知器 (MLP: Multilayer Perceptron) -多层感知器是信号处理中应用最多的神经网络结构, 如图 1 所示。 -多层感知器是一种前饋神经网络 , 由输入层、输出层和 若干中间层 ( 常称为隐层 ,hidden-layer ) 组成 - 多层感知器的每一层包括若干个节点 (node) 或神经元 (neuron), 如图 2 ;神经元是人工神经网络的基本单元 .

Page 5: 第五章  神经网络信号处理

5

图 1图 2

Page 6: 第五章  神经网络信号处理

6

神经网络模型及其训练 神经网络模型 1. 多层感知器

• 神经元 : 如图 ; 第 l 层中第 j 个神经元的如下输入 - 输出关系 : )1(,...,2,1;,...,2,1,))(()( )()( LlNjnvny ll

jl

j

)2()()()(1

0

)1()()( nynwnvlN

i

li

lji

lj

其中式中 : 前一层 ( 第 l-1 层 ) 第 i 个神经元的输出信号

)1( liy

: 第 l-1 层中第 i 个神经元到第 l 层中第 j 个神经元的连接权值 )(l

jiw

: 加到第 l 层中第 j 个神经元的偏置 (bias) 即阀值 )()(

0l

jl

j bw

: 第 l 层神经元的数目 (N0 表示输入层的神经元数目 ) ),...,0( LlN l

L 、 L+1: 分别为 MLP 的级数和层数 : xj(n) 是输入向量 ( 模式 )x(n) 的第 j 个元素 :oj(n) 是输出向量 ( 模式 )o(n) 的第 j 个元素

)()()0( nxny jj

)()()( nony jL

j

Page 7: 第五章  神经网络信号处理

7

神经网络模型及其训练 神经网络模型 1. 多层感知器 激活函数

其变化范围为 ; 其导数为

)3(0,)exp(1

1)(

aav

vyj

jj

10 jy

)4()1()](1)[()]exp(1[)exp(

)( 2 jjjjj

jjj yayvva

avava

vy

- S 型函数 :

)5(0,)exp(1)exp(1

)2

tanh()(

aavavav

vyj

jjjj

)6(]1[2

)](1[2

)( 22 yavavy jjj

- 正切双曲函数 : 其导数为

Page 8: 第五章  神经网络信号处理

8

神经网络模型及其训练 神经网络模型 2. 径向基函数网络 (RBFN:Radial basis function nets) RBFN 的结构 : 它是另一种形式的前馈网络 , 如图 3 。 RBFN 与 MLP 的主要差别 - RBF 网络是单隐层的网络 , 而 MLP 可以有一个或多个隐层 - RBFN 是一个局部逼近器,而 MLP 是一个全局逼近器。 - RBF 网络比单层感知器网络具有更强的功能 ; 当中心向量 xi 确定后 , RBF 网络只需对输出层进行修正 ( 更新 ), 因此比 MLP 网络具有更快的敛速 , 是一种非常有效的前饋网络。

Page 9: 第五章  神经网络信号处理

9

神经网络模型及其训练 神经网络模型 2. 径向基函数网络 RBFN 与 MLP 的主要差别 ( 续 ) - 表征 RBF 网络隐单元的核 ( 基函数 ) 一般定义为高斯函数 :

)7(,...,2,1,

2exp 2

2

Miii

xxxx,

式中 x 是输入向量 , xi 是第 i 单元的中心。由 M 个隐单元RBF 网络实现的输入输出映射定义为 )8()(

1

M

iiiwy xx,

而表征 MLP 网络隐单元的核定义为 logistic 函数 : MiT

ii ,...,2,1,

exp11

xx

xx,

Page 10: 第五章  神经网络信号处理

10

图 3

Page 11: 第五章  神经网络信号处理

11

神经网络模型及其训练 神经网络模型

3. 自组织特征映射网络 (SOFM:Self-organization Feature map)

竞争过程 (competitive process) 协作过程 (cooperative process) 自适应过程 (adaptive process), 它包括两个阶段 : - 自组织或排序阶段 (dering phase) - 收敛阶段 (convergence phase)

基本结构 图 4 表示用作离散映射的二维神经元格型结构的 SOFM网 络 , 其中每个神经元全连接到输入层的所有源节点 ; 它是一 个行 - 列排列的神经元组成的单层前饋网络 , 包括如下过程 :

基本过程

Page 12: 第五章  神经网络信号处理

12

图 4

Page 13: 第五章  神经网络信号处理

13

神经网络模型及其训练 神经网络模型 动态神经网络 1. 基于 MLP 和 RBF 的时延神经网络 (TDNN) TDNN 和具有输出反馈的 TDNN 分别如图 5 和图 6, 它们起到 如下非线性映射关系:

)9()](),...,1(),([)( apnxnxnxFny

)9()](),...,1(),(),...,1(),([)( bqnynypnxnxnxFny

分别对应于非线性 FIR 和非线性 IIR( 即非线性 MA 和 ARMA) ,其中 F[] 为非线性函数。当 F[] 为线性函数时,分别等效为一般的 FIR 和 IIR 滤波器。

Page 14: 第五章  神经网络信号处理

14

MLP

LTDx(n)

y(n)

x(n) x(n-1)… x(n-p)

图 5

MLP

LTD1x(n)

x(n) x(n-1)… x(n-p)

LTD2

y(n-q)

y(n-2)

y(n-1)

Z-1

图 6

Page 15: 第五章  神经网络信号处理

15

神经网络模型及其训练 神经网络模型 动态神经网络 2. 递归神经网络 (recurrent networks) -递归神经网络与前饋神经网络的区别在于 : 前者至少存在 一个反馈环路 , 如图 7 。 -由于反馈的存在 , 对网络学习能力及其性能有深刻的影响 Hopfild 网络 Hopfild 网络能量函数 [ 亦称为李雅普洛夫 (Lyapunov) 函数 ]为

)10()(121

10

1

11 1

N

jjj

x

j

N

j j

N

i

N

jjiji xIdxx

RxxwE j

dttttEN

i

tutt

i

)()()()(21)(

1

)(

0

vuWuu或

Page 16: 第五章  神经网络信号处理

16

Z-1 Z-1 Z-1Z-1单元延时

图 7

Page 17: 第五章  神经网络信号处理

17

神经网络模型及其训练 神经网络模型 动态神经网络 2. 递归神经网络 (recurrent networks) 可以证明, E(t) 函数总是单调下降的。因此,若 E(t) 有界, 则网络必定稳定,且稳定点对应能量函数的极小点。设

0,)exp(1)exp(1

)2

tanh()(

ii

iii a

vavava

vx

的增益称为神经元iadvda

ivii

02

)(111ln1)( 11 x

axx

axv

iii

易知则式中 为单位增益神经元的反函数标准形式。 )(1 x

Page 18: 第五章  神经网络信号处理

18

神经网络模型及其训练 神经网络训练 训练规则 jjj www

Hebb 学习规则 ( 无师学习 ) xxxxww jjTjj yv )()(

其中 )(, jjTjj vyv xw

“胜者为王” (Winner-Take-All) 学习规则 ( 无师学习 ) )( mm wxw

其中 }max{}max{ jTj

Tm v xwxw

δ 学习规则 ( 有师学习 )

jiji w

w

其中 ε 为代价函数。

Page 19: 第五章  神经网络信号处理

19

神经网络模型及其训练 神经网络训练 训练方法 1. MLP 网络的训练 算法推导 考虑 MLP 网络的某一层,则某个时刻神经元 j 的输出为

)11()( jj vy

其中 )12(i

ijij ywv 当神经元 j 为输出节点时 , 该节点的误差信号定义为 )13()( jjjj vyde 此时神经元 j 的误差能量定义为 , 总误差能量 ε为输出 层所有神经元能量之和 , 即 2/2

je

)14(21 2

Cj

je

Page 20: 第五章  神经网络信号处理

20

神经网络模型及其训练 神经网络训练 1. MLP 网络的训练 算法推导(续) - MLP 网络的训练,可通过求解式 (14) 在式 (11) 的约束条 件下的约束优化问题获得。 - 设用 δ 规则调整该层的连接权 W, 则需计算导数 , 即 )15(ij

ji

jj

ji

j

jji

ywv

wv

vw

其中局部梯度定义为

)(,)(

)(,)(

bjvyv

yy

ajveve

ev

jjj

j

j

jjj

j

j

jj

( 10)是隐节点时 图

( 9)是输出节点时 图

(16)

Page 21: 第五章  神经网络信号处理

21

神经网络模型及其训练 神经网络训练

1. MLP 网络的训练 算法推导(续) - 现考虑 的计算 . 由图 10 知 , 此时神经元 k 为输出节点 , 故有 jy /

,21 2

Ck

ke )( kkkkk vdyde

)17()(j

kk

kk

j

k

k

k

kk

j

k

kk

j yvve

yv

vee

yee

y

)18(kjj

k

jjkjk w

yvywv

于是此时因此 )19()( kj

kkkjk

kk

j

wwvey

故 (16) 变为 输出层 : )20()( aev kkk

)20()( bwv kjk

kjj

如图 11 所示。隐层 :

Page 22: 第五章  神经网络信号处理

22

神经网络模型及其训练 神经网络训练 1. MLP 网络的训练 基本结论 - 由式 (20)并参照图 10 易见 , (20b) 实现了误差从输出层 (k)到隐层 (j) 的反向传播 (BP), 它亦可实现隐层之间的反向传播。如图 9 和 10 所示。因此 , 以式 (20) 为基础的 MLP 网络训练方法通常称为 BP算法 , 且把基于 BP算法的 MLP网络称为 BP 网络。 - 容易看出 ,BP算法可看作 LMS算法的推广 , 而把 LMS算法 看作 BP算法的特例 ( 当 即 )

vv )(vy

Page 23: 第五章  神经网络信号处理

23

Vz … Wy1

2

j

1

2

k

+

z

jnet

]net[ jy

knet

][net ko

'yf

tyηδW 0

η

'0 y

tjy fδwδ 0d

d0δw t

j )]()[( '0 kkk netfod δ

)(' knetft

yzηδV η

jw

Page 24: 第五章  神经网络信号处理

24

神经网络模型及其训练 神经网络训练 1. MLP 网络的训练 通用算法 ①初始化 a)给定输入 - 输出样本集 ,并选择 b)随机初始化所有连接权系数 ② 前向计算:令 计算各层输出

Pppp 1][ d,x LlNL l ,...,1,0, 、

pp xy )0(

1,)( )(0

0

)1()()(1

lp

N

i

lpi

lji

ljp yytwv

l

)21(,..,1,,...,2,1,,...,2,1,)( )()( PpLlNjvy ll

jpl

jp

Page 25: 第五章  神经网络信号处理

25

神经网络模型及其训练 神经网络训练 1. MLP 网络的训练 通用算法(续) ③ 反向计算 a)计算反向传播误差

))(( )()()( Lpjpj

Lpj

Lpj ydv

)()( )1(

1

)1()()(1

twv lkj

N

k

lpk

lpj

lpj

l

b)并调整连接权系数 ( 对于输出层 l=L) (22a)

( 对于隐层 l=L-1,…,1) (22b)

)23()1()()1( )(

1

)1()()()(

nwynwnw lji

P

p

lpi

lpj

lji

lji

其中 , 末项是动量项 (momentum)LlNjNi ll ,...,1,,...,1,,...1,0 1

Page 26: 第五章  神经网络信号处理

26

神经网络模型及其训练 神经网络训练 1. MLP 网络的训练 通用算法(续) ④计算误差: )24(

211

1 1

2)(

1

P

p

N

j

Lpjpj

P

pp

L

ydPP

E

⑤迭代:返回②继续迭代,直到总误差小于给定容限。变形:以上是批处理方式 , 它适合于训练时所有 P 个样本集可用的情况。在可获得每个新的样本集的情况下,可采用逐个样本集训练的方式,这时式 (23) 和 (24) 分别变为)25()1()()1( )()1()()()( nwynwnw l

jil

pil

pjl

jil

ji

)26()(21

1

2)(

LN

j

Lpjpj ydE

分别用 (25) 和 (26) 代替 (23)(24) 后 , 对于②-④的迭代 , 每一次都从 p=1开始 , 直做到 p=P 。

Page 27: 第五章  神经网络信号处理

27

神经网络模型及其训练 神经网络训练 2. SOFM 网络的训练 初始化后 , 算法实现中涉及三个基本步骤 :取样、相似性匹配、 更新 ,重复这三个步骤直到特征映射完成为止。具体如下: ①初始化 : 随机选择互不相同的初始权向量 , j=

1,,…,m, m 是格型中神经元个数。 ②取样 : 以某种概率从输入空间提取样本向量 x.该向量表示 加到格型结构的激活模式。向量 x 的维数为 m 。 ③ 竞争 -相似性匹配:设 i(x) 表示与输入向量 x 最好匹配

(赢 ) 的 下标。通过最小距离欧氏准则找 n次迭代的 i(x) :

)0(jw

mjni jj,...,2,1,)(minarg)( wxx

Page 28: 第五章  神经网络信号处理

28

神经网络模型及其训练 神经网络训练 2. SOFM 网络的训练(续) ④ 协作-求拓扑邻域:即求以赢单元为中心的邻域函数:

,...,2,1,0,)(2

exp)(2

exp)( 2

2

2

2,

)(,

n

nnd

nh ijijij

rrx

其中 为受激神经元 j 和赢神经元i 的距离, 分别为其位置 ; 并计算

ijijd rr , ij rr &

,...,2,1,0,exp)(1

0

nnn

,...,2,1,0,exp)(2

0

nnn

式中 σ0 、 μ0 是 SOFM算法中的初始值 , τ1 和 τ2 是 SOFM算法的时间常数。

Page 29: 第五章  神经网络信号处理

29

神经网络模型及其训练 神经网络训练 2. SOFM 网络的训练(续) ⑤自适应-更新 (updating) :利用如下更新公式调整所有神经元的连接权向量:

)w(xww x )()()()()()1( )(, nnnhnnn jijjj

其中 μ 是学习速率参数。 ⑥迭代 : 返回步骤②继续迭代 , 直到特征映射没有显著变化 为止。

Page 30: 第五章  神经网络信号处理

30

3. RBF 网络的训练 中心向量的迭代 令为 第 k次迭代 RBF 的中心,则 k-平均聚类 (k-means

clustering)算法步骤如下: ①初始化:随机选择初始中心值 ②取样 : 以某种概率从输入空间 X提取样本向量,并进入算 法的 n次迭代。 ③相似匹配 : 设 表示与输入向量 x 最好匹配 (赢 )的下标 , 则

)(nkc

)0(kc

)(xk

神经网络模型及其训练 神经网络训练

mknnk kk,...,2,1,)()(minarg)( cxx

其中 是 n 次迭代第 k 个 RBF 的最小。)(nkc

Page 31: 第五章  神经网络信号处理

31

神经网络模型及其训练 神经网络训练 3. RBF 网络的训练(续) ④ 更新 (updating) :利用如下更新公式调整 RBF 的中心

otherwise,)(

)(,)]()([)()1(

nkknnn

nk

kkk c

xcxcc

⑤迭代: n 增加 1, 返回步骤② ,直到中心 没有显著变化为止。 连接权的迭代过程 ① 初始化 :随机初始化所有连接权。 ② 计算输出向量 :

kc

Jjnny jjj ,...,2,1,))(()( cx 其中 为 n 时刻的输入向量, 为每个神经元 的中心向量, J 是隐层神经元的个数。T

N nxnxn )](),...,([)( 1x jc

Page 32: 第五章  神经网络信号处理

32

神经网络模型及其训练 神经网络训练 3. RBF 网络的训练(续) 连接权的迭代过程(续) ③计算每个输出神经元的误差:

)()()( ndnyne jjj

④调整连接权系数: Iinnenwnw jijjiji ,...,1,)(()()()1( cx

其中 I 是输出层神经元的个数, 是隐层神经元 i 与输出 层神经元 j之间连接权。⑤计算总误差 : 并返回步骤②迭代计算 , 直到 误差小于给定值

jiw

2)()(( nn yd