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在训练完成后,再投入运行