2004-2-18 1
人工神经网络
Artificial Neural Networks
北京工业大学计算机学院
联系电话:67392508
Email:jiangzl@bjpu.edu.cn
办公地点:信息北楼214
蒋宗礼
2004-2-18 2
教材
书名:《人工神经网络导论》
出版社:高等教育出版社
出版日期:2001年8月
重印:2003年2月
定价:12.4元
作者:蒋宗礼
2004-2-18 3
主要参考书目
1、Philip D. Wasserman,Neural Computing:
Theory and Practice,VanNostrandReinhold,
1989
2、胡守仁、余少波、戴葵,神经网络导论,
国防科技大学出版社,1993年10月
3、杨行峻、郑君里,人工神经网络,高等教
育出版社,1992年9月
4、闻新、周露、王丹力、熊晓英,MATLAB神
经网络应用设计,科学出版社,2001.5.
2004-2-18 4
课程目的和基本要求
?作为人工神经网络的入门课程,用于将学
生引入人工神经网络及其应用的研究领域。
?介绍人工神经网络及其基本网络模型,使
学生
–了解智能系统描述的基本模型
–掌握人工神经网络的基本概念、单层网、多层
网、循环网等各种基本网络模型的结构、特点、
典型训练算法、运行方式、典型问题
–掌握软件实现方法。
2004-2-18 5
课程目的和基本要求
?了解人工神经网络的有关研究思想,从中
学习开拓者们的部分问题求解方法。
?通过实验进一步体会有关模型的用法和性
能,获取一些初步的经验。
?查阅适当的参考文献,将所学的知识与自
己未来研究课题(包括研究生论文阶段的
研究课题)相结合起来,达到既丰富学习
内容,又有一定的研究和应用的目的。
2004-2-18 6
主要内容
?智能及其实现
? ANN基础
? Perceptron
? BP
? CPN
?统计方法
? Hopfield网与BAM
? ART
2004-2-18 7
主要内容
第一章:引论
智能的概念、智能系统的特点及其描述基本
模型,物理符号系统与连接主义的观点及
其比较;人工神经网络的特点、发展历史。
2004-2-18 8
主要内容
第二章人工神经网络基础
本章在介绍了基本神经元后,将概要介绍
人工神经网络的一般特性。主要包括,生
物神经网络模型,人工神经元模型与典型
的激励函数;人工神经网络的基本拓扑特
性,存储类型(CAM──LTM,
AM──STM)及映象,Supervised训练与
Unsupervised训练。
2004-2-18 9
主要内容
第三章感知器
感知器与人工神经网络的早期发展;单层
网能解决线性可分问题,而无法解决线形
不可分问题,要想解决这一问题,必须引
入多层网;Hebb学习律,Delta规则,感知
器的训练算法。
?实验:实现一个感知器。
2004-2-18 10
主要内容
第四章向后传播
?BP(Backpropagation)网络的构成及其训
练过程;隐藏层权调整方法的直观分析,BP
训练算法中使用的Delta规则(最速下降法)
的理论推导;算法的收敛速度及其改进讨论;
BP网络中的几个重要问题。
?实验:实现BP算法。
2004-2-18 11
主要内容
第五章对传网
?生物神经系统与异构网的引入;对传网的
网络结构,Kohonen层与Grossberg层的正
常运行,对传网的输入向量的预处理,
Kohonen层的训练算法及其权矩阵的初始化
方法;Grossberg层的训练;完整的对传网。
?实验:实现基本的对传网。
2004-2-18 12
主要内容
第六章统计方法
?统计方法是为了解决局部极小点问题而引
入的,统计网络的基本训练算法,模拟退
火算法与收敛分析,Cauchy训练,人工热
处理与临界温度在训练中的使用,BP算法
与Cauchy训练相结合。
?实验:实现模拟退火算法。
2004-2-18 13
主要内容
第七章循环网络
?循环网络的组织,稳定性分析;相联存储;
统计Hopfield网与Boltzmann机;Hopfield
网用于解决TSP问题。
? BAM(Bidirectional Associative Memory)
用于实现双联存储;基本双联存储网络的
结构及训练;其他的几种相联存储网络。
?实验:实现一个Hopfield网。
2004-2-18 14
主要内容
第八章自适应共振理论
?人脑的稳定性与可塑性问题;ART模型的
总体结构与分块描述;比较层与识别层之
间的两个联接矩阵的初始化,识别过程与
比较过程,查找的实现;训练讨论。
2004-2-18 15
第1章引言
?主要内容:
–智能与人工智能;
– ANN的特点;
–历史回顾与展望
?重点:
–智能的本质;
– ANN是一个非线性大规模并行处理系统
?难点:对智能的刻画
2004-2-18 16
第1章引言
1.1 人工神经网络的提出
1.2 人工神经网络的特点
1.3 历史回顾
2004-2-18 17
第1章引言
?人类对人工智能的研究可以分成两种方式
对应着两种不同的技术:
–传统的人工智能技术——心理的角度模拟
–基于人工神经网络的技术——生理的角度模拟
2004-2-18 18
1.1 人工神经网络的提出
?人工神经网络(Artificial Neural Networks,
简记作ANN),是对人类大脑系统的一阶
特性的一种描述。简单地讲,它是一个数
学模型,可以用电子线路来实现,也可以
用计算机程序来模拟,是人工智能研究的
一种方法。
2004-2-18 19
1.1 人工神经网络的提出
? 1.1.1 智能与人工智能
?一、智能的含义
?智能是个体有目的的行为,合理的思维,
以及有效的、适应环境的综合能力。
?智能是个体认识客观事物和运用知识解决
问题的能力。
?人类个体的智能是一种综合能力。
2004-2-18 20
1.1 人工神经网络的提出
?智能可以包含8个方面
?感知与认识客观事物、客观世界和自我的能力
–感知是智能的基础——最基本的能力
?通过学习取得经验与积累知识的能力
–这是人类在世界中能够不断发展的最基本能力。
?理解知识,运用知识和经验分析、解决问题的能
力
–这一能力可以算作是智能的高级形式。是人类对世界
进行适当的改造,推动社会不断发展的基本能力。
2004-2-18 21
1.1 人工神经网络的提出
?联想、推理、判断、决策语言的能力
–这是智能的高级形式的又一方面。
–预测和认识
– “主动”和“被动”之分。联想、推理、判断、决
策的能力是“主动”的基础。
?运用进行抽象、概括的能力
?上述这5种能力,被认为是人类智能最为基
本的能力
2004-2-18 22
1.1 人工神经网络的提出
?作为5种能力综合表现形式的3种能力
–发现、发明、创造、创新的能力
–实时、迅速、合理地应付复杂环境的能
力
–预测、洞察事物发展、变化的能力
2004-2-18 23
1.1 人工神经网络的提出
?二、人工智能
?人工智能:研究如何使类似计算机这样的设备去
模拟人类的这些能力。
?研究人工智能的目的
–增加人类探索世界,推动社会前进的能力
–进一步认识自己
?三大学术流派
–符号主义(或叫做符号/逻辑主义)学派
–联接主义(或者叫做PDP)学派
–进化主义(或者叫做行动/响应)学派
2004-2-18 24
1.1 人工神经网络的提出
? 1.1.2 物理符号系统
?
人脑的反映形式化
现实信息数据
物理系统物理符号系统
表现智能
2004-2-18 25
1.1 人工神经网络的提出
? Newell和Simon假说:一个物理系统表现
智能行为的充要条件是它有一个物理符号
系统
?概念:物理符号系统需要有一组称为符号
的实体组成,它们都是物理模型,可以在
另一类称为符号结构的实体中作为成分出
现,以构成更高级别的系统
2004-2-18 26
1.1 人工神经网络的提出
?困难:
–抽象——舍弃一些特性,同时保留一些特性
–形式化处理——用物理符号及相应规则表达物
理系统的存在和运行。
?局限:
–对全局性判断、模糊信息处理、多粒度的视觉
信息处理等是非常困难的。
2004-2-18 27
1.1 人工神经网络的提出
? 1.1.3 联接主义观点
?核心:智能的本质是联接机制。
?神经网络是一个由大量简单的处理单元组
成的高度复杂的大规模非线性自适应系统
? ANN力求从四个方面去模拟人脑的智能行为
–物理结构
–计算模拟
–存储与操作
–训练
2004-2-18 28
1.1 人工神经网络的提出
? 1.1.4 两种模型的比较
心理过程逻辑思维高级形式(思维的表象)
生理过程形象思维低级形式(思维的根本)
仿生人工神经网络
联结主义观点
物理符号系统
2004-2-18 29
1.1 人工神经网络的提出
?物理符号系统和人工神经网络系统的差别
全局分布局部集中存储
连续离散动作
并行串行执行方式
模拟运算逻辑运算处理方式
人工神经网络物理符号系统项目
2004-2-18 30
1.1 人工神经网络的提出
?两种人工智能技术的比较
右脑(形象思维)左脑(逻辑思维)
模拟对象
非精确计算:模拟处理,感觉,大规模数
据并行处理
精确计算:符号处理,
数值计算
适应领域
定义人工神经网络的结构原型,通过样本
数据,依据基本的学习算法完成学习
自动从样本数据中抽取内涵(自动适应应
用环境)
设计规则、框架、程序;
用样本数据进行调试
(由人根据已知的环境
去构造一个模型)
——
基本开发
方法
并行处理;对样本数据进行多目标学习;
通过人工神经元之间的相互作用实现控制
串行处理;由程序实现
控制
基本实现
方式
ANN技术
传统的AI技术
项目
2004-2-18 31
1.2 人工神经网络的特点
?信息的分布表示
?运算的全局并行和局部操作
?处理的非线性
2004-2-18 32
1.2.1 人工神经网络的概念
1、定义
1)Hecht—Nielsen(1988年)
人工神经网络是一个并行、分布处理结构,它由
处理单元及其称为联接的无向讯号通道互连而成。
这些处理单元(PE—Processing Element)具有
局部内存,并可以完成局部操作。每个处理单元
有一个单一的输出联接,这个输出可以根据需要
被分枝成希望个数的许多并行联接,且这些并行
联接都输出相同的信号,即相应处理单元的信号,
信号的大小不因分支的多少而变化。
2004-2-18 33
1.2.1 人工神经网络的概念
(1)Hecht—Nielsen(1988年)(续)
?处理单元的输出信号可以是任何需要
的数学模型,每个处理单元中进行的
操作必须是完全局部的。也就是说,
它必须仅仅依赖于经过输入联接到达
处理单元的所有输入信号的当前值和
存储在处理单元局部内存中的值。
2004-2-18 34
1.2.1 人工神经网络的概念
?强调:
–①并行、分布处理结构;
–②一个处理单元的输出可以被任意分枝,且
大小不变;
–③输出信号可以是任意的数学模型;
–④处理单元完全的局部操作
2004-2-18 35
1.2.1 人工神经网络的概念
(2)Rumellhart,McClelland,Hinton的PDP
1)一组处理单元(PE或AN);
2)处理单元的激活状态(a
i
);
3)每个处理单元的输出函数(f
i
);
4)处理单元之间的联接模式;
5)传递规则(∑w
ij
o
i
);
6)把处理单元的输入及当前状态结合起来产生激
活值的激活规则(F
i
);
7)通过经验修改联接强度的学习规则;
8)系统运行的环境(样本集合)。
2004-2-18 36
1.2.1 人工神经网络的概念
(3)Simpson(1987年)
?人工神经网络是一个非线性的有向图,图
中含有可以通过改变权大小来存放模式的
加权边,并且可以从不完整的或未知的输
入找到模式。
2004-2-18 37
1.2.1 人工神经网络的概念
2、关键点
(1)信息的分布表示
(2)运算的全局并行与局部操作
(3)处理的非线性特征
3、对大脑基本特征的模拟
1)形式上:神经元及其联接;BN对AN
2)表现特征:信息的存储与处理
2004-2-18 38
1.2.1 人工神经网络的概念
4、别名
?人工神经系统(ANS)
?神经网络(NN)
?自适应系统(Adaptive Systems)、自适应
网(Adaptive Networks)
?联接模型(Connectionism)
?神经计算机(Neurocomputer)
2004-2-18 39
1.2.2 学习(Learning)能力
?人工神经网络可以根据所在的环境去改变
它的行为
?自相联的网络
?异相联的网络:它在接受样本集合A时,可
以抽取集合A中输入数据与输出数据之间的
映射关系。——“抽象”功能。
?不同的人工神经网络模型,有不同的学习/
训练算法
2004-2-18 40
1.2.3 基本特征的自动提取
?由于其运算的不精确性,表现成“去噪音、
容残缺”的能力,利用这种不精确性,比较
自然地实现模式的自动分类。
?普化(Generalization)能力与抽象能力
2004-2-18 41
1.2.4 信息的分布存放
?信息的分布存提供容错功能
–由于信息被分布存放在几乎整个网络中,所以,当其
中的某一个点或者某几个点被破坏时,信息仍然可以
被存取。
?系统在受到局部损伤时还可以正常工作。
?并不是说可以任意地对完成学习的网络进行修改。
也正是由于信息的分布存放,对一类网来说,当
它完成学习后,如果再让它学习新的东西,这时
就会破坏原来已学会的东西。
2004-2-18 42
1.2.5适应性(Applicability)问题
?擅长两个方面:
–对大量的数据进行分类,并且只有较少的几种
情况;
–必须学习一个复杂的非线性映射。
?目前应用:
–人们主要将其用于语音、视觉、知识处理、辅
助决策等方面。
–在数据压缩、模式匹配、系统建模、模糊控制、
求组合优化问题的最佳解的近似解(不是最佳
近似解)等方面也有较好的应用。
2004-2-18 43
1.3 历史回顾
1.3.1 萌芽期(20世纪40年代)
?人工神经网络的研究最早可以追溯到人类
开始研究自己的智能的时期,到1949年止。
? 1943年,心理学家McCulloch和数学家Pitts
建立起了著名的阈值加权和模型,简称为
M-P模型。发表于数学生物物理学会刊
《Bulletin of Methematical Biophysics》
? 1949年,心理学家D. O. Hebb提出神经元之
间突触联系是可变的假说——Hebb学习律。
2004-2-18 44
1.3.2 第一高潮期(1950~1968)
?以Marvin Minsky,Frank Rosenblatt,
Bernard Widrow等为代表人物,代表作是
单级感知器(Perceptron)。
?可用电子线路模拟。
?人们乐观地认为几乎已经找到了智能的关
键。许多部门都开始大批地投入此项研究,
希望尽快占领制高点。
2004-2-18 45
1.3.3 反思期(1969~1982)
? M. L. Minsky和S. Papert,《Perceptron》,
MIT Press,1969年
?异或”运算不可表示
?二十世纪70年代和80年代早期的研究结果
?认识规律:认识——实践——再认识
2004-2-18 46
1.3.4 第二高潮期(1983~1990)
? 1982年,J. Hopfield提出循环网络
–用Lyapunov函数作为网络性能判定的能量函数,
建立ANN稳定性的判别依据
–阐明了ANN与动力学的关系
–用非线性动力学的方法来研究ANN的特性
–指出信息被存放在网络中神经元的联接上
∑∑∑
∫
∑∑
=?===
?
′
?=
n
i
n
j
ij
n
i
x
iiiii
n
i
n
j
jiij
wdsxsxswV
i
111
0
11
)()()()(
2
1
θθβθ
2004-2-18 47
1.3.4 第二高潮期(1983~1990)
? 2)1984年,J. Hopfield设计研制了后来被
人们称为Hopfield网的电路。较好地解决了
著名的TSP问题,找到了最佳解的近似解,
引起了较大的轰动。
? 3)1985年,UCSD的Hinton、Sejnowsky、
Rumelhart等人所在的并行分布处理(PDP)
小组的研究者在Hopfield网络中引入了随机
机制,提出所谓的Boltzmann机。
2004-2-18 48
1.3.4 第二高潮期(1983~1990)
? 4)1986年,并行分布处理小组的
Rumelhart等研究者重新独立地提出多层网
络的学习算法——BP算法,较好地解决了
多层网络的学习问题。(Paker1982和
Werbos1974年)
?国内首届神经网络大会是1990年12月在北
京举行的。
2004-2-18 49
1.3.5 再认识与应用研究期
(1991~)
?问题:
? 1)应用面还不够宽
? 2)结果不够精确
? 3)存在可信度的问题
2004-2-18 50
1.3.5 再认识与应用研究期
(1991~)
?研究:
? 1)开发现有模型的应用,并在应用中根据实际运
行情况对模型、算法加以改造,以提高网络的训
练速度和运行的准确度。
? 2)充分发挥两种技术各自的优势是一个有效方法
? 3)希望在理论上寻找新的突破,建立新的专用/
通用模型和算法。
? 4)进一步对生物神经系统进行研究,不断地丰富
对人脑的认识。
2004-2-18 51
第2章人工神经网络基础
?主要内容:
– BN与AN;
–拓扑结构;
–存储;
–训练
?重点:AN;拓扑结构;训练
?难点:训练
2004-2-18 52
第2章人工神经网络基础
2.1 生物神经网
2.2 人工神经元
2.3 人工神经网络的拓扑特性
2.4 存储与映射
2.5 人工神经网络的训练
2004-2-18 53
2.1 生物神经网
1、构成
胞体(Soma)
枝蔓(Dendrite)
胞体(Soma)
轴突(Axon)
突触(Synapse)
2、工作过程
2004-2-18 54
2.1 生物神经网
3、六个基本特征:
1)神经元及其联接;
2)神经元之间的联接强度决定信号传递的强弱;
3)神经元之间的联接强度是可以随训练改变的;
4)信号可以是起刺激作用的,也可以是起抑制作用
的;
5)一个神经元接受的信号的累积效果决定该神经元
的状态;
6) 每个神经元可以有一个“阈值”。
2004-2-18 55
2.2 人工神经元
?神经元是构成神经网络的最基本单元(构
件)。
?人工神经元模型应该具有生物神经元的六
个基本特性。
2004-2-18 56
2.2.1 人工神经元的基本构成
x
n
w
n
∑
x
1
w
1
x
2
w
2
net=XW
…
?人工神经元模拟生物神经元的一阶特性。
–输入:X=(x
1
,x
2
,…,x
n
)
–联接权:W=(w
1
,w
2
,…,w
n
)
T
–网络输入:net=∑x
i
w
i
–向量形式:net=XW
2004-2-18 57
2.2.2 激活函数(Activation Function)
?激活函数——执行对该神经元所获得的网
络输入的变换,也可以称为激励函数、活
化函数:o=f(net)
1、线性函数(Liner Function)
f(net)=k*net+c
net
o
o
c
2004-2-18 58
2、非线性斜面函数(Ramp Function)
γif net≥θ
f(net)= k*net if |net|<θ
-γif net≤-θ
?γ>0为一常数,被称为饱和值,为该神经
元的最大输出。
2004-2-18 59
2、非线性斜面函数(Ramp
Function)
γ
-γ
θ-θnet
o
2004-2-18 60
3、阈值函数(Threshold
Function)阶跃函数
βif net>θ
f(net)=
-γif net≤θ
β、γ、θ均为非负实数,θ为阈值
二值形式:
1 if net>θ
f(net)=
0if net≤θ
双极形式:
1 if net>θ
f(net)=
-1 if net≤θ
2004-2-18 61
3、阈值函数(Threshold
Function)阶跃函数
β
-γ
θ
o
0
net
2004-2-18 62
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形函数有较好的增益控制
2004-2-18 63
4、S形函数
a+b
o
(0,c) net
a
c=a+b/2
2004-2-18 64
2.2.3 M-P模型
x
2
w
2
∑
f
o=f(net)
x
n
w
n
…
net=XW
x
1
w
1
McCulloch—Pitts(M—P)模型,
也称为处理单元(PE)
2004-2-18 65
2.3 人工神经网络的拓扑特性
连接的拓扑表示
AN
i
w
ij
AN
j
2004-2-18 66
2.3.1 联接模式
?用正号(“+”,可省略)表示传送来的信号
起刺激作用,它用于增加神经元的活跃度;
?用负号(“-”)表示传送来的信号起抑制作
用,它用于降低神经元的活跃度。
?层次(又称为“级”)的划分,导致了神经
元之间的三种不同的互连模式:
2004-2-18 67
2.3.1 联接模式
? 1、层(级)内联接
–层内联接又叫做区域内(Intra-field)联
接或侧联接(Lateral)。
–用来加强和完成层内神经元之间的竞争
? 2、循环联接
–反馈信号。
2004-2-18 68
2.3.1 联接模式
? 3、层(级)间联接
–层间(Inter-field)联接指不同层中的神
经元之间的联接。这种联接用来实现层
间的信号传递
–前馈信号
–反馈信号
2004-2-18 69
2.3.2 网络的分层结构
?单级网
–简单单级网
2004-2-18 70
简单单级网
…
…
x
1
x
2
…
x
n
o
1
o
2
o
m
w
nm
w
11
w
1m
w
2m
w
n1
输出层
输入层
2004-2-18 71
简单单级网
– W=(w
ij
)
–输出层的第j个神经元的网络输入记为net
j
:
– net
j
=x
1
w
1j
+x
2
w
2j
+…+x
n
w
nj
–其中, 1≤j ≤m。取
– NET=(net
1
,net
2
,…,net
m
)
– NET=XW
– O=F(NET)
2004-2-18 72
单级横向反馈网
输出层
x
1
o
1w
11
w
1m
x
2
o
2
w
2m
…
…
…
x
n
o
m
w
n1
输入层
V
2004-2-18 73
单级横向反馈网
? V=(v
ij
)
? 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的情况。
?稳定性判定
2004-2-18 74
多级网
o
1
o
2
o
m
…
x
1
x
2
x
n
…
…
……
…
…
输出层隐藏层
输入层
2004-2-18 75
?层次划分
–信号只被允许从较低层流向较高层。
–层号确定层的高低:层号较小者,层次
较低,层号较大者,层次较高。
–输入层:被记作第0层。该层负责接收来
自网络外部的信息
输出层隐藏层输入层
o
1
o
2
o
m
…
x
1
x
2
x
n
… … ……
…
…
2004-2-18 76
–第j层:第j-1层的直接后继层(j>0),它直接
接受第j-1层的输出。
–输出层:它是网络的最后一层,具有该网络的
最大层号,负责输出网络的计算结果。
–隐藏层:除输入层和输出层以外的其它各层叫
隐藏层。隐藏层不直接接受外界的信号,也不
直接向外界发送信号
输出层隐藏层输入层
o
1
o
2
o
m
…
x
1
x
2
x
n
… … ……
…
…
2004-2-18 77
?约定:
–输出层的层号为该网络的层数:n层网络,或n级
网络。
–第j-1层到第j层的联接矩阵为第j层联接矩阵,输
出层对应的矩阵叫输出层联接矩阵。今后,在需
要的时候,一般我们用W
(j)
表示第j层矩阵。
输出层隐藏层输入层
o
1
o
2
o
m
…
x
1
x
2
x
n
… … ……
…
…
W
(1)
W
(2)
W
(3)
W
(h)
2004-2-18 78
多级网——h层网络
输出层隐藏层
输入层
o
1
o
2
o
m
…
x
1
x
2
x
n
…
…
……
…
…
W
(1)
W
(2)
W
(3)
W
(h)
2004-2-18 79
多级网
?非线性激活函数
–F(X)=kX+C
–F
3
(F
2
(F
1
(XW
(1)
)W
(2)
)W
(3)
)
2004-2-18 80
循环网
x
1
o
1
输出层隐藏层
输入层
x
2
o
2
o
m
x
n
…
……
……
…
…
2004-2-18 81
循环网
?如果将输出信号反馈到输入端,就可构成一个多层
的循环网络。
?输入的原始信号被逐步地“加强”、被“修复”。
?大脑的短期记忆特征——看到的东西不是一下子
就从脑海里消失的。
?稳定:反馈信号会引起网络输出的不断变化。我
们希望这种变化逐渐减小,并且最后能消失。当
变化最后消失时,网络达到了平衡状态。如果这
种变化不能消失,则称该网络是不稳定的。
2004-2-18 82
2.4 存储与映射
?空间模式(Spatial Model)
?时空模式(Spatialtemporal Model)
?空间模式三种存储类型
? 1、RAM方式(Random Access Memory)
–随机访问方式是将地址映射到数据。
? 2、CAM方式(Content Addressable Memory)
–内容寻址方式是将数据映射到地址。
? 3、AM方式(Associative Memory)
–相联存储方式是将数据映射到数据。
2004-2-18 83
2.4 存储与映射
?后续的两种方式是人工神经网络的工作方式。
?在学习/训练期间,人工神经网络以CAM方
式工作;权矩阵又被称为网络的长期存储
(Long Term Memory,简记为LTM)。
?网络在正常工作阶段是以AM方式工作的;
神经元的状态表示的模式为短期存储(Short
Term Memory,简记为STM)。
2004-2-18 84
2.4 存储与映射
?自相联(Auto-associative)映射:训练网络
的样本集为向量集合为
{A
1
,A
2
,…,A
n
}
?在理想情况下,该网络在完成训练后,其
权矩阵存放的将是上面所给的向量集合。
2004-2-18 85
2.4 存储与映射
?异相联(Hetero-associative)映射
{(A
1
,B
1
),(A
2
,B
2
),…,(A
n
,B
n
)}
?该网络在完成训练后,其权矩阵存放的将是上面
所给的向量集合所蕴含的对应关系。
?当输入向量A不是样本的第一的分量时,样本中
不存在这样的元素(A
k
,B
k
),使得
A
i
≤A
k
≤A或者A≤A
k
≤A
j
?且此时有
A
i
≤A≤A
j
?则向量B是B
i
与B
j
的插值。
2004-2-18 86
2.5 人工神经网络的训练
?人工神经网络最具有吸引力的特点是它的
学习能力。
? 1962年,Rosenblatt给出了人工神经网络著
名的学习定理:人工神经网络可以学会它
可以表达的任何东西。
?人工神经网络的表达能力大大地限制了它
的学习能力。
?人工神经网络的学习过程就是对它的训练
过程
2004-2-18 87
2.5.1无导师学习
?无导师学习(Unsupervised Learning)与无导
师训练(Unsupervised Training)相对应
?抽取样本集合中蕴含的统计特性,并以神
经元之间的联接权的形式存于网络中。
2004-2-18 88
2.5.1无导师学习
? Hebb学习律、竞争与协同(Competitive
and Cooperative)学习、随机联接系统
(Randomly Connected Learning)等。
? Hebb算法[D. O. Hebb在1961年]的核心:
–当两个神经元同时处于激发状态时被加
强,否则被减弱。
–数学表达式表示:
? W
ij
(t+1)=W
ij
(t)+αo
i
(t)o
j
(t)
2004-2-18 89
2.5.2 有导师学习
?有导师学习(Supervised Learning)与有导师
训练(Supervised Training)相对应。
?输入向量与其对应的输出向量构成一个“训
练对”。
2004-2-18 90
训练算法的主要步骤
1)从样本集合中取一个样本(A
i
,B
i
);
2)计算出网络的实际输出O;
3)求D=B
i
-O;
4)根据D调整权矩阵W;
5)对每个样本重复上述过程,直到对整
个样本集来说,误差不超过规定范围。
2004-2-18 91
Delta规则
Widrow和Hoff的写法:
W
ij
(t+1)=W
ij
(t)+α(y
j
-a
j
(t))o
i
(t)
也可以写成:
W
ij
(t+1)=W
ij
(t)+? W
ij
(t)
? W
ij
(t)=αδ
j
o
i
(t)
δ
j
=y
j
-a
j
(t)
2004-2-18 92
Delta规则
Grossberg的写法为:
? W
ij
(t)=αa
i
(t)(o
j
(t)-W
ij
(t))
更一般的Delta规则为:
? W
ij
(t)=g(a
i
(t),y
j
,o
j
(t),W
ij
(t))
2004-2-18 93
第3章感知器
?主要内容:
–感知器与人工神经网络的早期发展;
–线性可分问题与线性不可分问题;
– Hebb学习律;
– Delta规则;
–感知器的训练算法。
?重点:感知器的结构、表达能力、学习算法
?难点:感知器的表达能力
2004-2-18 94
第3章感知器
3.1 感知器与人工神经网络的早期发展
3.2 感知器的学习算法
3.2.1 离散单输出感知器训练算法
3.2.2 离散多输出感知器训练算法
3.2.3 连续多输出感知器训练算法
3.3 线性不可分问题
3.3.1 异或(Exclusive –OR)问题
3.3.2 线性不可分问题的克服
实现!
问题的发现与解决!
2004-2-18 95
3.1 感知器与ANN的早期发展
McCulloch 和Pitts 1943年,发表第一个系统的
ANN研究——阈值加权和(M-P)数学模型。
1947年,开发出感知器。
1949年,提出Hebb学习律。
单输出的感知器(M-P模型)
x
2
x
1
o
x
n
…
2004-2-18 96
3.1 感知器与ANN的早期发展
o
1
多输出感知器
x
1
x
2
o
2
o
m
x
n
…
…
…
…
输入层输出层
? 1962年,Rosenblatt宣布:人工神经网络可
以学会它能表示的任何东西
2004-2-18 97
3.2 感知器的学习算法
?感知器的学习是有导师学习
?感知器的训练算法的基本原理来源于著名
的Hebb学习律
?基本思想:逐步地将样本集中的样本输入
到网络中,根据输出结果和理想输出之间的
差别来调整网络中的权矩阵
2004-2-18 98
3.2.1离散单输出感知器训练算法
?二值网络:自变量及其函数的值、向量分
量的值只取0和1函数、向量。
?权向量:W=(w
1
,w
2
,…,w
n
)
?输入向量:X=(x
1
,x
2
,…,x
n
)
?训练样本集:
– {(X,Y)|Y为输入向量X对应的输出}
2004-2-18 99
算法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
2004-2-18 100
3.2.2离散多输出感知器训练算法
?样本集:{(X,Y)|Y为输入向量X对应的输出}
?输入向量:X=(x
1
,x
2
,…,x
n
)
?理想输出向量:Y=(y
1
,y
2
,…,y
m
)
?激活函数:F
?权矩阵W=(w
ij
)
?实际输出向量:O=(o
1
,o
2
,…,o
m
)
o
1
多输出感知器
x
1
x
2
o
2
o
m
x
n
…
…
… …
输入层输出层
2004-2-18 101
算法3-2离散多输出感知器训练算法
1.初始化权矩阵W;
2.重复下列过程,直到训练完成:
2.1 对每个样本(X,Y),重复如下过程:
2.1.1 输入X;
2.1.2 计算O=F(XW);
2.1.3 for j=1 to m do 执行如下操作:
if o
j
≠y
j
then
if o
i
= 0 then for i = 1 to n
w
ij
=w
ij
+x
i
else for i= 1 to n do
w
ij
=w
ij
-x
i
2004-2-18 102
算法3-2离散多输出感知器训练算法
?算法思想:将单输出感知器的处理逐个地
用于多输出感知器输出层的每一个神经元
的处理。
?第1步,权矩阵的初始化:一系列小伪随机
数。
2004-2-18 103
算法3-2离散多输出感知器训练算法
?第2步,循环控制。
?方法1:循环次数控制法:对样本集执行规
定次数的迭代
?改进——分阶段迭代控制:设定一个基本
的迭代次数N,每当训练完成N次迭代后,
就给出一个中间结果
2004-2-18 104
算法3-2离散多输出感知器训练算法
?方法2:精度控制法:给定一个精度控制参
数
–精度度量:实际输出向量与理想输出向
量的对应分量的差的绝对值之和;
–实际输出向量与理想输出向量的欧氏距
离的和
– “死循环”:网络无法表示样本所代表的
问题
2004-2-18 105
算法3-2离散多输出感知器训练算法
?方法3:综合控制法:将这两种方法结合起
来使用
?注意:精度参数的设置。根据实际问题选
定;初始测试阶段,精度要求低,测试完
成后,再给出实际的精度要求。
2004-2-18 106
3.2.3 连续多输出感知器训练算法
?用公式w
ij
=w
ij
+α(y
j
-o
j
)x
i
取代了算法3-2
第2.1.3步中的多个判断
? y
j
与o
j
之间的差别对w
ij
的影响由α(y
j
-o
j
)
x
i
表现出来
?好处:不仅使得算法的控制在结构上更容
易理解,而且还使得它的适应面更宽
2004-2-18 107
算法3-3 连续多输出感知器训练算法
1.用适当的小伪随机数初始化权矩阵W;
2. 初置精度控制参数ε,学习率α,精度控制变量d=ε+1;
3.While d ≥εdo
3.1 d=0;
3.2 for 每个样本(X,Y)do
3.2.1 输入X(=(x
1
,x
2
,…,x
n
));
3.2.2 求O=F(XW);
3.2.3 修改权矩阵W:
for i=1 to n,j=1 to m do
w
ij
=w
ij
+α(y
j
-o
j
)x
i
;
3.2.4 累积误差
for j = 1 to m do
d=d+(y
j
-o
j
)
2
2004-2-18 108
算法3-3 连续多输出感知器训练算法
1、程序实现:ε、α、d、i、j、n、m为简单变量来表
示,W为n行m列的二维数组。样本集二维数组
2、系统的调试
3、Minsky在1969年证明,有许多基本问题是感知器无
法解决
4、问题线性可分性可能与时间有关
5、很难从样本数据集直接看出问题是否线性可分
6、未能证明,一个感知器究竟需要经过多少步才能完
成训练。
2004-2-18 109
3.3 线性不可分问题
3.3.1 异或(Exclusive –OR)问题
g(x,y)y
0 1
x 0 0 1
1 1 0
2004-2-18 110
用于求解XOR的单神经元感知器
x
y
o
单神经元感知器的图像
ax+by=θ
1
y
x
1
(0,0)
(1,1)
2004-2-18 111
线性不可分函数
变量函数及其值
x y
f
1
f
2
f
3
f
4
f
5
f
6
f
7
f
8
f
9
f
10
f
11
f
12
f
13
f
14
f
15
f
16
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
2004-2-18 112
线性不可分函数
? R. O. Windner 1960年
自变量个数函数的个数线性可分函数的个数
1 4 4
2 16 14
3 256 104
4 65,536 1882
5 4.3*10
9
94,572
6 1.8*10
19
5,028,134
2004-2-18 113
3.3.2 线性不可分问题的克服
?用多个单级网组合在一起,并用其中的一
个去综合其它单级网的结果,我们就可以
构成一个两级网络,该网络可以被用来在
平面上划分出一个封闭或者开放的凸域来
?一个非凸域可以拆分成多个凸域。按照这
一思路,三级网将会更一般一些,我们可
以用它去识别出一些非凸域来。
?解决好隐藏层的联接权的调整问题是非常
关键的
2004-2-18 114
两级单输出网在n维空间中划分
出m边凸域
…
x
1
AN
m
AN
1
AN
o
x
n
…
o
2004-2-18 115
第4章BP网络
?主要内容:
– BP网络的构成
–隐藏层权的调整分析
– Delta规则理论推导
–算法的收敛速度及其改进讨论
– BP网络中的几个重要问题
?重点:BP算法
?难点:Delta规则的理论推导
2004-2-18 116
第4章BP网络
4.1 概述
4.2 基本BP算法
4.3 算法的改进
4.4 算法的实现
4.5 算法的理论基础
4.6 几个问题的讨论
2004-2-18 117
4.1 概述
1、BP算法的出现
非循环多级网络的训练算法
UCSD PDP小组的Rumelhart、Hinton和Williams1986年
独立地给出了BP算法清楚而简单的描述
1982年,Paker就完成了相似的工作
1974年,Werbos已提出了该方法
2、弱点:训练速度非常慢、局部极小点的逃离问题、
算法不一定收敛。
3、优点:广泛的适应性和有效性。
2004-2-18 118
4.2 基本BP算法
? 4.2.1 网络的构成
神经元的网络输入:
net
i
=x
1
w
1i
+x
2
w
2i
+…+x
n
w
ni
神经元的输出:
net
e
netfo
?
+
==
1
1
)(
)1()(
)1(
1
)(
2
2
ooooe
e
netf
net
net
?=?=?
+
?=
′
?
?
2004-2-18 119
0.5
f ′(net)
0.25
o
0
1
net
e
o
?
+
=
1
1
输出函数分析
1
(0,0.5)
net
(0,0)
o
–应该将net的值尽量控制在收敛比较快的范围内
–可以用其它的函数作为激活函数,只要该函数
是处处可导的
2004-2-18 120
网络的拓扑结构
x
1
o
1
输出层隐藏层
输入层
x
2
o
2
o
m
x
n
…
……
……
…
…
W
(1)
W
(2)
W
(3)
W
(L)
2004-2-18 121
网络的拓扑结构
1. BP网的结构
2.输入向量、输出向量的维数、网络隐藏层
的层数和各个隐藏层神经元的个数的决定
3.实验:增加隐藏层的层数和隐藏层神经元
个数不一定总能够提高网络精度和表达能
力。
4. BP网一般都选用二级网络。
2004-2-18 122
网络的拓扑结构
x
1
o
1
输出层隐藏层
输入层
x
2
o
2
o
m
x
n
…
………
WV
2004-2-18 123
4.2.2 训练过程概述
样本:(输入向量,理想输出向量)
权初始化:“小随机数”与饱和状态;“不同”
保证网络可以学。
1、向前传播阶段:
(1)从样本集中取一个样本(X
p
,Y
p
),将X
p
输入网络;
(2)计算相应的实际输出O
p
:
O
p
=F
l
(…(F
2
(F
1
(X
p
W
(1)
)W
(2)
)…)W
(L)
)
2004-2-18 124
4.2.2 训练过程概述
2、向后传播阶段——误差传播阶段:
(1)计算实际输出O
p
与相应的理想输出Y
p
的
差;
(2)按极小化误差的方式调整权矩阵。
(3)网络关于第p个样本的误差测度:
()
∑
=
?=
m
j
pjpj
p oyE
1
2
2
1
(4)网络关于整个样本集的误差测度:
∑
=
p
pEE
2004-2-18 125
4.2.3 误差传播分析
1、输出层权的调整
w
pq
AN
p
AN
q
第L-1层
第L层
?w
pq
w
pq
= w
pq
+?w
pq
?w
pq
=αδ
q
o
p
=αf
n
′(net
q
)(y
q
-o
q
)o
p
=αo
q
(1-o
q
) (y
q
-o
q
)o
p
2004-2-18 126
2、隐藏层权的调整
AN
p
AN
q
AN
h
v
hp
δ
pk-1
δ
1k
w
p1
w
pq
δ
qk
w
pm
δ
mk
第k-2层
第k层
第k-1层
…
…
2004-2-18 127
2、隐藏层权的调整
δ
pk-1
的值和δ
1k
,δ
2k
,…,δ
mk
有关
不妨认为δ
pk-1
通过权w
p1
对δ
1k
做出贡献,
通过权w
p2
对δ
2k
做出贡献,
……
通过权w
pm
对δ
mk
做出贡献。
δ
pk-1
= f
k-1
′(net
p
) (w
p1
δ
1k
+ w
p2
δ
2k
+…+ w
pm
δ
m k
)
2004-2-18 128
2、隐藏层权的调整
v
hp
=v
hp
+?v
hp
?v
hp
=αδ
pk-1
o
hk-2
=αf
k-1
′(net
p
)( w
p1
δ
1k
+ w
p2
δ
2k
+…+ w
pm
δ
mk
)o
hk-2
=αo
pk-1
(1-o
pk-1
)( w
p1
δ
1k
+ w
p2
δ
2k
+…+ w
pm
δ
mk
)o
hk-2
AN
p
AN
q
AN
h
v
hp
δ
pk-1
δ
1k
w
p1
w
pm
δ
qk
w
pq
δ
mk
第k-2层
第k层
第k-1层
…
…
2004-2-18 129
4.2.4 基本的BP算法
?样本集:S={(X
1
,Y
1
),(X
2
,Y
2
),…,(X
s
,Y
s
)}
?基本思想:
–逐一地根据样本集中的样本(X
k
,Y
k
)计算出实际输
出O
k
和误差测度E
1
,对W
(1)
,W
(2)
,…,W
(L)
各
做一次调整,重复这个循环,直到∑E
p
<ε。
–用输出层的误差调整输出层权矩阵,并用此误差
估计输出层的直接前导层的误差,再用输出层前
导层误差估计更前一层的误差。如此获得所有其
它各层的误差估计,并用这些估计实现对权矩阵
的修改。形成将输出端表现出的误差沿着与输入
信号相反的方向逐级向输入端传递的过程
2004-2-18 130
算法4-1基本BP算法
1 for k=1 to L do
1.1 初始化W
(k)
;
2 初始化精度控制参数ε;
3 E=ε+1;
4 while E>εdo
4.1 E=0;
2004-2-18 131
算法4-1基本BP算法
4.2 对S中的每一个样本(X
p
,Y
p
):
4.2.1 计算出X
p
对应的实际输出O
p
;
4.2.2 计算出E
p
;
4.2.3 E=E+E
p
;
4.2.4 根据相应式子调整W
(L)
;
4.2.5 k=L-1;
4.2.6 while k≠0 do
4.2.6.1 根据相应式子调整W
(k)
;
4.2.6.2 k=k-1
4.3 E=E/2.0
2004-2-18 132
4.3 算法的改进
1、BP网络接受样本的顺序对训练结果有较大
影响。它更“偏爱”较后出现的样本
2、给集中的样本安排一个适当的顺序,是非常
困难的。
3、样本顺序影响结果的原因:“分别”、“依次”
4、用(X
1
,Y
1
),(X
2
,Y
2
),…,(X
s
,Y
s
)的“总
效果”修改W
(1)
,W
(2)
,…,W
(L)
。
?w
(k)
ij
=∑?
p
w
(k)
ij
2004-2-18 133
算法4-2 消除样本顺序影响的BP算法
1 for k=1 to L do
1.1 初始化W
(k)
;
2 初始化精度控制参数ε;
3 E=ε+1;
4 while E>εdo
4.1 E=0;
4.2 对所有的i,j,k:? w
(k)
ij
=0;
2004-2-18 134
4.3 对S中的每一个样本(X
p
,Y
p
):
4.3.1 计算出X
p
对应的实际输出O
p
;
4.3.2 计算出E
p
;
4.3.3 E=E+E
p
;
4.3.4 对所有i,j根据相应式子计算?
p
w
(L)
ij
;
4.3.5 对所有i,j:? w
(L)
ij
=? w
(L)
ij
+?
p
w
(L)
ij
;
4.3.6 k=L-1;
4.3.7 while k≠0 do
4.3.7.1 对所有i,j根据相应式子计算?
p
w
(k)
ij
;
4.3.7.2 对所有i,j:? w
(k)
ij
=? w
(k)
ij
+?
p
w
(k)
ij
;
4.3.7.3 k=k-1
4.4 对所有i,j,k:w
(k)
ij
= w
(k)
ij
+ ?w
(k)
ij
;
4.5 E=E/2.0
2004-2-18 135
算法4-2 分析
?较好地解决了因样本的顺序引起的精度问
题和训练的抖动问题
?收敛速度:比较慢
?偏移量:给每一个神经元增加一个偏移量
来加快收敛速度
?冲量:联接权的本次修改要考虑上次修改
的影响,以减少抖动问题
2004-2-18 136
算法4-2 分析——冲量设置
? Rumelhart等人1986年
– ?w
ij
=αδ
j
o
i
+β?w
ij
′
– ?w
ij
′为上一次的修改量,β为冲量系数,一般
可取到0.9
? Sejnowski与Rosenberg ,1987年
– ?w
ij
=α((1-β)δ
j
o
i
+β?w
ij
′)
– ?w
ij
′也是上一次的修改量,β在0和1之间取值
2004-2-18 137
4.4 算法的实现
?主要数据结构
W[H,m]——输出层的权矩阵;
V[n,H]——输入(隐藏)层的权矩阵;
?
o
[m]——输出层各联接权的修改量组成的向量;
?
h
[H]——隐藏层各联接权的修改量组成的向量;
O
1
——隐藏层的输出向量;
O
2
——输出层的输出向量;
(X,Y)——一个样本。
2004-2-18 138
算法的主要实现步骤
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),执行如下操作
2004-2-18 139
4.2 对每一个样本(X,Y),执行的操作
4.2.1 计算:O
1
=F
1
(XV);O
2
=F
2
(O
1
W);
4.2.2 计算输出层的权修改量for i=1 to m
4.2.2.1 ?
o
[i]= O
2
[i]*(1- O
2
[i])*(Y[i]-O
2
[i]);
4.2.3 计算输出误差:for i=1 to m
4.2.3.1 E=E+(Y[i]-O
2
[i])
2
;
2004-2-18 140
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* O
1
[i](1- O
1
[i]);
4.2.5 修改输出层权矩阵:for k=1 to H & i=1 to m
4.2.5.1 W[k,i]= W[k,i]+ α*O
1
[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]+ α*X[k]* ?
h
[i];
2004-2-18 141
建议
?隐藏层的神经元的个数H作为一个输入参数
?同时将ε、循环最大次数M等,作为算法
的输入参数
?在调试阶段,最外层循环内,加一层控制,
以探测网络是否陷入了局部极小点
2004-2-18 142
4.5 算法的理论基础
?基本假设
–网络含有L层
–联接矩阵:W
(1)
,W
(2)
,…,W
(L)
–第k层的神经元:H
k
个
–自变量数:n*H
1
+H
1
*H
2
+H
2
*H
3
+…+H
L
*m
–样本集:S={ (X
1
,Y
1
),(X
2
,Y
2
),…,(X
s
,Y
s
)}
?误差测度:
∑
=
=
s
p
p
EE
1
2004-2-18 143
∑
=
=
s
p
p
EE
1
误差测度
用E代表E
P
,用(X,Y)代表(X
P
,Y
P
)
X=(x
1
,x
2
,…,x
n
)
Y=(y
1
,y
2
,…,y
m
)
该样本对应的实际输出为
O=(o
1
,o
2
,…,o
m
)
2004-2-18 144
∑
=
=
s
p
p
EE
1
误差测度
?用理想输出与实际输出的方差
作为相应的误差测度
∑
?=
=
m
1k
2
kk
)oy(
2
1
E
2004-2-18 145
最速下降法,要求E的极小点
ij
ij
w
E
w
?
?
?∝?
w
ij
ij
w
E
?
?
E
>0,此时Δw
ij
<0
ij
w
E
?
?
E
<0, 此时Δw
ij
>0
w
ij
取
2004-2-18 146
最速下降法,要求E的极小点
ij
j
jij
w
net
net
E
w
E
?
?
?
?
?
?=
?
?
?
∑
=
k
kkjj
ownet而其中的
i
ij
k
kkj
ij
j
o
w
ow
w
net
=
?
?
?
?
?
?
?
∑
?
=
?
?
所以,
2004-2-18 147
最速下降法,要求E的极小点
i
j
ij
k
kkj
j
ij
j
jij
o
net
E
w
ow
net
E
w
net
net
E
w
E
?
?
?
?=
?
?
?
?
?
?
?
?
?
?
?
?=
?
?
?
?
?
?=
?
?
?
∑
j
j
net
E
?
?
?=δ
令
所以Δw
ij
=αδ
j
o
i
α为学习率
2004-2-18 148
AN
j
为输出层神经元
)net(f
o
E
net
o
o
E
net
E
j
j
j
j
j
j
j
′
?
?
?
?=
?
?
?
?
?
?=
?
?
?=δ
从而
o
j
=f(net
j
)
容易得到
)net(f
net
o
j
j
j
′
=
?
?
2004-2-18 149
AN
j
为输出层神经元
()
()
)(
))(
2
2
(
)
2
1
(
2
1
2
1
2
jj
jj
j
jj
j
m
k
kk
j
oy
oy
o
oy
o
oy
o
E
?=
???=
?
??
?=
?
?
?
?
?
?
?
??
?=
?
?
?
∑
=
2004-2-18 150
AN
j
为输出层神经元
所以,
)net(f)oy(
jjjj
′
?=δ
故,当AN
j
为输出层的神经元时,它对应
的联接权w
ij
应该按照下列公式进行调整:
ijjjij
ijijij
o)oy)(net(fw
oww
?
′
α+=
αδ+=
2004-2-18 151
AN
j
为隐藏层神经元
j
j
j
j
j
net
o
o
E
net
E
?
?
?
?
?
?=
?
?
?=δ
)net(f
o
E
j
j
j
′
?
?
?
?=δ
∑
?=
=
m
1k
2
kk
)oy(
2
1
E
函
数
)net(f
net
o
j
j
j
′
=
?
?
2004-2-18 152
AN
j
为隐藏层神经元
net
k
=
∑
=
h
H
1i
iik
ow
∑
?
?
?
?
?
=
?
?
=
h
H
1k
j
k
kj
)
o
net
net
E
(
o
E
jk
j
H
1i
iik
j
k
w
o
ow
o
net
h
=
?
?
?
?
?
?
?
∑
?
=
?
?
=
o
j
…
o
2
o
1
o
Hh
net
k
是o
j
下一级的神
经元的网络输入
2004-2-18 153
AN
j
为隐藏层神经元
∑
?
?
?
?
?
?
?
?
?
?
?
=
∑
?
?
?
?
?
?
?
?
?
?
?
?
?
=
?
?
=
=
h
h
H
1k
jk
k
H
1k
j
k
kj
w
net
E
o
net
net
E
o
E
k
k
net
E
?
?
?=δ
∑
δ?=
?
?
=
h
H
1k
jkk
j
w
o
E
2004-2-18 154
AN
j
为隐藏层神经元
)net(fw
)net(f
o
E
j
H
1k
jkk
j
j
j
h
′
?
?
?
?
?
?
?
∑
δ??=
′
?
?
?
?=δ
=
)net(fw
j
H
1k
jkkj
h
′
?
?
?
?
?
?
?
∑
δ=δ
=
2004-2-18 155
AN
j
为隐藏层神经元
ij
H
1k
jkkij
o)net(fww
h
′
?
?
?
?
?
?
?
∑
δα=?
=
ij
H
1k
jkkijij
o)net(fwww
h
′
?
?
?
?
?
?
?
∑
δα+=
=
2004-2-18 156
4.6 几个问题的讨论
?收敛速度问题
?局部极小点问题
–逃离/避开局部极小点:修改W、V的初值——
并不是总有效。
–逃离——统计方法;[Wasserman,1986]将
Cauchy训练与BP算法结合起来,可以在保证
训练速度不被降低的情况下,找到全局极小点。
2004-2-18 157
4.6 几个问题的讨论
?网络瘫痪问题
–在训练中,权可能变得很大,这会使神经元的
网络输入变得很大,从而又使得其激活函数的
导函数在此点上的取值很小。根据相应式子,
此时的训练步长会变得非常小,进而将导致训
练速度降得非常低,最终导致网络停止收敛
?稳定性问题
–用修改量的综合实施权的修改
–连续变化的环境,它将变成无效的
2004-2-18 158
4.6 几个问题的讨论
?步长问题
– BP网络的收敛是基于无穷小的权修改量
–步长太小,收敛就非常慢
–步长太大,可能会导致网络的瘫痪和不稳定
–自适应步长,使得权修改量能随着网络的训练
而不断变化。[1988年,Wasserman]
2004-2-18 159
第5章对传网
?主要内容:CPN的网络结构,正常运行,
输入向量的预处理,Kohonen层的训练算法
及其权矩阵的初始化方法;Grossberg层的
训练;完整的对传网
?重点:Kohonen层与Grossberg层的正常运
行与训练
?难点:Kohonen层的训练算法及其权矩阵的
初始化方法
2004-2-18 160
第5章对传网
5.1 网络结构
5.2 网络的正常运行
5.3 Kohonen层的训练
5.4 Kohonen层联接权的初始化方法
5.5 Grossberg层的训练
5.6 补充说明
2004-2-18 161
第5章对传网
? Robert Hecht-Nielson 在1987年提出了对传网
(Counterpropagation Networks,CPN)。
? CPN为异构网:
– Kohonen1981年提出的Self-organization map
? SOM——Kohonen层
– Grossberg1969年提出的Outstar——Grossberg层
?训练时间短:BP的1%。应用面:比较窄
?让网络的隐藏层执行无导师学习,是解决多级网
络训练的另一个思路
2004-2-18 162
5.1 网络结构
?单向CPN,完整CPN(双向网)
?除拓扑结构外,网络的运行机制也是确定
网络结构(同构、异构)和性能的重要因
素
?网络的层数计算
2004-2-18 163
5.1 网络结构
x
1
y
1
W
V
自组织映射
(无导师学习)
Kohonen层
散射星
(有导师学习)
Grossberg层
输入层
K
1
G
1
K
2
G
2
x
2
y
2
………
K
h
G
m
x
n
y
m
2004-2-18 164
5.1 网络结构
?以Kohonen层的神经元为“中心”讨论问题
? K
1
– W
1
=(w
11
,w
21
,…,w
n1
)
T
– V
1
=(v
11
,v
12
,…,v
1m
)
? K
2
– W
2
=(w
12
,w
22
,…,w
n2
)
T
– V
2
=(v
21
,v
22
,…,v
2m
)
……
? K
h
– W
h
=(w
1h
,w
2h
,…,w
nh
)
T
– V
h
=(v
h1
,v
h2
,…,v
hm
)
2004-2-18 165
5.2 网络的正常运行
5.2.1 Kohonen层
? “强者占先、弱者退出”(the winner takes all)
knet
j
=XW
j
= (x
1
,x
2
,…,x
n
)(w
1j
,w
2j
,…,w
nj
)
T
= w
1j
x
1
+w
2j
x
2
+…+w
nj
x
n
向量形式
KNET=(knet
1
,knet
2
,…,knet
h
)
2004-2-18 166
5.2.1 Kohonen层
? K
1
,K
2
,…,K
h
的输出k
1
,k
2
,…,k
h
构
成向量K=(k
1
,k
2
,…,k
h
)
? 1≦j≦h
1 knet
j
=Max{ knet
1
,knet
2
,…,knet
h
}
k
j
=
0其它
?几何意义
2004-2-18 167
5.2.2 Grossberg层
? Grossberg层的每个神经元G
j
(1≦j≦m)
gnet
j
= K (v
1j
,v
2j
,…,v
hj
)
T
= (k
1
,k
2
,…,k
h
) (v
1j
,v
2j
,…,v
hj
)
T
=k
1
v
1j
+ k
2
v
2j
+…+ k
h
v
hj
唯一输出1的神经元为K
o
gnet
j
= k
1
v
1j
+ k
2
v
2j
+…+ k
h
v
hj
=v
oj
2004-2-18 168
5.2.2 Grossberg层
GNET=( gnet
1
,gnet
2
,…,gnet
m
)
=(v
o1
,v
o2
,…,v
om
)
=V
o
?散射星:V
o
的各个分量是从K
o
到Grossberg
层各神经元的联接权
2004-2-18 169
5.2.2 Grossberg层
? CPN用于模式的完善,此时n=m:接受含
有噪音的输入模式(x
1
,x
2
,…,x
n
),而输
出去掉噪音后的模式(v
o1
,v
o2
,…,v
om
)
?对训练启示
– W
1
,W
2
,…,W
h
,各类X的共同特征
– V
1
,V
2
,…,V
h
,X对应的理想输出Y的共同
特征
2004-2-18 170
5.3 Kohonen层的训练
5.3.1 输入向量的预处理
单位化处理
X= (x
1
,x
2
,…,x
n
)
X′= (x
1
′,x
2
′,…,x
n
′)
= (x
1
/‖X‖,x
2
/‖X‖,…,x
n
/‖X‖)
2004-2-18 171
5.3.2 训练
算法5-1 Kohonen层训练算法
1对所有的输入向量,进行单位化处理;
2对每个样本(X,Y)执行下列过程
2.1 for j=1 to h do 根据相应式子计算knet
j
;
2.2 求出最大的knet
o
:
2.2.1 max=knet
1
;o=1
2.2.2 for j=1 to h do
if knet
j
>max then {max=knet
j
;o=j};
2004-2-18 172
算法5-1 Kohonen层训练算法
2.3 计算K
2.3.1 for j=1 to h do k
j
=0;
2.3.2 k
o
=1;
2.4 使W
o
更接近X:W
o
(new)
=W
o
(old)
+α(X- W
o
(old)
);
2.5 对W
o
(new)
进行单位化处理
2004-2-18 173
W
o
(new)
=W
o
(old)
+α(X- W
o
(old)
)
α∈(0,1)
W
o
(new)
=W
o
(old)
+α(X- W
o
(old)
)
= W
o
(old)
+αX-αW
o
(old)
X-W
o
(new)
=X-[W
o
(old)
+α(X- W
o
(old)
)]
=X-W
o
(old)
-αX+αW
o
(old)
= X(1-α) -W
o
(old)
(1-α)
=(1-α)(X-W
o
(old)
)
由0<(1-α)<1,W
o
(new)
比W
o
(old)
更接近X
2004-2-18 174
W
o
(new)
=W
o
(old)
+α(X- W
o
(old)
)
o
单位圆
W
o
(old)
(1-α) (X- W
o
(old)
)
W
o
(new)
(X- W
o
(old)
)
X
(X- W
o
(old)
)
-W
o
(old)
2004-2-18 175
学习率α
?训练初期,α一般取0.7左右,它将随着训
练进展不断变小
?α过大可能导致有的X被放入错误的类中;
使训练陷入抖动
?根据X的分布决定W的初值:防止类过小和
过大
2004-2-18 176
启发
?一般来说,一个类含有许多向量。这个类
对应的W
j
应该是样本集中这一类向量(输
入向量部分)的平均值。
?事先给问题一个粗略分类,并从这个分类
中提取一个较有代表性的向量构成样本集
?启发我们采用训练和直接设定权向量的方
式来完成该层的训练。
2004-2-18 177
5.4 Kohonen层联接权初始化
?理想情况下,W
1
,W
2
,…,W
h
的初值应
该依照样本集中的输入向量的分布来确定
?样本集中的输入向量的分布并不是均匀的
2004-2-18 178
X
i
的非均匀分布要求W
i
非均匀分布
o
单位圆
X
2
X
1
X
3
2004-2-18 179
凸状组合法
取w
ij
=
)n(sqrt
1
将输入向量
X= (x
1
,x
2
,…,x
n
)
变换为
X′= (x
1
′,x
2
′,…,x
n
′)
其中
n
xx
jj
λ
λ
?
+=
′
1
2004-2-18 180
凸状组合法
在训练的初期阶段,λ的值非常小,使得
)
1
,,
1
,
1
(
nnn
XK≈
随着训练的进行,λ趋近于1,
从而使X′趋近于X,进而W
j
趋
近于一组X的平均值。
W需要追踪一个变化的目标
2004-2-18 181
添加噪音法
?在输入向量中加进适当的随机噪音,使输
入向量的分布均匀。训练中逐渐去掉噪音
? W
j
不断地调整自己的“运动方向”,去追踪
其不断变化的目标。试验表明,这种方法
的收敛速度比凸状组合法更慢。
W也需要追踪一个变化的目标
2004-2-18 182
X在加噪音后变成均匀分布的
o
单位圆
2004-2-18 183
初期全调法
?Kohonen层训练的初期,对应一个输入向量,
允许多个神经元同时处于激发状态。逐渐减
少被激发的神经元的最大个数或者逐渐提高
阈值,最后达到对一个输入向量,只有一个
神经元激发
?要解决的问题
–问题调整的范围的度量。
2004-2-18 184
初期全调法
?另一种实现
–在训练的初期,算法不仅调整“获胜”的神经元
对应的权向量,而且对其它的权向量也作适当
的调整。随着训练的推进,被调整的范围逐渐
缩小,直到最终只有“获胜”的神经元对应的权
向量才被调整
?要解决的问题
–问题调整的范围的度量。
–其它的权向量的“适当调整”
2004-2-18 185
DeSieno法
?当某一个权向量所获得的匹配向量超过给定的数
(1/h)后,它的阈值就被临时提高
?问题:当最应该被某个神经元对应的权向量匹配
的输入向量在较后的时候被输入时,它可能被拒
绝,从而造成网络精度的损失
? Kohonen [1988]:在一个被完全训练过的网中,
随机选取的输入向量与任何给定权向量是最接近
的概率是1/h
–按均匀分布初始化的权向量具有相同被匹配概率
2004-2-18 186
5.5 Grossberg层的训练
?训练
–标量形式
v
oj
=v
oj
+α(y
j
- v
oj
)
–向量形式
V
o
(new)
= V
o
(old)
+α(Y- V
o
(old)
)
?比较
W
o
(new)
=W
o
(old)
+α(X- W
o
(old)
)
Kohonen层
2004-2-18 187
算法5-2 CPN训练算法一
0 对W、V进行初始化;
1 对所有的输入向量,进行单位化处理;
2 对每个样本(X,Y)执行下列过程
2.1 for j=1 to h do 根据knet
j
=XW
j
计算knet
j
;
2.2 求出最大的knet
o
:
2.2.1 max=knet
1
;o=1;
2.2.2 for j=1 to h do
2.2.2.1 if knet
j
>max then {max=knet
j
;o=j};
2004-2-18 188
算法5-2 CPN训练算法一
2.3 计算K:
2.3.1 for j=1 to h do k
j
=0;
2.3.2 k
o
=1;
2.4 使W
o
更接近X:
W
o
(new)
=W
o
(old)
+α(X- W
o
(old)
);
2.5 对W
o
(new)
进行单位化处理;
2.6 使V
o
更接近Y:
V
o
(new)
= V
o
(old)
+α(Y- V
o
(old)
)。
2004-2-18 189
算法5-3 CPN训练算法二
?对应Kohonen的每一个K
i
,它将代表一组输
入向量,所以希望这个K
i
对应的V
i
能代表这
组输入向量对应的输出向量的平均值。
0对W、V进行初始化;
0′清空Kohonen层各神经元对应的纪录表:
for j=1 to h do SK
j
=Φ;
1 对所有的输入向量,进行单位化处理;
2004-2-18 190
算法5-3 CPN训练算法二
2 对每个样本(X
s
,Y
s
)执行下列过程
2.1 for j=1 to h do
2.1.1 根据相应式子计算knet
j
;
2.2 求出最大的knet
o
:
2.2.1 max=knet
1
;o=1;
2.2.2 for j=1 to h do
2.2.2.1 if knet
j
>max then
{max=knet
j
;o=j};
2004-2-18 191
算法5-3 CPN训练算法二
2.3 计算K:
2.3.1 for j=1 to h do k
j
=0;
2.3.2 k
o
=1;
2.4 使W
o
更接近X
s
:
W
o
(new)
=W
o
(old)
+α(X
s
-W
o
(old)
);
2.5 对W
o
(new)
进行单位化处理;
2.6 将Y
s
放入SK
o
:
SK
o
=SK
o
∪{Y
s
};
3 for j=1 to h do
V
j
=SK
j
中各向量的平均值
2004-2-18 192
算法的进一步优化
?集合变量SK
1
,SK
2
,…,SK
h
改为其它存
储量更小,而且更容易实现的变量
?在X
s
激发K
o
时,Y
s
被放入到SK
o
中
–会不会出现一个向量被放入多个SK中的
问题
–如何解决
2004-2-18 193
5.6 补充说明
1、全对传网
W
V
X
Y′
…
…
…
Y
…
X′
输入层
Kohonen层Grossberg层
2004-2-18 194
2、非简单工作方式
?对给定的输入向量,Kohonen层各神经元可
以给出不同的输出
?输出作为修改因子
–对应神经元Kohonen层、Grossberg层的权向量
–输出值较大的,表明该输入向量与该神经元对
应的类较接近,它对应的权向量的修改量就大
–输出值较小的,表明该输入向量与该神经元对
应的类较远,它对应的权向量的修改量就小。
2004-2-18 195
第6章非确定方法
?主要内容:
–统计网络的基本训练算法
–模拟退火算法与收敛分析
– Cauchy训练
–人工热与临界温度在训练中的使用
– BP算法与Cauchy训练的结合。
?重点:统计网络的基本训练算法,BP算法
与Cauchy训练的结合
?难点:模拟退火算法与收敛分析
2004-2-18 196
第6章非确定方法
6.1 基本的非确定训练算法
6.2 模拟退火算法
6.3 Cauchy训练
6.4 相关的几个问题
2004-2-18 197
第6章非确定方法
?确定的方法
–前几章所给方法的共同特征
?非确定的方法
–生物神经网络按照概率运行
?别称
–统计方法(Statistical Method)。
?既可以用于训练,又可以用于运行
2004-2-18 198
6.1 基本的非确定训练算法
?基本思想
–从所给的网络中“随机地选取一个联接
权”,对该联接权提出一个“伪随机调整
量”,当用此调整量对所选的联接权进行
修改后,如果“被认为”修改改进了网络
的性能,则保留此调整;否则放弃本次
调整。
2004-2-18 199
6.1 基本的非确定训练算法
?基本数据结构
–样本集:S={ (X
1
,Y
1
),(X
2
,Y
2
),…,(X
s
,Y
s
)}
–输入向量:X=(x
1
,x
2
,…,x
n
)
–理想输出向量:Y=(y
1
,y
2
,…,y
m
)
– L层:W
(1)
,W
(2)
,…,W
(L)
2004-2-18 200
6.1 基本的非确定训练算法
?拓扑结构
x
1
o
1
输出层隐藏层
输入层
x
2
o
2
o
m
x
n
…
……
……
…
…
W
(1)
W
(L)
W
(2)
2004-2-18 201
算法6-1基本统计训练算法
1 从样本集S中取一样本(X,Y);
2 将X输入到网络中,计算出实际输出O;
3 求出网络关于Y,O的误差测度E;
4 随机地从W
(1)
,W
(2)
,…,W
(L)
中选择一
个联接权w
ij
(p)
;
5 生成一个小随机数Δw
ij
(p)
;
6 用Δw
ij
(p)
修改w
ij
(p)
;
2004-2-18 202
算法6-1基本统计训练算法
7 用修改后的W
(1)
,W
(2)
,…,W
(L)
重新计算X对应
的实际输出O′;
8 求出网络关于Y,O′的误差测度E′;
9 如果E′<E,则保留本次对W
(1)
,W
(2)
,…,W
(L)
的修改,
否则,根据概率判断本次修改是否有用,如果认
为有用,则保留本次对W
(1)
,W
(2)
,…,W
(L)
的
修改,如果认为本次修改无用,则放弃它;
10 重复上述过程,直到网络满足要求。
2004-2-18 203
算法6-1基本统计训练算法
?目标函数(Objective Function)
–误差测度函数:实际输出与理想输出方差和
?计算量
–从W
(1)
,W
(2)
,…,W
(L)
中随机地选择w
ij
–共有n×H
1
+H
1
×H
2
+H
2
×H
3
+…+H
M-1
×m个
“变量”可供选择
?伪随机数
–伪随机数发生器来产生Δw
ij
(p)
;
–按照所谓的“能量”函数的分布去计算它
2004-2-18 204
算法6-1基本统计训练算法
?局部极小点
–当E′<E不成立时,考虑使网络从局部极小点
中逃离出来,必须允许目标函数暂时变坏
?循环控制
–判断标准
–用一个样本对网络的某一个联接权进行修改后,
是随机地抽取另一个联接权进行重复,还是再
选择下一个样本进行重复
–对一个选定的样本,每次是否可以选取若干个
联接权进行修改?如果可以,还应做什么工作?
2004-2-18 205
逃离局部极小点
?联接权修改量
–太小:落到A点后很难逃离
–太大:导致在A、B两点来回抖动
?解决办法
–控制联接权修改量的大小:权修改量由大变小
–允许暂时变坏
?修改量的大小和网络的“能量”相关
–模拟退火
A
B
D
2004-2-18 206
逃离局部极小点
D
B
A
2004-2-18 207
6.2 模拟退火算法
?金属中原子的能量与温度有关
?原子能量高的时候,有能力摆脱其原来的
能量状态而最后达到一个更加稳定的状态—
—全局极小能量状态
?在金属的退火过程中,能量的状态分布
P(E)——系统处于具有能量E
的状态的概率;
k——Boltzmann常数;
T——系统的绝对温度(Kelvin)
?
?
?
?
?
?
?
kT
E
exp
P(E)∝
2004-2-18 208
步长和能量、温度的关系
降温过程
高温低温
原子运动平稳
原子激烈随机运动
能量与温度相关
步长与能量和温度相关
步长与能量相关
大步长小步长可逃离难逃离
金属热加工
大小高低
高能量低能量
目标函数的值
网络的能量
训练
2004-2-18 209
能量与温度
1)exp(lim =
?
?
?
?
?
?
?
∞→
kT
E
T
高温情况下:
T足够大,对系统所能处的任意能量状态E,有
?
?
?
?
?
?
?
kT
E
exp将趋近于1
2004-2-18 210
能量与温度
中温情况下:
T比较小,E的大小对P(E)有较大的影响,
设E
1
>E
2
P(E
2
)>P(E
1
)。即,系统处于高能量状态
的可能性小于处于低能量状态的可能性
2004-2-18 211
能量与温度
0
)
)exp(
1
(lim
)exp(lim
))(exp(lim
)exp(
)exp(
lim
)(
)(
lim
1
21
0
21
0
21
0
2
1
0
2
1
0
=
?
?
?
?
?
?
?
?
?
=
?
?
?
?
?
?
?
?=
?
?
?
?
?
?
??=
?
?
?
?
?
?
?
?
?
?
?
?
?
?
=
→
→
→
→→
kT
T
T
T
TT
EE
kT
EE
kT
E
kT
E
kT
E
kT
E
EP
EP
2004-2-18 212
能量与温度
低温情况下:
T非常小,E的大小对P(E)的影响非常大,
设E
1
>E
2
P(E
2
) >> P(E
1
)。即,当温度趋近于0时,
系统几乎不可能处于高能量状态
2004-2-18 213
模拟退火组合优化法
?目标函数——能量函数
?人工温度T——一个初值较大的数
?依据网络的能量和温度来决定联接权的调
整量(称为步长)。
?与金属的退火过程(Annealing)非常相似
2004-2-18 214
模拟退火组合优化法
?基本思想
–随机地为系统选择一个初始状态{w
ij
(p)
},在此
初始状态下,给系统一个小的随机扰动Δw
ij
(p)
,
计算系统的能量变化
–ΔE=E({w
ij
(p)
+Δw
ij
(p)
})-E({w
ij
(p)
})
–若ΔE<0 则接受
–若ΔE≥0 则依据概率判断是否被接受
–若接受,则系统从状态{w
ij
(p)
}变换到状态
{w
ij
(p)
+Δw
ij
(p)
};否则,系统保持不变
?
?
?
?
?
?
?
?
kT
E
exp
2004-2-18 215
模拟退火组合优化法
–在这个过程中,逐渐地降低温度T。所得的系
统状态序列{w
ij
(p)
}将满足下列分布
?
?
?
?
?
?
?
?
?=
kT
wE
Tcf
p
ij
})({
exp)(
)(
∑
?
=
)
kT
})w({E
exp(
1
)T(c
)p(
ij
2004-2-18 216
算法6-2 模拟退火算法
1初始化个层的联接权矩阵W;定义人工温度T的初
值;
2对每一个温度T重复如下过程:
2.1取一样本,计算其输出与目标函数E({w
ij
(p)
});
2.2随机地从{w
ij
(p)
}中选取一个w
ij
(p)
;
2.3按一定的算法产生w
ij
(p)
的一个调整量Δw
ij
(p)
;
2.4按照{ w
ij
(p)
+Δw
ij
(p)
}重新计算相应输出和目
标函数E({ w
ij
(p)
+Δw
ij
(p)
});
2.5ΔE= E({ w
ij
(p)
+Δw
ij
(p)
})- E({ w
ij
(p)
});
2004-2-18 217
算法6-2 模拟退火算法
2.6 if ΔE>0 then
2.6.1 按均匀分布在[0,1]区间取一随机数r;
2.6.2 按Boltzmann分布计算接受本次调整的
概率:
P(E({ w
ij
(p)
+Δw
ij
(p)
})) =
2.6.3 if P(E({ w
ij
(p)
+Δw
ij
(p)
}))<r then 转
2.2;
)
kT
})ww({E
exp(
)p(
ij
)p(
ij
?+
?
2004-2-18 218
算法6-2 模拟退火算法
2.7 用{w
ij
(p)
+Δw
ij
(p)
}代替{ w
ij
(p)
};
2.8 if 样本集中还有未被选用的样本then
转2.1;
3 判断在此温度下,检验Metropolis抽样是否
稳定。如不稳定,则直接转2;
4 降低温度T;
5 如果T足够小,则结束,否则,转2。
2004-2-18 219
算法6-2 模拟退火算法
?算法的第2步原则上应该对每一个样本调整
每一个权,调整的顺序是随机的;
?温度T的降低
– T=λT
–λ叫做冷却率,一般情况下可以在[0.8,0.9]之
间取值
– Geman(1984年):温度下降必须与时间的对数
成反比,网络最终才能收敛到全局极小点
)t1log(
T
T
0
+
=
2004-2-18 220
算法6-2 模拟退火算法
? T的初值T
0
– T
0
=E({w
(h)
});即:取初始系统目标函数
(能量)的值
– T
0
=z E({w
(h)
})。即:取初始系统目标函
数(能量)值的若干倍
–按照经验给出
2004-2-18 221
算法6-2 模拟退火算法
?调整量Δw
ij
(p)
的计算
–可以根据Boltzmann分布或者Gaussian分布来
计算。也可以用其它的方法。下面讨论按
Gaussian分布进行计算的方法。我们取如下形
式的Gaussian分布函数。简洁起见,用符号w
代替符号w
ij
(p)
:
p(Δw)=
)
T
w
exp(
2
2
?
?
2004-2-18 222
Monte Carlo法
?数值积分法
–根据网络的精度要求,设一个积分步长δ,然
后通过数值积分构造出如下形式的表格
∫
?w
0
dx)x(p
Δw
δ
2δ3δ4δ… Nδ
C
1
C
2
C
3
C
4
… C
N
2004-2-18 223
Monte Carlo法
首先按照均匀分布在[C
1
,C
N
]中随机地取一
个值C,然后,从
{ C
1
,C
2
,C
3
,…,C
N
}
中选取C
k
满足:
|C
k
-C|=min{|C-C
1
|,|C-C
2
|,|C-C
3
|,…,|C-C
N
|}
C
k
对应的kδ就是所需要的联接权调整量Δw
2004-2-18 224
6.3 Cauchy训练
? Boltzmann分布
? Boltzmann训练
? 1987年,S. Szu和R. Hartley提出用Cauchy
分布去取代Gaussian分布
22
xT
T
+
Cauchy分布p(x)=
2004-2-18 225
6.3 Cauchy训练——优点
?对于[C
1
,C
N
]中的任意一个C,它按照
Cauchy分布所能取到的联接权的调整量要
大于按照Boltzmann分布所能取到的联接权
的调整量
?用Cauchy分布取代Boltzmann分布后,温
度可以下降得更快。这时,温度的下降变
得与时间成反比:T
0
/(1+t)
? Cauchy分布函数可以用常规的方法进行积
分运算
2004-2-18 226
Cauchy分布函数积分运算
T
w
arctg
T
x
arctg
T
1
T
dx
xT
1
T
dx
xT
T
dx)x(p
w
0
w
0
22
w
0
22
w
0
?
=
?
?
?
?
?
?
=
∫
+
=
∫
+
=
∫
?
?
??
2004-2-18 227
Cauchy分布函数积分运算
T
w
wPtg
?
=? ))((
Δw=αTtg(P(Δw))
? Monte Carlo法:在(0,1)中按照均匀分布随
机取一数为P(Δw),再取当前的温度,就
可以直接地计算出Δw
? Cauchy训练算法:
–将算法6-2中的Boltzmann分布换成Cauchy分布
2004-2-18 228
6.4 相关的几个问题
? Boltzmann机
–每个神经元可以有一个特殊的阈值,用来限制
神经元所获得的激活值
∑
θ?=
=
n
1k
jkkjj
xwnet
神经元的状态概率发生变化。o
j
=1的概率为
)
T
net
exp(1
1
P
j
j
?+
=
2004-2-18 229
Boltzmann机
? Boltzmann机的目标函数(能量函数)
∑
θ+
∑
=
=<
n
1k
kk
jk
jkkj
ooowE
? “一致性函数”
∑
θ?
∑
?=
=<
n
1k
kk
jk
jkkj
ooowE
2004-2-18 230
人工热问题
?特殊热——温度关于能量的变化率
–系统在能量跃变边界处的温度叫做临界温度
?人工特殊热/“伪特殊热”
–系统的人工温度关于系统的能量函数(目标函数)的平
均变化率
?临界温度
–临界温度时的小量下降,会引起能量函数值的较大变化
–系统正处于一个局部极小点附近
?临界温度点可以通过考察所定义的人工特殊热的变
化情况得到
2004-2-18 231
BP算法与Cauchy训练的结合
? Cauchy训练的速度比Boltzmann训练快
? Cauchy训练的速度比BP算法慢
? Cauchy训练有可能使网络逃离局部极小点
?由BP算法提供直接计算部分,Cauchy算法
提供随机部分
w
ij
=w
ij
+?w
ij
?w
ij
=α((1-β)δ
j
o
i
+β?w
ij
′)+(1-α)?w
ij
(c)
α∈(0,1)为学习率,β∈(0,1)为冲量系数
2004-2-18 232
网络陷入瘫痪
?执行对网络联接权的压缩
?如,如果将联接权压缩在(-a,a)以
内,P. D. Wasserman曾给出如下建议
公式
a
)
a
w
exp(1
a2
w
ij
ij
?
?+
=
2004-2-18 233
第7章循环网络
?主要内容
– Hopfield网络实现的自相联存储
–稳定性分析
–统计Hopfield网与Boltzmann机
–基本双联存储器(BAM)的结构与训练
–几种相联存储网络
–用Hopfield网解决TSP问题。
2004-2-18 234
第7章循环网络
?重点
– Hopfield网络实现的自相联存储
–基本双联存储器的结构与训练。
?难点
–稳定性分析
–用Hopfield网解决TSP问题
2004-2-18 235
第7章循环网络
7.1 循环网络的组织
7.2 稳定性分析
7.3 统计Hopfield网与Boltzmann机
7.4 双联存储器的结构
7.5 异相联存储
7.6 其它的双联存储器
7.7 Hopfield网用于解决TSP问题
2004-2-18 236
第7章循环网络
循环网络对输入信号的处理是一个逐渐“修
复”、“加强”的过程。
强烈变化
较弱的变化
不变化
循环网络称为Hopfield网
2004-2-18 237
7.1 循环网络的组织
?网络结构
X
1
X
n
o
1
o
m
……
……
2004-2-18 238
7.1 循环网络的组织
?联接:神经元之间都是互联的w
ij
,每个神经
元都没有到自身的联接w
ii
=0。
?神经元个数h,输入向量维数n,输出向量维
数m。h≥n,h≥m,n≥1,m≥1。
?神经元:输入、输出、隐藏
?状态变化:非同步、同步
?输入向量:X=(x
1
,x
2
,…,x
n
)
?输出向量:O=(o
1
,o
2
,…,o
m
)
2004-2-18 239
7.1 循环网络的组织
神经元的网络输入:∑
+=
≠=
n
ji&1i
jiijj
xownet
1ifnet
j
>θ
j
阈值函数:o
j
=
0ifnet
j
<θ
j
o
j
if net
j
=θ
j
2004-2-18 240
最基本的Hopfield网
o
1
o
n
o
2
x
2
x
1
x
n
W
…
…
?n=m=h
2004-2-18 241
最基本的Hopfield网
?希望网络的联接矩阵存放的是一组这样的
样本,在联想过程中实现对信息的“修复”
和“加强”,要求:它的输入向量和输出向
量是相同的向量,即,X=Y
?样本集:S={ X
1
,X
2
,…,X
s
}
2004-2-18 242
最基本的Hopfield网
∑
=
s
k
jkik
xx
1
?权矩阵:w
ij
=
i≠j
w
ii
=0 1≤i≤n
? W是一个对角线元素为0的对称矩阵:
? W= X
1
T
╳X
1
+X
2
T
╳X
2
+…+X
s
T
╳X
s
- W
0
? W是各个样本向量自身的外积的和——网
络实现的是自相联映射。
2004-2-18 243
最基本的Hopfield网
?激活函数:
改为S形函数后,系统就成为一个连续系统
?多级循环网络
除输出向量被反馈到输入层外,其它各层之间的
信号传送均执行如下规定:第i-1层神经元的输出
经过第i个连接矩阵被送入第i层。
一般不考虑越层的信号传送、中间的信号反馈和
同层的神经元之间进行信号的直接传送
2004-2-18 244
7.2 稳定性分析
?网络的稳定性是与收敛性不同的问题
? Cohen和Grossberg[1983年]:Hopfield网络
的稳定性定理
如果Hopfield网络的联接权矩阵是对角线为
0的对称矩阵,则它是稳定的
?用著名的Lyapunov函数作为Hopfield网络
的能量函数
2004-2-18 245
Lyapunov函数——能量函数
∑
θ+
∑
?
∑∑
?=
====
h
1j
jj
n
1j
jj
h
1i
h
1j
jiij
ooxoow
2
1
E
?作为网络的稳定性度量
– w
ij
o
i
o
j
:网络的一致性测度。
– x
j
o
j
:神经元的输入和输出的一致性测度。
–θ
j
o
j
:神经元自身的稳定性的测度。
2004-2-18 246
当AN
k
的状态从o
k
变成o
k
′
1、AN
k
是输入神经元
kkkk
kkkk
h
kj&1j
kjjk
h
kj&1j
jkkj
h
kj&1j
jj
n
kj&1j
jj
h
ki&1i
h
kj&1j
jiij
oox
oow
2
1
oow
2
1
oow
2
1
ooxoow
2
1
E
′
θ+
′
?
?
′′
?
∑
′
?
∑
′
?
?
∑
θ+
∑
?
∑∑
?=
′
≠=≠=
≠=≠=≠=≠=
kkkk
h
kjj
jkkj
h
kjj
jj
n
kjj
jj
h
kii
h
kjj
jiij
ooxoow
ooxoow
′
+
′
?
′
?
?+??=
∑
∑∑∑∑
≠=
≠=≠=≠=≠=
θ
θ
&1
&1&1&1&1
2
1
2004-2-18 247
当AN
k
的状态从o
k
变成o
k
′
EEE ?
′
=?
)()(])([
&1
kkkkkk
h
kjj
jkkkj
ooooxooow ?
′
+?
′
??
′
?=
∑
≠=
θ
)]([
&1
kkkk
h
kjj
jkj
ooxow ?
′
?+?=
∑
≠=
θ w
kk
=0
)]([
1
kkkk
h
j
jkj
ooxow ?
′
?+?=
∑
=
θ
kkk
onet ???= )( θ
2004-2-18 248
ΔΕ=-(net
k
-θ
k
)Δo
k
? AN
k
状态的变化:Δo
k
=(o
k
′-o
k
)
?Δo
k
=0,ΔΕ=0
?Δo
k
>0,o
k
′=1& o
k
=0,o
k
由0变到1,
net
k
>θ
k
,net
k
-θ
k
>0
所以,-(net
k
-θ
k
)Δo
k
<0故ΔΕ<0
?Δo
k
<0, o
k
′=0& o
k
=1,o
k
由1变到0
net
k
<θ
k
,net
k
-θ
k
<0
-(net
k
-θ
k
)Δo
k
<0故ΔΕ<0
结论:网络的目标函数总是下降
2004-2-18 249
当AN
k
的状态从o
k
变成o
k
′
2、AN
k
不是输入神经元
kkkkkk
h
kj&1j
kjjk
h
kj&1j
jkkj
h
kj&1j
jj
n
1j
jj
h
ki&1i
h
kj&1j
jiij
ooow
2
1
oow
2
1
oow
2
1
ooxoow
2
1
E
′
θ+
′′
?
∑
′
?
∑
′
?
?
∑
θ+
∑
?
∑∑
?=
′
≠=≠=
≠==≠=≠=
kk
h
kjj
jkkj
h
kjj
jj
n
j
jj
h
kii
h
kjj
jiij
ooow
ooxoow
′
+
′
?
?+??=
∑
∑∑∑∑
≠=
≠==≠=≠=
θ
θ
&1
&11&1&1
2
1
2004-2-18 250
当AN
k
的状态从o
k
变成o
k
′
kkk
kkk
h
1j
jkj
kkk
h
kj&1j
jkj
kkk
h
kj&1j
jkkkj
o)net(
)oo](ow[
)oo](ow[
)oo(]o)oo(w[
EEE
?θ??=
?
′
θ?
∑
?=
?
′
θ?
∑
?=
?
′
θ+
∑
?
′
?=
?
′
=?
=
≠=
≠=
无论AN
k
的状态是如何变化的,总有ΔΕ≤0
2004-2-18 251
7.3 统计Hopfield网与
Boltzmann机
?统计Hopfield网
–在网络运行中,神经元状态与“人工温度”确
定的概率相关
–网络运行模拟金属退火过程
p
i
:AN
i
的状态取1的概率
net
i
:AN
i
所获网络输入;
θ
i
:AN
i
的阈值;
T:系统的人工温度。
)exp(1
1
T
net
p
ii
i
θ?
?+
=
2004-2-18 252
算法7-1 统计Hopfield网运行算法
1取一个很大的值作为人工温度T的初值;
2对网络中每一个神经元AN
i
,
2.1按照相应式子计算相应的概率p
i
;
2.2按照均匀分布,在[0,1]中取一个随机数r;
2.3如果p
i
>r 则使AN
i
的状态为1,
否则使AN
i
的状态为0;
3 逐渐降低温度T,如果温度足够低,则算法结束。
否则,重复2
2004-2-18 253
Boltzmann机的训练
?Boltzmann机是多级循环网络,是Hopfield网
的一种扩展。
?神经元AN
i
实际输出状态o
i
=1的概率为:
)exp(1
1
T
net
p
ii
i
θ?
?+
=
?T趋近于0时,神经元的状态不再具有随机性,
Boltzmann机退化成一般Hopfield网。
2004-2-18 254
Boltzmann机的训练
? Boltzmann机的能量函数(一致性函数)
∑∑
=<
+?=
h
j
jj
ji
jiij
ooowE
1
θ
?神经元AN
i
在运行中状态发生了变化
∑
?=
=?==?
j
ijij
iii
ow
oEoEE
θ
)1()0(
2004-2-18 255
Boltzmann机的训练
?如果ΔΕ
i
>0,则应该选AN
i
输出为1,否则,
应该选AN
i
输出为0。
?ΔΕ
i
的值越大,神经元AN
i
应该处于状态1
的概率就应该越大。反之,ΔΕ
i
的值越小,
神经元AN
i
应该处于状态1的概率就应该越
小。从而,o
i
=1的概率为:
)exp(1
1
T
E
p
i
i
?
?+
=
2004-2-18 256
Boltzmann机的训练
?处于状态a,b的概率P
a
和P
b
,对应于o
i
=1和
o
i
=0,其它的神经元在a,b状态下不变
? P
a
=γp
i
? P
b
=γ(1-p
i
)
)
T
EE
exp(
P
P
ba
b
a
?
?=
2004-2-18 257
Boltzmann机的训练
?网络进行足够多次迭代后,处于某状态的
概率与此状态下的能量和此时系统的温度有
关。
?由于高温时网络的各个状态出现的概率基
本相同,这就给它逃离局部极小点提供了机
会。
?当系统的温度较低时,如果E
a
<E
b
,则
P
a
>P
b
:网络处于较低能量状态的概率较大
2004-2-18 258
Boltzmann机的训练
?1986年,Hinton和Sejnowski训练方法
–自由概率P
ij
-
:没有输入时AN
i
和AN
j
同时
处于激发状态的概率。
–约束概率P
ij
+
:加上输入后AN
i
和AN
j
同时
处于激发状态的概率。
–联接权修改量:Δw
ij
=α( P
ij
+
-P
ij
-
)
2004-2-18 259
算法7-2 Boltzmann机训练算法
1计算约束概率
1.1 对样本集中每个样本,执行如下操作:
1.1.1 将样本加在网络上(输入向量及其
对应的输出向量);
1.1.2 让网络寻找平衡;
1.1.3 记录下所有神经元的状态;
1.2 计算对所有的样本,AN
i
和AN
j
的状态同
时为1的概率P
ij
+
;
2004-2-18 260
算法7-2 Boltzmann机训练算法
2 计算自由概率
2.1 从一个随机状态开始,不加输入、输
出,让网络自由运行,并且在运行过程中
多次纪录网络的状态;
2.2 对所有的AN
i
和AN
j
,计算它们的状
态同时为1的概率P
ij
-
;
3对权矩阵进行调整
Δw
ij
=α(P
ij
+
-P
ij
-
)
2004-2-18 261
7.4 双联存储器的结构
?智力链
–从一件事想到另一件事,“唤回失去的记忆”。
?自相联
?异相联
–双联存储器(Bidirectional Associative Memory—
BAM)。
?双联存储器具有一定的推广能力
–它对含有一定缺陷的输入向量,通过对信号的不
断变换、修补,最后给出一个正确的输出。
2004-2-18 262
基本的双联存储器结构
W
第1层
输入向量
第2层
输出向量
W
T
x
1
x
n
y
m
y
1
……………
2004-2-18 263
网络运行
Y=F(XW)
X=F(YW
T
)
X=(x
1
,x
2
,…,x
n
)
Y=(y
1
,y
2
,…,y
m
)
F为神经元的激活函数,一般可采用S形函数
)netexp(1
1
y
i
i
λ?+
=
2004-2-18 264
激活函数——阈值函数
?随着λ的增加,该函数趋近于阈值为0的阈
值函数。
1ifnet
i
>0
y
i
=0 ifnet
i
<0
y
i
if net
i
=0
λ
2
>λ
1λ
1
λ
2
1/2
2004-2-18 265
基本BAM的稳定
? Kosko(1987):
–基本的双联存储器无条件稳定——联接权矩阵
是互为转置矩阵。
?当输入向量的维数与输出向量的维数相同
时,W为方阵,此时如果联接矩阵W是对
称的,则基本的双联存储器退化成一个
Hopfield网
2004-2-18 266
7.5 异相联存储
?样本集:S={(X
1
,Y
1
),(X
2
,Y
2
)…,(X
s
,Y
s
)}
?权矩阵
∑
=
×=
s
i
i
T
i
YXW
1
?网络需要对输入向量进行循环处理的情况
–当输入向量中含有“噪音”
–样本集所含的信息超出网络的容量
2004-2-18 267
容量
? Kosko(1987),一般情况下,相联存储器的容量
不会超过网络最小层神经元的个数min
? Haines和Hecht-Nielson(1988),“非均匀”网络的
容量最多可以达到2
min
? R. J. McEliece、E. C. Posner、E. R. Rodemich
–用户随机地选择L个状态
–每个向量中有4+log
2
min个分量为1,其它为-1
– 98%的向量成为稳定状态
2
2
2
)4min(log
min68.0
+
<L
2004-2-18 268
7.6 其它的双联存储器
?具有竞争的双联存储器
–可通过附加侧联接实现竞争。这些权构成另一
个主对角线元素为正值,其它元素为负值的权
矩阵。
– Cohen-Grossberg定理指出,如果权矩阵是对
称的,则网络是稳定。
–即使权矩阵不对称,网络通常也是稳定的。但
是目前还不知道哪一类权矩阵会引起不稳定
2004-2-18 269
7.6 其它的双联存储器
?连续的双联存储器
– Kosko(1987)证明,神经元的状态非同步变
换,而且这些神经元使用其他激励函数,仍然
是稳定的,且有更强的表达能力
?自适应双联存储器
–最简单的方法是使用Hebb学习律进行训练。
–Δw
ij
=αo
i
o
j
2004-2-18 270
7.7 Hopfield网解决TSP问题
? 1985年,J. J. Hopfield和D. W. Tank用循环
网求解TSP。试验表明,当城市的个数不超
过30时,多可以给出最优解的近似解。而
当城市的个数超过30时,最终的结果就不
太理想了
? n个城市间存在n!/(2n)条可能路径
?设问题中含有n个城市,用n*n个神经元构成
网络
2004-2-18 271
7.7 Hopfield网解决TSP问题
? d
xy
——城市X与城市Y之间的距离;
? y
xi
——城市X的第i个神经元的状态:
1城市X在第i个被访问
y
xi
=
0城市X不在第i个被访问
? w
xi,yj
——城市X的第i个神经元到城市Y的第
j个神经元的连接权。
2004-2-18 272
7.7 Hopfield网用于解决TSP问题
例如:四个城市X、Y、Z、W
城市名
访问顺序标示
1 2 3 4
X 0 1 0 0
Y 0 0 0 1
Z 1 0 0 0
W 0 0 1 0
2004-2-18 273
7.7 Hopfield网用于解决TSP问题
?联接矩阵
w
xi,yj
= -Aδ
xy
(1-δ
ij
) –Bδ
ij
(1-δ
xy
) –C –ζd
xy
(δ
ji+1
+δ
ji-1
)
1如果i=j
δ
ij
=
0如果i≠j
2004-2-18 274
网络的能量函数
()
∑∑∑
∑∑∑∑∑
∑∑∑
≠
?+
≠
≠
++
?
?
?
?
?++
=
xxzi
zizixixz
xi
xi
ix zx
zixi
xi ij
xjxi
yyyd
D
nyyy
yy
A
E
11
2
2
22
2
??CB
2004-2-18 275
网络的能量函数
? A、B、C、D为惩罚因子
∑∑∑
≠xi ij
xjxi
yy
A
2
第1项
?仅当所有的城市最多只被访问一次时取得
极小值0。
2004-2-18 276
网络的能量函数
∑∑∑
≠
+
ix zx
zixi
yy
B
2
第2项
?仅当每次最多只访问一个城市时取得极小
值0。
2004-2-18 277
网络的能量函数
2
2
?
?
?
?
?
?
?+
∑∑
xi
xi
ny
C
第3项
?当且仅当所有的n个城市一共被访问n次时
才取得最小值0。
2004-2-18 278
网络的能量函数
()
∑∑∑
≠
?+
++
xxzi
zizixixz
yyyd
D
11
2
第4项
?表示按照当前的访问路线的安排,所需要
走的路径的总长度
2004-2-18 279
第8章自适应共振理论
主要内容
1. ART模型的总体结构
2.各模块功能
3.比较层
4.识别层联接矩阵的初始化
5.识别过程与比较过程
6.查找的实现
7. ART的训练。
2004-2-18 280
第8章自适应共振理论
?重点
– ART模型的总体结构
–各模块功能
–识别过程与比较过程
–查找的实现。
?难点
–比较层与识别层联接矩阵的初始化
2004-2-18 281
第8章自适应共振理论
8.1 ART的结构
8.2 ART的初始化
8.2.1 T的初始化
8.2.2 B的初始化
8.2.3 ρ的初始化
8.3 ART的实现
识别、比较、查找、训练
2004-2-18 282
第8章自适应共振理论
网络与样本
新样本集
新添样本
训练
合并
重新训练
新环境下的应用
样本集
环境变化
重新训练
新环境下的应用
应用
2004-2-18 283
第8章自适应共振理论
? Carpenter和Grossberg在1986年:4个样
本组成样本集。这4个样本被周期性地提
交给网络,网络难以收敛
?问题分析
1.网络的LTM只是它最后获得训练时系统所
面临的样本集所蕴含的内容
2.进行的是全部修改,而非部分修改
3.最好是能够实现相关部分的修改
2004-2-18 284
第8章自适应共振理论
?网络的可塑性需要的4项功能
–样本的分类功能
–分类的识别功能
–比较功能
–类的建立功能
? Grossberg等:自适应共振理论——ART
(Adaptive Resonance Theory)
? ART1、ART2。
2004-2-18 285
8.1 ART的结构
?稳定性与可塑性是不同的
– ART是一种循环网络
?保证可塑性的操作要求分析
相似:修改相匹配的模式
新输入向量
与现存模式
不匹配的现存
模式不被修改
不相似:建立一个新模式
2004-2-18 286
ART总体结构图
X
识别层
C(B)
P(T)
R
C
复位
G2
G1
识别控制
比较控制比较层
复位控制
精度控制参数ρ
B—Bottom-up T—Top-down
2004-2-18 287
以比较层和识别层为中心讨论5个功能模块
r
m
r
2
r
1
T
1
p
1
c
1
T
B
B
1
x
1
G1
p
2
c
2
c
n
p
n
复位G2
复位G2
T
2
T
m
B
m
B
2
X
n
G1
x
2
G1
复位G2
…
……
识别层比较层
2004-2-18 288
8.1 ART的结构
X=(x
1
,x
2
,…,x
n
)
R=(r
1
,r
2
,…,r
m
)
C=(c
1
,c
2
,…,c
n
)
P=(p
1
,p
2
,…,p
n
)
T
i
=(t
i1
,t
i2
,…,t
in
)1≤i≤m
B
i
=(b
1i
,b
2i
,…,b
ni
) 1≤i≤m
2004-2-18 289
8.1 ART的结构
? t
ij
表示识别层的第i个神经元到比较层的第j
个神经元的联接权
? b
ij
表示比较层的第i个神经元到识别层的第j
个神经元的联接权
? p
i
为比较层的第i个神经元的网络输入
∑
=
=
m
j
jiji
trp
1
2004-2-18 290
比较层输出信号控制
G1= ┐(r
1
∨r
2
∨…∨r
m
)∧(x
1
∨x
2
∨…∨x
n
)
识别层输出信号控制
G2= x
1
∨x
2
∨…∨x
n
2004-2-18 291
比较层
?执行二-三规则
if x
i
+p
i
+G1≥2 then c
i
=1
if x
i
+p
i
+G1< 2 then c
i
=0
?待命期(X=0)
?工作期(X≠0)
ki
kik
m
1j
jiji
t
tr
trp
=
=
∑
=
=
C=X P=T
k
c
i
=x
i
∧p
i
r
k
=1
2004-2-18 292
识别层
?识别层实现竞争机制
? B
k
与C有最大的点积
}mj1|cbmax{cb
n
1i
n
1i
iijiik
≤≤
∑∑
=
==
∑
=
n
1i
iik
cb
? X的“暂定”代表RN
k
所获得的网络输入为
与RN
1
,RN
2
,…,RN
m
相对应
向量B
1
,B
2
,…,B
m
代表不同分类
2004-2-18 293
识别层
?与RN
1
,RN
2
,…,RN
m
相对应向量B
1
,B
2
,…,
B
m
代表不同分类
? T
1
,T
2
,…,T
m
与向量B
1
,B
2
,…,B
m
相对应——
类的不同表示形式
r
m
r
2
r
1
T
1
p
1
c
1
T
B
B
1
x
1
G1
p
2
c
2
c
n
p
n
复位G2
复位G2
T
2
T
m
B
m
B
2
X
n
G1
x
2
G1
复位G2
…
……
识别层比较层
2004-2-18 294
系统复位控制
X与C的相似度
∑
∑
=
=
=
n
1i
i
n
1i
i
x
c
s
s≥ρ,当前处于激发态的RN
k
所对应的B
k
、
T
k
为X的类表示;
s<ρ,此RN
k
所对应的B
k
、T
k
不能很好地代
表X,需要重新寻找
2004-2-18 295
8.2 ART的初始化
? T的初始化
–矩阵T的所有元素全为1
? B的初始化
b
ij
<L/(L-1+n)
– n为输入向量的维数;L为一个大于1的常数,
其值应该与输入向量的维数相关
– T
k
、B
k
是RN
k
对应类的两种不同表示
?ρ的初始化
–ρ∈[0,1]
2004-2-18 296
8.3 ART的实现
?四个阶段:识别、比较、查找、训练
一、识别
– X 未被加在网上时(X=0)
? G2 = x
1
∨x
2
∨…∨x
n
)=0
? R=(r
1
,r
2
,…,r
m
)=(0,0,…,0)
– X被加在网络上时(X≠0)
? G1 = ┐(r
1
∨r
2
∨…∨r
m
)∧(x
1
∨x
2
∨…∨x
n
) =G2=1
? R=0导致P=(p
1
,p
2
,…,p
m
)= (0,0,…,0)
2004-2-18 297
8.3 ART的实现
?在识别层,每个RN
k
完成的操作
–计算∑b
ik
c
i
–接收来自其它RN的抑制信号,并向其它的RN
发出抑制信号
–确定自己的输出状态
–完成输出
? RN之间的抑制连接与抑制信号
?如果RN
k
输出1,则表明,在本轮识别中,X
暂时被认为是属于该RN
k
所对应的类
2004-2-18 298
二、比较
? X归于RN
k
,RN
k
的输出值1被分别以权重t
kj
传送
到比较层
?向量P就是向量T
k
? T的初始化及训练保证了T的每个元素取值为0或
者1
? B
k
与T
k
根据RN
k
进行对应,互为变换形式
?如果对于所有的j,1≤j≤n,p
j
=x
j
,则表示X获
得良好的匹配。如果存在j,使得p
j
≠x
j
,则表明X
与相应的“类”的代表向量并不完全一致
2004-2-18 299
二、比较
?当系统复位控制模块计算X和C的相似度s
?如果s≥ρ,表明本轮所给出的类满足精度要求。
查找成功,系统进入训练周期
?如果s<ρ,表明本轮所给类不满足精度要求。
–复位模块要求识别层复位,使所有RN输出0
–系统回到开始处理X的初态,重新进行搜索
–复位信号屏蔽本次被激发的RN,在下一轮匹配
中,该RN被排除在外,以便系统能够找到其它
更恰当的RN
2004-2-18 300
三、查找
?如果s≥ρ,认为网络查找成功,此时分类
完成,无需再查找
?如果s<ρ,表明本轮实现的匹配不能满足
要求,此时需要寻找新的匹配向量
?查找过程
2004-2-18 301
三、查找
1 复位模块向识别层发出复位信号
2 所有RN被抑制:R=(r
1
,r
2
,…,r
m
) =(0,
0,…,0),上轮被激发的RN被屏蔽
3 G1的值恢复为1
4 X的值再次被从比较层送到识别层:C=X
5 不同的RN被激发,使得不同的P(T
k
)被反
馈到比较层
6 比较层进行相应的比较,并判定本次匹配
是否满足要求
2004-2-18 302
三、查找
7如果本次匹配不成功,则重复1∽6直到如
下情况之一发生
7.1 本轮匹配成功。表明已找到一个与X
匹配较好的模式,此时,网络进入训练期,
对这个匹配的模式进行适当的修改,使它
能更好地表示X
7.2 网络中现存的模式均不匹配。因此,
网络需要重新构造一个新模式表达此类
2004-2-18 303
三、查找
?网络用一个还未与任何类关联的RN来对应
X所在的类
–根据X修改与此RN对应的T
k
、B
k
–被网络选中的RN
k
对应的T
k
=(1,1,…,1)
– P=(1,1,…,1)被送入比较层。
– C=X∧P=X,被送入系统复位控制模块,s=1。
而ρ≤1,所以,s≥ρ。匹配获得成功
–网络进入训练期
2004-2-18 304
三、查找
?首先被选中的RN不一定对应X属于的类
–受B取法的影响,有时候,获得最大激励值的
RN对应的类不一定是X所属的类
?例如:设n=5,三个输入向量为:
X
1
=(1,0,0,0,0)
X
2
=(1,0,0,1,1)
X
3
=(1,0,0,1,0)
2004-2-18 305
∑
+?
=
=
n
1j
j
i
ik
c1L
Lc
b
三、查找
?假定用(2/2-1+5)初始化B,当X
1
、X
2
被输
入时,RN
1
、RN
2
分别被激发
? T
1
、T
2
、B
1
、B
2
分别取如下值
– T
1
=(1,0,0,0,0),B
1
=(1,0,0,0,0)
– T
2
=(1,0,0,1,1),B
2
=(0.5,0,0,0.5,0.5)
?当X
3
被输入系统时,RN
1
、RN
2
获得的激
励值都是1
– RN
2
被选中,则成功
2004-2-18 306
三、查找
? RN
1
被选中,则不满足精度要求,网络就需
要进入查找工作阶段
?具体过程
1、RN
1
获胜
2、C取值(1,0,0,0,0)
5.0/
5
1
5
1
==
∑∑
== i
i
i
i
xcs
3、
2004-2-18 307
三、查找
4、s<ρ
5、RN
1
被屏蔽
6、网络进入第二个查找周期,RN
2
获胜
7、C取值(1,0,0,1,0)
0.1/
5
1
5
1
==
∑∑
== i
i
i
i
xcs
8、
9、满足精度要求,停止查找,进入训练期
2004-2-18 308
三、查找
? L是常数,当L取其它的值时,将会有不同
的结果
?当RN被系统认为是不能满足精度要求后,
在继续查找过程中,一直被屏蔽
? “查找周期”:网络的五个功能模块之间互
相影响,加上信号的反馈,使得网络中的
信号较为复杂
2004-2-18 309
四、训练
? T
k
、B
k
的修改
∑
+?
=
=
n
1j
j
i
ik
c1L
Lc
b
t
ki
=c
i
2004-2-18 310
四、训练
? T的元素只可能从1变成0,不可能从0变成1:
用1初始化T的所有元素
?如果RN
k
对应的模式代表类{X
1
,X
2
,…,
X
d
},则有T
k
= X
1
∧X
2
∧…∧X
d
?网络将向量共有的东西作为它的类表示,
符合一般意义下“共同特征”的要求
2004-2-18 311
四、训练
∑
+?
=
=
n
1j
j
i
ik
c1L
Lc
b
中含有重要因子
∑
=
n
1j
j
c
2004-2-18 312
四、训练
?∑c
j
可以看成向量C的一个度量
–越大,产生的权值就越小;
–越小,产生的权值就越大。
–当一个向量是另一个向量的子集时,能够获得
较好的操作
?例如——假设无∑c
j
X
1
=(1,0,0,0,0)
X
2
=(1,0,0,1,1)
X
3
=(1,0,0,1,0)
2004-2-18 313
四、训练
?设X
1
、X
2
分别使RN
1
、RN
2
激发
?设T
1
= X
1
、T
2
=X
2
?相应式子中没有∑c
j
,则B
1
=T
1
、B
2
=T
2
?当X
1
再一次被输入时,RN
1
、RN
2
因为获得
的网络输入相同而都有被选中的可能
?如果RN
2
被选中,则会导致网络运行错误,
使得原有的分类被严重破坏
2004-2-18 314
四、训练
?具体过程
①X
1
被再次输入,导致RN
2
被选中;
②识别层将T
2
送入比较层:P= T
2
;
③此时,C=P∧X
1
=X
1
;
④复位控制模块根据C与X
1
计算出s=1;
⑤因为s>ρ,所以对网络进行训练:T
2
=C。
原值被破坏了。当选择一个适当的L,同时在
调整B时保留∑c
j
,就可以避免这个问题
2004-2-18 315
四、训练
?网络的分类并不是一成不变的
?继续使用上面例子中的输入向量,取L=6,
初始化使B的所有元素均取值0.6
1、X
1
的输入导致RN
1
被激发;B
1
被训练后取
值为(1,0,0,0,0)
2、输入X
2
时,RN
1
、RN
2
所获得的网络输入
分别为1和1.8,这导致RN
2
被激发;B
2
被训
练后取值为(0.6,0,0,0.6,0.6)
2004-2-18 316
四、训练
3、如果X
1
再次被输入,RN
1
、RN
2
所获得的
网络输入分别为1和0.6,从而正确的神经元
被激发;如果X
2
再次被输入,RN
1
、RN
2
所
获得的网络输入分别为1和1.8,从而也仍然
有正确的神经元被激发
4、当X
3
被输入时,RN
1
、RN
2
所获网络输入
分别为1和1.2,从而RN
2
被激发,此时,
T
2
=(1,0,0,1,1)被送入比较层,使
得C=T
2
∧X
3
=X
3
。从而导致s=1>ρ
2004-2-18 317
四、训练
5、网络进入训练:T
2
、B
2
被修改
T
2
=(1,0,0,1,0)
B
2
=(6/7,0,0,6/7,0)
6、当再次输入X
2
时,RN
1
、RN
2
所获得的网
络输入分别为:1和12/7,这再次导致RN
2
被激发。但是,此时识别层送给比较层的
T
2
=(1,0,0,1,0)。从而有s=2/3,如
果系统的复位控制参数ρ>2/3,此时系统会
重新为X
3
选择一个新的神经元
2004-2-18 318
四、训练
?可以让ART在训练完成后,再投入运行