您现在的位置:首页 > 信息与通信 >

第六讲(神经网络)_图文


第六讲人工神经网络 Artificial Neural Networks

1

主要内容
? ? ? ? ? ? ? ? ? 智能及其实现 ANN基础 Perceptron BP CPN 统计方法 Hopfield网 BAM ART
2

主要内容
? 一:引论 ? 智能的概念、智能系统的特点及其描述 基本模型,物理符号系统与连接主义的观 点及其比较;人工神经网络的特点、发展 历史。

3

主要内容
? 二 人工神经网络基础 ? 介绍了基本神经元后,将概要介绍人工神 经网络的一般特性。主要包括,生物神经 网络模型,人工神经元模型与典型的激励 函数;人工神经网络的基本拓扑特性,存 储类型(CAM──LTM,AM──STM) 及映象,Supervised训练与Unsupervised训 练。
4

主要内容
? 三 感知器 ? 感知器与人工神经网络的早期发展;单层 网能解决线性可分问题,而无法解决线形 不可分问题,要想解决这一问题,必须引 入多层网;Hebb学习律,Delta规则,感知 器的训练算法。

5

主要内容
?四 向后传播 ?BP(Backpropagation)网络的构成及其训 练过程;隐藏层权调整方法的直观分析,BP 训练算法中使用的Delta规则(最速下降法) 的理论推导;算法的收敛速度及其改进讨论; BP网络中的几个重要问题。

6

主要内容
? 五 对传网 ? 生物神经系统与异构网的引入;对传网的 网络结构,Kohonen层与Grossberg层的正 常运行,对传网的输入向量的预处理, Kohonen层的训练算法及其权矩阵的初始化 方法;Grossberg层的训练;完整的对传网。

7

主要内容
? 六 统计方法 ? 统计方法是为了解决局部极小点问题而引 入的,统计网络的基本训练算法,模拟退 火算法与收敛分析,Cauchy训练,人工热 处理与临界温度在训练中的使用,BP算法 与Cauchy训练相结合。

8

主要内容
? 七 循环网络 ? 循环网络的组织,稳定性分析;相联存储; 统计Hopfield网与Boltzmann机;Hopfield 网用于解决TSP问题。 ? BAM(Bidirectional Associative Memory) 用于实现双联存储;基本双联存储网络的 结构及训练;其他的几种相联存储网络。

9

主要内容
? 八 自适应共振理论 ? 人脑的稳定性与可塑性问题;ART模型的 总体结构与分块描述;比较层与识别层之 间的两个联接矩阵的初始化,识别过程与 比较过程,查找的实现;训练讨论。

10

1 引言
? 主要内容:
–智能与人工智能; – ANN的特点; –历史回顾与展望

? 重点:
–智能的本质; – ANN是一个非线性大规模并行处理系统

? 难点:对智能的刻画
11

1 引言
? 1.1 人工神经网络的提出 ? 1.2 人工神经网络的特点 ? 1.3 历史回顾

12

? 人类对人工智能的研究可以分成两种方式 对应着两种不同的技术:
–传统的人工智能技术——心理的角度模拟 –基于人工神经网络的技术——生理的角度模拟

13

1.1 人工神经网络的提出
? 人工神经网络(Artificial Neural Networks, 简记作ANN),是对人类大脑系统的一阶 特性的一种描述。简单地讲,它是一个数 学模型,可以用电子线路来实现,也可以 用计算机程序来模拟,是人工智能研究的 一种方法。

14

1.1 人工神经网络的提出
? 1.1.1 智能与人工智能 ? 一、 智能的含义 ? 智能是个体有目的的行为,合理的思维, 以及有效的、适应环境的综合能力。 ? 智能是个体认识客观事物和运用知识解决 问题的能力。 ? 人类个体的智能是一种综合能力。
15

1.1 人工神经网络的提出
? 智能可以包含8个方面 ? 感知与认识客观事物、客观世界和自我的能力
–感知是智能的基础——最基本的能力

? 通过学习取得经验与积累知识的能力
– 这是人类在世界中能够不断发展的最基本能力。

? 理解知识,运用知识和经验分析、解决问题的能 力
– 这一能力可以算作是智能的高级形式。是人类对世界 进行适当的改造,推动社会不断发展的基本能力。
16

1.1 人工神经网络的提出
? 联想、推理、判断、决策的能力
– 这是智能的高级形式的又一方面。 – 预测和认识 – “主动”和“被动”之分。联想、推理、判断、 决策的能力是“主动”的基础。

? 运用语言进行抽象、概括的能力 ? 上述这五种能力,被认为是人类智能最为 基本的能力
17

1.1 人工神经网络的提出
? 五种能力综合表现形式的三种能力 –发现、发明、创造、创新的能力 –实时、迅速、合理地应付复杂环境的能 力 –预测、洞察事物发展、变化的能力 ? 人工智能:研究如何使类似计算机这样的 设备去模拟人类的这些能力。
18

1.1 人工神经网络的提出
? 二、人工智能 ? 人工智能:研究如何使类似计算机这样的设备去 模拟人类的这些能力。 ? 研究人工智能的目的
– 增加人类探索世界,推动社会前进的能力 –进一步认识自己

? 三大学术流派
– 符号主义(或叫做符号/逻辑主义)学派 – 联接主义(或者叫做PDP)学派 –进化主义(或者叫做行动/响应)学派
19

1.1 人工神经网络的提出
? 1.1.2 物理符号系统 ?
人脑的反映 现实 信息 形式化 数据

物理系统

物理符号系统 表现智能

20

1.1 人工神经网络的提出
? Newell和Simon :一个物理系统表现智能 行为的充要条件是它有一个物理符号系统 ? 概念:物理符号系统需要有一组称为符号 的实体组成,它们都是物理模型,可以在 另一类称为符号结构的实体中作为成分出 现,以构成更高级别的系统

21

1.1 人工神经网络的提出
? 困难:抽象——舍弃一些特性,同时保留 一些特性 ? 形式化处理——用物理符号及相应规则表 达物理系统的存在和运行。 ? 局限:对全局性判断、模糊信息处理、多 粒度的视觉信息处理等是非常困难的。

22

1.1 人工神经网络的提出
? 1.1.3 联接主义观点 ? 核心:智能的本质是联接机制。 ? 神经网络是一个由大量简单的处理单元组 成的高度复杂的大规模非线性自适应系统 ? ANN力求从四个方面去模拟人脑的智能行为
–物理结构 –计算模拟 –存储与操作 –训练
23

1.1 人工神经网络的提出
? 1.1.4 两种模型的比较 物理符号系统
心理过程 生理过程 逻辑思维 形象思维 高级形式(思维的表象) 低级形式(思维的根本)

仿生

人工神经网络

联结主义观点
24

1.1 人工神经网络的提出
? 物理符号系统和人工神经网络系统的差别
项目 物理符号系统 人工神经网络

处理方式
执行方式 动作 存储

逻辑运算
串行 离散 局部集中

模拟运算
并行 连续 全局分布

25

1.1 人工神经网络的提出
? 两种人工智能技术的比较
项目 基于物理符号系统的传 统的人工智能技术 基本实现 串行处理;由程序实现 并行处理;对样本数据进行多目标学习; 方式 控制 通过人工神经元之间的相互作用实现控制 基本开发 设计规则、框架、程序;定义人工神经网络的结构原型,通过样本 方法 用 样 本 数 据 进 行 调 试 数据,依据基本的学习算法完成学习—— (由人根据已知的环境 自动从样本数据中抽取内涵(自动适应应 去构造一个模型) 用环境) 适应领域 精确计算:符号处理, 非精确计算:模拟处理,感觉,大规模数 数值计算 据并行处理 模拟对象 左脑(逻辑思维) 右脑(形象思维)
26

基于联接主义观点的人工神经网络技术

1.2 人工神经网络的特点
? 信息的分布表示 ? 运算的全局并行和局部操作 ? 处理的非线性

27

1.2.1 人工神经网络的概念
?1、定义 ?1)Hecht—Nielsen(1988年)

人工神经网络是一个并行、分布处理结构,它由 处理单元及其称为联接的无向讯号通道互连而成。 这些处理单元(PE—Processing Element)具有 局部内存,并可以完成局部操作。每个处理单元 有一个单一的输出联接,这个输出可以根据需要 被分枝成希望个数的许多并行联接,且这些并行 联接都输出相同的信号,即相应处理单元的信号, 信号的大小不因分支的多少而变化。
28

1.2.1 人工神经网络的概念
? (1)Hecht—Nielsen(1988年)(续)

? 处理单元的输出信号可以是任何需要 的数学模型,每个处理单元中进行的 操作必须是完全局部的。也就是说, 它必须仅仅依赖于经过输入联接到达 处理单元的所有输入信号的当前值和 存储在处理单元局部内存中的值。
29

1.2.1 人工神经网络的概念
? 强调:
– ① 并行、分布处理结构; –② 一个处理单元的输出可以被任意分枝,且 大小不变; –③ 输出信号可以是任意的数学模型; –④ 处理单元完全的局部操作

30

1.2.1 人工神经网络的概念
? ? ? ? ? ? ? (2) Rumellhart,McClelland,Hinton的PDP 1) 一组处理单元(PE或AN); 2) 处理单元的激活状态(ai); 3) 每个处理单元的输出函数(fi); 4) 处理单元之间的联接模式; 5) 传递规则(∑wijoi); 6) 把处理单元的输入及当前状态结合起来产生 激活值的激活规则(Fi); ? 7) 通过经验修改联接强度的学习规则; ? 8) 系统运行的环境(样本集合)。
31

1.2.1 人工神经网络的概念
? (3) Simpson(1987年) ? 人工神经网络是一个非线性的有向图,图 中含有可以通过改变权大小来存放模式的 加权边,并且可以从不完整的或未知的输 入找到模式。

32

1.2.1 人工神经网络的概念
? ? ? ? ? ? ? 2、关键点 (1) 信息的分布表示 (2) 运算的全局并行与局部操作 (3) 处理的非线性特征 3、对大脑基本特征的模拟 1) 形式上:神经元及其联接;BN对AN 2) 表现特征:信息的存储与处理
33

1.2.1 人工神经网络的概念
? ? ? ? 4、别名 人工神经系统(ANS) 神经网络(NN) 自适应系统(Adaptive Systems)、自适应 网(Adaptive Networks) ? 联接模型(Connectionism) ? 神经计算机(Neurocomputer)
34

1.2.2 学习(Learning)能力
? 人工神经网络可以根据所在的环境去改变 它的行为。 ? 自相联的网络 ? 异相联的网络:它在接受样本集合A时,可 以抽取集合A中输入数据与输出数据之间的 映射关系。——―抽象”功能。 ? 不同的人工神经网络模型,有不同的学习/ 训练算法。
35

1.2.3 基本特征的自动提取
? 由于其运算的不精确性,表现成“去噪音、 容残缺”的能力,利用这种不精确性,比 较自然地实现模式的自动分类。 ? 普化(Generalization)能力与抽象能力

36

1.2.4 信息的分布存放
? 信息的分布存提供容错功能 ? 由于信息被分布存放在几乎整个网络中,所以, 当其中的某一个点或者某几个点被破坏时,信息 仍然可以被存取。这能够保证系统在受到一定的 损伤时还可以正常工作。 ? 并不是说可以任意地对完成学习的网络进行修改。 也正是由于信息的分布存放,对一类网来说,当 它完成学习后,如果再让它学习新的东西,这时 就会破坏原来已学会的东西。
37

1.2.5适应性(Applicability)问题
? 擅长两个方面:
–对大量的数据进行分类,并且只有较少的几种 情况; –必须学习一个复杂的非线性映射。

? 目前应用:
–人们主要将其用于语音、视觉、知识处理、辅 助决策等方面。 –在数据压缩、模式匹配、系统建模、模糊控制、 求组合优化问题的最佳解的近似解(不是最佳 近似解)等方面也有较好的应用。
38

1.3 历史回顾
? 1.3.1 萌芽期(20世纪40年代) ? 人工神经网络的研究最早可以追溯到人类 开始研究自己的智能的时期,到1949年止。 ? 1943年,心理学家McCulloch和数学家Pitts 建立起了著名的阈值加权和模型,简称为 M-P 模 型 。 发 表 于 数 学 生 物 物 理 学 会 刊 《Bulletin of Mathematical Biophysics》 ? 1949年,心理学家D. O. Hebb提出神经元之 间突触联系是可变的假说——Hebb学习律。
39

1.3.2 第一高潮期(1950~1968)
? 以 Marvin Minsky , Frank Rosenblatt , Bernard Widrow等为代表人物,代表作是 单级感知器(Perceptron)。 ? 可用电子线路模拟。 ? 人们乐观地认为几乎已经找到了智能的关 键。许多部门都开始大批地投入此项研究, 希望尽快占领制高点。

40

1.3.3 反思期(1969~1982)
? M. L. Minsky和S. Papert,《Perceptron》, MIT Press,1969年 ? 异或”运算不可表示 ? 二十世纪70年代和80年代早期的研究结果 ? 认识规律:认识——实践——再认识

41

1.3.4 第二高潮期(1983~1990)
? 1982年,J. Hopfield提出循环网络,并将 Lyapunov函数作为网络性能判定的能量函 数,阐明了人工神经网络与动力学的关系, 用非线性动力学的方法来研究人工神经网 络的特性,建立了人工神经网络稳定性的 判别依据,指出信息被存放在网络中神经 元的联接上。

42

1.3.4 第二高潮期(1983~1990)
? 2)1984年, J. Hopfield设计研制了后来被 人们称为Hopfield网的电路。较好地解决了 著名的TSP问题,找到了最佳解的近似解, 引起了较大的轰动。 ? 3)1985年,美国加州大学圣地亚哥分校 (UCSD)的Hinton、Sejnowsky、 Rumelhart等人所在的并行分布处理(PDP) 小组的研究者在Hopfield网络中引入了随机 机制,提出所谓的Boltzmann机。
43

1.3.4 第二高潮期(1983~1990)
? 4 ) 1986 年 , 并 行 分 布 处 理 小 组 的 Rumelhart等研究者重新独立地提出多层网 络的学习算法——BP算法,较好地解决了 多 层 网 络 的 学 习 问 题 。 ( Paker1982 和 Werbos1974年) ? 国内首届神经网络大会是1990年12月在北 京举行的。

44

1.3.5 再认识与应用研究期 (1991~)
? ? ? ? 问题: 1)应用面还不够宽 2)结果不够精确 3)存在可信度的问题

45

1.3.5 再认识与应用研究期 (1991~)
? 研究: ? 1)开发现有模型的应用,并在应用中根据实际运 行情况对模型、算法加以改造,以提高网络的训 练速度和运行的准确度。 ? 2)充分发挥两种技术各自的优势是一个有效方法 ? 3)希望在理论上寻找新的突破,建立新的专用/ 通用模型和算法。 ? 4)进一步对生物神经系统进行研究,不断地丰富 对人脑的认识。
46

2 人工神经网络基础
? 主要内容:
– BN与AN; –拓扑结构; –存储; –训练

? 重点:AN;拓扑结构;训练 ? 难点:训练
47

? ? ? ? ?

2.1 2.2 2.3 2.4 2.5

生物神经网 人工神经元 人工神经网络的拓扑特性 存储与映射 人工神经网络的训练

48

2.1 生物神经网
? 1、构成
枝蔓(Dendrite)

轴突(Axon) 胞体(Soma) 胞体(Soma)

突触(Synapse)

? 2、工作过程
49

2.1 生物神经网
? ? ? ? ? 3、六个基本特征: 1)神经元及其联接; 2)神经元之间的联接强度决定信号传递的强弱; 3)神经元之间的联接强度是可以随训练改变的; 4)信号可以是起刺激作用的,也可以是起抑制作 用的; ? 5)一个神经元接受的信号的累积效果决定该神经 元的状态; ? 6)每个神经元可以有一个“阈值”。
50

2.2 人工神经元
? 神经元是构成神经网络的最基本单元(构 件)。 ? 人工神经元模型应该具有生物神经元的六 个基本特性。

51

2.2.1 人工神经元的基本构成
? 人工神经元模拟生物神经元的一阶特性。
–输入:X=(x1,x2,…,xn) –联接权:W=(w1,w2,…,wn)T –网络输入: net=∑xiwi –向量形式: net=XW
x1 w1 x2 …w2 xn wn
52



net=XW

2.2.2 激活函数(Activation Function)
? 激活函数——执行对该神经元所获得的网 络输入的变换,也可以称为激励函数、活 化函数: o=f(net) ? 1、线性函数(Liner Function)
f(net)=k*net+c
o

c
o net

53

2、非线性斜面函数(Ramp Function)
γ f(net)= k*net -γ if net≥θ if |net|<θ if net≤-θ

? γ>0为一常数,被称为饱和值,为该神经元 的最大输出。
54

2、非线性斜面函数(Ramp Function)
o

γ

-θ -γ

θ

net

55

3、阈值函数(Threshold Function)阶跃函数
f(net)= β if net>θ if net≤ θ -γ β、γ、θ均为非负实数,θ为阈值 二值形式: 1 f(net)= 0 双极形式: 1 f(net)= -1

if net>θ if net≤ θ if net>θ if net≤ θ
56

3、阈值函数(Threshold Function)阶跃函数
o
β

0 -γ

θ

net

57

4、S形函数
压缩函数(Squashing Function)和逻辑斯特 函数(Logistic Function)。 f(net)=a+b/(1+exp(-d*net)) a,b,d为常数。它的饱和值为a和a+b。 最简单形式为: f(net)= 1/(1+exp(-d*net)) 函数的饱和值为0和1。 ? S形函数有较好的增益控制
58

4、S形函数
o a+ b c=a+b/2

(0,c)

net

a

59

2.2.3 M-P模型
McCulloch—Pitts(M—P)模型, 也称为处理单元(PE)
x1 w1

x2 w2 … xn wn



net=XW

f

o=f(net)

60

2.3 人工神经网络的拓扑特性
连接的拓扑表示

ANi

wij

ANj

61

2.3.1 联接模式
? 用正号(“+‖,可省略)表示传送来的信 号起刺激作用,它用于增加神经元的活跃 度; ? 用负号(“-‖)表示传送来的信号起抑制作 用,它用于降低神经元的活跃度。 ? 层次(又称为“级”)的划分,导致了神 经元之间的三种不同的互连模式:

62

2.3.1 联接模式
? 1、 层(级)内联接 ? 层内联接又叫做区域内(Intra-field)联接 或侧联接(Lateral)。 ? 用来加强和完成层内神经元之间的竞争 ? 2、 循环联接 ? 反馈信号。

63

2.3.1 联接模式
? 3、层(级)间联接 –层间(Inter-field)联接指不同层中的神 经元之间的联接。这种联接用来实现层 间的信号传递 – 前馈信号 – 反馈信号

64

2.3.2 网络的分层结构
? 单级网 – 简单单级网 – W=(wij) –输出层的第j个神经元的网络输入记为 netj: – netj=x1w1j+x2w2j+…+xnwnj –其中, 1≤ j ≤ m。取 – NET=(net1,net2,…,netm) – NET=XWY=F(NET)
65

简单单级网
x1 w11 w1m x2 o2 o1

w2m
… w … n1 …

xn
输入层 nm w 输出层

om

66

单级横向反馈网
? ? ? ? ? V=(vij) NET=XW+OV O=F(NET) 稳定性判定 时间参数——神经元的状态在主时钟的控制下同 步变化 ? 考虑X总加在网上的情况
– NET(t+1)=X(t)W+O(t)V – O(t+1)=F(NET(t+1))
? O(0)=0

? 考虑仅在t=0时加X的情况。
67

单级横向反馈网
x1 w11 w1m o1

x2
w2m

o2
V


xn

w … n1

… om

输入层

输出层
68

多级网
? 层次划分 –信号只被允许从较低层流向较高层。 –层号确定层的高低:层号较小者,层次 较低,层号较大者,层次较高。 – 输入层:被记作第0层。该层负责接收来 自网络外部的信息

69

多级网
– 第j层:第j-1层的直接后继层(j>0),它 直接接受第j-1层的输出。 – 输出层:它是网络的最后一层,具有该 网络的最大层号,负责输出网络的计算 结果。 – 隐藏层:除输入层和输出层以外的其它 各层叫隐藏层。隐藏层不直接接受外界 的信号,也不直接向外界发送信号
70

多级网
x1 o1

x2

o2


xn











… om

输入层

隐藏层

输出层
71

多级网
? 约定 ? 输出层的层号为该网络的层数:n层网络, 或n级网络。 ? 第j-1层到第j层的联接矩阵为第j层联接矩阵, 输出层对应的矩阵叫输出层联接矩阵。今 后,在需要的时候,一般我们用W(j)表示 第j层矩阵。 ? 非线性激活函数
72

循环网
? 如果将输出信号反馈到输入端,就可构成一个多层 的循环网络。 ? 输入的原始信号被逐步地“加强”、被“修复”。 ? 大脑的短期记忆特征——看到的东西不是一下子 就从脑海里消失的。 ? 稳定:反馈信号会引起网络输出的不断变化。我 们希望这种变化逐渐减小,并且最后能消失。当 变化最后消失时,网络达到了平衡状态。如果这 种变化不能消失,则称该网络是不稳定的。
73

循环网
x1 x2 o1

o2

… xn











… om

输入层

隐藏层

输出层

74

2.4 存储与映射
? ? ? ? 空间模式(Spatial Model) 时空模式(Spatial temporal Model) 空间模式三种存储类型 1、 RAM方式(Random Access Memory)
–随机访问方式是将地址映射到数据。

? 2、 CAM方式(Content Addressable Memory)
–内容寻址方式是将数据映射到地址。

? 3、 AM方式(Associative Memory)
–相联存储方式是将数据映射到数据。
75

2.4 存储与映射

? 后续的两种方式是人工神经网络的工作方式。 ? 在学习/训练期间,人工神经网络以CAM方 式工作;权矩阵又被称为网络的长期存储 (Long Term Memory,简记为LTM)。 ? 网络在正常工作阶段是以AM方式工作的; 神经元的状态表示的模式为短期存储(Short Term Memory,简记为STM)。

76

2.4 存储与映射
? 自相联(Auto-associative)映射:训练网络 的样本集为向量集合为 {A1,A2,…,An} ? 在理想情况下,该网络在完成训练后,其 权矩阵存放的将是上面所给的向量集合。

77

2.4 存储与映射
? 异相联(Hetero-associative)映射 {(A1,B1),(A2,B2),…,(An,Bn)} ? 该网络在完成训练后,其权矩阵存放的将是上面 所给的向量集合所蕴含的对应关系。 ? 当输入向量A不是样本的第一的分量时,样本中 不存在这样的元素(Ak,Bk),使得 Ai≤Ak≤A或者A≤Ak≤Aj ? 且此时有 Ai≤A≤Aj ? 则向量B是Bi与Bj的插值。
78

2.5 人工神经网络的训练
? 人工神经网络最具有吸引力的特点是它的 学习能力。 ? 1962年,Rosenblatt给出了人工神经网络著 名的学习定理:人工神经网络可以学会它 可以表达的任何东西。 ? 人工神经网络的表达能力大大地限制了它 的学习能力。 ? 人工神经网络的学习过程就是对它的训练 过程
79

2.5.1无导师学习
? 无导师学习(Unsupervised Learning)与无导 师训练(Unsupervised Training)相对应 ? 抽取样本集合中蕴含的统计特性,并以神 经元之间的联接权的形式存于网络中。

80

2.5.1无导师学习
? Hebb 学 习 律 、 竞 争 与 协 同 ( Competitive and Cooperative ) 学 习 、 随 机 联 接 系 统 (Randomly Connected Learning)等。 ? Hebb算法[D. O. Hebb在1961年]的核心: ? 当两个神经元同时处于激发状态时被加强, 否则被减弱。 ? 可用如下数学表达式表示:
– Wij(t+1)=Wij(t)+αoi(t)oj(t)
81

2.5.2 有导师学习
? 有导师学习(Supervised Learning)与有导师训练 (Supervised Training)相对应。 ? 输入向量与其对应的输出向量构成一个“训练 对”。 ? 有导师学习的训练算法的主要步骤包括:
1) 从样本集合中取一个样本(Ai,Bi); 2) 计算出网络的实际输出O; 3) 求D=Bi-O; 4) 根据D调整权矩阵W; 5) 对每个样本重复上述过程,直到对整个样本集来 说,误差不超过规定范围。
82

Delta规则
Widrow和Hoff的写法: Wij(t+1)=Wij(t)+α(yj- aj(t))oi(t) 也可以写成: Wij(t+1)=Wij(t)+? Wij(t) ? Wij(t)=αδjoi(t) δj=yj- oj(t) Grossberg的写法为: ? Wij(t)=αai(t)(oj(t)-Wij(t)) 更一般的Delta规则为: ? Wij(t)=g(ai(t),yj,oj(t),Wij(t))
83

3 感知器
? 主要内容:
–感知器与人工神经网络的早期发展; –线性可分问题与线性不可分问题; – Hebb学习律; – Delta规则 –感知器的训练算法。

? 重点:感知器的结构、表达能力、学习算法 ? 难点:感知器的表达能力
84

? 3.1 感知器与人工神经网络的早期发展 ? 3.2 感知器的学习算法
– 3.2.1离散单输出感知器训练算法 – 3.2.2离散多输出感知器训练算法 – 3.2.3 连续多输出感知器训练算法

? 3.3 线性不可分问题
– 3.3.1 异或(Exclusive –OR)问题 – 3.3.2 线性不可分问题的克服
85

3.1 感知器与ANN的早期发展
McCulloch 和 Pitts 1943 年 , 发 表 第 一 个 系 统 的 ANN研究。 1947年,开发出感知器,即阈值加权和(M-P)模型
x1 单输出的感知器(M-P模型)

x2


o

xn
86

3.1 感知器与ANN的早期发展
? 1962年,Rosenblatt宣布:人工神经网络可 以学会它能表示的任何东西
x1 x2 … xn 输入层 多输出感知器
87

o1 o2 … … … om 输出层

3.2感知器的学习算法
? 感知器的学习是有导师学习 ? 感知器的训练算法的基本原理来源于著名 的Hebb学习律 ? 基本思想:逐步地将样本集中的样本输入 到网络中,根据输出结果和理想输出之间的 差别来调整网络中的权矩阵

88

3.2.1离散单输出感知器训练算法
? 二值网络:自变量及其函数的值、向量分 量的值只取0和1函数、向量。 ? 权向量:W=(w1,w2,…,wn) ? 输入向量:X=(x1,x2,…,xn) ? 训练样本集:
– {(X,Y)|Y为输入向量X对应的输出}

89

算法3-1离散单输出感知器训练算法
1. 初始化权向量W; 2. 重复下列过程,直到训练完成: 2.1 对每个样本(X,Y),重复如下过程: 2.1.1 输入X; 2.1.2 计算o=F(XW); 2.1.3 如果输出不正确,则 当o=0时,取 W=W+X, 当o=1时,取 W=W-X
90

3.2.2离散多输出感知器训练算法
? ? ? ? ? ? 激活函数:F 权矩阵W=(wij) 样本集:{(X,Y)|Y为输入向量X对应的输出} 输入向量:X=(x1,x2,…,xn) 理想输出向量:Y=(y1,y2,…,ym) 实际输出向量:O=(o1,o2,…,om)

91

算法3-2离散多输出感知器训练算法
1.初始化权矩阵W; 2.重复下列过程,直到训练完成: 2.1 对每个样本(X,Y),重复如下过程: 2.1.1 输入X; 2.1.2 计算O=F(XW); 2.1.3 for i=1 to m 执行如下操作: if oi ≠ yi then if oi = 0 then for j = 1 to n wij=wij+xi else for j = 1 to n wij=wij-xi
92

算法3-2离散多输出感知器训练算法
? 算法思想:将单输出感知器的处理逐个地 用于多输出感知器输出层的每一个神经元 的处理。 ? 第1步,权矩阵的初始化:一系列小伪随机 数。

93

算法3-2离散多输出感知器训练算法
? 第2步,循环控制。 ? 方法1:循环次数控制法:对样本集执行规 定次数的迭代 ? 改进——分阶段迭代控制:设定一个基本 的迭代次数N,每当训练完成N次迭代后, 就给出一个中间结果

94

算法3-2离散多输出感知器训练算法
? 方法2:精度控制法:给定一个精度控制参 数 –精度度量:实际输出向量与理想输出向 量的对应分量的差的绝对值之和; –实际输出向量与理想输出向量的欧氏距 离的和 – “死循环”:网络无法表示样本所代表 的问题
95

算法3-2离散多输出感知器训练算法
? 方法3:综合控制法:将这两种方法结合起 来使用 ? 注意:精度参数的设置。根据实际问题选 定;初始测试阶段,精度要求低,测试完 成后,再给出实际的精度要求。

96

3.2.3 连续多输出感知器训练算法
? 用公式wij=wij+α(yj-oj)xi取代了算法3-2 第2.1.3步中的多个判断 ? yj与oj之间的差别对wij的影响由α(yj-oj)xi 表现出来 ? 好处:不仅使得算法的控制在结构上更容 易理解,而且还使得它的适应面更宽

97

算法3-3 连续多输出感知器训练算法
用适当的小伪随机数初始化权矩阵W; 2. 初置精度控制参数ε,学习率α,精度控制变量d=ε+1; 3. While d ≥ ε do 3.1 d=0; 3.2 for 每个样本(X,Y)do 3.2.1 输入X(=(x1,x2,…,xn)); 3.2.2 求O=F(XW); 3.2.3 修改权矩阵W: for i=1 to n,j=1 to m do wij=wij+α(yj-oj)xi; 3.2.4 累积误差 for j = 1 to m do d=d+(yj-oj)2
1.
98

算法3-3 连续多输出感知器训练算法
? 1、程序实现:ε、α、d、i、j、n、m为简单变量来 表示,W为n行m列的二维数组。样本集二维数组 ? 2、系统的调试 ? 3、Minsky在1969年证明,有许多基本问题是感 知器无法解决 ? 4、问题线性可分性可能与时间有关 ? 5、很难从样本数据集直接看出问题是否线性可分 ? 6、未能证明,一个感知器究竟需要经过多少步才 能完成训练。
99

3.3 线性不可分问题
? 3.3.1 异或(Exclusive –OR)问题
g(x,y) 0 x 0 1 0 1 y 1 1 0

100

用于求解XOR的单神经元感知器
x o y x 1 (1,1)

a*x+b*y=θ
(0,0) 1 y

单神经元感知器的图像
101

线性不可分函数
变量 x y
f1 f2 f3 f4 f5 f6 f7

函数及其值
f8 f9
f10 f11
f12 f13 f14 f15 f16

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0
1 1

1
0 1

0
0 0

0
0 1

0
1 0

0
1 1

1
0 0

1
0 1

1
1 0

1
1 1

0
0 0

0
0 1

0
1 0

0
1 1

1
0 0

1
0 1

1
1 0

1
1 1

102

线性不可分函数
? R. O. Windner 1960年
自变量个数 1 2 3 4 5 6 函数的个数 4 16 256 65,536 4.3*109 1.8*1019 线性可分函数的个数 4 14 104 1882 94,572 5,028,134

103

3.3.2 线性不可分问题的克服
? 用多个单级网组合在一起,并用其中的一 个去综合其它单级网的结果,我们就可以 构成一个两级网络,该网络可以被用来在 平面上划分出一个封闭或者开放的凸域来 ? 一个非凸域可以拆分成多个凸域。按照这 一思路,三级网将会更一般一些,我们可 以用它去识别出一些非凸域来。 ? 解决好隐藏层的联接权的调整问题是非常 关键的
104

两级单输出网在n维空间中划分 出m边凸域
x1
AN1 ANo …
o



xn
ANm

105

第4章 BP网络
? 主要内容:
– BP网络的构成 –隐藏层权的调整分析 – Delta规则理论推导 –算法的收敛速度及其改进讨论 – BP网络中的几个重要问题

? 重点:BP算法 ? 难点:Delta规则的理论推导
106

4 BP网络
? ? ? ? ? ? 4.1 概述 4.2 基本BP算法 4.3算法的改进 4.4 算法的实现 4.5 算法的理论基础 4.6 几个问题的讨论

107

4.1 概述
? 1、BP算法的出现
–非循环多级网络的训练算法 – UCSD PDP小组的Rumelhart、Hinton和Williams1986 年独立地给出了BP算法清楚而简单的描述 – 1982年,Paker就完成了相似的工作 – 1974年,Werbos已提出了该方法

? 2、弱点:训练速度非常慢、局部极小点的逃离问 题、算法不一定收敛。 ? 3、优点:广泛的适应性和有效性。
108

4.2 基本BP算法
? 4.2.1 网络的构成 神经元的网络输入: net=x1w1+x2w2+…+xnwn 神经元的输出:o=f(net)=
1 1 ? e ?net

109

输出函数分析
f ′(net)
1

net (0,0.5)

0.25
o

0
(0,0)

0.5

1

110

输出函数分析

? 启发:
–应该将net的值尽量控制在收敛比较快的范围 内 –可以用其它的函数作为激活函数,只要该函数 是处处可导的

111

网络的拓扑结构
x1 o1

x2

o2


xn











… om

输入层

隐藏层

输出层
112

网络的拓扑结构
? ①BP网的结构 ? ②输入向量、输出向量的维数、网络隐藏 层的层数和各个隐藏层神经元的个数的决 定 ? ③实验:增加隐藏层的层数和隐藏层神经 元个数不一定总能够提高网络精度和表达 能力。 ? ④BP网一般都选用二级网络。
113

网络的拓扑结构
x1 o1

x2

o2


xn





… om

输入层

隐藏层

输出层
114

4.2.2 训练过程概述
? 样本:(输入向量,理想输出向量) ? 权初始化:“小随机数”与饱和状态; “不同”保证网络可以学。 ? 1、向前传播阶段: ? (1)从样本集中取一个样本(X p,Y p), 将Xp输入网络; ? (2)计算相应的实际输出Op: ? Op=Fn (…(F2 (F1 (XpW(1) )W(2) )…)W(n) )
115

4.2.2 训练过程概述
? 2、向后传播阶段——误差传播阶段: ? (1)计算实际输出Op 与相应的理想输出Yp 的差; ? (2)按极小化误差的方式调整权矩阵。 ? 网络关于第p个样本的误差测度: 1 ? Ep= 2 ? ?y ? o ? ? 网络关于整个样本集的误差测度: ? E=∑Ep
m 2 j?1 pj pj

116

4.2.3 误差传播分析
1、输出层权的调整
ANp wpq 第n-1层 第n层 ANq

wpq= wpq+?wpq

?wpq=αδqop
=αfn ′(netq)(yq-oq)op =αoq(1-oq) (yq-oq)op
117

2、隐藏层权的调整
δ1k wp1 vhp δpk-1 wpm δqk …

ANh

ANp

wpq δmk

ANq


第k-2层

第k-1层

第k层

118

2、隐藏层权的调整
δpk-1的值和δ1k,δ2k,…,δmk 有关 不妨认为δpk-1 通过权wp2对δ2k做出贡献, 通过权wp1对δ1k做出贡献, … 通过权wpm对δmk做出贡献。
δpk-1= fk-1′(netp) (wp1δ1k+ wp2δ2k+…+ wpmδm k)

119

2、隐藏层权的调整
?vhp=αδpk-1ohk-2 =αfk-1 ′(netp)( wp1δ1k+ wp2δ2k+…+ wpmδmk)ohk-2 =αopk-1(1-opk-1)( wp1δ1k+ wp2δ2k+…+ wpmδmk)ohk-2 即: ?vhp=αopk-1(1-opk-1)( wp1δ1k+ wp2δ2k+…+ wpmδmk)ohk-2 vhp=vhp+?vhp

120

4.2.4 基本的BP算法
? 样本集:S={(X1,Y1),(X2,Y2),…,(Xs,Ys)} ? 基本思想 :
–网络根据(X1,Y1)计算出实际输出O1和误差测度E1, 对W(1) ,W(2) ,…,W(M)各做一次调整;在此基 础上,再根据(X2,Y2)计算出实际输出O2和误差 测度E2,对W(1) ,W(2) ,…,W(M)分别做第二次 调整;…… ;如此下去。本次循环最后再根据 (Xs,Ys)计算出实际输出Os和误差测度Es,对 W(1) ,W(2) ,…,W(M)分别做第s次调整。这个过 程,相当于是对样本集中各个样本的一次循环处 理。重复这个循环,直到∑Ep<ε。
121

算法4-1 基本BP算法
1 for h=1 to M do 1.1 初始化W(h); 2 初始化精度控制参数ε; 3 E=ε+1; 4 while E>ε do 4.1 E=0;

122

算法4-1 基本BP算法
4.2 对S中的每一个样本(Xp,Yp): 4.2.1 计算出Xp对应的实际输出Op; 4.2.2 计算出Ep; 4.2.3 E=E+Ep; 4.2.4 根据相应式子调整W(M); 4.2.5 h=M-1; 4.2.6 while h≠0 do 4.2.6.1 根据相应式子调整W(h); 4.2.6.2 h=h-1 4.3 E=E/2.0
123

4.3算法的改进
1、BP网络接受样本的顺序仍然对训练的结果有较 大的影响。比较而言,它更“偏爱”较后出现的样 本 2、给集中的样本安排一个适当的顺序,是非常困 难的。 3、样本顺序对结果的影响的原因分析:“分别”、 “依次” 4、用(X1,Y1),(X2,Y2),…,(Xs,Ys)的“总效 果”修改W(1) ,W(2) ,…,W(M)。 ?w(h)ij=∑?p w(h)ij
124

算法4-2 消除样本顺序影响的BP算法
1 for h=1 to M do 1.1 初始化W(h); 2 初始化精度控制参数ε; 3 E=ε+1; 4 while E>ε do 4.1 E=0; 4.2 对所有的i,j,h:? w (h)ij=0;
125

4.3 对S中的每一个样本(Xp,Yp): 4.3.1 计算出Xp对应的实际输出Op; 4.3.2 计算出Ep; 4.3.3 E=E+Ep; 4.3.4 对所有i,j根据相应式子计算?p w (M)ij; 4.3.5 对所有i,j:? w (M)ij=? w (M)ij+?p w (M)ij; 4.3.6 h=M-1; 4.3.7 while h≠0 do 4.3.7.1 对所有i,j根据相应式子计算?p w (h)ij; 4.3.7.2 对所有i,j:? w (h)ij=? w (h)ij+?p w (h)ij; 4.3.7.3 h=h-1 4.4 对所有i,j,h:w (h)ij= w (h)ij+ ?w (h)ij; 4.5 E=E/2.0

126

算法4-2 分析
? 较好地解决了因样本的顺序引起的精度问 题和训练的抖动问题 ? 收敛速度:比较慢 ? 偏移量:给每一个神经元增加一个偏移量 来加快收敛速度 ? 冲量:联接权的本次修改要考虑上次修改 的影响,以减少抖动问题
127

算法4-2 分析——冲量设置
? Rumelhart等人1986年
– ?wij=αδjoi+β?wij′ – ?wij′ 为上一次的修改量,β为冲量系数,一般 可取到0.9

? 1987年,Sejnowski与Rosenberg给出了基于 指数平滑的方法
– ?wij=α((1-β)δjoi+β?wij′) – ?wij′ 也是上一次的修改量,β在0和1之间取值
128

4.4 算法的实现
? 主要数据结构 W[H,m]——输出层的权矩阵; V[n,H]——输入(隐藏)层的权矩阵; ?o[m]——输出层各联接权的修改量组成的向量; ?h[H]——隐藏层各联接权的修改量组成的向量; O1——隐藏层的输出向量; O2——输出层的输出向量; (X,Y)——一个样本。
129

算法的主要实现步骤
1 用不同的小伪随机数初始化W,V; 2 初始化精度控制参数ε;学习率α ; 3 循环控制参数E=ε+1;循环最大次数M; 循环次数控制参数N=0; 4 while E>ε & N<M do 4.1 N=N+1;E=0; 4.2 对每一个样本(X,Y),执行如下操作
130

4.2 对每一个样本(X,Y),执行的操作
4.2.1 计算:O1=F1(XV);O2=F2(O1W); 4.2.2 计算输出层的权修改量 for i=1 to m 4.2.2.1 ?o[i]=(1- O2 [i])(Y[i]-O2 [i]); 4.2.3 计算输出误差:for i=1 to m 4.2.3.1 E=E+(Y[i]-O2 [i])2;

131

4.2 对每一个样本(X,Y),执行的操作
4.2.4 计算隐藏层的权修改量:for i=1 to H 4.2.4.1 Z=0; 4.2.4.2 for j=1 to m do Z=Z+W[i,j]* ?o[j]; 4.2.4.3 Δh[i]=Z; 4.2.5 修改输出层权矩阵:for k=1 to H & i=1 to m 4.2.5.1 W[k,i]= W[k,i]+ αO1[k] ?o[i]; 4.2.5 修改隐藏层权矩阵:for k=1 to n & i=1 to H 4.2.5.1 V[k,i]= V[k,i]+ αO1[k] ?h[i];
132

建议
? 隐含层的神经元的个数H作为一个输入参数 ? 同时将ε 、循环最大次数M等,作为算法的 输入参数 ? 在调试阶段,最外层循环内,加一层控制, 以探测网络是否陷入了局部极小点

133

4.5 算法的理论基础
? 基本假设
–网络含有M层 –联接矩阵: W(1) ,W(2) ,…,W(M) –第h层的神经元:Hh个 –自变量数: n×H1+H1×H2+H2×H3+…+HM×m –样本集: S={ (X1,Y1),(X2,Y2),…,(Xs,Ys)}

? 误差测度: s E (p) E= ?
p ?1
134

误差测度E= p?1E ?

s

(p)

用E代表E(P),用(X,Y)代表(XP,YP) X=(x1,x2,…,xn) Y=(y1,y2,…,ym) 该样本对应的实际输出为 O=(o1,o2,…,om)
135

误差测度E= ? E
p ?1

s

(p)

? 用理想输出与实际输出的方差 作为相应的误差测度
1 m 2 E ? ? (y k ? o k ) 2 k ?1
136

最速下降法,要求E的极小点

E

?E ?w ij ? ? ?w ij
E

wij
?E ?w ij >0,此时Δwij<0
?E <0, 此时Δwij>0 ?w ij

wij

137

最速下降法,要求E的极小点
?E ?E ?net j ? ? ?w ij ?net j ?w ij
而其中的

net j ? ? w kjo k
k

所以,

?? w o ? ?? kj k ? ?net j ?k ? ?o ? i ?w ij ?w ij

138

最速下降法,要求E的极小点
?E ?E ?net j ? ? ?w ij ?net j ? w ij
?E 令 ?j ? ? ?net j

?? ? w kjo k ? ? ? ?E ? k ? ? ? ?net j ?w ij 所以Δ wij=αδjoi ?E α为学习率 ? ? oi ?net j

139

ANj为输出层神经元
从而 oj=f(netj) 容易得到
?o j ?net j ? f ?(net j )

?E ?j ? ? ?net j ?E ?o j ?? ? ?o j ?net j ?E ?? ? f ?(net j ) ?o j
140

ANj为输出层神经元
?1 m 2? ? ? ? ?y k ? o k ? ? ?E ? 2 k ?1 ? ? ?o j ?o j 1 ? ?y j ? o j ? ? 2 ?o j ? ?( y j ? o j )
2

141

ANj为输出层神经元
所以,? j

? ( y j ? o j )f ?(net j )

故,当ANj为输出层的神经元时,它对应 的联接权wij应该按照下列公式进行调整:

w ij ? w ij ? ?? j o i ? w ij ? ?f ?(net j )( y j ? o j )o i
142

ANj为隐藏层神经元
?E ?j ? ? ?net j ?E ?o j ?? ? ?o j ?net j

?E ?j ? ? ? f ?(net j ) ?o j

?o j ?net j

? f ?(net j )

1 m 2 E ? ? (y k ? o k ) 2 k ?1

143

ANj为隐藏层神经元
netk= ? w ik o i
i ?1 Hh

?E H h ?E ?net k ? ?( ? ) ?o j k ?1 ?net k ?o j

? Hh w o ? ?? ? ik i ? ?net k ? i ?1 ??w ? jk ?o j ?o j
144

ANj为隐藏层神经元
?E H h ? ?E ?net k ? ?? ? ?o j k ?1? ?net k ?o j ? ? ?E ? ? ?? ? ?net ? w jk ? ? k ?1? k ?
Hh
Hh ?E ? ? ? ? k w jk k ?1 ?o j
145

? ? ? ?

ANj为隐藏层神经元
?E ?j ? ? ? f ?(net j ) ?o j ? ? ? w ? ? f ?(net ) ? ?? ? k jk ? j ? k ?1 ?
Hh

? ? w ? ? f ?(net ) ? j ? ? ? k jk ? j ? k ?1 ?
Hh
146

ANj为隐藏层神经元
? ? w ? ? f ?(net )o ?w ij ? ?? ? k jk ? j i ? k ?1 ?
Hh

? ? w ? ? f ?(net )o w ij ? w ij ? ?? ? k jk ? j i ? k ?1 ?
Hh

147

4.6 几个问题的讨论
? 收敛速度问题 ? 局部极小点问题
– 逃离/避开局部极小点:修改W、V的初值—— 并不是总有效。 –逃离——统计方法;[Wasserman,1986]将 Cauchy训练与BP算法结合起来,可以在保证 训练速度不被降低的情况下,找到全局极小点。

148

4.6 几个问题的讨论
? 网络瘫痪问题
–在训练中,权可能变得很大,这会使神经元的 网络输入变得很大,从而又使得其激活函数的 导函数在此点上的取值很小。根据相应式子, 此时的训练步长会变得非常小,进而将导致训 练速度降得非常低,最终导致网络停止收敛

? 稳定性问题
–用修改量的综合实施权的修改 –连续变化的环境,它将变成无效的
149

4.6 几个问题的讨论
? 步长问题
– BP网络的收敛是基于无穷小的权修改量 –步长太小,收敛就非常慢 –步长太大,可能会导致网络的瘫痪和不稳定 –自适应步长,使得权修改量能随着网络的训练 而不断变化。[1988年,Wasserman]

150

5 对传网
? 主要内容:CPN的网络结构,正常运行, 输入向量的预处理,Kohonen层的训练算法 及其权矩阵的初始化方法;Grossberg层的 训练;完整的对传网。 ? 重点:Kohonen层与Grossberg层的正常运 行与训练 ? 难点:Kohonen层的训练算法及其权矩阵的 初始化方法
151

? ? ? ? ?

5.1 网络结构 5.2 网络的正常运行 5.3 Kohonen层的训练 5.4 Kohonen层联接权的初始化方法 5.5 Grossberg层的训练

152

? Robert Hecht-Nielson 在 1987 年 提 出 了 对 传 网 (Counterpropagation Networks,CPN)。 ? CPN为异构网:
– Kohonen1981 年 提 出 的 Self-organization map—— SOM——Kohonen层 – Grossberg1969年提出的Outstar——Grossberg层

? 训练时间短:BP的1%。应用面:比较窄 ? 让网络的隐藏层执行无导师学习,是解决多级网 络训练的另一个思路
153

5.1 网络结构
? 单向CPN,完整CPN(双向网) ? 除拓扑结构外,网络的运行机制也是确定 网络结构(同构、异构)和性能的重要因 素 ? 网络的层数计算

154

5.1 网络结构
x1 K1 G1 y1

W
x2 … xn 输入层 K2

V
G2 y2

… Kh 自组织映射 (无导师学习) Kohonen层

… Gm 散射星 (有导师学习) Grossberg层

ym

155

5.1 网络结构
? 以Kohonen层的神经元为“中心”讨论问题 ? K1
–W1=(w11,w21,…,wn1)T –V1=(v11,v12,…,v1m) –W2=(w12,w22,…,wn2)T –V2=(v21,v22,…,v2m)

? K2

……
? Kh
–Wh=(w1h,w2h,…,wnh)T –Vh=(vh1,vh2,…,vhm)

156

5.2 网络的正常运行
? 5.2.1 Kohonen层 ? 强者占先、弱者退出” (the winner takes all ) knetj=XWj = (x1,x2,…,xn)(w1j,w2j,…,wnj) T = w1j x1+w2j x2+…+wnj xn 向量形式 KNET=(knet1,knet2,…,kneth)
157

5.2.1 Kohonen层
? K1,K2,…,Kh的输出k1,k2,…,kh构 成向量 K=(k1,k2,…,kh) ? 1≦j≦h 1 knetj=Max{ knet1,knet2,…,kneth } k j= 0 其它 ? 几何意义
158

5.2.2 Grossberg层
? Grossberg层的每个神经元Gj (1≦j≦m)
gnetj= K (v1j,v2j,…,vhj)T

= (k1,k2,…,kh) (v1j,v2j,…,vhj)T =k1v1j+ k2v2j+…+ kh vhj 唯一输出1的神经元为Ko gnetj= k1v1j+ k2v2j+…+ kh vhj = voj
159

5.2.2 Grossberg层
GNET=( gnet1 ,gnet2 ,…,gnetm) =(vo1,vo2,…,vom) =Vo ? 散射星:Vo的各个分量是从Ko到Grossberg 层各神经元的联接权

160

5.2.2 Grossberg层
? CPN用于模式的完善,此时n=m:接受含 有噪音的输入模式(x1,x2,…,xn),而输 出去掉噪音后的模式(vo1,vo2,…,vom) ? 对训练启示
– W1,W2,…,Wh,各类X的共同特征 – V1 ,V2 ,…,Vh ,X对应的理想输出Y的共同 特征

161

5.3 Kohonen层的训练
? 5.3.1 输入向量的预处理 单位化处理 X= (x1,x2,…,xn) X′= (x1′,x2′,…,xn′) = (x1/‖X‖,x2/‖X‖,…,xn/‖X‖)

162

5.3.2 训练 算法 5-1 Kohonen层训练算法
1 2 对所有的输入向量,进行单位化处理; 对每个样本(X,Y)执行下列过程 2.1 for j=1 to h do 根据相应式子计算knetj; 2.2求出最大的kneto: 2.2.1 max=knet1;o=1 2.2.2 for j=1 to h do if knetj>max then {max=knetj;o=j};
163

算法 5-1 Kohonen层训练算法
2.3 计算K 2.3.1 for j=1 to h do kj=0; 2.3.2 ko=1; 2.4 使Wo更接近X:Wo(new)=Wo(old)+α (X- Wo(old)); 2.5 对Wo(new)进行单位化处理

164

Wo(new)=Wo(old)+α (X- Wo(old))
α ∈(0,1) Wo(new)=Wo(old)+α (X- Wo(old)) = Wo(old)+α X-α Wo(old) X-Wo(new)=X-[Wo(old)+α (X- Wo(old))] =X-Wo(old)-α X+α Wo(old) = X(1-α ) -Wo(old)(1-α ) =(1-α )(X-Wo(old)) 由0<(1-α )<1,Wo(new)比Wo(old)更接近X
165

Wo(new)=Wo(old)+α (X- Wo(old))
1

(1-α ) (X- Wo(old))

Wo(old)
Wo(new) o X (X- Wo(old))

单位圆
166

学习率α
? 训练初期,α 一般取0.7左右,它将随着训练进展 不断变小
–α 过大可能导致有的X被放入错误的类中;使训练陷入 抖动 –根据分X的布决定W的初值:防止类过小和过大 –一般来说,一个类含有许多向量。这个类对应的Wj应 该是样本集中这一类向量(输入向量部分)的平均值。 – 事先给问题一个粗略分类,并从这个分类中提取一个 较有代表性的向量构成样本集 –启发我们采用训练和直接设定权向量的方式来完成该 层的训练。
167

5.4 Kohonen层联接权初始化
? 理想的情况下,W1 ,W2 ,…,Wh 的初值 应该依照样本集中的输入向量的分布来确 定。 ? 样本集中的输入向量的分布并不是均匀的

168

凸状组合法
取wij=
1 sqrt( n )

将输入向量 X= (x1,x2,…,xn) 变换为 X′= (x1′,x2′,…,xn′) 其中

1? ? x ?j ? ?x j ? n
169

凸状组合法
在训练的初期阶段,λ 的值非常小,使得
X′≈(
1 , n 1 ,…, n 1 ) n

随着训练的进行,λ 趋近于1, 从而使X′趋近于X,进而Wj 趋 近于一组X的平均值。

170

添加噪音法
? 在输入向量中加进适当的随机噪音,使输 入向量的分布均匀。训练中逐渐去掉噪音 ? Wj不断地调整自己的“运动方向”,去追 踪其不断变化的目标。试验表明,这种方 法的收敛速度比凸状组合法更慢。

171

初期全调法
?Kohonen层训练的初期,对应一个输入向量,允 许多个神经元同时处于激发状态。逐渐减少被激发 的神经元的最大个数或者逐渐提高阈值,最后达到 对一个输入向量,只有一个神经元激发 ?另一种实现:在训练的初期,算法不仅调整“获 胜”的神经元对应的权向量,而且对其它的权向量 也作适当的调整。随着训练的推进,被调整的范围 逐渐缩小,直到最终只有“获胜”的神经元对应的 权向量才被调整 ?要解决的问题:
–问题调整的范围的度量。 –其它的权向量的“适当调整”
172

DeSieno法
? 当某一个权向量所获得的匹配向量超过给定的数 1 ( h)后,它的阈值就被临时提高 ? 问题:当最应该被某个神经元对应的权向量匹配 的输入向量在较后的时候被输入时,它可能被拒 绝,从而造成网络精度的损失 ? 1988年,Kohonen证明,在一个被完全训练过的 网中,随机选取的输入向量与任何给定的权向量 1 是最接近的概率是 h :每个按均匀分布初值的权 向量都具有相同的被匹配的概率
173

5.5 Grossberg层的训练
? 训练
– 标量形式

voj= voj+α (yj- voj)
– 向量形式

Vo(new)= Vo(old)+α (Y- Vo(old)) ? 比较 Wo(new)=Wo(old)+α (X- Wo(old))
174

算法5-2 CPN训练算法一
0 对W、V进行初始化; 1 对所有的输入向量,进行单位化处理; 2 对每个样本(X,Y)执行下列过程 2.1 for j=1 to h do 根据knetj=XWj计算knetj; 2.2 求出最大的kneto: 2.2.1 max=knet1;o=1; 2.2.2 for j=1 to h do 2.2.2.1 if knetj>max then {max=knetj;o=j};
175

算法5-2 CPN训练算法一
2.3 计算K: 2.3.1 for j=1 to h do kj=0; 2.3.2 ko=1; 2.4 使Wo更接近X: Wo(new)=Wo(old)+α (X- Wo(old)); 2.5 对Wo(new)进行单位化处理; 2.6 使Vo更接近Y: Vo(new)= Vo(old)+α (Y- Vo(old))。
176

算法5-3 CPN训练算法二
0 对W、V进行初始化; 0′清空Kohonen层各神经元对应的纪录表: for j=1 to h do SKj=Φ ; 1 对所有的输入向量,进行单位化处理;

177

算法5-3 CPN训练算法二
2 对每个样本(Xs,Ys)执行下列过程 2.1 for j=1 to h do 2.1.1 根据相应式子计算knetj; 2.2 求出最大的kneto: 2.2.1 max=knet1;o=1; 2.2.2 for j=1 to h do 2.2.2.1 if knetj>max then {max=knetj;o=j};
178

算法5-3 CPN训练算法二
2.3 计算K: 2.3.1 for j=1 to h do kj=0; 2.3.2 ko=1; 2.4 使Wo更接近Xs: Wo(new)=Wo(old)+α (Xs- Wo(old)); 2.5 对Wo(new)进行单位化处理; 2.6 将Ys放入SKo: SKo=SKo∪{Ys}; 3 for j=1 to h do Vj= SKj中各向量的平均值
179

算法的进一步该优化
? 集合变量SK1, SK2 ,…,SKh改为其它存 储量更小,而且更容易实现的变量 ? 在Xs激发Ko时,Ys被放入到SKo中

180

补充说明 1、全对传网
X W … V … Y′




Y X′

输入层

Kohonen层

Grossberg层
181

2、非简单工作方式
? 对给定的输入向量,Kohonen层各神经元可 以给出不同的输出,训练时可将此输出作 为对应神经元Kohonen层、Grossberg层的 权向量的修改因子:输出值较大的,表明 该输入向量与该神经元对应的类较接近, 它对应的权向量的修改量就大;输出值较 小的,表明该输入向量与该神经元对应的 类较远,它对应的权向量的修改量就小。
182

6 非确定方法
? 主要内容:统计网络的基本训练算法,模 拟退火算法与收敛分析,Cauchy训练,人 工热与临界温度在训练中的使用,BP算法 与Cauchy训练的结合。 ? 重点:统计网络的基本训练算法,BP算法 与Cauchy训练的结合 ? 难点:模拟退火算法与收敛分析

183

? ? ? ?

6.1 6.2 6.3 6.4

基本的非确定训练算法 模拟退火算法 Cauchy训练 相关的几个问题

184

? 确定的方法
– 前几章所给方法的共同特征

? 非确定的方法
– 生物神经网络按照概率运行

? 别称
– 统计方法(Statistical Method)。

? 既可以用于训练,又可以用于运行
185

6.1 基本的非确定训练算法
? 基本思想 – 从所给的网络中“随机地选取一个联 接权”,对该联接权提出一个“伪随 机调整量”,当用此调整量对所选的 联接权进行修改后,如果“被认为” 修改改进了网络的性能,则保留此调 整;否则放弃本次调整。

186

6.1 基本的非确定训练算法
? 基本数据结构 – 样本集:S={ (X1,Y1),(X2,Y2),…,(Xs,Ys)} – 输入向量:X=(x1,x2,…,xn) – 理想输出向量:Y=(y1,y2,…,ym) – M层: W(1) ,W(2) ,…,W(M)

187

6.1 基本的非确定训练算法
? 拓扑结构
x1

W(1)

W(2)

W(M)

o1

x2

o2















xn 输入层
隐藏层 输出层

om

188

算法6-1 基本统计训练算法
从样本集S中取一样本(X,Y); 将X输入到网络中,计算出实际输出O; 求出网络关于Y,O的误差测度E; 随机地从W(1) ,W(2) ,…,W(M)中选择一 个联接权wij(p); 5 生成一个小随机数Δwij(p); 6 用Δwij(p)修改wij(p); 1 2 3 4
189

算法6-1 基本统计训练算法
7 用修改后的W(1) ,W(2) ,…,W(M)重新计算X对 应的实际输出O′; 8 求出网络关于Y,O′的误差侧度E′; 9 如果E′<E,则保留本次对W(1) ,W(2) ,…,W(M) 的修改, 否则,根据概率判断本次修改是否有用,如果认 为有用,则保留本次对W(1) ,W(2) ,…,W(M)的 修改,如果认为本次修改无用,则放弃它; 10 重复上述过程,直到网络满足要求。
190

算法6-1 基本统计训练算法
? 目标函数(Objective Function)
– 误差测度函数:实际输出与理想输出方差和

? 计算量
– 从W(1) ,W(2) ,…,W(M)中随机地选择wij

? 伪随机数
– 伪随机数发生器来产生Δwij(p); – 按照所谓的“能量”函数的分布去计算它

191

算法6-1 基本统计训练算法
? 局部极小点
– 当E′<E不成立时,考虑使网络从局部极小点中 逃离出来,必须允许目标函数暂时变坏

? 循环控制
– 判断标准 – 用一个样本对网络的某一个联接权进行修改后, 是随机地抽取另一个联接权进行重复,还是再 选择下一个样本进行重复 – 对一个选定的样本,每次是否可以选取若干个 联接权进行修改?如果可以,还应做什么工作?
192

逃离局部极小点
? 联接权修改量
– 太小:落到A点后很难逃离 – 太大:导致在A、B两点来回抖动

? 解决办法
– 控制联接权修改量的大小:权修改量由大变小 – 允许暂时变坏

? 修改量的大小和网络的“能量”相关
– 模拟退火
193

逃离局部极小点

D A

B

194

6.2 模拟退火算法
? 金属中原子的能量与温度有关,原子能量 高的时候,有能力摆脱其原来的能量状态 而最后达到一个更加稳定的状态——全局 极小能量状态。在金属的退火过程中,其 能量的状态分布由如下关系确定

? E ? ? P(E)∝ exp ? ? ? kT ?

P(E)——系统处于具有能量E 的状态的概率; k——Boltzmann常数; T——系统的绝对温度(Kelvin)
195

步长和能量、温度的关系
目标函数的值 训练 大 大步长 小 小步长 高 可逃离 低 难逃离 网络的能量

步长与能量相关
步长与能量和温度相关 能量与温度相关

金属热加工

低能量 原子运动平稳 原子激烈随机运动 高温 低温 降温过程
196

高能量

能量与温度
E ? ? lim ? exp( ? )? ? 1 T ?? kT ? ?
高温情况下: T足够大,对系统所能处的任意能量状态E,有
? E ? exp ? ? ? ? kT ?

将趋近于1

197

能量与温度
中温情况下: T比较小,E的大小对P(E)有较大的影响 , 设E1>E2 P(E2)>P(E1)。即,系统处于高能量状态 的可能性小于处于低能量状态的可能性

198

能量与温度
E1 ? ? )? ? exp( ? P ( E1) kT ? lim ? lim ? T ?0 P ( E 2) T ?0 ? E2 ? )? ? exp( ? kT ? ? E1 E 2 ? ? ? lim ? exp( ?( ? )) ? T ?0 kT kT ? ? E1 ? E 2 ? ? ? lim ? exp( ? )? T ?0 kT ? ?
1 ? 1 ?( ? lim ? ) kT T ?0 ? exp( E1 ? E 2) ?0

? ? ? ?
199

能量与温度
低温情况下: T非常小,E的大小对P(E) 的影响非常大 , 设E1>E2 P(E2) >> P(E1)。即,当温度趋近于0时, 系统几乎不可能处于高能量状态

200

模拟退火组合优化法
? 目标函数——能量函数 ? 人工温度T——一个初值较大的数 ? 依据网络的能量和温度来决定联接权的调 整量(称为步长)。 ? 与金属的退火过程(Annealing)非常相似

201

模拟退火组合优化法
? 基本思想
– 随机地为系统选择一个初始状态{wij(p)},在此 初始状态下,给系统一个小的随机扰动Δwij(p), 计算系统的能量变化 – ΔE=E({wij(p)+Δwij(p)})-E({wij(p)}) – 若 ΔE<0 则接受 ? ?E ? – 若ΔE≥0 则依据概率 exp ? ? kT ? 判断是否被接受 ? ? – 若 接 受 , 则 系 统 从 状 态 {wij(p)} 变 换 到 状 态 {wij(p)+Δwij(p)};否则,系统保持不变
202

模拟退火组合优化法
– 在这个过程中,逐渐地降低温度T。所得的系 统状态序列{wij(p) }将满足下列分布
( ? E ({wij p ) }) ? ? f ? c(T ) exp ? ? ? ? kT ? ?

c(T ) ? ? exp( ?

1 (p) E({w ij }) kT

)
203

算法6-2 模拟退火算法
1初始化个层的联接权矩阵W;定义人工温度T的初 值; 2 对每一个温度T重复如下过程: 2.1 取一样本,计算其输出与目标函数E({wij(p) }); 2.2 随机地从{wij(p) }中选取一个wij(p); 2.3 按一定的算法产生wij(p) 的一个调整量Δwij(p) ; 2.4 按照{ wij(p) +Δwij(p) }重新计算相应输出和目标 函数E({ wij(p) +Δwij(p) }); 2.5 ΔE= E({ wij(p) +Δwij(p) })- E({ wij(p) });
204

算法6-2 模拟退火算法
2.6 if ΔE>0 then 2.6.1 按均匀分布在[0,1]区间取一随机数r; 2.6.2 按Boltzmann分布计算接受本次调整的 概率: ( ( E({w ijp ) ? ?w ijp ) }) ) P(E({ wij(p) +Δwij(p) })) = exp( ? kT 2.6.3 if P(E({ wij(p) +Δwij(p) }))<r then 转2.2;

205

算法6-2 模拟退火算法
2.7 用{ wij(p) +Δwij(p) }代替{ wij(p) }; 2.8 if 样本集中还有未被选用的样本 then 转 2.1; 3 判断在此温度下,检验Metropolis抽样是否 稳定。如不稳定,则直接转2; 4 降低温度T; 5 如果T足够小,则结束,否则,转2。
206

算法6-2 模拟退火算法
? 算法的第2步原则上应该对每一个样本调整 每一个权,调整的顺序是随机的; ? 温度T的降低
– T=λT – λ叫做冷却率,一般情况下可以在[0.8,0.9]之 间取值 – Geman(1984年):温度下降必须与时间的对数 成反比,网络最终才能收敛到全局极小点
T0 T ? log(1 ? t )
207

算法6-2 模拟退火算法
? T的初值T0 – T0= E({w (h) });即:取初始系统目标函数 (能量)的值 – T0=z E({w (h) })。即:取初始系统目标函 数(能量)值的若干倍 – 按照经验给出

208

算法6-2 模拟退火算法
? 调整量Δwij(p)的计算
– 可以根据Boltzmann分布或者Gaussian分布来 计算。也可以用其它的方法。下面讨论按 Gaussian分布进行计算的方法。我们取如下形 式的Gaussian分布函数。简洁起见,用符号w 代替符号wij(p): p(Δw)=

?w exp( ? 2 ) T
2

209

Monte Carlo法
? 数值积分法
– 根据网络的精度要求,设一个积分步长δ,然 后通过数值积分构造出如下形式的表格
Δw δ
C1


C2


C3


C4

……
……


CN

?

?w 0

p( x )dx

210

Monte Carlo法
首先按照均匀分布在[C1 ,CN]中随机地取一 个值C,然后,从 { C1,C2,C3,…,CN} 中选取Ck满足: |Ck-C|=min{|C-C1 |,|C-C2|,|C-C3|,…,|C-CN|} Ck对应的kδ就是所需要的联接权调整量Δw

211

6.3 Cauchy训练
? Boltzmann分布 ? Boltzmann训练 ? 1987年,S. Szu和R. Hartley提出用Cauchy 分布去取代Gaussian分布 Cauchy分布 p(x)=
T T 2 ? x2

212

6.3 Cauchy训练——优点
? 对于[C1,CN]中的任意一个C,它按照 Cauchy分布所能取到的联接权的调整量要 大于按照Boltzmann分布所能取到的联接权 的调整量 ? 用Cauchy分布取代Boltzmann分布后,温 度可以下降得更快。这时,温度的下降变 得与时间成反比 :T0/(1+T) ? Cauchy分布函数可以用常规的方法进行积 分运算
213

Cauchy分布函数积分运算
?
?w 0

T p( x )dx ? ? dx 2 2 T ?x 1 ?w ? T ?0 dx 2 2 T ?x
?w 0

x? ?1 ? T ? arctg ? T ?0 ?T ?w ? arctg T

?w

214

Cauchy分布函数积分运算
?w tg( P( ?w)) ? T Δw=αTtg(P(Δw))
? Monte Carlo法:在(0,1)中按照均匀分布随 机取一数为P(Δw),再取当前的温度,就可 以直接地计算出Δw ? Cauchy训练算法:
– 将算法6-2中的Boltzmann分布换成Cauchy分布
215

6.4 相关的几个问题
? Boltzmann机
– 每个神经元可以有一个特殊的阈值,用来限制 神经元所获得的激活值

net j ? ? w kj x k ? ? j
k ?1

n

神经元的状态概率发生变化。oj=1的概率为
Pj ? 1 1 ? exp( ? net j T )
216

Boltzmann机
? Boltzmann机的目标函数(能量函数)
E ? ? w kjo k o j ? ? o k ? k
k? j k ?1 n

? ―一致性函数”

E ? ? ? w kjo k o j ? ? o k ? k
k? j k ?1

n

217

人工热问题
? 特殊热——温度关于能量的变化率
– 系统在能量跃变边界处的温度叫做临界温度

? 人工特殊热/―伪特殊热”
– 系统的人工温度关于系统的能量函数(目标函数)的平 均变化率

? 临界温度
– 临界温度时的小量下降,会引起能量函数值的较大变化 – 系统正处于一个局部极小点附近

? 临界温度点可以通过考察所定义的人工特殊热的变 化情况得到
218

BP算法与Cauchy训练的结合
? ? ? ? Cauchy训练的速度比Boltzmann训练快 Cauchy训练的速度比BP算法慢 Cauchy训练有可能使网络逃离局部极小点 由BP算法提供直接计算部分,Cauchy算法 提供随机部分 wij=wij+?wij ?wij=α((1-β)δjoi+β?wij′)+(1-α )?wij(c) α∈(0,1)为学习率,β∈(0,1)为冲量系数
219

网络陷入瘫痪
? 执行对网络联接权的压缩 ? 例如,将联接权压缩在(-a,a)以内, P. D. Wasserman曾给出如下建议公式
w ij ? 2a 1 ? exp( ? w ij a ) ?a

220

7 循环网络
? 主要内容:Hopfield网络实现的自相联存储; 稳定性分析;统计Hopfield网与Boltzmann 机;基本双联存储器的结构与训练;几种 相联存储网络。用Hopfield网解决TSP问题。 ? 重点:Hopfield网络实现的自相联存储;基 本双联存储器的结构与训练。 ? 难点:稳定性分析,用Hopfield网解决TSP 问题
221

? ? ? ? ? ? ?

7.1 循环网络的组织 7.2 稳定性分析 7.3 统计Hopfield网与Boltzmann机 7.4 双联存储器的结构 7.5 异相联存储 7.6 其它的双联存储器 7.7 Hopfield网用于解决TSP问题
222

? 循环网络对输入信号的处理是一个逐渐“修复”、 “加强”的过程。 强烈变化
较弱的变化 不变化 循环网络称为Hopfield网

?

223

7.1
? 网络结构

循环网络的组织





X1 Xn



… o1





om
224

7.1

循环网络的组织

?联接:神经元之间都是互联的wij,每个神经 元都没有到自身的联接wii=0。 ?神经元个数h,输入向量维数n,输出向量维 数m。h≥n,h≥m,n≥1,m≥1。 ?最基本的Hopfield网络:n=m=h 神经元: 输入神经元,输出神经元,隐藏神经元。 ?状态变化:非同步、同步 ?输入向量:X=(x1,x2,…,xn) ? 输出向量:O=(o1,o2,…,om)
225

7.1

循环网络的组织
n i ?1&i ? j

神经元的网络输入: net j ? ? w ij o i ? x j

阈值函数:oj=

1 0 oj

if netj>θ if netj<θ if netj=θ

j j j

226

最基本的Hopfield网
x1 o1 W x2 o2 … … xn

on

227

最基本的Hopfield网
? 希望网络网络的联接矩阵存放的是一组这 样的样本,在联想过程中实现对信息的 “修复”和“加强”,要求:它的输入向 量和输出向量是相同的向量,即,X=Y ? 样本集:S={ Y1,Y2,…,Ys}

228

最基本的Hopfield网
? 权矩阵:wij= ? y ik y jk
k ?1 s

i≠j

wii=0 1≤i≤n ? W是一个对角线元素为0的对称矩阵: ? W= Y1T ╳Y1+Y2T╳Y2+…+YsT╳Ys - W0 ? W是各个样本向量自身的外积的和——网 络实现的是自相联映射。
229

最基本的Hopfield网
? 激活函数: 改为S形函数后,系统就成为一个连续系统 ? 多级循环网络 除输出层的输出向量被反馈到输入层外, 其它各层之间的信号传送均执行如下规定: 第i-1层神经元的输出经过第i个连接矩阵被 送入第i层。一般不考虑越层的信号传送、 中间的信号反馈和同层的神经元之间进行 信号的直接传送
230

7.2

稳定性分析

? 网络的稳定性是与收敛性不同的问题 ? Cohen和Grossberg[1983年]:Hopfield网络 的稳定性定理 如果Hopfield网络的联接权矩阵是对角线为 0的对称矩阵,则它是稳定的 ? 用著名的Lyapunov函数作为Hopfield网络 的能量函数
231

Lyapunov函数——能量函数
n h 1h h E ? ? ? ? w ij o i o j ? ? x j o j ? ? ? jo j j?1 j?1 2 i?1 j?1

?网络的稳定性度量 ?wijoioj:该项是网络的一致性测度。 ?xioj :表示同一个神经元的输入和它的输出 的一致性测度。 ?θ joj:这一项是神经元自身的稳定性的测度。
232

当ANk的状态从ok变成ok′
? 1、ANk是输入神经元
h n h 1 h E? ? ? ? ? w ij o i o j ? ? x j o j ? ? ? j o j ? j?1& j? k j?1& j? k 2 i ?1&i ? k j?1& j? k 1 h 1 h 1 ? w kjo ? o j ? w jk o j o ? ? w kk o ? o ? ? ? ? k k k k 2 j?1& j? k 2 j?1& j? k 2 ? x k o? ? ? k o? k k

1 h ?? ? 2 i ?1&i ? k ?
j ?1& j ? k

j ?1& j ? k

?w oo
ij i

h

j

?

j ?1& j ? k

?x o
j

n

j

?

j ?1& j ? k

??

h

j

oj ?

?w

h

kj

? ? ? ok o j ? xk ok ? ? k ok
233

当ANk的状态从ok变成ok′
?E ? E ? ? E ? ?[ ? w kj (o?k ? o k )o j ] ? x k (o?k ? o k ) ? ? k (o?k ? o k )
j?1& j? k h h

? ?[ ? w kjo j ? x k ? ? k ](o?k ? o k )
j?1& j? k h

? ?[ ? w kjo j ? x k ? ? k ](o?k ? o k )
j?1

? ?(net k ? ? k )?o k
234

当ANk的状态从ok变成ok′
?Δ ok 表 示 ANk 状 态 的 变 化 。 当 Δ ok=0 时 , Δ Ε =0 ?当Δ ok>0必有ok′=1& ok=0,这表示ok 由0 变到1,因此必有netk>θ k,所以netk-θ k>0, 从而-(netk-θ k)Δ ok<0故此时有Δ Ε <0 ?这就是说,网络的目标函数是下降的。 ?Δ ok<0的情况类似。
235

当ANk的状态从ok变成ok′
? 2、ANk不是输入神经元
h n h 1 h E? ? ? ? ? w ij o i o j ? ? x j o j ? ? ? j o j ? j?1 j?1& j? k 2 i ?1&i ? k j?1& j? k 1 h 1 h 1 ? ? w kjo ?k o j ? ? w jk o j o ?k ? w kk o ?k o ?k ? ? k o ?k 2 j?1& j? k 2 j?1& j? k 2

1 h ?? ? 2 i ?1&i ? k ?
j ?1& j ? k

j ?1& j ? k

?w oo ??x o
ij i j j ?1 j

h

n

j

?

j ?1& j ? k

?? o
j

h

j

?

?w

h

kj

? ? o k o j ? ? k ok
236

当ANk的状态从ok变成ok′
?E ? E ? ? E ? ?[ ? ? ?[ ?
h h h j?1& j? k

w kj (o ? ? o k )o j ] ? ? k (o ? ? o k ) k k w kjo j ? ? k ]( o ? ? o k ) k

j?1& j? k

? ?[ ? w kjo j ? ? k ]( o ? ? o k ) k
j?1

? ?( net k ? ? k ) ?o k

无论ANk的状态是如何变化的,总有:Δ Ε <0

237

7.3

统计Hopfield网与 Boltzmann机

? 统计Hopfield网
–在网络运行中,神经元状态与和 “人工温度” 确定的概率相关。网络运行模拟金属退火过程 Pi:ANi的状态取1的概率 Neti:ANi所获网络输入; Θ i:ANi的阈值; T:系统的人工温度。
238

1 pi ? neti ? ? i 1 ? exp( ? ) T

算法 7-1 统计Hopfield网运行算法
1 取一个很大的值作为人工温度T的初值; 2 对网络中每一个神经元ANi, 2.1 按照相应式子计算相应的概率pi; 2.2 按照均匀分布,在[0,1]中取一个随机数r; 2.3 如果 pi>r 则使ANi的状态为1, 否则使ANi的状态为0; 3 逐渐降低温度T,如果温度足够低,则算法结束。 否则,重复2
239

Boltzmann机的训练
?Boltzmann机是多级循环网络,是Hopfield网 的一种扩展。 ?神经元ANi实际输出状态oi=1的概率为:
1 pi ? neti ? ? i 1 ? exp( ? ) T

?T趋近于0时,神经元的状态不再具有随机性, Boltzmann机退化成一般Hopfield网。
240

Boltzmann机的训练
? Boltzmann机的能量函数(一致性函数 )

E ? ?? w ij o i o j ? ? ? j o j
i? j j?1

h

? 神经元ANi在运行中状态发生了变化
?E i ? E(o i ? 0) ? E(o i ? 1) ? ? w ij x j ? ? i
j
241

Boltzmann机的训练
? 如果Δ Ε i>0,则应该选ANi输出为1,否则, 应该选ANi输出为0。 ? Δ Ε i的值越大,神经元ANi应该处于状态1 的概率就应该越大。反之,Δ Ε i的值越小, 神经元ANi应该处于状态1的概率就应该越 小。从而,oi=1的概率为:
pi ? 1 ?Ei 1 ? exp( ? ) T
242

Boltzmann机的训练
? 处于状态a,b的概率Pa和Pb,对应于oi=1和 oi=0,其它的神经元在a,b状态下不变 ? Pa=γ pi ? Pb =γ (1-pi)

Pa Ea ? Eb ? exp( ? ) Pb T
243

Boltzmann机的训练
?网络进行足够多次的迭代后,它处于某状态 的概率与此状态下的能量和此时系统的温度 有关。由于高温时网络的各个状态出现的概 率基本相同,这就给它逃离局部极小点提供 了机会。 ?当系统的温度较低时,如果Ea<Eb,则Pa>Pb: 网络处于较低能量状态的概率较大

244

Boltzmann机的训练
?1986年,Hinton和Sejnowski ?自由概率:没有输入时ANi和ANj同时处于激 发状态的概率。 ?约束概率 :加上输入后ANi 和ANj 同时处于 激发状态的概率。 ?联接权修改量:Δ wij=α ( Pij? - Pij? )

245

算法7-2 Boltzmann机训练算法

1 计算约束概率 1.1 对样本集中的每个样本,执行如下操作: 1.1.1 将样本加在网络上(输入向量及其 对应的输出向量); 1.1.2 让网络寻找平衡; 1.1.3 记录下所有神经元的状态; 1.2 计算对所有的样本,ANi和ANj的状态同 Pij? ; 时为1的概率
246

算法7-2 Boltzmann机训练算法
2 计算自由概率 2.1 从一个随机状态开始,不加输入、输 出,让网络自由运行,并且在运行过程中 多次纪录网络的状态; 2.2 对所有的ANi 和ANj ,计算它们的状 态同时为1的概率 Pij? ; 3 对权矩阵进行调整 Δ wij=α ( Pij? - Pij? )
247

7.4 双联存储器的结构
? 智力链
–从一件事想到另一件事,“唤回失去的记忆”。

? 自相联: ? 异相联
–双 联 存 储 器 ( Bidirectional Memory—BAM)。 Associative

? 双联存储器具有一定的推广能力
–它对含有一定缺陷的输入向量,通过对信号的 不断变换、修补,最后给出一个正确的输出。
248

基本的双联存储器结构

WT x1 … … …

W …

y1 …

ym
第1层 xn 输入向量 第2层 输出向量
249

网络运行
?Y=F(XW) ?X=F(YWT) ?X=(x1,x2,…,xn) ?Y=(y1,y2,…,ym) ?F为神经元的激活函数,一般可采用S形函数

1 yi ? 1 ? exp( ??neti )
250

激活函数——阈值函数
? 随着λ 的增加,该函数趋近于阈值为0的阈 值函数。
yi=
1 0 yi
λ 2>λ
1

if neti>0 if neti<0 if neti=0
λ 1/2 λ
2 1

251

基本BAM的稳定
? Kosko(1987):
– 基本的双联存储器无条件稳定——联接权矩阵 是互为转置矩阵。

? 当输入向量的维数与输出向量的维数相同 时,W为方阵,此时如果联接矩阵W是对 称的,则基本的双联存储器退化成一个 Hopfield网

252

7.5 异相联存储
?样本集:S={(X1,Y1),(X2,Y2)…,(Xs,Ys)} s ?权矩阵: W ? ? X iT Yi
i ?1

?网络需要对输入向量进行循环处理的情况
–当输入向量中含有“噪音” –样本集所含的信息超出网络的容量

253

容量
? Kosko(1987),一般情况下,相联存储器的容量 不会超过网络最小层神经元的个数 ? Haines和Hecht-Nielson(1988),“非均匀”网络 的最多可以达到2min ? R. J. McEliece、E. C. Posner、E. R. Rodemich –用户随机地选择L个状态 –每个向量中有个分量为1,其它为-1 – 98%的向量成为稳定状态
0.68 min 2 L? (log 2 min ? 4) 2
254

7.6 其它的双联存储器
? 具有竞争的双联存储器
–可通过附加侧联接实现竞争。这些权构成另一 个主对角线元素为正值,其它元素为负值的权 矩阵。Cohen-Grossberg定理指出,如果权矩 阵是对称的,则网络是稳定。 –即使权矩阵不对称,网络通常也是稳定的。但 是目前还不知道哪一类权矩阵会引起不稳定

255

7.6 其它的双联存储器
? 连续的双联存储器
– Kosko(1987)证明,神经元的状态非同步变 换,而且这些神经元使用其他激励函数,仍然 是稳定的,且有更强的表达能力

? 自适应双联存储器
–最简单的方法是使用Hebb学习律进行训练。 –Δ wij=α oioj

256

7.7 Hopfield网用于解决TSP问 题
? 1985年,J. J. Hopfield和D. W. Tank用循环 网求解TSP。试验表明,当城市的个数不超 过30时,多可以给出最优解的近似解。而 当城市的个数超过30时,最终的结果就不 太理想了 ? n个城市间存在n!/(2n)条可能路径 ? 设问题中含有n个城市,用n*n个神经元构成 网络
257

7.7 Hopfield网用于解决TSP问 题
? dxy——城市X与城市Y之间的距离; ? yxi——城市X的第i个神经元的状态:
1 城市X在第i个被访问 城市X不在第i个被访问

yxi=
0

? wxi,yj——城市X的第i个神经元到城市Y的第 j个神经元的连接权。

258

7.7 Hopfield网用于解决TSP问题
例如:四个城市X、Y、Z、W
城市名 1 被访问第顺序 2 3 4

X
Y

0
0

1
0

0
0

0
1

Z
W

1
0

0
0

0
1

0
0
259

7.7 Hopfield网用于解决TSP问题
? 联接矩阵
wxi,yj= -Aδ
xy(1-δ ij)

–Bδ ij(1-δ

xy)

–C –ζ dxy(δ

ji+1+δ ji-1)

1

如果i=j 如果i≠j

δ ij=
0

260

网络的能量函数
A E ? ??? y xi y xj 2 x i j ?i B C? ? ? ??? y xi y zi ? ? ?? y xi ? n ? 2 i x x? z 2? x i ? D ? ??? d xz y xi ? y zi ?1 ? y zi ?1 ? 2 x z?x i
2

261

网络的能量函数
? A、B、C、D为惩罚因子 ? 第1项仅当所有的城市最多只被访问一次时 取得极小值0。 ? 第2项仅当每次最多只访问一个城市时取得 极小值0。被同时访问的。 ? 第3项当且仅当所有的n个城市一共被访问n 次时才取得最小值0。 ? 第4项表示按照当前的访问路线的安排,所 需要走的路径的总长度
262

8 自适应共振理论
主要内容:ART模型的总体结构,各模块功 能;比较层的联接矩阵与识别层的联接矩 阵的初始化,识别过程与比较过程,查找 的实现;ART的训练。 重点:ART模型的总体结构,各模块功能; 识别过程与比较过程,查找的实现。 难点:比较层的联接矩阵与识别层的联接矩 阵的初始化
263

? 8.1 ART的结构 ? 8.2 ART的初始化
– 8.2.1 T的初始化 – 8.2.2 B的初始化 – 8.2.3 ρ 的初始化

? 8.3 ART的实现
–识别、比较 、查找 、训练

264

网络的可塑性分析 样本集 环境变化

新添样本
训练 合并

重新训练

应用

新环境下的应用
265

? Carpenter和Grossberg在1986年:4个样本组成 样本集。这4个样本被周期性地提交给网络。网络是 难以收敛 ? 网络的可塑性需要的4项功能
–样本的分类功能 –分类的识别功能 –比较功能 – 类的建立功能

? Grossberg等:自适应共振理论(Adaptive Resonance Theory,简记为ART) ? ART1、ART2。
266

8.1 ART的结构
? 稳定性与可塑性是不同的 ? 保证可塑性的操作要求分析
新输入向量 与现存模式 相似:修改相匹配的模式 不匹配的现存 模式不被修改 不相似:建立一个新模式

267

ART总体结构图
识别控制 G2 识别层 复位

C(B) R P(T) 比较控制 G1 比较层 精度控制参数ρ X
268

C

复 位 控 制

8.1 ART的结构
?X=(x1,x2,…,xn) ?R=(r1,r2,…,rm) ?C=(c1,c2,…,cn) ?P=(p1,p2,…,pn) ?Ti=(ti1,ti 2,…,ti n) ?Bi=(b1i,b2i,…,bni)

269

8.1 ART的结构
? tij表示识别层的第i个神经元到比较层的第j 个神经元的联接权,bij表示比较层的第i个 神经元到识别层的第j个神经元的联接权。 pi为比较层的第i个神经元的网络输入

pi ? ? r j t ji
j ?1

m

270

5个功能模块讨论中,以比较层和识别层为中心
rm r2 r1 T1 T p1 x 1 G1 c1 B B1

T2
… Tm

p2 x 2 G1 pn XnG1

c2 …

复位 G2 B2
… 复位 G2

cn

Bm 复位 G2 识别层
271

比较层

比较层输出信号控制
? G1= ┐(r1∨r2∨…∨rm) ∧ (x1∨x2∨…∨xn)

识别层输出信号控制
? G2= x1∨x2∨…∨xn

272

比较层
? 执行二-三规则 1 xi+pi+G1≥2 ci= 0 xi+pi+G1>2 ? 待命期 m ? 工作周期 p ? ? r t
i j?1 j ji

C=X

? rk t ki ? t ki

P=Tk ci=xi∧pi
273

识别层
? 识别层实现竞争机制 ? Bk与C有最大的点积
i ?1

? b ik c i ? max{ ? b ij c i | 1 ? j ? m}
i ?1

n

n

? X的“暂定”代表RNk所获得的网络输入为
i ?1

? b ik c i

n

与RN1,RN2,……,RNm相对应 向量B1,B2,……,Bm代表着不同的分类

274

系统复位控制
X与C的相似度

s ?

i ?1

? xi

i ?1 n

? ci

n

s≥ρ ,当前处于激发态的RNk 所对应的Bk、 Tk为X的类表示; s<ρ ,此RNk所对应的Bk、Tk不能很好地代 表X,需要重新寻找
275

8.2 ART的初始化
? T的初始化
–矩阵T的所有元素全为1

? B的初始化 bij<L/(L-1+n)
– n为输入向量的维数;L为一个大于1的常数, 其值应该与输入向量的位数相关 –Tk、Bk是RNk对应类的两种不同表示

? ρ 的初始化
–ρ ∈[0,1]
276

8.3 ART的实现
? 四个阶段:识别、比较、查找、训练 ? 一、识别
– X (非0向量)未被加在网上时
? G2=0 ? R=(r1,r2,…,rm)=(0,0,…,0)

– X(非0向量)被加在网络上时
? G1=G2=1 ? R=0导致P=(p1,p2,…,pm)= (0,0,…,0)

277

8.3 ART的实现
? 在识别层,每个RNk完成的操作 n
–计算 i? b ik c i ?1 –接收来自其它RN的抑制信号,并向其它的RN 发出抑制信号 –确定自己的输出状态 –完成输出

? RN之间的抑制连接与抑制信号 ? 如果RNk输出1,则表明,在本轮识别中,X 暂时被认为是属于该RNk所对应的类
278

二、 比较
? X归于RNk,RNk的输出值1被分别以权重tkj传送 到比较层 ? 向量P就是向量Tk ? T的初始化及训练保证了T的每个元素取值为0或 者1 ? Bk与T k根据RNk进行对应,互为变换形式 ? 如果对于所有的j,1≤j≤n,pj=xj,则表示X获 得良好的匹配。如果存在j,使得pj≠xj,则表明X 与相应的“类”的代表向量并不完全一致
279

二、 比较
? 当系统复位控制模块计算X和C的相似度s ? 如果s≥ρ ,表明本轮所给出的类满足精度要求。 所以,查找成功,系统进入相应的训练周期 ? 如果s<ρ ,表明本轮所给出的类不能满足精度要 求。
–复位模块向识别层发出复位信号,使所有的RN输出0 –系统回到开始处理X的初态,重新进行搜索 –复位信号屏蔽本次被激发的RN,在下一轮匹配中,该 RN被排除在外,以便系统能够找到其它更恰当的RN
280

三、 查找
? 如果s≥ρ ,认为网络查找成功,此时分类 完成,无需再查找 ? 如果s<ρ ,则表明本轮实现的匹配不能满 足要求,此时需要寻找新的匹配向量 ? 查找过程

281

三、 查找
1 复位模块向识别层发出复位信号 2 所有RN被抑制:R=(r1,r2,…,rm) =(0, 0,…,0),上轮被激发的RN被屏蔽 3 G1的值恢复为1 4 X的值再次被从比较层送到识别层:C=X 5 不同的RN被激发,使得不同的P(Tk)被反 馈到比较层 6 比较层进行相应的比较,并判定本次匹配 是否满足要求
282

三、 查找
7 如果本次匹配不成功,则重复1∽6直到如 下情况之一发生 7.1 本轮匹配成功。表明已找到一个与X匹 配较好的模式,此时,网络进入训练期, 对这个匹配的模式进行适当的修改,使它 能更好地表示X 7.2网络中现存的模式均不匹配。这表明, X不属于现存的任何一个类。因此,网络需 要重新构造一个新模式来表达这个类
283

三、 查找
? 在网络中现存的模式均不匹配时,网络用一个还 未与任何类关联的RN来对应X所在的类:根据X 修改与此RN对应的Tk、Bk。T的每一个元素初值 为1,而在训练中网络不修改未被选中的连接权向 量,所以,此时被网络选中的RNk所对应的从识 别层到比较层的连接权向量Tk=(1,1,…,1)。 因而,P=(1,1,…,1)被送入比较层。由二三规则,此时C=X∧P=X,被送入系统复位控制 模块,s=1。而ρ ≤1,所以,s≥ρ 。匹配获得成 功,网络进入训练期
284

三、 查找
? 首先被选中的RN应该是获得了最大的激励值,为 什么输入向量X不一定属于RN所对应的类呢 ?
–受B的值的取法的影响,有时候,获得最大激励值的 RN对应的类不一定是X所属的类

? ? ? ?

例如:设n=5,三个输入向量为: X1=(1,0,0,0,0) X2=(1,0,0,1,1) X3=(1,0,0,1,0)
285

三、 查找
? 假定用初始化B,当X1、X2被输入时,RN1、 RN2分别被激发 ? T1、T2、B1、B2分别取如下值
– T1=(1,0,0,0,0),B1=(1,0,0,0,0) – T2=(1,0,0,1,1),B2=(0.5,0,0,0.5,0.5)

? 当X3被输入系统时,RN1、RN2获得的激励 值都是1
– RN2被选中 ,则成功
286

三、 查找
? RN1被选中,则出现问题
–比较层输出向量C=(1,0,0,0,0),使得 s=0.5,当ρ >0.5时,选择RN1就不能满足精度 要求,此时网络就需要进入查找工作阶段 1、 RN1获胜 2、C取值(1,0,0,0,0) 5 3、 c

s?

?
i ?1 5 i ?1

i

?x

? 0 .5
287

i

三、 查找
4、s<ρ 5、RN1被屏蔽 6、网络进入第二个查找周期,RN2获胜 7、C取值(1,0,0,1,0) 5 8、 ? ci ? s ? i 51 ? 1 .0 ? xi
i ?1
288

三、 查找
9、满足精度要求,停止查找,进入训练期 ? 当L取其它的值时,将会有不同的结果 ? 当RN被系统认为是不能满足精度要求后, 在继续查找过程中,一直被屏蔽 ? “查找周期”:网络的五个功能模块之间 互相影响,加上信号的反馈,使得网络中 的信号较为复杂
289

四、 训练
? Tk、Bk的修改

b ik ?

Lc i L ?1? ? c j
j?1 n

tki = ci

290

四、 训练
? L是常数 ? T的元素只可能从1变成0,不可能从0变成1: 用1初始化T的所有元素 ? 如果RNk对应的模式代表类{X1,X2,…, Xd},则有Tk= X1∧X2∧…∧Xd ? 网络将向量共有的东西作为它的类表示, 这也符合一般意义下的“共同特征”的要 求
291

四、 训练
b ik ? Lc i L ?1? ? c j
j?1 n

中含有重要因子

?cj
j?1
292

n

四、 训练
? 设X1、X2分别使RN1、RN2激发。对应地, 设T1= X1、T2 =X2。如果相应式子中没有该 因子,则此时B1=T1、B2 =T2 。那么,当X1 再一次被输入时,RN1、RN2因为获得的网 络输入相同而都有被选中的可能。如果RN2 被选中,则会导致网络运行错误,使得原 有的分类被严重破坏:

293

四、 训练
? 它可以看成向量C的一个度量,它越大,产 生的权值就越小;它越小,产生的权值就 越大。这使得当一个向量是另一个向量的 子集时,能够获得较好的操作 ? 例如 X1=(1,0,0,0,0) X2=(1,0,0,1,1) X3=(1,0,0,1,0)
294

四、 训练
① X1被再次输入,导致RN2被选中; ② 识别层将T2送入比较层:P= T2; ③ 此时,C=P∧X1=X1; ④ 复位控制模块根据C与X1计算出s=1; ⑤ 因为s>ρ ,所以对网络进行训练:T2=C。 显然,其原值被破坏了。而当我们选择一个 适当的L,同时在调整B时保留,这个问题就 可以避免了。
295

四、 训练
? 网络的分类并不是一成不变的 ? 继续使用上面例子中的输入向量,取L=6, 初始化使B的所有元素均取值0.6 1、 X1的输入导致RN1被激发;B1被训练后取 值为(1,0,0,0,0) 2、输入X2时,RN1 、RN2所获得的网络输入 分别为1和1.8,这导致RN2被激发;B2被训 练后取值为(0.6,0,0,0.6,0.6)
296

四、 训练
3、如果X1再次被输入,RN1 、RN2所获得的 网络输入分别为1和0.6,从而正确的神经元 被激发;如果X2再次被输入,RN1 、RN2所 获得的网络输入分别为1和1.8,从而也仍然 有正确的神经元被激发 4、当X3被输入时,RN1 、RN2所获网络输入 分别为1和1.2,从而RN2 被激发,此时, T2=(1,0,0,1,1)被送入比较层,使 得C=T2∧X3=X3。从而导致s=1>ρ
297

四、 训练
5、网络进入训练:T2、B2被修改 T2=(1,0,0,1,0)
B2=(6/7,0,0,6/7,0)

6、当再次输入X2时,RN1 、RN2所获得的网 络输入分别为:1和12/7,这再次导致RN2 被激发。但是,此时识别层送给比较层的 T2=(1,0,0,1,0)。从而有s=2/3,如 果系统的复位控制参数ρ >2/3,此时系统会 重新为X3选择一个新的神经元
298

四、 训练
? 可以让ART在训练完成后,再投入运行

299



热文推荐
友情链接: 简历 面试求职范文 职业规划 自我管理 社交礼仪 76242百科