2013-3-3 1
人工神经网络
Artificial Neural Networks
2013-3-3 2
课程目的和基本要求
? 作为人工神经网络的入门课程,用于将学
生引入人工神经网络及其应用的研究领域。
? 介绍人工神经网络及其基本网络模型,使
学生
– 了解智能系统描述的基本模型
– 掌握人工神经网络的基本概念、单层网、多层
网、循环网等各种基本网络模型的结构、特点、
典型训练算法、运行方式、典型问题
– 掌握软件实现方法。
2013-3-3 3
课程目的和基本要求
? 了解人工神经网络的有关研究思想,从中
学习开拓者们的部分问题求解方法。
? 通过实验进一步体会有关模型的用法和性
能,获取一些初步的经验。
? 查阅适当的参考文献,将所学的知识与自
己未来研究课题(包括研究生论文阶段的
研究课题)相结合起来,达到既丰富学习
内容,又有一定的研究和应用的目的。
2013-3-3 4
主要内容
? 智能及其实现
? ANN基础
? Perceptron
? BP
? CPN
? 统计方法
? Hopfield网与 BAM
? ART
2013-3-3 5
主要内容
第一章:引论
智能的概念、智能系统的特点及其描述基本
模型,物理符号系统与连接主义的观点及
其比较;人工神经网络的特点、发展历史。
2013-3-3 6
主要内容
第二章 人工神经网络基础
本章在介绍了基本神经元后, 将概要介绍
人工神经网络的一般特性 。 主要包括, 生
物神经网络模型, 人工神经元模型与典型
的激励函数;人工神经网络的基本拓扑特
性, 存 储 类 型 ( CAM── LTM,
AM── STM) 及映象, Supervised训练与
Unsupervised训练 。
2013-3-3 7
主要内容
第三章 感知器
感知器与人工神经网络的早期发展;单层
网能解决线性可分问题,而无法解决线形
不可分问题,要想解决这一问题,必须引
入多层网; Hebb学习律,Delta规则,感知
器的训练算法。
? 实验:实现一个感知器。
2013-3-3 8
主要内容
第四章 向后传播
?BP( Backpropagation)网络的构成及其训
练过程;隐藏层权调整方法的直观分析,BP
训练算法中使用的 Delta规则(最速下降法)
的理论推导;算法的收敛速度及其改进讨论;
BP网络中的几个重要问题。
?实验:实现 BP算法。
2013-3-3 9
主要内容
第五章 对传网
? 生物神经系统与异构网的引入;对传网的
网络结构,Kohonen层与 Grossberg层的正
常运行,对传网的输入向量的预处理,
Kohonen层的训练算法及其权矩阵的初始化
方法; Grossberg层的训练;完整的对传网。
? 实验:实现基本的对传网。
2013-3-3 10
主要内容
第六章 统计方法
? 统计方法是为了解决局部极小点问题而引
入的, 统计网络的基本训练算法, 模拟退
火算法与收敛分析, Cauchy训练, 人工热
处理与临界温度在训练中的使用, BP算法
与 Cauchy训练相结合 。
? 实验:实现模拟退火算法。
2013-3-3 11
主要内容
第七章 循环 网络
? 循环网络的组织, 稳定性分析;相联存储;
统计 Hopfield网与 Boltzmann机; Hopfield
网用于解决 TSP问题 。
? BAM(Bidirectional Associative Memory)
用于实现双联存储;基本双联存储网络的
结构及训练;其他的几种相联存储网络 。
? 实验:实现一个 Hopfield网。
2013-3-3 12
主要内容
第八章 自适应共振理论
? 人脑的稳定性与可塑性问题; ART模型的
总体结构与分块描述;比较层与识别层之
间的两个联接矩阵的初始化,识别过程与
比较过程,查找的实现;训练讨论。
2013-3-3 13
第 1章 引言
? 主要内容,
– 智能与人工智能;
– ANN的特点;
– 历史回顾与展望
? 重点,
– 智能的本质;
– ANN是一个非线性大规模并行处理系统
? 难点,对智能的刻画
2013-3-3 14
第 1章 引言
1.1 人工神经网络的提出
1.2 人工神经网络的特点
1.3 历史回顾
2013-3-3 15
第 1章 引言
? 人类对人工智能的研究可以分成两种方式
对应着 两种不同的技术,
– 传统的人工智能技术 ——心理的角度模拟
– 基于人工神经网络的技术 ——生理的角度模拟
2013-3-3 16
1.1 人工神经网络的提出
? 人工神经网络( Artificial Neural Networks,
简记作 ANN),是对人类大脑系统的一阶
特性的一种描述。简单地讲,它是一个 数
学模型,可以用 电子线路 来实现,也可以
用 计算机程序 来模拟,是人工智能研究的
一种方法。
2013-3-3 17
1.1 人工神经网络的提出
? 1.1.1 智能与人工智能
? 一, 智能的含义
? 智能是个体有目的的行为,合理的思维,
以及有效的、适应环境的综合能力 。
? 智能是个体认识客观事物和运用知识解决
问题的能力 。
? 人类个体的智能是一种综合能力。
2013-3-3 18
1.1 人工神经网络的提出
? 智能可以包含 8个方面
? 感知与认识 客观事物、客观世界和自我的能力
– 感知是智能的基础 ——最基本的能力
? 通过 学习 取得经验与积累知识的能力
– 这是人类在世界中能够不断发展的最基本能力。
? 理解知识, 运用知识 和经验分析、解决问题的能

– 这一能力可以算作是智能的高级形式 。 是人类对世界
进行适当的改造, 推动社会不断发展的基本能力 。
2013-3-3 19
1.1 人工神经网络的提出
? 联想、推理、判断、决策语言 的能力
– 这是智能的高级形式的又一方面。
– 预测和认识
–,主动”和“被动”之分。联想、推理、判断、
决策的能力是“主动”的基础。
? 运用进行抽象、概括的能力
? 上述这 5种能力,被认为是人类智能最为 基
本的能力
2013-3-3 20
1.1 人工神经网络的提出
? 作为 5种能力综合表现形式的 3种能力
– 发现、发明、创造、创新的能力
– 实时、迅速、合理地应付复杂环境的能

– 预测、洞察事物发展、变化的能力
2013-3-3 21
1.1 人工神经网络的提出
? 二、人工智能
? 人工智能:研究如何使类似计算机这样的设备去
模拟人类的这些能力。
? 研究人工智能的目的
– 增加人类探索世界,推动社会前进的能力
– 进一步认识自己
? 三大学术流派
– 符号主义(或叫做符号 /逻辑主义)学派
– 联接主义(或者叫做 PDP)学派
– 进化主义(或者叫做行动 /响应)学派
2013-3-3 22
1.1 人工神经网络的提出
? 1.1.2 物理符号系统
?
人脑的反映 形式化
现实 信息 数据
物理系统 物理符号系统
表现智能
2013-3-3 23
1.1 人工神经网络的提出
? Newell和 Simon假说,一个物理系统表现
智能行为的充要条件是它有一个物理符号
系统
? 概念:物理符号系统需要有一组称为符号
的实体组成,它们都是物理模型,可以在
另一类称为符号结构的实体中作为成分出
现,以构成更高级别的系统
2013-3-3 24
1.1 人工神经网络的提出
? 困难,
– 抽象 ——舍弃一些特性, 同时保留一些特性
– 形式化处理 ——用物理符号及相应规则表达物
理系统的存在和运行 。
? 局限,
– 对全局性判断、模糊信息处理、多粒度的视觉
信息处理等是非常困难的。
2013-3-3 25
1.1 人工神经网络的提出
? 1.1.3 联接主义观点
? 核心:智能的本质是联接机制。
? 神经网络是一个由大量简单的处理单元组
成的高度复杂的大规模非线性自适应系统
? ANN力求从四个方面去模拟人脑的智能行为
– 物理结构
– 计算模拟
– 存储与操作
– 训练
2013-3-3 26
1.1 人工神经网络的提出
? 1.1.4 两种模型的比较
心理过程 逻辑思维 高级形式 ( 思维的表象 )
生理过程 形象思维 低级形式 ( 思维的根本 )
仿生 人工神经网络
联结主义观点
物理符号系统
2013-3-3 27
1.1 人工神经网络的提出
? 物理符号系统和人工神经网络系统的差别
项目 物理符号系统 人工神经网络
处理方式 逻辑运算 模拟运算
执行方式 串行 并行
动作 离散 连续
存储 局部集中 全局分布
2013-3-3 28
1.1 人工神经网络的提出
? 两种人工智能技术的比较
项目 传统的 AI技术 ANN技术
基本实现
方式
串行处理;由程序实现
控制
并行处理;对样本数据进行多目标学习;
通过人工神经元之间的相互作用实现控制
基本开发
方法
设计规则, 框架, 程序;
用样本数据进行调试
( 由人根据已知的环境
去构造一个模型 )
定义人工神经网络的结构原型,通过样本
数据,依据基本的学习算法完成学习 ——
自动从样本数据中抽取内涵(自动适应应
用环境)
适应领域 精确计算:符号处理,
数值计算
非精确计算:模拟处理,感觉,大规模数
据并行处理
模拟对象 左脑 ( 逻辑思维 ) 右脑 ( 形象思维 )
2013-3-3 29
1.2 人工神经网络的特点
?信息的分布表示
?运算的全局并行和局部操作
?处理的非线性
2013-3-3 30
1.2.1 人工神经网络的概念
?1、定义
?1) Hecht—Nielsen( 1988年 )
人工神经网络是一个并行、分布处理结构,它由
处理单元及其称为联接的无向讯号通道互连而成。
这些处理单元( PE—Processing Element)具有
局部内存,并可以完成局部操作。每个处理单元
有一个单一的输出联接,这个输出可以根据需要
被分枝成希望个数的许多并行联接,且这些并行
联接都输出相同的信号,即相应处理单元的信号,
信号的大小不因分支的多少而变化。
2013-3-3 31
1.2.1 人工神经网络的概念
? ( 1) Hecht—Nielsen( 1988年)(续)
? 处理单元的输出信号可以是任何需要
的数学模型,每个处理单元中进行的
操作必须是完全局部的。也就是说,
它必须仅仅依赖于经过输入联接到达
处理单元的所有输入信号的当前值和
存储在处理单元局部内存中的值。
2013-3-3 32
1.2.1 人工神经网络的概念
? 强调,
– ① 并行, 分布处理结构;
– ② 一个处理单元的输出可以被任意分枝, 且
大小不变;
– ③ 输出信号可以是任意的数学模型;
– ④ 处理单元完全的局部操作
2013-3-3 33
1.2.1 人工神经网络的概念
? ( 2) Rumellhart,McClelland,Hinton的 PDP
? 1) 一组处理单元 ( PE或 AN) ;
? 2) 处理单元的 激活状态 ( ai) ;
? 3) 每个处理单元的 输出函数 ( fi) ;
? 4) 处理单元之间的 联接模式 ;
? 5) 传递规则 ( ∑wijoi) ;
? 6) 把处理单元的输入及当前状态结合起来产生
激活值的 激活规则 ( Fi) ;
? 7) 通过经验修改联接强度的 学习规则 ;
? 8) 系统运行的环境 ( 样本 集合 ) 。
2013-3-3 34
1.2.1 人工神经网络的概念
? ( 3) Simpson( 1987年 )
? 人工神经网络是一个非线性的有向图,图
中含有可以通过改变权大小来存放模式的
加权边,并且可以从不完整的或未知的输
入找到模式。
2013-3-3 35
1.2.1 人工神经网络的概念
? 2,关键点
? ( 1) 信息的分布表示
? ( 2) 运算的全局并行与局部操作
? ( 3) 处理的非线性特征
? 3,对大脑基本特征的模拟
? 1) 形式上:神经元及其联接; BN对 AN
? 2) 表现特征:信息的存储与处理
2013-3-3 36
1.2.1 人工神经网络的概念
? 4,别名
? 人工神经系统 ( ANS)
? 神经网络 ( NN)
? 自适应系统 ( Adaptive Systems), 自适应
网 ( Adaptive Networks)
? 联接模型 ( Connectionism)
? 神经计算机 ( Neurocomputer)
2013-3-3 37
1.2.2 学习( Learning)能力
? 人工神经网络可以根据所在的环境去改变
它的行为
? 自相联的网络
? 异相联的网络, 它在接受样本集合 A时, 可
以抽取集合 A中输入数据与输出数据之间的
映射关系 。 ——―抽象, 功能 。
? 不同的人工神经网络模型,有不同的学习 /
训练算法
2013-3-3 38
1.2.3 基本特征的自动提取
? 由于其运算的 不精确性, 表现成, 去噪音,
容残缺, 的能力, 利用这种不精确性, 比
较自然地实现模式的自动分类 。
? 普化( Generalization)能力与抽象能力
2013-3-3 39
1.2.4 信息的分布存放
? 信息的分布存提供容错功能
– 由于信息被分布存放在几乎整个网络中,所以,当其
中的某一个点或者某几个点被破坏时,信息仍然可以
被存取。
? 系统在受到 局部 损伤时还可以正常工作。
? 并不是说可以任意地对完成学习的网络进行修改。
也正是由于信息的分布存放,对一类网来说,当
它完成学习后,如果再让它学习新的东西,这时
就会破坏原来已学会的东西。
2013-3-3 40
1.2.5适应性 (Applicability)问题
? 擅长两个方面,
– 对大量的数据进行分类, 并且只有较少的几种
情况;
– 必须学习一个复杂的非线性映射 。
? 目前应用,
– 人们主要将其用于语音、视觉、知识处理、辅
助决策等方面。
– 在数据压缩、模式匹配、系统建模、模糊控制、
求组合优化问题的最佳解的近似解(不是最佳
近似解)等方面也有较好的应用。
2013-3-3 41
1.3 历史回顾
? 1.3.1 萌芽期 ( 20世纪 40年代 )
? 人工神经网络的研究最早可以追溯到人类
开始研究自己的智能的时期, 到 1949年止 。
? 1943年, 心理学家 McCulloch和数学家 Pitts
建立起了著名的阈值加权和模型, 简称为
M-P模型 。 发表于数学生物物理学会刊
,Bulletin of Methematical Biophysics,
? 1949年,心理学家 D,O,Hebb提出神经元之
间突触联系是可变的假说 ——Hebb学习律。
2013-3-3 42
1.3.2 第一高潮期( 1950~1968)
? 以 Marvin Minsky, Frank Rosenblatt,
Bernard Widrow等为代表人物, 代表作是
单级感知器 ( Perceptron) 。
? 可用电子线路模拟 。
? 人们乐观地认为几乎已经找到了智能的关
键。许多部门都开始大批地投入此项研究,
希望尽快占领制高点。
2013-3-3 43
1.3.3 反思期( 1969~1982)
? M,L,Minsky和 S,Papert,,Perceptron》,
MIT Press,1969年
? 异或, 运算不可表示
? 二十世纪 70年代和 80年代早期的研究结果
? 认识规律:认识 ——实践 ——再认识
2013-3-3 44
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
1 11 01 1
)()()()(
2
1 ????
2013-3-3 45
1.3.4 第二高潮期( 1983~1990)
? 2) 1984年,J,Hopfield设计研制了后来被
人们称为 Hopfield网 的电路。较好地解决了
著名的 TSP问题,找到了最佳解的近似解,
引起了较大的轰动。
? 3) 1985年,UCSD的 Hinton,Sejnowsky、
Rumelhart等人所在的并行分布处理( PDP)
小组的研究者在 Hopfield网络中引入了随机
机制,提出所谓的 Boltzmann机 。
2013-3-3 46
1.3.4 第二高潮期( 1983~1990)
? 4 ) 1986 年, 并 行 分 布 处 理 小 组 的
Rumelhart等研究者重新独立地提出多层网
络的学习算法 ——BP算法, 较好地解决了
多层 网络的学习 问题 。 ( Paker1982 和
Werbos1974年 )
? 国内首届神经网络大会 是 1990年 12月在北
京举行的 。
2013-3-3 47
1.3.5 再认识与应用研究期
( 1991~)
? 问题,
? 1) 应用面还不够宽
? 2) 结果不够精确
? 3) 存在可信度的问题
2013-3-3 48
1.3.5 再认识与应用研究期
( 1991~)
? 研究,
? 1) 开发现有模型的应用, 并在应用中根据实际运
行情况对模型, 算法加以改造, 以提高网络的训
练速度和运行的准确度 。
? 2) 充分发挥两种技术各自的优势是一个有效方法
? 3) 希望在理论上寻找新的突破, 建立新的专用 /
通用模型和算法 。
? 4) 进一步对生物神经系统进行研究, 不断地丰富
对人脑的认识 。
2013-3-3 49
第 2章 人工神经网络基础
? 主要内容,
– BN与 AN;
– 拓扑结构;
– 存储;
– 训练
? 重点,AN;拓扑结构;训练
? 难点,训练
2013-3-3 50
第 2章 人工神经网络基础
2.1 生物神经网
2.2 人工神经元
2.3 人工神经网络的拓扑特性
2.4 存储与映射
2.5 人工神经网络的训练
2013-3-3 51
2.1 生物神经网
1、构成
胞体 (Soma)
枝蔓 ( Dendrite)
胞体 (Soma)
轴突( Axon)
突触( Synapse)
2、工作过程
2013-3-3 52
2.1 生物神经网
? 3,六个基本特征,
– 1) 神经元及其联接 ;
– 2) 神经元之间的联接强度决定 信号传递 的强弱;
– 3) 神经元之间的联接强度是可以随 训练 改变的;
– 4) 信号可以是起 刺激 作用的, 也可以是起 抑制 作
用的;
– 5) 一个神经元接受的信号的 累积效果 决定该神经
元的状态;
– 6) 每个神经元可以有一个, 阈值, 。
2013-3-3 53
2.2 人工神经元
? 神经元是构成神经网络的最基本单元 ( 构
件 ) 。
? 人工神经元模型应该具有生物神经元的六
个基本特性。
2013-3-3 54
2.2.1 人工神经元的基本构成
? 人工神经元模拟生物神经元的 一阶特性 。
– 输入,X=( x1,x2,…, xn)
– 联接权,W=( w1,w2,…, wn) T
– 网络输入,net=∑xiwi
– 向量形式,net=XW
xn wn

x1 w1
x2 w2
net=XW …
2013-3-3 55
2.2.2 激活函数 (Activation Function)
? 激活函数 ——执行对该神经元所获得的网
络输入的变换, 也可以称为激励函数, 活
化函数,o=f( net)
? 1、线性函数( Liner Function)
f( net) =k*net+c
net
o
o
c
2013-3-3 56
2、非线性斜面函数 (Ramp Function)
γ if net≥θ
f( net) = k*net if |net|<θ
-γ if net≤-θ
? γ>0为一常数,被称为饱和值,为该神经元
的最大输出。
2013-3-3 57
2、非线性斜面函数( Ramp
Function)
γ

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

θ
o
net 0
2013-3-3 60
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形函数有较好的增益控制
2013-3-3 61
4,S形函数
a+b
o
(0,c) net
a
c=a+b/2
2013-3-3 62
2.2.3 M-P模型
x2 w2
∑ f
o=f( net)
xn wn

net=XW
x1 w1
McCulloch—Pitts( M—P)模型,
也称为处理单元( PE)
2013-3-3 63
上次课内容回顾
? 擅长两个方面
? 目前应用
– 语音、视觉、知识处理
– 数据压缩、模式匹配、系统建模、模糊控制、求
组合优化问题的最佳解的近似解(不是最佳近似
解)
– 辅助决策 ——预报与智能管理
– 通信 —— 自适应均衡、回波抵消、路由选择、
ATM中的呼叫接纳、识别与控制
– 空间科学 —— 对接、导航、制导、飞行程序优化
2013-3-3 64
上次课内容回顾
? 发展过程
– 萌芽期( 20世纪 40年代)
? M-P模型
? Hebb学习律
– 第一高潮期( 1950~1968)
? Perceptron的兴衰
– 反思期( 1969~1982)
– 第二高潮期( 1983~1990)
? 4个标志性成果
– 再认识与应用研究期( 1991~)
2013-3-3 65
上次课内容回顾
? 生物神经网 六个基本特征
– 神经元及其联接, 信号传递, 训练, 刺激 与 抑
制, 累积效果,, 阈值, 。
? 人工神经元的基本构成
xn wn

x1 w1
x2 w2
net=XW …
2013-3-3 66
上次课内容回顾
? 激活函数与 M-P模型
– 线性函数、非线性斜面函数,阈值函数
– S形函数
– M-P模型
x2 w2
∑ f
o=f( net)
xn wn

net=XW
x1 w1
2013-3-3 67
2.3 人工神经网络的拓扑特性
连接的拓扑表示
ANi wij ANj
2013-3-3 68
2.3.1 联接模式
? 用正号 (, +‖,可省略 ) 表示传送来的信
号起 刺激 作用, 它用于增加神经元的活跃
度;
? 用负号 (, -‖) 表示传送来的信号起 抑制 作
用, 它用于降低神经元的活跃度 。
? 层次 (又称为, 级, )的划分,导致了神
经元之间的三种不同的 互连模式,
2013-3-3 69
2.3.1 联接模式
? 1,层(级)内联接
– 层内联接又叫做区域内( Intra-field)联
接或侧联接( Lateral)。
– 用来加强和完成层内神经元之间的竞争
? 2,循环联接
– 反馈信号。
2013-3-3 70
2.3.1 联接模式
? 3、层(级)间联接
– 层间 ( Inter-field) 联接指不同层中的神
经元之间的联接 。 这种联接用来实现层
间的信号传递
– 前馈信号
– 反馈信号
2013-3-3 71
2.3.2 网络的分层结构
? 单级网
– 简单单级网
2013-3-3 72
简单单级网
… …
x1
x2

xn
o1
o2
om
wnm
w11
w1m
w2m
wn1
输出层 输入层
2013-3-3 73
简单单级网
– W=( wij)
– 输出层的第 j个神经元的网络输入记为
netj,
– netj=x1w1j+x2w2j+… +xnwnj
– 其中,1≤ j ≤ m。 取
– NET=( net1,net2,…, netm)
– NET=XW
– O=F( NET)
2013-3-3 74
单级横向反馈网
输出层
x1 o1 w11
w1m
x2 o2
w2m
… … …
xn om
wn1
输入层
V
2013-3-3 75
单级横向反馈网
? 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的情况 。
? 稳定性判定
2013-3-3 76
多级网
输出层 隐藏层 输入层
o1
o2
om

x1
x2
xn
… … … … … …
2013-3-3 77
? 层次划分
– 信号只被允许从较低层流向较高层 。
– 层号确定层的高低:层号较小者, 层次
较低, 层号较大者, 层次较高 。
– 输入层,被记作第 0层 。 该层负责接收来
自网络外部的信息
输出层 隐藏层 输入层
o1
o2
om

x1
x2
xn
… … … … … …
2013-3-3 78
– 第 j层,第 j-1层的直接后继层 ( j>0), 它直接
接受第 j-1层的输出 。
– 输出层,它是网络的最后一层, 具有该网络的
最大层号, 负责输出网络的计算结果 。
– 隐藏层,除输入层和输出层以外的其它各层叫
隐藏层。隐藏层不直接接受外界的信号,也不
直接向外界发送信号
输出层 隐藏层 输入层
o1
o2
om

x1
x2
xn
… … … … … …
2013-3-3 79
? 约定,
– 输出层的层号为该网络的层数,n层网络, 或 n级
网络 。
– 第 j-1层到第 j层的联接矩阵为第 j层联接矩阵, 输
出层对应的矩阵叫输出层联接矩阵 。 今后, 在需
要的时候, 一般我们用 W( j) 表示第 j层矩阵 。
输出层 隐藏层 输入层
o1
o2
om

x1
x2
xn
… … … … … …
W(1) W(2) W(3) W(h)
2013-3-3 80
多级网 ——h层网络
输出层 隐藏层 输入层
o1
o2
om

x1
x2
xn
… … … … … …
W(1) W(2) W(3) W(h)
2013-3-3 81
多级网
? 非线性激活函数
–F(X)=kX+C
–F3(F2(F1(XW(1))W(2))W(3))
2013-3-3 82
循环网
x1 o1
输出层 隐藏层 输入层
x2 o2
om xn
… … … … … … …
2013-3-3 83
循环网
? 如果将输出信号反馈到输入端,就可构成一个多层
的循环网络 。
? 输入的原始信号被逐步地, 加强,, 被, 修复, 。
? 大脑的 短期记忆特征 ——看到的东西不是一下子
就从脑海里消失的 。
? 稳定,反馈信号会引起网络输出的不断变化。我
们希望这种变化逐渐减小,并且最后能消失。当
变化最后消失时,网络达到了平衡状态。如果这
种变化不能消失,则称该网络是不稳定的。
2013-3-3 84
2.4 存储与映射
? 空间模式 ( Spatial Model)
? 时空模式 ( Spatialtemporal Model)
? 空间模式三种 存储类型
? 1,RAM方式 ( Random Access Memory)
– 随机访问方式是将地址映射到数据 。
? 2,CAM方式 ( Content Addressable Memory)
– 内容寻址方式是将数据映射到地址 。
? 3,AM方式 ( Associative Memory)
– 相联存储方式是将数据映射到数据 。
2013-3-3 85
2.4 存储与映射
? 后续的两种方式是人工神经网络的工作方式 。
? 在学习 /训练期间, 人工神经网络以 CAM方
式工作;权矩阵又被称为网络的 长期存储
( Long Term Memory,简记为 LTM) 。
? 网络在正常工作阶段是以 AM方式工作的;
神经元的状态表示的模式为 短期存储 ( Short
Term Memory,简记为 STM) 。
2013-3-3 86
2.4 存储与映射
? 自相联 ( Auto-associative) 映射, 训练网络
的样本集为向量集合为
{A1,A2,…, An}
? 在理想情况下,该网络在完成训练后,其
权矩阵存放的将是上面所给的向量集合。
2013-3-3 87
2.4 存储与映射
? 异相联 ( Hetero-associative) 映射
{( A1,B1), ( A2,B2), …, ( An,Bn) }
? 该网络在完成训练后, 其权矩阵存放的将是上面
所给的向量集合所蕴含的对应关系 。
? 当输入向量 A不是样本的第一的分量时, 样本中
不存在这样的元素 ( Ak,Bk), 使得
Ai≤A k≤A 或者 A≤A k≤A j
? 且此时有
Ai≤A≤A j
? 则向量 B是 Bi与 Bj的插值。
2013-3-3 88
2.5 人工神经网络的训练
? 人工神经网络最具有吸引力的特点是它的
学习能力 。
? 1962年, Rosenblatt给出了人工神经网络著
名的学习定理:人工神经网络可以学会它
可以表达的任何东西 。
? 人工神经网络的表达能力大大地限制了它
的学习能力 。
? 人工神经网络的学习过程就是对它的训练
过程
2013-3-3 89
2.5.1无导师学习
? 无导师学习 (Unsupervised Learning)与无导
师训练 (Unsupervised Training)相对应
? 抽取样本集合中蕴含的统计特性, 并以神
经元之间的联接权的形式存于网络中 。
2013-3-3 90
2.5.1无导师学习
? Hebb学习律, 竞争与协同 ( Competitive
and Cooperative) 学习, 随机联接系统
( Randomly Connected Learning) 等 。
? Hebb算法 [D,O,Hebb在 1961年 ]的核心,
– 当两个神经元同时处于激发状态时被加
强, 否则被减弱 。
– 数学表达式表示,
? Wij( t+1) =Wij( t) +αoi( t) oj( t)
2013-3-3 91
2.5.2 有导师学习
? 有导师学习 (Supervised Learning)与有导师训练
(Supervised Training)相对应 。
? 输入向量与其对应的输出向量构成一个, 训练
对, 。
? 有导师学习的训练算法的主要步骤包括,
1) 从样本集合中取一个样本 ( Ai,Bi) ;
2) 计算出网络的实际输出 O;
3) 求 D=Bi-O;
4) 根据 D调整权矩阵 W;
5) 对每个样本重复上述过程, 直到对整个样本集来
说, 误差不超过规定范围 。
2013-3-3 92
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- aj(t)
Grossberg的写法为,
? Wij(t)=α ai(t)(oj(t)-Wij(t))
更一般的 Delta规则为,
? Wij(t)=g(ai(t),yj,oj(t),Wij(t))
2013-3-3 93
其它
? 再例学习
– 外部环境对系统的输出结果给出评价,学习系
统通过强化受奖的动作来改善自身性能。
? 学习规则
– 误差纠错学习
– Hebb学习
– 竞争学习
2013-3-3 94
练习题
? P29 1,4,6,10,15
2013-3-3 95
上次课内容回顾,网络的分层结构
? 联接模式
– 刺激联接与抑制联接
– 前馈信号与反馈信号
– 层(级)内联接
– 循环联接
– 层(级)间联接
? 简单单级网,NET=XW; O=F(NET)
? 单级横向反馈网, NET=XW+O(t)V;O (t) =F(NET)
2013-3-3 96
上次课内容回顾,网络的分层结构
? 非循环多级网
– 层次划分
– 非线性激活函数,F3(F2(F1(XW1)W2)W3)
? 循环网
– 短期记忆特征及其对输入信号的修复作用
– 时间参数与主时钟
– 稳定性
2013-3-3 97
上次课内容回顾,存储与映射
? 模式
– 空间模式
– 时空模式
? 模式三种 存储类型
– RAM, CAM,AM
? 模式的存储与运行
– CAM——LTM——训练
– AM——STM——运行
– 相联:自相联映射, 异相联映射
2013-3-3 98
上次课内容回顾,训练
? Rosenblatt的 学习定理
? 无导师学习
– 抽取样本集合中蕴含的统计特性
– 样本集,{A1,A2,…, An}
? Hebb算法,Wij(t+1)=Wij(t)+αoi(t)oj(t)
? 有导师学习
– 抽取样本蕴含的映射关系
– 样本集,{(A1,B1),(A2,B2),…, (An,Bn)}
– 训练算法
? Delta规则
2013-3-3 99
第 3章 感知器
? 主要内容,
– 感知器与人工神经网络的早期发展;
– 线性可分问题与线性不可分问题;
– Hebb学习律;
– Delta规则 ;
– 感知器的训练算法 。
? 重点,感知器的结构, 表达能力, 学习算法
? 难点,感知器的表达能力
2013-3-3 100
第 3章 感知器
3.1 感知器与人工神经网络的早期发展
3.2 感知器的学习算法
3.2.1 离散单输出感知器训练 算法
3.2.2 离散多输出感知器训练 算法
3.2.3 连续多输出感知器训练 算法
3.3 线性不可分问题
3.3.1 异或 (Exclusive –OR)问题
3.3.2 线性不可分问题的克服
实现!
问题的发现与解决!
2013-3-3 101
3.1 感知器与 ANN的早期发展
McCulloch 和 Pitts 1943年, 发表第一个系统的
ANN研究 ——阈值加权和 (M-P)数学模型 。
1947年, 开发出感知器 。
1949年, 提出 Hebb学习律 。
单输出的感知器 (M-P模型 )
x2
x1
o
xn

2013-3-3 102
3.1 感知器与 ANN的早期发展
? 1962年,Rosenblatt宣布:人工神经网络可
以学会它能表示的任何东西
o1
多输出感知器
x1
x2 o2
om xn
… … … …
输入层 输出层
2013-3-3 103
3.2 感知器的学习算法
? 感知器的学习是有导师学习
? 感知器的训练算法的基本原理来源于著名
的 Hebb学习律
? 基本思想:逐步地将样本集中的样本输入
到网络中,根据输出结果和理想输出之间的
差别来调整网络中的权矩阵
2013-3-3 104
3.2.1离散单输出感知器训练算法
? 二值网络:自变量及其函数的值, 向量分
量的值只取 0和 1函数, 向量 。
? 权向量,W=(w1,w2,…, wn)
? 输入向量,X=(x1,x2,…, xn)
? 训练样本集,
– {(X,Y)|Y为输入向量 X对应的输出 }
2013-3-3 105
算法 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
2013-3-3 106
3.2.2离散多输出感知器训练算法
? 样本集,{(X,Y)|Y为输入向量 X对应的输出 }
? 输入向量,X=(x1,x2,…,xn)
? 理想输出向量,Y=(y1,y2,…,ym)
? 激活函数,F
? 权矩阵 W=(wij)
? 实际输出向量,O=(o1,o2,…,om)
o1
多输出感知器
x1
x2 o2
om xn
… … … …
输入层 输出层
2013-3-3 107
算法 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 oj ≠ yj then
if oi = 0 then for i = 1 to n
wij=wij+xi
else for i= 1 to n do
wij=wij-xi
2013-3-3 108
算法 3-2离散多输出感知器训练算法
? 算法思想,将单输出感知器的处理逐个地
用于多输出感知器输出层的每一个神经元
的处理 。
? 第 1步,权矩阵的初始化,一系列小伪随机
数。
2013-3-3 109
算法 3-2离散多输出感知器训练算法
? 第 2步, 循环控制 。
? 方法 1:循环次数控制法,对样本集执行规
定次数的迭代
? 改进 ——分阶段迭代控制:设定一个基本
的迭代次数 N,每当训练完成 N次迭代后,
就给出一个中间结果
2013-3-3 110
算法 3-2离散多输出感知器训练算法
? 方法 2:精度控制法,给定一个精度控制参

– 精度度量:实际输出向量与理想输出向
量的对应分量的差的绝对值之和;
– 实际输出向量与理想输出向量的欧氏距
离的和
–, 死循环,,网络无法表示样本所代表
的问题
2013-3-3 111
算法 3-2离散多输出感知器训练算法
? 方法 3,综合控制法,将这两种方法结合起
来使用
? 注意:精度参数的设置。根据实际问题选
定;初始测试阶段,精度要求低,测试完
成后,再给出实际的精度要求。
2013-3-3 112
3.2.3 连续多输出感知器训练算法
? 用公式 wij=wij+α( yj-oj) xi取代了算法 3-2
第 2.1.3步中的多个判断
? yj与 oj之间的差别对 wij的影响由 α( yj-oj) xi
表现出来
? 好处:不仅使得算法的控制在结构上更容
易理解,而且还使得它的适应面更宽
2013-3-3 113
算法 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( =(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
2013-3-3 114
算法 3-3 连续多输出感知器训练算法
1,程序实现,ε,α,d,i,j,n,m为简单变量来表示,
W为 n行 m列的二维数组 。 样本集二维数组
2,系统的调试
3,Minsky在 1969年证明, 有许多基本问题是感知器无
法解决
4,问题线性可分性可能与时间有关
5,很难从样本数据集直接看出问题是否线性可分
6,未能证明, 一个感知器究竟需要经过多少步才能完
成训练 。
2013-3-3 115
3.3 线性不可分问题
3.3.1 异或 (Exclusive –OR)问题
g( x,y)
y
0
1
x
0
0
1
1
1
0
2013-3-3 116
用于求解 XOR的单神经元感知器
x
y
o
单神经元感知器 的图像
ax+by=θ
1
y
x
1 (0,0)
(1,1)
2013-3-3 117
线性不可分函数
变量 函数及其值
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 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
2013-3-3 118
线性不可分函数
? R,O,Windner 1960年
自变量个数 函数的个数 线性可分函数的个数
1 4 4
2 16 14
3 256 104
4 65,536 1882
5 4.3*109 94,572
6 1.8*1019 5,028,134
2013-3-3 119
3.3.2 线性不可分问题的克服
? 用多个单级网组合在一起,并用其中的一
个去综合其它单级网的结果,我们就可以
构成一个两级网络,该网络可以被用来在
平面上划分出一个封闭或者开放的凸域来
? 一个非凸域可以拆分成多个凸域。按照这
一思路,三级网将会更一般一些,我们可
以用它去识别出一些非凸域来。
? 解决好隐藏层的联接权的调整问题是非常
关键的
2013-3-3 120
两级单输出网在 n维空间中划分
出 m边凸域

x1
ANm
AN1
ANo
xn

o
2013-3-3 121
第 1次课堂测试( 5分 *4)
1,Newell和 Simon的物理符号系统所基于的
假说是什么? 它在什么层面上如何实现对
人类智能的模拟?
2,联接主义观点所基于的假说是什么? 它在
什么层面上如何实现对人类智能的模拟?
3,画出有导师算法的流程图 。
4,证明:一个激活函数为线性函数的 3级非
循环网等价于一个单级网 。
2013-3-3 122
习题
? P38 1,6
2013-3-3 123
第 1次课堂测试解答要点
1,Newell和 Simon的物理符号系统所基于的
假说是什么? 它在什么层面上如何实现对
人类智能的模拟?
要点:物理符号系统;心理;符号对事务及变换
的描述
2,联接主义观点所基于的假说是什么? 它在
什么层面上如何实现对人类智能的模拟?
要点:联接机制;生理;模式, 联接权的调整
与对变换的表示
2013-3-3 124
第 1次课堂测试解答要点
3,画出有导师学习算法的流程图 。
要点:如何处理精度与样本集两层循环
4,证明:一个激活函数为线性函数的 3级非
循环网等价于一个单级网 。
要点:一级网与多级网的的数学模型
2013-3-3 125
上次课内容回顾,学习算法
? 离散单输出感知器训练算法
– W=W+X;W=W-X
– W=W+(Y-O)X
? 离散多输出感知器训练算法
– Wj=Wj+(yj-oj)X
? 连续多输出感知器训练算法
– wij=wij+α(yj-oj)xi
2013-3-3 126
上次课内容回顾,线性不可分问题
ax+by=θ
1
y
x
1 (0,0)
(1,1)
? 线性不可分问题的克服
?两级网络可以划分出封闭或开放的凸域
? 多级网将可以识别出非凸域
?隐藏层的联接权的调整问题是非常关键
2013-3-3 127
第 4章 BP网络
? 主要内容,
– BP网络的构成
– 隐藏层权的调整分析
– Delta规则理论推导
– 算法的收敛速度及其改进讨论
– BP网络中的几个重要问题
? 重点,BP算法
? 难点,Delta规则的理论推导
2013-3-3 128
第 4章 BP网络
4.1 概述
4.2 基本 BP算法
4.3 算法的改进
4.4 算法的实现
4.5 算法的理论基础
4.6 几个问题的讨论
2013-3-3 129
4.1 概述
1,BP算法的出现
非循环多级网络的训练算法
UCSD PDP小组的 Rumelhart,Hinton和 Williams1986年
独立地给出了 BP算法清楚而简单的描述
1982年, Paker就完成了相似的工作
1974年, Werbos已提出了该方法
2,弱点,训练速度非常慢, 局部极小点的逃离问题,
算法不一定收敛 。
3,优点,广泛的适应性和有效性 。
2013-3-3 130
4.2 基本 BP算法
? 4.2.1 网络的构成
神经元的网络输入,
neti=x1w1i+x2w2i+… +xnwni
神经元的输出,
n e ten e tfo ???? 1
1)(
)1()(
)1(
1
)( 22 ooooe
e
n e tf n e tn e t ?????
?
??? ??
2013-3-3 131
输出函数分析
0.5
f ′(net)
0.25
o
0 1
1
( 0,0.5)
net
( 0,0)
o
n e teo ??? 1
1
– 应该将 net的值尽量控制在收敛比较快的范围

– 可以用其它的函数作为激活函数, 只要该函数
是处处可导的
2013-3-3 132
网络的拓扑结构
x1 o1
输出层 隐藏层 输入层
x2 o2
om xn
… … … … … … …
W(1) W(2) W(3) W(L)
2013-3-3 133
网络的拓扑结构
1,BP网的结构
2,输入向量, 输出向量的维数, 网络隐藏层
的层数和各个隐藏层神经元的个数的决定
3,实验:增加隐藏层的层数和隐藏层神经元
个数不一定总能够提高网络精度和表达能
力 。
4,BP网一般都选用二级网络 。
2013-3-3 134
网络的拓扑结构
x1 o1
输出层 隐藏层 输入层
x2 o2
om xn
… … … …
W V
2013-3-3 135
4.2.2 训练过程概述
样本,(输入向量,理想输出向量 )
权初始化:, 小随机数, 与饱和状态;, 不
同, 保证网络可以学。
1,向前传播阶段,
( 1) 从样本集中取一个样本 (Xp,Yp),将 Xp
输入网络;
( 2) 计算相应的实际输出 Op,
Op=Fl(… (F2(F1(XpW(1))W(2))… )W(L))
2013-3-3 136
4.2.2 训练过程概述
2,向后传播阶段 ——误差传播阶段,
( 1) 计算实际输出 Op与相应的理想输出 Yp
的差;
( 2) 按极小化误差的方式调整权矩阵 。
( 3) 网络关于第 p个样本的误差测度,
? ??
?
??
m
j
pjpjp oyE
1
2
2
1
( 4) 网络关于整个样本集的误差测度,
??
p
pEE
2013-3-3 137
4.2.3 误差传播分析
1、输出层权的调整
wpq= wpq+?wpq
?wpq=αδqop
=αfn′ (netq)(yq-oq)op
=αoq(1-oq) (yq-oq)op
wpq
ANp ANq
第 L-1层 第 L层
?wpq
2013-3-3 138
2、隐藏层权的调整
ANp ANq ANh
vhp δpk-1
δ1k
wp1
wpq δqk
wpm
δmk
第 k-2层 第 k层 第 k-1层


2013-3-3 139
2、隐藏层权的调整
δpk-1的值和 δ1k,δ2k,…, δmk 有关
不妨认为 δpk-1
通过权 wp1对 δ1k做出贡献,
通过权 wp2对 δ2k做出贡献,
……
通过权 wpm对 δmk做出贡献 。
δpk-1= fk-1′(netp) (wp1δ1k+ wp2δ2k+… + wpmδm k)
2013-3-3 140
2、隐藏层权的调整
vhp=vhp+?vhp
?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
ANp ANq ANh
vhp δpk-1
δ1k
wp1
wpm δqk
wpq
δmk 第 k-2层 第 k层 第 k-1层 …

2013-3-3 141
上次课内容回顾
? 基本 BP算法
– neti=x1w1i+x2w2i+…+x nwni
n e ten e tfo ???? 1
1)(
)1()(
)1(
1
)( 22 ooooe
e
n e tf n e tn e t ?????
?
??? ??
2013-3-3 142
上次课内容回顾
x1 o1
输出层 隐藏层 输入层
x2 o2
om xn
… … … …
W V
2013-3-3 143
上次课内容回顾
? 样本
? 权初始化
? 向前传播阶段
– Op=Fn(…(F 2(F1(XpW(1))W(2))…)W (n))
? 误差测度
? ??
?
??
m
j
pjpjp oyE
1
2
2
1
2013-3-3 144
上次课内容回顾
? 向后传播阶段 ——误差传播阶段
– 输出层权的调整
? ?wpq= αδqop =αfn′ (netq)(yq-oq)op =αoq(1-oq) (yq-oq)op
– 隐藏层权的调整
ANp ANq ANh
vhp δpk-1
δ1k
wp1
wpq δqk
wpm
δmk …

?vhp =αopk-1(1-opk-1)( wp1δ1k+ wp2δ2k+…+ w pmδmk)ohk-2
2013-3-3 145
4.2.4 基本的 BP算法
? 样本集,S={(X1,Y1),(X2,Y2),…,(Xs,Ys)}
? 基本思想,
– 逐一地根据样本集中的样本 (Xk,Yk)计算出实际输
出 Ok和误差测度 E1,对 W(1), W(2), …, W(L)各
做一次调整,重复这个循环,直到 ∑Ep<ε。
– 用输出层的误差调整输出层权矩阵,并用此误差
估计输出层的直接前导层的误差,再用输出层前
导层误差估计更前一层的误差。如此获得所有其
它各层的误差估计,并用这些估计实现对权矩阵
的修改。形成将输出端表现出的误差沿着与输入
信号相反的方向逐级向输入端传递的过程
2013-3-3 146
算法 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;
2013-3-3 147
算法 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(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
2013-3-3 148
4.3 算法的改进
1,BP网络接受样本的顺序对训练结果有较大
影响 。 它更, 偏爱, 较后出现的样本
2,给集中的样本安排一个适当的顺序, 是非常
困难的 。
3,样本顺序影响结果的原因:, 分别,,, 依
次,
4,用 (X1,Y1),( X2,Y2), …, ( Xs,Ys) 的
,总效果, 修改 W(1), W(2), …, W(L)。
?w(k)ij=∑?p w(k)ij
2013-3-3 149
算法 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;
2013-3-3 150
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 (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
2013-3-3 151
算法 4-2 分析
? 较好地解决了因样本的顺序引起的精度问
题和训练的抖动问题
? 收敛速度:比较慢
? 偏移量:给每一个神经元增加一个偏移量
来加快收敛速度
? 冲量, 联接权的本次修改要考虑上次修改
的影响,以减少抖动问题
2013-3-3 152
算法 4-2 分析 ——冲量设置
? Rumelhart等人 1986年
– ?wij=αδjoi+β?wij′
– ?wij′为上一次的修改量,β为冲量系数,一般可
取到 0.9
? Sejnowski与 Rosenberg, 1987年
– ?wij=α((1-β)δjoi+β?wij′)
– ?wij′也是上一次的修改量,β在 0和 1之间取值
2013-3-3 153
4.4 算法的实现
? 主要数据结构
W[H,m]——输出层的权矩阵;
V[n,H]——输入 ( 隐藏 ) 层的权矩阵;
?o[m]——输出层各联接权的修改量组成的向量;
?h[H]——隐藏层各联接权的修改量组成的向量;
O1——隐藏层的输出向量;
O2——输出层的输出向量;
(X,Y)——一个样本。
2013-3-3 154
算法的主要实现步骤
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),执行 如下操作
2013-3-3 155
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]= O2 [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;
2013-3-3 156
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* O1 [i](1- O1 [i]) ;
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]+ α*X[k]* ?h[i];
2013-3-3 157
建议
? 隐藏层的神经元的个数 H作为一个输入参数
? 同时将 ε,循环最大次数 M等,作为算法
的输入参数
? 在调试阶段,最外层循环内,加一层控制,
以探测网络是否陷入了局部极小点
2013-3-3 158
4.5 算法的理论基础
? 基本假设
– 网络含有 L层
– 联接矩阵,W(1), W(2), …, W(L)
– 第 k层的神经元,Hk个
– 自变量数,n*H1+H1*H2+H2*H3+…+H L*m
– 样本集,S={ (X1,Y1),(X2,Y2),…,(Xs,Ys)}
? 误差测度,
?
?
?
s
p
pEE
1
2013-3-3 159
用 E代表 EP,用 ( X,Y) 代表 ( XP,YP)
X=(x1,x2,…, xn)
Y=(y1,y2,…, ym)
该样本对应的实际输出为
O=( o1,o2,…, om)
?
?
?
s
p
pEE
1
误差测度
2013-3-3 160
误差测度
?用理想输出与实际输出的方差
作为相应的误差测度
? ??
?
m
1k
2
kk )oy(2
1E
?
?
?
s
p
pEE
1
2013-3-3 161
最速下降法,要求 E的极小点
ij
ij w
Ew
?
????
wij
ijw
E
?
?
E
>0,此时 Δwij<0

ijw
E
?
?
E
<0,此时 Δwij>0
wij
2013-3-3 162
ij
j
jij w
n e t
n e t
E
w
E
?
?
?
?
?
??
?
?
?
而其中的
??
k kkjj
own e t
所以,
i
ij
k
kkj
ij
j
o
w
ow
w
n e t
?
?
?
?
?
?
?
?
??
?
?
?
最速下降法,要求 E的极小点
2013-3-3 163
i
j
ij
k
kkj
j
ij
j
jij
o
n e t
E
w
ow
n e t
E
w
n e t
n e t
E
w
E
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
??
?
?
?
?

j
j n e t
E
?
????
所以 Δ wij=αδjoi
α为学习率
最速下降法,要求 E的极小点
2013-3-3 164
ANj为输出层神经元
oj=f(netj)
容易得到
)n e t(f
n e t
o
j
j
j ??
?
? )n e t(f
o
E
n e t
o
o
E
n e t
E
j
j
j
j
j
j
j
??
?
?
??
?
?
?
?
?
??
?
?
???
从而
2013-3-3 165
? ?
? ?
)(
))(
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
??
????
?
??
??
?
?
?
?
?
?
?
??
??
?
?
?
?
?
ANj为输出层神经元
2013-3-3 166
所以,
)n e t(f)oy( jjjj ????
故,当 ANj为输出层的神经元时,它对应
的联接权 wij应该按照下列公式进行调整,
ijjjij
ijijij
o)oy)(n e t(fw
oww
?????
????
ANj为输出层神经元
2013-3-3 167
ANj为隐藏层神经元
j
j
j
j
j
n e t
o
o
E
n e t
E
?
?
?
?
?
??
?
?
???
)n e t(f
n e t
o
j
j
j ?
?
?
?
)n e t(f
o
E
j
j
j ???
?
???
? ??
?
m
1k
2
kk )oy(2
1E


2013-3-3 168
ANj为隐藏层神经元
netk=
?
?
hH
1i
iik ow
?
?
??
?
??
?
?
?
hH
1k j
k
kj
)
o
n e t
n e t
E(
o
E
jk
j
H
1i
iik
j
k w
o
ow
o
n e t
h
?
?
?
?
?
?
?
?
??
?
?
? ?
oj … o2
o1
oHh
netk是 oj下一级的神
经元的网络输入
2013-3-3 169
ANj为隐藏层神经元
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
h
h
H
1k
jk
k
H
1k
j
k
kj
w
n e t
E
o
n e t
n e t
E
o
E
? ???
?
?
?
hH
1k
jkk
j
w
o
E
k
k n e t
E
?
????
2013-3-3 170
ANj为隐藏层神经元
)n e t(fw
)n e t(f
o
E
j
H
1k
jkk
j
j
j
h
???
?
?
?
?
?
? ????
??
?
?
???
?
)n e t(fw j
H
1k
jkkj
h
???
?
?
?
?
?
? ???
?
2013-3-3 171
ANj为隐藏层神经元
ij
H
1k
jkkij o)n e t(fww
h
???
?
?
?
?
? ? ????
?
ij
H
1k
jkkijij o)n e t(fwww
h
???
?
?
?
?
? ? ????
?
2013-3-3 172
4.6 几个问题的讨论
? 收敛速度问题
? 局部极小点问题
– 逃离 /避开局部极小点, 修改 W,V的初值 ——
并不是总有效 。
– 逃离 ——统计方法; [Wasserman,1986]将
Cauchy训练与 BP算法结合起来,可以在保证
训练速度不被降低的情况下,找到全局极小点。
2013-3-3 173
4.6 几个问题的讨论
? 网络瘫痪问题
– 在训练中,权可能变得很大,这会使神经元的
网络输入变得很大,从而又使得其激活函数的
导函数在此点上的取值很小。根据相应式子,
此时的训练步长会变得非常小,进而将导致训
练速度降得非常低,最终导致网络停止收敛
? 稳定性问题
– 用修改量的综合实施权的修改
– 连续变化的环境,它将变成无效的
2013-3-3 174
4.6 几个问题的讨论
? 步长问题
– BP网络的收敛是基于无穷小的权修改量
– 步长太小,收敛就非常慢
– 步长太大,可能会导致网络的瘫痪和不稳定
– 自适应步长,使得权修改量能随着网络的训练
而不断变化。 [1988年,Wasserman]
2013-3-3 175
练习
? P54 1,5,10
2013-3-3 176
上次课内容回顾
? 基本 BP算法
? 算法的改进
– 用 (X1,Y1),( X2,Y2),…,( Xs,Ys)的, 总
效果, 修改 W(1), W(2), …, W(L)
– ?w(k)ij=∑?p w(k)ij
2013-3-3 177
上次课内容回顾
? 改进算法有关问题
– 抖动、收敛速度、偏移量、冲量
? 算法的实现
– 循环控制、算法的调试
? 算法的理论基础
?
?
?
s
p
pEE
1 ij
ij w
Ew
?
????
2013-3-3 178
上次课内容回顾
? 问题的讨论
– 收敛速度
– 局部极小点
– 网络瘫痪
– 稳定性
– 步长
2013-3-3 179
第 5章 对传网
? 主要内容, CPN的网络结构, 正常运行,
输入向量的预处理, Kohonen层的训练算法
及其权矩阵的初始化方法; Grossberg层的
训练;完整的对传网
? 重点,Kohonen层与 Grossberg层的正常运
行与训练
? 难点,Kohonen层的训练算法及其权矩阵的
初始化方法
2013-3-3 180
第 5章 对传网
5.1 网络结构
5.2 网络的正常运行
5.3 Kohonen层的训练
5.4 Kohonen层联接权的初始化方法
5.5 Grossberg层的训练
5.6 补充说明
2013-3-3 181
第 5章 对传网
? Robert Hecht-Nielson 在 1987年 提出了对传网
( Counterpropagation Networks,CPN) 。
? CPN为异构网,
– Kohonen1981年提出的 Self-organization map
? SOM——Kohonen层
– Grossberg1969年提出的 Outstar——Grossberg层
? 训练时间短,BP的 1%。 应用面:比较窄
? 让网络的隐藏层执行无导师学习, 是解决多级网
络训练的另一个思路
2013-3-3 182
5.1 网络结构
? 单向 CPN,完整 CPN(双向网)
? 除拓扑结构外,网络的运行机制也是确定
网络结构(同构、异构)和性能的重要因

? 网络的层数计算
2013-3-3 183
5.1 网络结构
x1 y1
W V
自组织映射
(无导师学习)
Kohonen层
散射星
(有导师学习)
Grossberg层
输入层
K1 G1
K2 G2 x
2 y2
… … …
Kh Gm x
n ym
2013-3-3 184
5.1 网络结构
? 以 Kohonen层的神经元为“中心”讨论问题
? K1
– W1=(w11,w21,…, wn1)T
– V1=(v11,v12,…, v1m)
? K2
– W2=(w12,w22,…, wn2)T
– V2=(v21,v22,…, v2m)
……
? Kh
– Wh=(w1h,w2h,…, wnh)T
– Vh=(vh1,vh2,…, vhm)
2013-3-3 185
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)
2013-3-3 186
5.2.1 Kohonen层
? K1,K2,…, Kh的输出 k1,k2,…, kh构
成向量 K=(k1,k2,…, kh)
? 1≦j≦h
1 knetj=Max{ knet1,knet2,…, kneth }
kj=
0 其它
? 几何意义
2013-3-3 187
5.2.2 Grossberg层
? Grossberg层的每个神经元 Gj ( 1≦j≦m )
gnetj= K (v1j,v2j,…, vhj)T
= (k1,k2,…, kh) (v1j,v2j,…, vhj)T
=k1v1j+ k2v2j+…+ k h vhj
唯一输出 1的神经元为 Ko
gnetj= k1v1j+ k2v2j+… + kh vhj
= voj
2013-3-3 188
5.2.2 Grossberg层
GNET=( gnet1, gnet2, …, gnetm)
=(vo1,vo2,…, vom)
=Vo
? 散射星, Vo的各个分量是从 Ko到 Grossberg
层各神经元的联接权
2013-3-3 189
5.2.2 Grossberg层
? CPN用于模式的完善,此时 n=m:接受含
有噪音的输入模式 (x1,x2,…, xn),而输
出去掉噪音后的模式 (vo1,vo2,…, vom)
? 对训练启示
– W1,W2,…, Wh,各类 X的共同特征
– V1,V2,…, Vh,X对应的理想输出 Y的共同
特征
2013-3-3 190
5.3 Kohonen层的训练
5.3.1 输入向量的预处理
单位化处理
X= (x1,x2,…, xn)
X′ = (x1′, x2′, …, xn′ )
= (x1/‖X‖, x2/‖X‖, …, xn/‖X‖ )
2013-3-3 191
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};
2013-3-3 192
算法 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)进行单位化处理
2013-3-3 193
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
2013-3-3 194
o
单位圆
Wo(new)=Wo(old)+α (X- Wo(old))
Wo(old)
(1-α ) (X- Wo(old))
Wo(new) (X- W
o(old)) X
(X- Wo(old))
- Wo(old)
2013-3-3 195
学习率 α
? 训练初期,α 一般取 0.7左右,它将随着训
练进展不断变小
? α 过大可能导致有的 X被放入错误的类中;
使训练陷入抖动
? 根据 X的分布决定 W的初值:防止类过小和
过大
2013-3-3 196
启发
? 一般来说,一个类含有许多向量。这个类
对应的 Wj应该是样本集中这一类向量(输
入向量部分)的平均值。
? 事先给问题一个粗略分类,并从这个分类
中提取一个较有代表性的向量构成样本集
? 启发我们采用训练和直接设定权向量的方
式来完成该层的训练。
2013-3-3 197
上次课内容回顾
? CPN为异构网
– Kohonen层 —— SOM
– Grossberg层 —— Outstar
? 训练时间短,BP的 1%。应用面:比较窄
? 除拓扑结构外,网络的运行机制也是确定
网络结构(同构、异构)和性能的重要因

2013-3-3 198
拓扑结构
x1 y1
W V
自组织映射
(无导师学习)
Kohonen层
散射星
(有导师学习)
Grossberg层
输入层
K1 G1
K2 G2 x
2 y2
… … …
Kh Gm x
n ym
2013-3-3 199
上次课内容回顾
? 以 Kohonen层的神经元为“中心”讨论问题
? Kohonen层:, 强者占先、弱者退出,
– K=(0,…, 0,1,0,…, 0)
? Grossberg层,散射星
– gnetj= k1v1j+ k2v2j+…+ k h vhj= voj
– GNET=( gnet1, gnet2, …, gnetm)
=(vo1,vo2,…, vom)
=Vo
? CPN用于模式的完善
2013-3-3 200
上次课内容回顾
? 强调 X和 W的单位化处理
? 对训练启示
– W1,W2,…, Wh,各类 X的共同特征
– V1,V2,…, Vh,X对应的 Y的共同特征
? Kohonen层的训练
Wo(new)=Wo(old)+α (X- Wo(old))
2013-3-3 201
5.4 Kohonen层联接权初始化
? 理想情况下, W1,W2,…, Wh的初值应
该依照样本集中的输入向量的分布来确定
? 样本集中的输入向量的分布并不是均匀的
2013-3-3 202
o
单位圆
Xi的非均匀分布要求 Wi非均匀分布
X2 X
1 X
3
2013-3-3 203
凸状组合法
取 wij=
)n(sqrt
1
将输入向量
X= (x1,x2,…, xn)
变换 为
X′ = (x1′, x2′, …, xn′ )
其中
n
xx jj
?
?
?
???
1
2013-3-3 204
凸状组合法
随着训练的进行, λ 趋近于 1,
从而使 X′ 趋近于 X,进而 Wj趋
近于一组 X的平均值 。
)1,,1,1(
nnn
X ??
在训练的初期阶段, λ 的值非常小, 使得
W需要追踪一个变化的目标
2013-3-3 205
添加噪音法
? 在输入向量中加进适当的随机噪音,使输
入向量的分布均匀。训练中逐渐去掉噪音
? Wj不断地调整自己的, 运动方向,,去追
踪其不断变化的目标。试验表明,这种方
法的收敛速度比凸状组合法更慢。
W也需要追踪一个变化的目标
2013-3-3 206
X在加噪音后变成均匀分布的
o
单位圆
2013-3-3 207
初期全调法
?Kohonen层训练的初期, 对应一个输入向量,
允许多个神经元同时处于激发状态 。 逐渐减
少被激发的神经元的最大个数或者逐渐提高
阈值, 最后达到对一个输入向量, 只有一个
神经元激发
?要解决的问题
– 问题调整的范围的度量 。
2013-3-3 208
初期全调法
? 另一种实现
– 在训练的初期, 算法 不仅调整, 获胜, 的 神经
元对应的权向量, 而且对其它的权向量也作适
当的调整 。 随着训练的推进, 被调整的范围逐
渐缩小, 直到最终只有, 获胜, 的神经元对应
的权向量才被调整
? 要解决的问题
– 问题调整的范围的度量 。
– 其它的权向量的, 适当调整,
2013-3-3 209
DeSieno法
? 当某一个权向量所获得的匹配向量超过给定的数
( 1/h)后,它的阈值就被临时提高
? 问题,当最应该被某个神经元对应的权向量匹配
的输入向量在较后的时候被输入时,它可能被拒
绝,从而造成网络精度的损失
? Kohonen [1988],在一个被完全训练过的网中,
随机选取的输入向量与任何给定权向量是最接近
的概率是 1/h
– 按均匀分布初始化的权向量具有相同被匹配概率
2013-3-3 210
5.5 Grossberg层的训练
? 训练
– 标量形式
voj= voj+α (yj- voj)
– 向量形式
Vo(new)= Vo(old)+α (Y- Vo(old))
? 比较
Wo(new)=Wo(old)+α (X- Wo(old))
Kohonen层
2013-3-3 211
算法 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};
2013-3-3 212
算法 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))。
2013-3-3 213
算法 5-3 CPN训练算法二
? 对应 Kohonen的每一个 Ki,它将代表一组输
入向量, 所以希望这个 Ki对应的 Vi能代表这
组输入向量对应的输出向量的平均值 。
0 对 W,V进行初始化;
0′ 清空 Kohonen层各神经元对应的纪录表,
for j=1 to h do SKj=Φ;
1 对所有的输入向量, 进行单位化处理;
2013-3-3 214
算法 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};
2013-3-3 215
算法 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中各向量的平均值
2013-3-3 216
算法的进一步优化
? 集合变量 SK1,SK2, …, SKh改为其它存
储量更小, 而且更容易实现的变量
? 在 Xs激发 Ko时,Ys被放入到 SKo中
– 会不会出现一个向量被放入多个 SK中的
问题
–如何解决
2013-3-3 217
5.6 补充说明
1,全对传网
W V X Y′



Y

X′
输入层 Kohonen层 Grossberg层
2013-3-3 218
2、非简单工作方式
? 对给定的输入向量,Kohonen层各神经元可
以给出不同的输出
? 输出作为修改因子
– 对应神经元 Kohonen层,Grossberg层的权向

– 输出值较大的,表明该输入向量与该神经元对
应的类较接近,它对应的权向量的修改量就大
– 输出值较小的,表明该输入向量与该神经元对
应的类较远,它对应的权向量的修改量就小。
2013-3-3 219
练习
? P69 1,5,8
2013-3-3 220
上次课内容回顾
? Kohonen层联接权初始化
– 凸状组合法
– 添加噪音法
– 初期全调法
– DeSieno法
? Kohonen层的训练
– Wo(new)=Wo(old)+α (X- Wo(old))
? Grossberg层的训练
– Vo(new)= Vo(old)+α (Y- Vo(old))
2013-3-3 221
上次课内容回顾
? CPN训练算法讨论
– 关于反复使用样本集进行训练的问题
? CPN训练算法改造
– 两层一起训练,分开训练
– SK的处理问题
? 全对传网
2013-3-3 222
第 6章 非确定方法
? 主要内容,
– 统计网络的基本训练算法
– 模拟退火算法与收敛分析
– Cauchy训练
– 人工热与临界温度在训练中的使用
– BP算法与 Cauchy训练的结合 。
? 重点,统计网络的基本训练算法, BP算法
与 Cauchy训练的结合
? 难点,模拟退火算法与收敛分析
2013-3-3 223
第 6章 非确定方法
6.1 基本的非确定训练算法
6.2 模拟退火算法
6.3 Cauchy训练
6.4 相关的几个问题
2013-3-3 224
第 6章 非确定方法
? 确定的方法
– 前几章所给方法的共同特征
? 非确定的方法
– 生物神经网络按照概率运行
? 别称
– 统计方法 ( Statistical Method) 。
? 既可以用于训练,又可以用于运行
2013-3-3 225
6.1 基本的非确定训练算法
? 基本思想
– 从所给的网络中,随机地 选取一个联接
权”,对该联接权提出一个,伪随机调
整量”,当用此调整量对所选的联接权
进行修改后,如果,被认为,修改改进
了网络的性能,则保留此调整;否则放
弃本次调整。
2013-3-3 226
6.1 基本的非确定训练算法
? 基本数据结构
– 样本集, S={ (X1,Y1),(X2,Y2),…,(Xs,Ys)}
– 输入向量, X=(x1,x2,…, xn)
– 理想输出向量, Y=(y1,y2,…, ym)
– L层, W(1), W(2), …, W(L)
2013-3-3 227
6.1 基本的非确定训练算法
? 拓扑结构
x1 o1
输出层 隐藏层 输入层
x2 o2
om xn
… … … … … … …
W(1) W(L) W(2)
2013-3-3 228
算法 6-1 基本统计训练算法
1 从样本集 S中取一样本 ( X,Y) ;
2 将 X输入到网络中, 计算出实际输出 O;
3 求出网络关于 Y,O的误差测度 E;
4 随机地从 W(1), W(2), …, W(L)中选择一
个联接权 wij(p);
5 生成一个小随机数 Δwij(p);
6 用 Δwij(p)修改 wij(p);
2013-3-3 229
算法 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 重复上述过程,直到网络满足要求。
2013-3-3 230
算法 6-1 基本统计训练算法
? 目标函数( Objective Function)
– 误差测度函数:实际输出与理想输出方差和
? 计算量
– 从 W(1), W(2), …, W(L)中随机地选择 wij
– 共有 n× H1+H1× H2+H2× H3+… +HM-1× m个
“变量”可供选择
? 伪随机数
– 伪随机数发生器来产生 Δwij(p);
– 按照所谓的“能量”函数的分布去计算它
2013-3-3 231
算法 6-1 基本统计训练算法
? 局部极小点
– 当 E′<E不成立时,考虑使网络从局部极小点中
逃离出来,必须允许目标函数暂时变坏
? 循环控制
– 判断标准
– 用一个样本对网络的某一个联接权进行修改后,
是随机地抽取另一个联接权进行重复,还是再
选择下一个样本进行重复
– 对一个选定的样本,每次是否可以选取若干个
联接权进行修改?如果可以,还应做什么工作?
2013-3-3 232
逃离局部极小点
? 联接权修改量
– 太小:落到 A点后很难逃离
– 太大:导致在 A,B两点来回抖动
? 解决办法
– 控制联接权修改量的大小:权修改量由大变小
– 允许暂时变坏
? 修改量的大小和网络的“能量”相关
– 模拟退火
A
B
D
2013-3-3 233
逃离局部极小点
D
B
A
2013-3-3 234
6.2 模拟退火算法
? 金属中原子的能量与温度有关
? 原子能量高的时候,有能力摆脱其原来的
能量状态而最后达到一个更加稳定的状
态 ——全局极小能量状态
? 在金属的退火过程中,能量的状态分布
?
?
??
?
? ?
kT
Ee x p
P(E)——系统处于具有能量 E
的状态的概率;
k——Boltzmann常数;
T——系统的绝对温度 (Kelvin)
P(E)∝
2013-3-3 235
步长和能量、温度的关系
降温过程 高温 低温
原子运动平稳 原子激烈随机运动
能量与温度相关
步长与能量和温度相关
步长与能量相关
大步长 小步长 可逃离 难逃离
金属热加工
大 小 高 低
高能量 低能量
目标函数的值 网络的能量
训练
2013-3-3 236
能量与温度
1)e x p (l im ??
?
??
?
? ?
?? kT
E
T
高温情况下,
T足够大,对系统所能处的任意能量状态 E,有
??????? kTEe x p
将趋近于 1
2013-3-3 237
能量与温度
中温情况下,
T比较小,E的大小对 P(E)有较大的影响,
设 E1>E2
P(E2)>P(E1)。即,系统处于高能量状态
的可能性小于处于低能量状态的可能性
2013-3-3 238
能量与温度
0
)
)e x p (
1
(l i m
)e x p (l i m
))(e x p (l i m
)e x p (
)e x p (
l i m
)(
)(
l i m
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
2013-3-3 239
能量与温度
低温情况下,
T非常小,E的大小对 P(E) 的影响非常大,
设 E1>E2
P(E2) >> P(E1)。即,当温度趋近于 0时,
系统几乎不可能处于高能量状态
2013-3-3 240
模拟退火组合优化法
? 目标函数 ——能量函数
? 人工温度 T——一个初值较大的数
? 依据网络的能量和温度来决定联接权的调
整量(称为步长)。
? 与金属的退火过程( Annealing)非常相似
2013-3-3 241
模拟退火组合优化法
? 基本思想
– 随机地为系统选择一个初始状态 {wij(p)},在此
初始状态下,给系统一个小的随机扰动 Δwij(p),
计算系统的能量变化
– ΔE=E({wij(p)+Δwij(p)})-E({wij(p)})
– 若 ΔE<0 则接受
– 若 ΔE≥0 则依据概率 判断是否被接受
– 若 接受, 则系统 从状态 {wij(p)} 变 换 到状 态
{wij(p)+Δwij(p)};否则, 系统保持不变
?????? ?? kTEe x p
2013-3-3 242
模拟退火组合优化法
– 在这个过程中,逐渐地降低温度 T。所得的系
统状态序列 {wij(p) }将满足下列分布
?
?
?
?
?
?
?
?
??
kT
wE
Tcf
p
ij })({e x p)(
)(
? ?
?
)
kT
})w({E
e x p (
1
)T(c
)p(
ij
2013-3-3 243
算法 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) });
2013-3-3 244
算法 6-2 模拟退火算法
2.6 if ΔE>0 then
2.6.1 按均匀分布在 [0,1]区间取一随机数 r;
2.6.2 按 Boltzmann分布计算接受本次调整的
概率,
P(E({ wij(p) +Δwij(p) })) =
2.6.3 if P(E({ wij(p) +Δwij(p) }))<r then 转 2.2;
)kT })ww({Ee x p (
)p(
ij
)p(
ij ???
2013-3-3 245
算法 6-2 模拟退火算法
2.7 用 { wij(p) +Δwij(p) }代替 { wij(p) };
2.8 if 样本集中还有未被选用的样本 then
转 2.1;
3 判断在此温度下, 检验 Metropolis抽样是否
稳定 。 如不稳定, 则直接转 2;
4 降低温度 T;
5 如果 T足够小,则结束,否则,转 2。
2013-3-3 246
算法 6-2 模拟退火算法
? 算法的第 2步原则上应该对每一个样本调整
每一个权,调整的顺序是随机的;
? 温度 T的降低
– T=λT
– λ叫做冷却率,一般情况下可以在 [0.8,0.9]之
间取值
– Geman(1984年 ):温度下降必须与时间的对数
成反比,网络最终才能收敛到全局极小点
)t1lo g (
TT 0
??
2013-3-3 247
算法 6-2 模拟退火算法
? T的初值 T0
– T0= E({w (h) });即:取初始系统目标函数
(能量)的值
– T0=z E({w (h) })。即:取初始系统目标函
数(能量)值的若干倍
– 按照经验给出
2013-3-3 248
算法 6-2 模拟退火算法
? 调整量 Δwij(p)的计算
– 可以根据 Boltzmann分布或者 Gaussian分布来
计算。也可以用其它的方法。下面讨论按
Gaussian分布进行计算的方法。我们取如下形
式的 Gaussian分布函数。简洁起见,用符号 w
代替符号 wij(p),
p(Δw)=
)
T
we x p (
2
2?
?
2013-3-3 249
Monte Carlo法
? 数值积分法
– 根据网络的精度要求,设一个积分步长 δ,然
后通过数值积分构造出如下形式的表格
?? w0 dx)x(p
Δw δ 2δ 3δ 4δ … Nδ
C1 C2 C3 C4 … CN
2013-3-3 250
Monte Carlo法
首先按照均匀分布在 [C1,CN]中随机地取一
个值 C,然后, 从
{ C1,C2,C3,…, CN}
中选取 Ck满足,
|Ck-C|=min{|C-C1 |,|C-C2|,|C-C3|,…,|C-CN|}
Ck对应的 kδ就是所需要的 联接权调整量 Δw
2013-3-3 251
6.3 Cauchy训练
? Boltzmann分布
? Boltzmann训练
? 1987年,S,Szu和 R,Hartley提出用 Cauchy
分布去取代 Gaussian分布
22 xT
T
?
Cauchy分布 p(x)=
2013-3-3 252
6.3 Cauchy训练 ——优点
? 对于 [C1,CN]中的任意一个 C,它按照
Cauchy分布所能取到的联接权的调整量要
大于按照 Boltzmann分布所能取到的联接权
的调整量
? 用 Cauchy分布取代 Boltzmann分布后,温
度可以下降得更快。这时,温度的下降变
得与时间成反比, T0/(1+t)
? Cauchy分布函数可以用常规的方法进行 积
分运算
2013-3-3 253
Cauchy分布函数 积分运算
T
w
a r c t g
T
x
a r c t g
T
1
T
dx
xT
1
T
dx
xT
T
dx)x(p
w
0
w
0 22
w
0 22
w
0
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
??
2013-3-3 254
Cauchy分布函数 积分运算
? Monte Carlo法:在 (0,1)中按照均匀分布随
机取一数为 P(Δw),再取当前的温度,就可
以直接地计算出 Δw
? Cauchy训练算法,
– 将算法 6-2中的 Boltzmann分布换成 Cauchy分布
T
wwPtg ??? ))((
Δw=αTtg(P(Δw))
2013-3-3 255
6.4 相关的几个问题
? Boltzmann机
– 每个神经元可以有一个特殊的阈值,用来限制
神经元所获得的激活值
? ???
?
n
1k
jkkjj xwn et
神经元的状态概率发生变化。 oj=1的概率为
)
T
n e t
e x p (1
1P
j
j
??
?
2013-3-3 256
Boltzmann机
? Boltzmann机的目标函数(能量函数)
? ????
??
n
1k
kk
jk
jkkj ooowE
? ―一致性函数”
? ?????
??
n
1k
kk
jk
jkkj ooowE
2013-3-3 257
人工热问题
? 特殊热 ——温度关于能量的变化率
– 系统在能量跃变边界处的温度叫做临界温度
? 人工特殊热 /―伪特殊热”
– 系统的人工温度关于系统的能量函数(目标函数)的平
均变化率
? 临界温度
– 临界温度时的小量下降,会引起能量函数值的较大变化
– 系统正处于一个局部极小点附近
? 临界温度点可以通过考察所定义的人工特殊热的变
化情况得到
2013-3-3 258
BP算法与 Cauchy训练的结合
? Cauchy训练的速度比 Boltzmann训练快
? Cauchy训练的速度比 BP算法慢
? Cauchy训练有可能使网络逃离局部极小点
? 由 BP算法提供直接计算部分,Cauchy算法
提供随机部分
wij=wij+?wij
?wij=α((1-β)δjoi+β?wij′)+(1-α )?wij(c)
α∈ (0,1)为学习率,β∈ (0,1)为冲量系数
2013-3-3 259
网络陷入瘫痪
? 执行对网络联接权的压缩
? 如,如果将联接权压缩在( -a,a)以
内,P,D,Wasserman曾给出如下建议
公式
a
)
a
w
e x p (1
a2
w
ij
ij ?
??
?
2013-3-3 260
第 2次课堂测试( 5分 *4)
1,什么叫线性不可分问题?我们是如何克服
它的?
2,BP算法是如何解决隐藏层的联接权的调整
的,试进行适当的分析。
3,叙述对传网中 Kohonen层联接权的初始化方
法。
4,为什么需要花费如此大的力气进行 Kohonen
层联接权的初始化工作?
2013-3-3 261
练习
? P 1,5
2013-3-3 262
上次课内容回顾
? 非确定算法的基本思想
– 训练
– 工作
? 基本统计训练算法
– 算法
– 伪随机数:初值与调整量
– 循环控制
2013-3-3 263
上次课内容回顾
? 模拟退火算法
– 基本思想
– 能量和温度相关
? 高温
? 中温
? 低温
– 步长与能量相关
? 自适应步长
? 根据能量计算步长
– Monte Carlo方法
2013-3-3 264
上次课内容回顾
? Cauchy训练
? 人工热问题
? BP算法与 Cauchy训练的结合
? 网络陷入瘫痪
2013-3-3 265
第 7章 循环网络
? 主要内容
– Hopfield网络实现的自相联存储
– 稳定性分析
– 统计 Hopfield网与 Boltzmann机
– 基本双联存储器 (BAM)的结构与训练
– 几种相联存储网络
– 用 Hopfield网解决 TSP问题 。
2013-3-3 266
第 7章 循环网络
? 重点
– Hopfield网络实现的自相联存储
– 基本双联存储器的结构与训练 。
? 难点
– 稳定性分析
– 用 Hopfield网解决 TSP问题
2013-3-3 267
第 7章 循环网络
7.1 循环网络的组织
7.2 稳定性分析
7.3 统计 Hopfield网与 Boltzmann机
7.4 双联存储器的结构
7.5 异相联存储
7.6 其它的双联存储器
7.7 Hopfield网用于解决 TSP问题
2013-3-3 268
第 7章 循环网络
循环网络称为 Hopfield网
循环网络对输入信号的处理是一个逐渐
,修复,,, 加强, 的过程。
强烈变化
较弱的变化
不变化
2013-3-3 269
7.1 循环网络的组织
? 网络结构
X1
Xn
o1
om
… …
… …
… …
2013-3-3 270
7.1 循环网络的组织
?联接,神经元之间都是互联的 wij,每个神经
元都没有到自身的联接 wii=0。
?神经元个数 h,输入向量维数 n,输出向量维
数 m。 h≥n, h≥m, n≥ 1,m≥ 1。
?神经元,输入, 输出, 隐藏
?状态变化,非同步, 同步
?输入向量, X=(x1,x2,…, xn)
? 输出向量, O=(o1,o2,…, om)
2013-3-3 271
7.1 循环网络的组织
神经元的网络输入,
? ??
??
n
ji&1i
jiijj xown e t
阈值函数, oj=
1 if netj>θ j
0 if netj<θ j
oj if netj=θ j
2013-3-3 272
最基本的 Hopfield网
o1
on
o2
x2
x1
xn
W
… …
?n=m=h
2013-3-3 273
最基本的 Hopfield网
? 希望网络的联接矩阵存放的是一组这样的
样本,在联想过程中实现对信息的, 修复,
和, 加强,,要求:它的输入向量和输出
向量是相同的向量,即,X=Y
? 样本集, S={ X1,X2,…, Xs}
2013-3-3 274
最基本的 Hopfield网
wii=0 1≤i≤n
? W是一个对角线元素为 0的对称矩阵,
? W= X1T ╳ X1+X2T╳ X2+… +XsT╳ Xs - W0
? W是各个样本向量自身的外积的和 ——网
络实现的是 自相联映射 。
?
?
s
k
jkik xx
1
?权矩阵, wij= i≠ j
2013-3-3 275
最基本的 Hopfield网
? 激活函数,
改为 S形函数后,系统就成为一个 连续系统
? 多级循环网络
除输出向量被反馈到输入层外,其它各层之间的
信号传送均执行如下规定:第 i-1层神经元的输出
经过第 i个连接矩阵被送入第 i层。
一般不考虑越层的信号传送、中间的信号反馈和
同层的神经元之间进行信号的直接传送
2013-3-3 276
7.2 稳定性分析
? 网络的稳定性是与收敛性不同的问题
? Cohen和 Grossberg[1983年 ]:Hopfield网络
的 稳定性定理
如果 Hopfield网络的联接权矩阵是对角线为
0的对称矩阵,则它是稳定的
? 用著名的 Lyapunov函数作为 Hopfield网络
的能量函数
2013-3-3 277
Lyapunov函数 ——能量函数
?作为网络的稳定性度量
– wijoioj:网络的一致性测度 。
– xjoj:神经元的输入和输出的一致性测度 。
– θ joj:神经元自身的稳定性的测度 。
? ????? ???
??? ?
h
1j
jj
n
1j
jj
h
1i
h
1j
jiij ooxoow2
1
E
2013-3-3 278
当 ANk的状态从 ok变成 ok′
1,ANk是输入神经元
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 &12
1
2013-3-3 279
当 ANk的状态从 ok变成 ok′
EEE ????
wkk=0
)]([
1
kkkk
h
j
jkj ooxow ?????? ?
?
?
kkk on et ???? )( ?
)()(])([
&1
kkkkkk
h
kjj
jkkkj ooooxooow ?????????? ?
??
?
)]([
&1
kkkk
h
kjj
jkj ooxow ?????? ?
??
?
2013-3-3 280
ΔΕ=-(netk-θ k)Δ ok
? ANk状态的变化,Δ ok=(ok′ -ok)
? Δ ok=0,ΔΕ =0
? Δ ok>0,ok′ =1& ok=0,ok由 0变到 1,
netk>θ k,netk-θ k>0
所以,-(netk-θ k)Δ ok<0故 ΔΕ<0
结论:网络的目标函数总是下降
? Δ ok<0,ok′ =0& ok=1,ok由 1变到 0
netk<θ k,netk-θ k<0
-(netk-θ k)Δ ok<0故 ΔΕ<0
2013-3-3 281
当 ANk的状态从 ok变成 ok′
2,ANk不是输入神经元
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 &12
1
2013-3-3 282
当 ANk的状态从 ok变成 ok′
kkk
kkk
h
1j
jkj
kkk
h
kj&1j
jkj
kkk
h
kj&1j
jkkkj
o)n e t(
)oo](ow[
)oo](ow[
)oo(]o)oo(w[
EEE
?????
???????
???????
????? ????
????
?
??
??
无论 ANk的状态是如何变化的,总有 ΔΕ≤ 0
2013-3-3 283
7.3 统计 Hopfield网与
Boltzmann机
? 统计 Hopfield网
– 在网络运行中,神经元状态与, 人工温度,
确定的概率相关
– 网络运行模拟金属退火过程
)e x p (1
1
T
n e t
p
ii
i ??
??
?
pi,ANi的状态取 1的概率
neti,ANi所获网络输入;
θ i,ANi的阈值;
T:系统的人工温度。
2013-3-3 284
算法 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
2013-3-3 285
Boltzmann机的训练
?Boltzmann机是多级循环网络, 是 Hopfield网
的一种扩展 。
?神经元 ANi实际输出状态 oi=1的概率为,
)e x p (1
1
T
n e t
p
ii
i ??
??
?
?T趋近于 0时, 神经元的状态不再具有随机性,
Boltzmann机退化成一般 Hopfield网 。
2013-3-3 286
Boltzmann机的训练
? 神经元 ANi在运行中状态发生了变化
??
??
???
h
j
jj
ji
jiij ooowE
1
?
? ??
?????
j
ijij
iii
ow
oEoEE
?
)1()0(
? Boltzmann机的能量函数 (一致性函数 )
2013-3-3 287
Boltzmann机的训练
? 如果 ΔΕi>0,则应该选 ANi输出为 1,否则,
应该选 ANi输出为 0。
? ΔΕi的值越大,神经元 ANi应该处于状态 1
的概率就应该越大。反之,ΔΕi的值越小,
神经元 ANi应该处于状态 1的概率就应该越
小。从而,oi=1的概率为,
)e x p (1
1
T
E
p
i
i ?
??
?
2013-3-3 288
Boltzmann机的训练
? 处于状态 a,b的概率 Pa和 Pb,对应于 oi=1和
oi=0,其它的神经元在 a,b状态下不变
? Pa=γ pi
? Pb =γ ( 1-pi)
)
T
EE
e x p (
P
P ba
b
a ???
2013-3-3 289
Boltzmann机的训练
? 网络进行足够多次迭代后, 处于某状态的
概率与此状态下的能量和此时系统的温度有
关 。
? 由于高温时网络的各个状态出现的概率基
本相同, 这就给它逃离局部极小点提供了机
会 。
? 当系统的温度较低时,如果 Ea<Eb,则
Pa>Pb:网络处于较低能量状态的概率较大
2013-3-3 290
Boltzmann机的训练
?1986年, Hinton和 Sejnowski训练方法
– 自由概率 Pij-,没有输入时 ANi和 ANj同时
处于激发状态的概率 。
– 约束概率 Pij+:加上输入后 ANi和 ANj同时
处于激发状态的概率 。
–联接权修改量, Δ wij=α ( Pij+ - Pij-)
2013-3-3 291
算法 7-2 Boltzmann机训练算法
1 计算约束概率
1.1 对样本集中每个样本, 执行如下操作,
1.1.1 将样本加在网络上 ( 输入向量及其
对应的输出向量 ) ;
1.1.2 让网络寻找平衡;
1.1.3 记录下所有神经元的状态;
1.2 计算对所有的样本, ANi和 ANj的状态同
时为 1的概率 Pij+;
2013-3-3 292
算法 7-2 Boltzmann机训练算法
2 计算自由概率
2.1 从一个随机状态开始, 不加输入, 输
出, 让网络自由运行, 并且在运行过程中
多次纪录网络的状态;
2.2 对所有的 ANi和 ANj,计算它们的状
态同时为 1的概率 Pij-;
3 对权矩阵进行调整
Δ wij=α (Pij+-Pij-)
2013-3-3 293
7.4 双联存储器的结构
? 智力链
– 从一件事想到另一件事,, 唤回失去的记忆, 。
? 自相联
? 异相联
– 双联存储器 ( Bidirectional Associative
Memory—BAM) 。
?双联存储器具有一定的 推广能力
– 它对含有一定缺陷的输入向量,通过对信号的
不断变换、修补,最后给出一个正确的输出 。
2013-3-3 294
基本的双联存储器结构
W
第 1层 输入向量 第 2层 输出向量
WT
x1
xn
ym
y1
… … … … …
2013-3-3 295
网络运行
Y=F(XW)
X=F(YWT)
X=(x1,x2,…, xn)
Y=(y1,y2,…, ym)
F为神经元的激活函数,一般可采用 S形函数
)n e te x p (1
1
y
i
i ????
2013-3-3 296
激活函数 ——阈值函数
? 随着 λ 的增加, 该函数趋近于阈值为 0的阈
值函数 。
1 if neti>0
yi= 0 if neti<0
yi if neti=0
λ 2>λ 1 λ 1
λ 2
1/2
2013-3-3 297
基本 BAM的稳定
? Kosko(1987),
– 基本的双联存储器无条件稳定 ——联接权矩阵
是互为转置矩阵 。
? 当输入向量的维数与输出向量的维数相同
时,W为方阵,此时如果联接矩阵 W是对
称的,则基本的双联存储器退化成一个
Hopfield网
2013-3-3 298
7.5 异相联存储
?样本集, S={(X1,Y1),(X2,Y2)…,(Xs,Ys)}
?权矩阵
??
?
s
1i
i
T
i YXW
?网络需要对输入向量进行循环处理的情况
– 当输入向量中含有, 噪音,
– 样本集所含的信息超出网络的容量
2013-3-3 299
容量
? Kosko( 1987),一般情况下,相联存储器的容量
不会超过网络最小层神经元的个数 min
? Haines和 Hecht-Nielson( 1988),,非均匀, 网络
的容量最多可以达到 2min
? R,J,McEliece,E,C,Posner,E,R,Rodemich
– 用户随机地选择 L个状态
– 每个向量中有 4+log2min个分量为 1,其它为 -1
– 98%的向量成为稳定状态
2
2
2
)4m i n( l o g
m i n68.0
??L
2013-3-3 300
7.6 其它的双联存储器
? 具有竞争的双联存储器
– 可通过附加侧联接实现竞争 。 这些权构成另一
个主对角线元素为正值, 其它元素为负值的权
矩阵 。
– Cohen-Grossberg定理指出, 如果权矩阵是对
称的, 则网络是稳定 。
– 即使权矩阵不对称, 网络通常也是稳定的 。 但
是目前还不知道哪一类权矩阵会引起不稳定
2013-3-3 301
7.6 其它的双联存储器
? 连续的双联存储器
– Kosko( 1987)证明,神经元的状态非同步变
换,而且这些神经元使用其他激励函数,仍然
是稳定的,且有更强的表达能力
? 自适应双联存储器
– 最简单的方法是使用 Hebb学习律进行训练 。
– Δ wij=α oioj
2013-3-3 302
7.7 Hopfield网解决 TSP问题
? 1985年,J,J,Hopfield和 D,W,Tank用循环
网求解 TSP。试验表明,当城市的个数不超
过 30时,多可以给出最优解的近似解。而
当城市的个数超过 30时,最终的结果就不
太理想了
? n个城市间存在 n!/(2n)条可能路径
? 设问题中含有 n个城市,用 n*n个神经元构成
网络
2013-3-3 303
7.7 Hopfield网解决 TSP问题
? dxy——城市 X与城市 Y之间的距离;
? yxi——城市 X的第 i个神经元的状态,
1 城市 X在第 i个被访问
yxi=
0 城市 X不在第 i个被访问
? wxi,yj——城市 X的第 i个神经元到城市 Y的第
j个神经元的连接权。
2013-3-3 304
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
2013-3-3 305
7.7 Hopfield网用于解决 TSP问题
? 联接矩阵
wxi,yj= -Aδ xy(1-δ ij) –Bδ ij(1-δ xy) –C –ζ dxy(δ ji+1+δ ji-1)
1 如果 i=j
δ ij=
0 如果 i≠ j
2013-3-3 306
网络的能量函数
? ?? ? ?
? ?? ? ?
? ? ?
?
??
?
?
??
?
?
?
?
?
?
???
?
x xz i
zizixixz
x i
xi
i x zx
zixi
x i ij
xjxi
yyyd
D
ny
C
yy
B
yy
A
E
11
2
2
22
2
2013-3-3 307
网络的能量函数
? 仅当所有的城市最多只被访问一次时取得
极小值 0。
? ? ?
?x i ij
xjxi yy
A
2
? A,B,C,D为惩罚因子
第 1项
2013-3-3 308
网络的能量函数
? 仅当每次最多只访问一个城市时取得极小
值 0。
? ? ?
?
?
i x zx
zixi yy
B
2
第 2项
2013-3-3 309
网络的能量函数
? 当且仅当所有的 n个城市一共被访问 n次时
才取得最小值 0。
2
2
?
?
?
?
?
?
?? ? ?
x i
xi ny
C第 3项
2013-3-3 310
网络的能量函数
? 表示按照当前的访问路线的安排,所需要
走的路径的总长度
? ?? ? ?
?
?? ??
x xz i
zizixixz yyyd
D
112
第 4项
2013-3-3 311
习题
P100 1,4,7
2013-3-3 312
第 8章 自适应共振理论
? 主要内容
– ART模型的总体结构
– 各模块功能
– 比较层
– 与识别层联接矩阵的初始化
– 识别过程与比较过程
– 查找的实现
– ART的训练
2013-3-3 313
第 8章 自适应共振理论
? 重点
– ART模型的总体结构
– 各模块功能
– 识别过程与比较过程
– 查找的实现 。
? 难点
– 比较层与识别层联接矩阵的初始化
2013-3-3 314
第 8章 自适应共振理论
8.1 ART的结构
8.2 ART的初始化
8.2.1 T的初始化
8.2.2 B的初始化
8.2.3 ρ 的初始化
8.3 ART的实现
识别、比较, 查找, 训练
2013-3-3 315
第 8章 自适应共振理论
环境变化
网络的可塑性分析
新添样本
训练 合并
重新训练
应用 新环境下的应用
样本集
2013-3-3 316
第 8章 自适应共振理论
? Carpenter和 Grossberg在 1986年,4个样本组成
样本集。这 4个样本被周期性地提交给网络。网络是
难以收敛
? 网络的可塑性需要的 4项功能
– 样本的分类功能
– 分类的识别功能
– 比较功能
– 类的建立功能
? Grossberg等:自适应共振理论( Adaptive
Resonance Theory,简记为 ART)
? ART1,ART2。
2013-3-3 317
8.1 ART的结构
? 稳定性与可塑性是不同的
? 保证可塑性的操作要求分析
不匹配的现存
模式不被修改
新输入向量
与现存模式
相似:修改相匹配的模式
不相似:建立一个新模式
2013-3-3 318
ART总体结构图
X
识别层
C(B)
P(T)
R C
复位 G2
G1
识别控制
比较控制 比较层
复位控制
精度控制参数 ρ
2013-3-3 319
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)
2013-3-3 320
8.1 ART的结构
? tij表示识别层的第 i个神经元到比较层的第 j
个神经元的联接权
? bij表示比较层的第 i个神经元到识别层的第 j
个神经元的联接权
? pi为比较层的第 i个神经元的网络输入
?
?
?
m
j
jiji trp
1
2013-3-3 321
以比较层和识别层为中心讨论 5个功能模块
rm r
2
r1 T
1 p1 c1 T B B1
x1G1
p2 c2
cn p
n
复位 G2
复位 G2
T2
Tm
Bm
B2
XnG1
x2 G1
复位 G2
… … …
识别层 比较层
2013-3-3 322
比较层输出信号控制
G1= ┐ (r1∨ r2∨ … ∨ rm) ∧ (x1∨ x2∨ … ∨ xn)
识别层输出信号控制
G2= x1∨ x2∨ … ∨ xn
2013-3-3 323
比较层
? 执行二 -三规则
ci= 1 xi+pi+G1≥ 2
ci= 0 xi+pi+G1>2
ki
kik
m
1j
jiji
t
tr
trp
?
?
??
?
C=X P=Tk
ci=xi∧ pi
?待命期
?工作周期
2013-3-3 324
识别层
? 识别层实现竞争机制
? Bk与 C有最大的点积
?
?
n
1i
iik cb
? X的, 暂定, 代表 RNk所获得的网络输入为
}mj1|cbm ax {cb
n
1i
n
1i
iijiik ??? ??
? ?
与 RN1,RN2,…, RNm相对应
向量 B1,B2,…, Bm代表不同分类
2013-3-3 325
系统复位控制
X与 C的相似度
s≥ ρ, 当前处于激发态的 RNk所对应的 Bk、
Tk为 X的类表示;
s<ρ,此 RNk所对应的 Bk,Tk不能很好地代
表 X,需要重新寻找
?
?
?
?
?
n
1i
i
n
1i
i
x
c
s
2013-3-3 326
8.2 ART的初始化
? T的初始化
– 矩阵 T的所有元素全为 1
? B的初始化
bij<L/(L-1+n)
– n为输入向量的维数; L为一个大于 1的常数,
其值应该与输入向量的位数相关
– Tk,Bk是 RNk对应类的两种不同表示
? ρ 的初始化
– ρ ∈[ 0,1]
2013-3-3 327
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)
2013-3-3 328
8.3 ART的实现
? 在识别层,每个 RNk完成的操作
– 计算 ∑ bikci
– 接收来自其它 RN的抑制信号,并向其它的 RN
发出抑制信号
– 确定自己的输出状态
– 完成输出
? RN之间的抑制连接与抑制信号
? 如果 RNk输出 1,则表明,在本轮识别中,X
暂时被认为 是属于该 RNk所对应的类
2013-3-3 329
二,比较
? 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
与相应的, 类, 的代表向量并不完全一致
2013-3-3 330
二,比较
? 当系统复位控制模块计算 X和 C的相似度 s
? 如果 s≥ ρ,表明本轮所给出的类满足精度要求。
查找成功,系统进入训练周期
? 如果 s<ρ,表明本轮所给类不满足精度要求。
– 复位模块要求识别层复位,使所有 RN输出 0
– 系统回到开始处理 X的初态,重新进行搜索
– 复位信号屏蔽本次被激发的 RN,在下一轮匹
配中,该 RN被排除在外,以便系统能够找到其
它更恰当的 RN
2013-3-3 331
三,查找
? 如果 s≥ ρ,认为网络查找成功,此时分类
完成,无需再查找
? 如果 s<ρ,表明本轮实现的匹配不能满足
要求,此时需要寻找新的匹配向量
? 查找过程
2013-3-3 332
三,查找
1 复位模块向识别层发出复位信号
2 所有 RN被抑制,R=(r1,r2,…,rm) =(0,
0,…,0),上轮被激发的 RN被屏蔽
3 G1的值恢复为 1
4 X的值再次被从比较层送到识别层,C=X
5 不同的 RN被激发,使得不同的 P(Tk)被反
馈到比较层
6 比较层进行相应的比较,并判定本次匹配
是否满足要求
2013-3-3 333
三,查找
7 如果本次匹配不成功,则重复 1∽6 直到如
下情况之一发生
7.1 本轮匹配成功。表明已找到一个与 X
匹配较好的模式,此时,网络进入训练期,
对这个匹配的模式进行适当的修改,使它
能更好地表示 X
7.2 网络中现存的模式均不匹配。因此,
网络需要重新构造一个新模式表达此类
2013-3-3 334
三,查找
? 网络用一个还未与任何类关联的 RN来对应
X所在的类
– 根据 X修改与此 RN对应的 Tk,Bk
– 被网络选中的 RNk对应的 Tk=( 1,1,…, 1)
– P=( 1,1,…, 1)被送入比较层。
– C=X∧ P=X,被送入系统复位控制模块,s=1。
而 ρ ≤ 1,所以,s≥ ρ 。匹配获得成功
– 网络进入训练期
2013-3-3 335
三,查找
? 首先被选中的 RN不一定对应 X属于的类
– 受 B取法的影响,有时候,获得最大激励值的
RN对应的类不一定是 X所属的类
? 例如:设 n=5,三个输入向量为,
X1=( 1,0,0,0,0)
X2=( 1,0,0,1,1)
X3=( 1,0,0,1,0)
2013-3-3 336
三,查找
? 假定用初始化 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被选中,则成功
2013-3-3 337
三,查找
? RN1被选中,则出现问题
– 比较层输出向量 C=( 1,0,0,0,0),使得
s=0.5,当 ρ >0.5时,选择 RN1就不能满足精度
要求,此时网络就需要进入查找工作阶段
1,RN1获胜
2,C取值( 1,0,0,0,0)
3,
5.0
5
1
5
1
??
?
?
?
?
i
i
i
i
x
c
s
2013-3-3 338
三,查找
4,s<ρ
5,RN1被屏蔽
6,网络进入第二个查找周期,RN2获胜
7,C取值( 1,0,0,1,0)
8,
0.1
5
1
5
1
??
?
?
?
?
i
i
i
i
x
c
s
2013-3-3 339
三,查找
9,满足精度要求,停止查找,进入训练期
? 当 L取其它的值时,将会有不同的结果
? 当 RN被系统认为是不能满足精度要求后,
在继续查找过程中,一直被屏蔽
?, 查找周期,,网络的五个功能模块之间
互相影响,加上信号的反馈,使得网络中
的信号较为复杂
2013-3-3 340
四,训练
? Tk,Bk的修改
???
?
?
n
1j
j
i
ik
c1L
Lc
b
tki = ci
2013-3-3 341
四,训练
? L是常数
? T的元素只可能从 1变成 0,不可能从 0变成 1:
用 1初始化 T的所有元素
? 如果 RNk对应的模式代表类 {X1,X2,…,
Xd},则有 Tk= X1∧ X2∧ … ∧ Xd
? 网络将向量共有的东西作为它的类表示,
这也符合一般意义下的, 共同特征, 的要

2013-3-3 342
四,训练
???
?
?
n
1j
j
i
ik
c1L
Lc
b
中含有重要因子
?
?
n
1j
jc
2013-3-3 343
四,训练
? 设 X1,X2分别使 RN1,RN2激发
? 设 T1= X1,T2 =X2
? 如果相应式子中没有 该因子,则此时 B1=T1、
B2 =T2
? 当 X1再一次被输入时,RN1,RN2因为获得
的网络输入相同而都有被选中的可能
? 如果 RN2被选中,则会导致网络运行错误,
使得原有的分类被严重破坏
2013-3-3 344
四,训练
? ∑C j可以看成向量 C的一个度量
– 越大,产生的权值就越小;
– 越小,产生的权值就越大。
– 当一个向量是另一个向量的子集时,能够获得
较好的操作
? 例如
X1=( 1,0,0,0,0)
X2=( 1,0,0,1,1)
X3=( 1,0,0,1,0)
2013-3-3 345
四,训练
① X1被再次输入, 导致 RN2被选中;
② 识别层将 T2送入比较层,P= T2;
③ 此时, C=P∧ X1=X1;
④ 复位控制模块根据 C与 X1计算出 s=1;
⑤ 因为 s>ρ, 所以对网络进行训练,T2=C。
显然, 其原值被破坏了 。 而当我们选择一个
适当的 L,同时在调整 B时保留, 这个问题就
可以避免了 。
2013-3-3 346
四,训练
? 网络的分类并不是一成不变的
? 继续使用上面例子中的输入向量,取 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)
2013-3-3 347
四,训练
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>ρ
2013-3-3 348
四,训练
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选择一个新的神经元
2013-3-3 349
四,训练
? 可以让 ART在训练完成后,再投入运行
2013-3-3 350
习题
? P112
? 1,5