目录
4搭建人工神经网络
4.1神经元与感知器
4.1.1神经元
4.1.2感知器
4.2人工神经网络的结构
4.2.1多层前馈神经网络
4.2.2反向传播算法
4.3梯度消失与梯度爆炸
4.3.1梯度消失
4.3.2梯度爆炸
4.4损失函数
4.4.1二元交叉熵
4.4.2交叉熵
4.4.3损失函数总结
4.5激活函数
4.5.1Sigmoid函数
4.5.2双曲正切函数(Tanh)
4.5.3线性整流函数(ReLU)
4.6实战:手工搭建神经网络
4.7课后习题:
人工神经网络中的神经元模仿了生物神经元的特性,利用激活函数将输入结果映射到一定范围,若映射后的结果大于阈值,则神经元被激活。
神经元模型是一个包含输入、输出与计算功能的模型。
连接与其上面的权值是神经元中最重要的东西。
感知器模型是神经元模型的一种具体实现,他把神经元模型用数学模型的形式进行描述刻画。
感知器具有一定的预测功能。
感知器的组成部分:
(1)输入与权值
(2)激活函数
(3)输出
感知器可以实现所有的二分类问题,以及拟合任何的线性函数,即任何线性分类和线性回归问题都可以用感知器来解决。
例子:
用感知器实现and函数(线性的二分类问题)
用感知器实现工资预测(线性回归预测问题)
BP 神经网络包括信号的正向传播和误差的反向传播两个过程,即计算误差输出时按从输入到输出的方向进行,而调整权重和阈值时则按从输出到输入的方向进行。正向传播时,输入信号通过隐含层作用于输出节点,经过非线性变换,产生输出信号,若实际输出与期望输出不相符,则转入误差的反向传播过程。误差反传是将输出误差通过隐含层向输入层逐层反传,并将误差分摊给各层所有单元,以从各层获得的误差信号作为调整各单元权重的依据。通过调整输入节点与隐层节点的连接强度和隐层节点与输出节点的连接强度以及阈值,使误差沿梯度方向下降。经过反复学习训练,确定与最小误差相对应的网络参数(权重和阅值),训练即宣告停止。此时,经过训练的神经网络即能对类似样本的输入信息自行处理输出误差最小的经过非线性转换的信息。
神经网络的正向传播算法为:从输入层到隐藏层最后到输出层,一次计算每个神经元状态值的激活值。
反向传播算法的含义是:第1层神经元的误差项等于该神经元激活函数的梯度乘以所有与该神经元相连接的第+1层的神经元的误差项的权重和。
多层前馈神经网络在训练中存在:梯度消失和梯度爆炸的问题
梯度消失又称梯度弥散问题,意为在误差反向传播的过程中,误差经过每一层传递都会不断衰减,当网络层数很深时,神经元上的梯度也会不断衰减,导
致前面隐含层上神经元的学习速度慢于后面隐含层上神经元的学习速度。
梯度消失通常出现在深层网络和采用了不合适的损失函数(Sigmoid)的情况下。
梯度消失产生的主要原因:激活函数的导数值太小。
梯度爆炸:神经网络的层数越深,梯度就越大。
梯度消失通常出现在深层网络和权重初始化值太大的情况下。
梯度爆炸产生的主要原因:网络权重ω设置过大。
在分类模型中,经常使用极大似然来导出损失函数。
适用于二元分类的损失函数。
用于预测结果的可能性,输出层有一个单元,Sigmoid函数作为激活函数。
适用于多分类的损失函数。
用于预测每个列别的结果的概率,与神经网络一起使用,输出层具有Softmax单元(每个类别一个)。
适用于回归问题。
输出层有单个的单元。
在输出层中结合二元交叉熵用于二元分类问题。
Softmax层通常用作多分类任务结合交叉熵函数的输出层。
与线性转化一起使用。
常用作隐藏单元。
与线性变换结合使用
常用来处理隐含层。
。。。
一、填空题
1.从系统角度看,人工神经网络是由大量神经元通过极其丰富和完善的连接构成的 输入层 、 隐藏层(中间层) 、 输出层 系统。
2.神经网络按结构可以分为 层次型结构 和 互联型结构 。
3.神经网络的基本特征有 非线性 、 非局限性(非常定性) 和 非凸性 。
二、简答题
1.人工神经网络的特点是什么?
答:(1)非线性 非线性关系是自然界的普遍特性。大脑的智慧就是一种非线性现象。人工神经元处于激活或抑制二种不同的状态,这种行为在数学上表现为一种非线性关系。具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。
(2)非局限性 一个神经网络通常由多个神经元广泛连接而成。一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定。通过单元之间的大量连接模拟大脑的非局限性。联想记忆是非局限性的典型例子
(3)非常定性 人工神经网络具有自适应、自组织、自学习能力。神经网络不但处理的信息可以有各种变化,而且在处理信息的同时,非线性动力系统本身也在不断变化。经常采用迭代过程描写动力系统的演化过程。
(4)非凸性 一个系统的演化方向,在一定条件下将取决于某个特定的状态函数。例如能量函数,它的极值相应于系统比较稳定的状态。非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样性。
2.BP神经网络的主要功能是什么?
神经网络是一种运算模型,由大量的节点(或称“神经元”,或“单元”)和之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重(weight),这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。人工神经网络通常是通过一个基于数学统计学类型的学习方法(Learning Method)得以优化,所以人工神经网络也是数学统计学方法的一种实际应用,通过统计学的标准数学方法我们能够得到大量的可以用函数来表达的局部结构空间,另一方面在人工智能学的人工感知领域,我们通过数学统计学的应用可以来做人工感知方面的决定问题(也就是说通过统计学的方法,人工神经网络能够类似人一样具有简单的决定能力和简单的判断能力),这种方法比起正式的逻辑学推理演算更具有优势。
三、论述题
1.前馈神经网络与反馈神经网络有何不同?
答:随着神经网络的不断发展,越来越多的人工神经网络模型也被创造出来了,其中,具有代表性的就是前馈型神经网络模型以及反馈型神经网络模型。
前馈神经网络(Feedforward Neural Network),简称前馈网络,是人工神经网络的一种。在此种神经网络中,各神经元从输入层开始,接收前一级输入,并输出到下一级,直至输出层。整个网络中无反馈,可用一个有向无环图表示。
反馈神经网络是一种反馈动力学系统。在这种网络中,每个神经元同时将自身的输出信号作为输入信号反馈给其他神经元,它需要工作一段时间才能达到稳定。Hopfield神经网络是反馈网络中最简单且应用广泛的模型,它具有联想记忆的功能,如果将李雅普诺夫函数定义为巡游函数,Hopfield神经网络还可以用来解决快速寻优问题,Hopfield网络可以分为离散型Hopfield网络和连续型Hopfield网络。
2.BP算法的缺陷有哪些?
答:(1)BP算法的学习效率低。BP(Backpropagation)算法的本质是使用链式求导法则(Chain Rule)对目标函数进行梯度下降优化。由于神经网络的复杂性,往往其目标函数非常复杂且是非凸的,最终必然导致“锯齿形现象”,因此BP算法的效率比较低下。梯度饱和(Gradient Vanishment)。神经网络非常容易输出接近0或接近1的值,使得像sigmoid这样的激活函数无法得到梯度,进而无法使得神经网络参数得到更新,网络的训练会变得停滞。为了使网络执行BP算法,不能用传统的一维搜索法求每次迭代的步长,而必须把步长的更新规则预先赋予网络,这种方法将引起算法低效。
(2)网络训练失败的可能性较大。从数学角度看,BP算法为一种局部搜索的优化方法,但它要解决的问题为求解复杂非线性函数的全局极值,因此,算法很有可能陷入局部极值,使训练失败;网络的逼近、推广能力同学习样本的典型性密切相关,而从问题中选取典型样本实例组成训练集是一个很困难的问题。难以解决应用问题的实例规模和网络规模间的矛盾。这涉及到网络容量的可能性与可行性的关系问题,即学习复杂性问题;网络结构的选择尚无一种统一而完整的理论指导,一般只能由经验选定。为此,有人称神经网络的结构选择为一种艺术。而网络的结构直接影响网络的逼近能力及推广性质。因此,应用中如何选择合适的网络结构是一个重要的问题;新加入的样本要影响已学习成功的网络,而且刻画每个输入样本的特征的数目也必须相同;网络的预测能力(也称泛化能力、推广能力)与训练能力(也称逼近能力、学习能力)的矛盾。一般情况下,训练能力差时,预测能力也差,并且一定程度上,随训练能力地提高,预测能力也提高。但这种趋势有一个极限,当达到此极限时,随着训练能力的提高,预测能力反而下降,即出现所谓“过拟合”现象。此时,网络学习了过多的样本细节,而不能反映样本内含的规律。
3.对输入、输出数据进行尺度变换的主要原因是什么?
答:什么是尺度(scale)。通常在机器学习或深度学习中,处理的数据往往是高维的,例如图像数据。而一个数据特征的不同维度的数据统计特征是不一样的,即数据在某个维度上特征的均值和方差是不同的。网络训练是使用的BP算法,所谓BP算法就是当损失函数的值进行微小的变化后,对网络中各个参数的影响。当数据尺度不统一时,对某个参数的微小变动,往往可能造成其他参数的巨大变化,使得训练非常不稳定。对数据进行尺度归一化后,网络会训练地更加稳定。