电气工程与自动化学院 系统建模与仿真 主讲人:江灏 人工神经网络 1 人工神经网络概述 2 人工神经网络基本原理 3 BP神经网络基本原理 4 BP神经网络应用实例 人工神经网络 1 人工神经网络概述 2 人工神经网络基本原理 3 BP神经网络基本原理 4 BP神经网络应用实例 1 人工神经网络概述 1.1 人工神经网络的背景和意义 利用机器模仿人类的智能是长期以来人们认识自然、改造自然和 认识自身的理想。 1997年,人工智能深蓝和世界国际象棋冠军 下棋。最终战胜了象棋冠军。 2016年,AlphaGo学习了人类围棋高手的大 量的对弈棋谱战胜了人类的围棋高手李世石。 2017年5月,AlphaGo又战胜了柯洁(当代 世界围棋冠军) 2017年10月19日,AlphaGo Zero重磅发布, 再次震惊世人。相比之前的AlphaGo,实现 了在AI发展中非常有意义的一步——“无师 自通”。 2017年12月7日,AlphaGo Zero再进化,通 用算法AlphaZero诞生,除了围棋以外,攻克 了更多棋类。 而到了此刻,可能人类再无棋类获胜的希望 1 人工神经网络概述 1.2 人工神经网络研究的目的和意义 目的: (1) 探索和模拟人的感觉、思维和行为的规律,设计具有人类智能的计 算机系统。 (2) 探讨人脑的智能活动,用物化了的智能来考察和研究人脑智能的物 质过程及其规律。 意义 (1) 争取构造出尽可能与人脑具有相似功能的计算机,即ANN计算机。 (2) 研究仿照脑神经系统的人工神经网络,将在模式识别、组合优化和 决策判断等方面取得传统计算机所难以达到的效果。 1 人工神经网络概述 1.3 人工神经网络的发展 (1) 第一次热潮(40-60年代未) 1943年,美国心理学家W.McCulloch和数学家W.Pitts在提出了 一个简单的神经元模型,即MP模型。1958年,F.Rosenblatt等研 制出了感知机(Perceptron)。 (2) 低潮(70-80年代初) 20世纪60年代以后,数字计算机的发展达到全盛时期,人们 误以为数字计算机可以解决人工智能、专家系统、模式识别问题, 而放松了对“感知器”的研究。人工神经网络进入低潮期。 1 人工神经网络概述 1.3 人工神经网络的发展 (3) 第二次热潮 1982年,美国物理学家J.J.Hopfield提出Hopfield网络.1986年 Rumelhart等提出的误差反向传播法,即BP法影响最为广泛。直到 今天,BP算法仍然是自动控制上最重要、应用最多的有效算法。 (4) 低潮(90年代初-2000年初) SVM算法诞生,与神经网络相比:无需调参;高效;全局最优 解。基于以上种种理由,SVM成为主流,人工神经网络再次陷入冰 河期。 1 人工神经网络概述 1.3 人工神经网络的发展 (5) 第三次热潮(2006年开始) 在被人摒弃的10年中,有几个学者仍然在坚持研究。这其中的棋手就 是加拿大多伦多大学的GeofferyHinton教授。2006年,Hinton在《 Science》和相关期刊上发表了论文,首次提出了“深度学习”的概念。 很快,深度学习在语音识别领域暂露头角。接着,2012年,深度学习技 术又在图像识别领域大展拳脚。Hinton与他的学生在ImageNet竞赛中 ,用多层的卷积神经网络成功地对包含一千类别的一百万张图片进行了 训练,取得了分类错误率15%的好成绩,这个成绩比第二名高了近11个 百分点,充分证明了多层神经网络识别效果的优越性。 1 人工神经网络概述 1.4 人工神经网络的定义 广义定义:人工神经网络(Artificial Neural Networks, 简写为ANN) 也简称为神经网络或称作连接模型,是对人脑或自然神经网络若干基本 特性的抽象和模拟,以大量的具有相同结构的简单单元的连接,来模拟 人类大脑的结构和思维方式的一种可实现的物理系统,并可通过计算机 程序来模拟实现。 1 人工神经网络概述 1.1 系统建模与仿真 视觉神经系统 ü 猫咪 p 尖耳朵 p 毛茸茸 p 圆眼睛 ü Cat × Dog 人工神经网络 1 人工神经网络概述 1.5 人工神经网络的应用 人工神经网络 1 人工神经网络概述 2 人工神经网络基本原理 3 BP神经网络基本原理 4 BP神经网络应用实例 2 人工神经网络基本原理 2.1 生物神经元模型 l 典型的生物神经元模型 ① 细胞体:是神经元的主体,由细胞核、细胞质和细胞膜三部分构成。 ② 树突:是从细胞体向外延伸的许多突起的神经纤维,这些突起称为树 突。神经元靠树突接受来自其他神经元的输入信号,相当于细胞体的 输入端。 ③ 轴突:也称神经纤维,是由细胞体伸出的最长的一条突起称为轴突, 它用于传出细胞体产生的输出电化学信号。轴突相当于细胞的输出电 缆,用于传出神经冲动、兴奋或抑制信号。 ④ 突触:是神经元之间通过一个神经元的轴突末梢和其他神经元的细胞 体或树突进行通信连接,这种连接相当于神经元之间的输入输出接口 ,其接口称为突触。 树突 细胞体 突触 轴突 来自其它神经元 2 人工神经网络基本原理 2.1 生物神经元模型 连 接 组 合 2 人工神经网络基本原理 2.2 人工神经元模型 神经元是构成神经网络的最基本单元(构件), 因此, 首要任务是构造人 工神经元模型。 x1 w1 Σ xn 轴突末梢 激活函数 o wn 树突 突触 树突 细胞体 细胞体 突触 轴突 来自其它神经元 轴突 人工神经网络基本原理 2 2.2 人工神经元模型 l 人工神经元模型 x1 w1j · · · · · w· w ij S nj f(×) qj xn x0=-1 第 j 个人工神经元模型的输入输出关系为: sj = n n åwij xi -q j = åwij xi i =1 yi = f ( s j ) i =0 ( x0 = -1, w0 j =q j ) yj 2 人工神经网络基本原理 2.3 感知机与二分类问题 单层感知机:单层计算单元的神经网络(只有一个神经元), 且激活函数为线性函数 x1 w1 · · · · · w· n xn S f(×) q x0=-1 n s = å wi xi -q i =1 y = f (s) yj 2 人工神经网络基本原理 2.3 感知机与二分类问题 激活函数: 假设两个输入X1和X2 𝒚=𝒇 𝒔 激活函数f为比例函数:f(s)=s 0 那么感知机输入输出关系为: y = w1 x1 + w2 x2 - q 神经网络分类模型 二分类问题: 模型训练 寻找合适的 w1,w2,q 将已知数据实现较好的分类 s X1 二分类问题 w1 x1 + w2 x2 > q 例如y>0时为一类,y<0为另一类 w1 x1 + w2 x2 =q w1 x1 + w2 x2 < q X2 2 人工神经网络基本原理 2.3 感知机与二分类问题 假设两个输入X1和X2 激活函数f为符号函数:f(s)=sgn(s) 那么感知机输入输出关系为: y = sgn(w1 x1 + w2 x2 - q ) 那么对于二分类问题: y=1时为一类,y=-1时为另一类 2 人工神经网络基本原理 2.3 感知机与二分类问题 ´ x1 1 -1 1 -1 x2 ´ 如图所示的异或关系,显然它是线性不可分的,单层感知器不可能将其正确分 类。 单层感知机的缺点: l 单层感知器是线性可分模型 l 感知器的输出只能取-1或1(0或1).只能用来解决简单的分类问题。 历史上,Minsky正是利用这个典型例子指出了感知器的致命弱点,从而导致 了70年代神经元网络的研究低潮(第一次低潮)。 2 人工神经网络基本原理 2.3 感知机与二分类问题 多层感知器相对于单层感知器,输出端从一个变到了多个;输入端和 输出端之间也不光只有一层,可以有多层:输出层和隐藏层。 输入层 隐藏层 输出层 2 人工神经网络基本原理 2.3 感知机与二分类问题 例:如图是一个含有两个输入,三个感知机隐层神经元和一个输出神经 元的三层感知机网络,若取 x1 x2 y1 y2 y3 y3 z y1 y2 y1=sgn(2x1+2x2+1) y2=sgn(-x1+0.25x2+0.8) y3=sgn(0.75x1-2x2+1.4) z = sgn(y1+y2+y3-2.5) 实现了非线性分类 2 人工神经网络基本原理 2.4 激活函数 激活函数(Activation Function):(亦称作用、传递、特性、活化、 转移、刺激函数),实现神经元的输入和输出之间非线性化,因线性模 型的表达能力不够,故加入非线性因素增强模型的表达能力。 上述分类问题,若采用线性模型进行拟合无法得到一个满意的结果,所以 选择更复杂的非线性化模型,得到了复杂的分类线。 2 人工神经网络基本原理 2.4 激活函数 l 饱和函数: 2 人工神经网络基本原理 2.4 激活函数 l 阶跃函数: 2 人工神经网络基本原理 2.4 激活函数 l 双曲函数: 2 人工神经网络基本原理 2.4 激活函数 l Sigmoid函数: Sigmoid函数的输出曲线两端平坦,中间部分变化剧烈 Sigmoid函数的一阶导数: 注:双曲函数和Sigmoid函数也称为S形函数,它们具有平滑和渐近性, 并保持单调性,相对于其它类函数,Sigmoid函数最为常用。 在后面使用反向传播算法时,sigmoid函数便于求导,可以使用梯度下降 法求极值,非常方便。 人工神经网络 1 人工神经网络概述 2 人工神经网络基本原理 3 BP神经网络基本原理 4 BP神经网络应用实例 3 BP神经网络基本原理 3.1 什么是BP神经网络 单层感知机:模型中的激活函数多采用符号函数,因此输出值为二值量, 主要用于简单模式分类。 多层感知机:模型通过感知器的组合以及采用S型激活函数,可输出值 为0-1之间的连续值,可实现输入到输出的任意非线性映射。 定理:只要隐藏层神经元的个数充分多,且神经元激活函数为非 线性函数的多层神经网络可逼近任何函数。 BP神经网络=多层感知机+误差反向传播(Back Propagation)学习(训练)算法 即模型训练或者说连接权重的调整采用反向传播(Back Propagation)学习算法 3 BP神经网络基本原理 3.2 误差反向传播学习算法 p学习的过程: 神经网络在外界输入样本的刺激下不断改变网络的连接权值,以使 网络的输出不断地接近期望的输出。 p学习的本质: 对各连接权值的动态调整 p学习规则(算法): 权值调整规则,即在学习过程中网络中各神经元的连接权变化所 依据的一定的调整规则。 3 BP神经网络基本原理 3.2 误差反向传播学习算法 pBP学习算法类型: 监督学习——已知样本数据及其期望值( 标签值) pBP学习算法核心思想: 将输出误差以某种形式通过隐藏层向输入层逐层反传,将误差分摊给各 层的所有神经元,修正各神经元权值 p学习过程: 信号正向传播à误差反向传播 3 BP神经网络基本原理 3.2 误差反向传播学习算法 p BP学习算法步骤: 1. 正向传播: 输入样本---输入层---各隐层---输出层 2. 判断是否转入反向传播阶段: 若输出层的实际输出与期望的输出不符 3. 误差反传 误差以某种形式在各层表示----修正各层单元的权值 4. 终止条件 网络输出的误差减少到可接受的程度进行到预先设定的学习次 数为止