(本科)第15章-人工神经网络.pdf





《(本科)第15章-人工神经网络.pdf》由会员分享,可在线阅读,更多相关《(本科)第15章-人工神经网络.pdf(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(c) 2020,陈强,机器学习及 R 应用,高等教育出版社 1 第第 15 章章 人工神经网络人工神经网络 人类大脑是由大约 1 千亿个“神经元”(neurons)相连而构成的“神经网络”(neural network)。 McCulloch and Pitts (1943)首先提出神经元的简化数学模型。 Rosenblatt(1958)提出 “感知机” (perceptron), 通过引入 “学习” (learning),使得感知机具备将事物分类的能力。 但这种单层的神经网络无法得到非线性的决策边界,直到出现“多层感知机” (multilayer perceptron), 即 “多层神经网
2、络” (multilayer neural network)。随着算法日益改进,演化成炙手可热的“深度学习”(deep learning)。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 2 15.1 人工神经网络的思想人工神经网络的思想 在人工智能(Artificial Intelligence,简记 AI)领域,主要有两大派系。 一个派系为“符号主义”(Symbolicism),又称逻辑主义,主张用公理和逻辑体系搭建一套人工智能系统。 符号主义者认为,人工智能应模仿人类的逻辑方式获取知识。 另一派系则是“连接主义”(Connectionism),也称仿生学派,主张模仿人类的
3、神经元,用神经网络的连接机制实现人工智能。 连接主义者奉行大数据和学习来获得知识。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 3 人工神经网络(Artificial Neural Networks,简记 ANN)是连接主义的代表作。 人类大脑是由大量 “神经细胞” (neural cells)为基本单位而组成的神经网络。 神经细胞也称 “神经元” (neurons)。 图 15.1 为神经元的基本结构示意图。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 4 图 15.1 神经元结构示意图 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 5 在
4、图 15.1 中,一个神经元通过左边的“树突”(dendrite)从其他神经元的“轴突”(axon)及“轴突末梢”(axon terminal)获取电子或化学信号(未在图中显示其他神经元)。 两个神经元之间的连接部位(junction),称为“神经突触”(synapse)(在图中标为 “神经末梢” )。 连接在一起的神经元, 可以共同兴奋, 即所谓 “neurons wired together, fire together” 。 从树突(dendrites)获得不同的信号后,神经元的“细胞体”(cell body)将这些信号进行加总处理。 如果这些信号的总量超过某个阈值,则神经元会兴奋起来,
5、并通过轴突向外传输信号,经过神经突触(synapses),而为其他神经元的树突所接收。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 6 1943 年,美国神经生理学家 Warren McCulloch 与数学家 Walter Pitts 将生物神经元简化为一个数学模型 (McCulloch and Pitts, 1943),简称 M-P 神经元模型,参见图 15.2。 从图 15.2 可见,M-P 神经元模型与生物神经元在形式上类似。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 7 图 15.2 M-P 神经元的数学模型 (c) 2020,陈强,机器学习及
6、R 应用,高等教育出版社 8 将神经元视为一个计算单位,它首先从树突(dendrites)输入信号1()pxx x,在细胞体(cell body)进行加权求和1piiiw x,其中1()pww w为权重(不同信号的重要性不同)。 如果求和之后的总数,超过某个阈值(比如,b),则神经元兴奋起来,通过轴突(axon)向外传递信号;反之,则神经元处于抑制状态: (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 9 111100piipiiipiiiiifw xbIw xbifw xb (15.1) 其中,参数b表示阈值(门槛值),称为偏置(bias)。示性函数( )I 称为激活函数(ac
7、tivation function)。 M-P 神经元模型本质上只是一个纯数学模型(尽管也通过电阻得到物理实现), 其中的参数w与b需要人为指定, 而无法通过训练样本进行学习。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 10 15.2 感知机感知机 Rosenblatt (1958)提出感知机(Perceptron),使得 M-P 神经元模型具备学习能力,成为神经网络模型的先驱。 对于二分类问题,考虑使用分离超平面“0bw x”进行分类,而响应变量1,1y。 如果0bw x, 则预测1y 。 如果0bw x, 则预测1y 。 如果0bw x,可随意预测。 正确分类要求()0
8、iiy bw x。 若()0iiy bw x, 则错误分类。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 11 从某个初始值00(,)bw出发,感知机希望通过调整参数( , )bw,使得模型的错误分类最少。 感知机的目标函数为最小化所有分类错误观测值的“错误程度”之和: ,min( , )()iibiLby b www xM (15.2) 其中,M为所有错误分类(misclassified)的个体下标之集合。 假定M不变(若M有变,在迭代过程中更新即可),则此目标函数的梯度向量为 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 12 ( , )iiiLby wx
9、wM (15.3) ( , )iiLbyb wM (15.4) 使用梯度下降法,沿着负梯度方向更新,则参数的更新规则为 iiiywwxM (15.5) iibbyM (15.6) 其中,为“学习率”(learning rate),也称“步长”(step size)。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 13 通过迭代,可使损失函数( , )Lbw不断减小,直到变为 0 为止。 感知机算法的直观解释:当一个样本点被错误分类,即出现在分离超平面“0bw x”的错误一侧时,则调整参数( , )bw,使得分离超平面向该误分类点的一侧移动,以减少此误分类点与超平面的距离,直至正
10、确分类为止。 可以证明,对于线性可分的数据,感知机一定会收敛。 这表明,只要给予足够的数据,感知机具备学得参数( , )bw的能力,仿佛拥有“感知”世界的能力(比如,自动将事物分类),故名“感知机” 。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 14 对于线性可分的数据, 感知机虽然一定会收敛, 但从不同的初始值出发,一般会得到不同的分离超平面,无法得到唯一解。 由于所得超平面未必是“最优分离超平面”(optimal separating hyperplane),故感知机的泛化能力也没有保证。 如果数据为线性不可分,则感知机的算法不会收敛。 感知机更严重的缺陷是,它的决策边
11、界依然为线性函数。可将感知机的预测函数写为 ( )fsignbxw x (15.7) 其中,( )sign 为符号函数,满足 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 15 10( )10if zsign zif z (15.8) 虽然符号函数( )sign 为非线性, 但感知机的决策边界为0b w x,依然为线性函数。 感知机无法适用于决策边界为非线性的数据。 例 感知机无法识别 “异或函数” 。 在逻辑学中, 有几个常见的逻辑运算,包括“与”(AND)、 “或”(OR)、 “与非”(NOT AND)、 “异或”(Exclusive Or,简记 XOR)。 (c) 202
12、0,陈强,机器学习及 R 应用,高等教育出版社 16 “异或” 是一种排他性(exclusive)的 “或” , 即当二者取值不同时为 “真”(TRUE),而当二者取值相同时即为“假”(FALSE)。 图 15.3 异或函数的非线性决策边界 逻辑判断 TRUE 记为 1(以蓝点表示),而 FALSE 记为 0(以黑点表示)。(c) 2020,陈强,机器学习及 R 应用,高等教育出版社 17 以图中最左边的 AND 运算为例,只有当输入值都是 1(TRUE)时,经过AND 运算后才是 1(TRUE),以右上角的蓝点表示;在这种情况下,存在线性的决策边界。 对于 OR 与 NAND 的运算,也存在
13、线性的决策边界。 对于 XOR 的运算, 由于 TRUE 与 FALSE 分别分布在两个对角上, 故无法找到线性的决策边界,存在非线性的决策边界。 1969 年,Marvin Minsky 与 Seymour Papert 在专著 Perceptrons 指出,感知机连基本的异或函数都无法区分,功能十分有限。 当时学界普遍认为感知机无发展前途,使人工神经网络研究陷入低谷。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 18 15.3 神经网络的模型神经网络的模型 事实上,在感知机的基础上,并不难得到非线性的决策边界。 只要引入多层神经元,经过两个及以上的非线性激活函数迭代之后,
14、即可得到非线性的决策边界。 非线性的激活函数是关键:如果使用线性的激活函数,则无论叠加或嵌套多少次(相当于复合函数),所得结果还是线性函数。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 19 首先,考虑具有多个输出结果(multi output)的感知机,如图 15.4 所示。 图 15.4 多输出的感知机 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 20 在图 15.4 中,共有两个输出(响应)变量,1 y与2 y。 其中,1111piiizbw x与2221piiizbw x,均为在施加激活函数之前的加总值;而( )f 为激活函数。 其次,图 15.4
15、中的多个输出结果,可重新作为输入变量,经过加权求和后,再次施以激活函数,参见图 15.5。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 21 图 15.5 多层感知机 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 22 在图 15.5 中,最终输出结果为 (2)(2)(2)1122( )()yf bwf zwf z (15.9) 即对1( )f z与2()f z再次加权求和,然后再施加激活函数( )f 。 函数(15.9)所对应的决策边界为非线性的。 在图 15.5 中, 最左边为输入层(input layer), 中间为隐藏层(hidden layer),而
16、最右边为输出层(output layer)。 之所以将中间层称为“隐藏层” ,因为该层的计算在算法内部进行,从外面并不可见。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 23 隐藏层可有更多的神经元, 而输出层也可有多个输出结果, 参见图 15.6。 图 15.6 单隐藏层的神经网络 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 24 更一般地,神经网络模型可有多个隐藏层,参见图 15.7。 图 15.7 双隐藏层的神经网络 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 25 这种标准的神经网络,称为前馈神经网络(feedforward neu
17、ral network),因为输入从左向右不断前馈。 也称为全连接神经网络(fully-connected neural network), 因为相邻层的所有神经元都相互连接。 针对特殊的数据类型,可能还需要特别的网络结构,比如卷积神经网络(适用于图像识别)、循环神经网络(适用于自然语言等时间序列)等。 如果神经网络的隐藏层很多, 则称为深度神经网络(deep neural networks),简称深度学习(deep learning)。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 26 15.4 神经网络的激活函数神经网络的激活函数 感知机使用符号函数(15.8)作为激活函
18、数,是不连续的“阶梯函数”(step function),不便于进行最优化。 激活函数必须为非线性函数,因为这个世界本质上是非线性的。神经网络模型中常用的激活函数包括: (1) S 型函数(Sigmoid Function),参见图 15.8。狭义的 S 型函数就是逻辑分布的累积分布函数,其表达式为 1( )1zze (15.10) (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 27 图 15.8 两种 S 型激活函数 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 28 此函数也用于逻辑回归(Logit regression),在机器学习中有时记为( ) z,也
19、称为“逻辑函数”(logistic function)。 Sigmoid 函数可视为一种“挤压函数”(squashing function),即把输入的任何实数都挤压到(0,1)区间。 输入值z在 0 附近时,sigmoid 函数近似为线性函数;而当输入值z靠近两端()时,则对输入进行抑制。 输入越小,则输出越接近于 0;而输入越大,则输出越接近于 1;此特点与生物神经元类似。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 29 由于sigmoid函数的输出值介于0与1之间, 故可将其解释为概率分布。 与感知机所用的阶梯激活函数相比,sigmoid 函数为连续可导(contin
20、uously differentiable,即导函数存在且连续),其数学性质更好。 但当输入靠近两端(z很大)时,sigmoid 函数的导数( ) z趋向于 0,故在训练神经网络时,可能导致“梯度消失”(vanishing gradient)的问题,使得梯度下降法失效。具体来说,sigmoid 函数的导数为 ( )( ) 1( )zzz (15.11) 当z 或z 时,lim( )0z。这种情形称为“两端饱和” 。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 30 (2) 双曲正切函数(Hyperbolic Tangent Function),参见图 15.8。双曲正切函数是
21、一种广义的 S 型函数, 因为它的形状也类似于拉长的英文大写字母S,其表达式为 tanh( )zzzzeezee (15.12) Tanh 函数可看作是将 Logistic 函数进一步拉伸到( 1,1)区间。二者有如下关系: tanh( )2 (2 )1zz (15.13) 其中,上式右边可写为 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 31 222112 (2 ) 12111tanh( )zzzzzzzezeeeezee (15.14) Tanh 函数的输出是零中心化的(zero-centered), 而 Logistic 函数的输出一定大于 0。 非零中心化的输出(例如
22、 Logistic 函数), 会使得下一层的神经元输入发生“偏置偏移”(bias shift),使得梯度下降的收敛速度变慢。 Tanh 函数也是两端饱和的,依然可能发生梯度消失的问题。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 32 (3) 修正线性单元(Rectified Linear Unit,简记 ReLU),也称“线性整流函数” ,参见图 15.9。 为了解决 Logistic 函数与 Tanh 函数的两端饱和问题,Nair and Hinton(2010)提出如下 ReLU 函数,成为目前深度神经网络中经常使用的激活函数: 0ReLU( )max(0, )00zi
23、f zzzif z (15.15) ReLU 实际上是一个斜坡(ramp)函数。当输入0z ,其输出也是z,即所谓 “线性单元” (linear unit); 而当输入0z 时, 则将输出 “修正” (rectified)为 0。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 33 图 15.9 ReLU 与泄露 ReLU 激活函数 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 34 以 ReLU 函数作为激活函数,其计算非常方便。 相比于S型函数的两端饱和, ReLU函数为 “左饱和函数” , 即当z 时,ReLU 函数的导数趋向于 0。 当0z 时, ReL
24、U 函数的导数恒等于 1, 这可在一定程度上缓解神经网络训练中的梯度消失问题,加快梯度下降的收敛速度。 ReLU 函数被认为具有生物学上的解释,比如单侧抑制、宽兴奋边界(即兴奋度可以很高)。 在生物神经网络中,同时处于兴奋状态的神经元一般很稀疏。S 型激活函数会导致非稀疏的神经网络,而 ReLU 激活函数可导致较好的稀疏性。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 35 ReLU 函数也是非零中心化的,导致下一层出现“偏置偏移” ,影响梯度下降的效率。 更严重的问题是,由于当0z 时,ReLU 函数的导数恒等于 0,这导致神经元在训练时可能 “死亡” , 称为 “死亡 R
25、eLU 问题” (dying ReLU problem)。 所谓 “神经元死亡” , 就是无论该神经元的输入是什么, 其输出永远是 0,故无法更新其输入的权重。 (c) 2020,陈强,机器学习及 R 应用,高等教育出版社 36 (4) 泄露 ReLU(Leaky ReLU,简记 LReLU),参见图 15.9。解决“死亡ReLU 问题”的一种方式是,当输入0z 时,依然保持一个很小的梯度0。这使得当神经元处于非激活状态时,也有一个非零梯度可更新参数,避免永远不能被激活(Maas et al., 2013)。露 ReLU 函数的定义为 0LReLU( )0zif zzzif z (15.16)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 15 人工 神经网络

限制150内