西瓜书笔记第五章-神经网络

chapter 5

5.1 神经元模型

定义:神经网络是由具有适应性的简单单元组成的广泛并行互联的网络,它的组织能够模拟生物神经系统对真实世界物体所做出的交互反映
神经网络的基本单元是神经元模型,当一个神经元兴奋时,会向相连的神经元发送化学介质,从而改变神经元内的电位,如果某神经元的电位超过了阈值,那么就会兴奋起来(阈值就是平时所说的偏差bias)。
M-P神经元模型 :西瓜书笔记第五章-神经网络_第1张图片
模型中,神经元接受其它神经元传来的带权重的输入信号,总输入值与神经元的阈值比较,通过激活函数处理以产生神经元的输出。
西瓜书笔记第五章-神经网络_第2张图片

5.2 感知机与多层网络

给定训练数据集,权重以及阈值能够通过学习得到。对样例(x,y)若当前感知机的输出为y~,则感知机权重将这样调整:西瓜书笔记第五章-神经网络_第3张图片
n称为学习率,大小在0到1之间,若感知机对y的预测正确,即y~=y,则感知机不发生变化,否则将根据错误的程度进行权重调整。
感知机只有输出层神经元进行激活函数处理,即只有一层功能神经元,学习能力非常有限,若两类是线性可分的(如与,或,非),那么感知机的学习一定会收敛,而求得适当的权向量w,否则会震荡而难以收敛(如简单的非线性问题,异或):
西瓜书笔记第五章-神经网络_第4张图片
要解决非线性可分问题,需考虑使用多层功能神经元(多层感知机),输入和输出层之间的层称为隐含层,隐含层和输出层神经元都是拥有激活函数的功能神经元
更一般的是“多层前馈神经网络”,每层神经元与下一层神经元全互联,神经元间不存在同层连接,也不存在跨层连接。
神经网络的学习过程,就是根据训练数据来调整神经元之间的连接权以及每个功能神经元的阈值,换言之,神经网络学到的东西,蕴含在连接权与阈值中

5.3 误差逆传播(反向传播)

反向传播(BP)是迄今最成功的神经网络学习算法,BP算法不仅可用于学习多层前馈神经网络,还可用于其它类型的神经网络,例如递归神经网络。
BP算法基于梯度下降策略,以目标的负梯度方向对参数进行调整。
西瓜书笔记第五章-神经网络_第5张图片
对训练误差,进行链式求导,梯度反向传播的具体公式直接看电子书。
算法步骤:1、将输入示例提供给输入层神经元,然后逐层将信号前传,直到产生输出层的结果;2、计算输出层的误差,再将误差传播至隐层单元;3、根据隐层神经元的误差来对连接权和阈值进行调整;该迭代过程循环进行,直到达到某些停止条件为止,例如训练误差已达到很小的值。
BP算法的目标是要最小化训练集D上的累积误差
在这里插入图片描述
上文所述的BP算法是标准BP算法,每次迭代仅针对一个训练样例,参数更新非常频繁,而且对不同样例进行更新的效果可能出现“抵消”的现象,因此,为了达到累积误差的极小点,需要更多次的迭代。

累积BP算法:直接对累积误差最小化,在读取整个训练集D一遍后,才对参数进行更新,参数更新的频率慢得多,但很多任务中,累积误差下降到一定程度后,进一步下降非常缓慢,这时标准BP往往会得到较好的解,尤其在训练集D非常大时更明显。(标准BP和累积BP的区别类似于随机梯度下降SGD和标准梯度下降的区别)。
BP表示能力强大,因此经常遭遇过拟合,两种策略缓解BP网络的过拟合:1、早停(early stopping):训练集用来计算梯度,更新权值和阈值,验证集用来估计误差,若训练集误差降低而测试集误差升高,则停止训练,并返回具有最低测试集误差的权值和阈值。
2、正则化,在误差函数中增加一个用于描述网络复杂度的部分,例如权重和阈值的平方和。
西瓜书笔记第五章-神经网络_第6张图片

5.4 全局最小与局部极小

神经网络的训练过程是参数寻优过程,即在参数空间中,寻找一组最优参数使得E最小。
局部极小解是参数空间中的某个点,其领域点的误差函数均不小于该点的函数值,全局最小解是指参数空间中所有点的误差函数均不小于该点的误差函数值。
我们先计算误差函数在当前点的梯度,根据梯度确定搜索方向,例如,由于负梯度方向是函数值下降最快的方向,梯度下降法就是沿负梯度方向搜索最优解,若误差函数在当前点的梯度为零(没有可以下降的方向),则到达局部极小,我们称参数寻优陷入了局部极小。

跳出局部极小的方法:1、以多种不同的参数初始化进行训练,相当于从不同的初始点进行搜索,取其中误差最小的解作为最终参数。
2、使用模拟退火技术:模拟退火在每一步都以一定概率接受比当前解更差的结果,从而有助于跳出局部极小,接受次优解的概率随着时间的推移而降低,以保证算法的稳定性。
3、随机梯度下降,在计算梯度时加入了随机因素,即使陷入局部最小点,它计算出的梯度仍可能不为零,这样就有机会跳出极小点。
4、遗传算法

5.5其他常见神经网络

5.5.1 RBF网络

径向基(radical basis function)网络是一种单隐层前馈神经网络,它使用径向基函数作为隐层神经元的激活函数,而输出层则是对隐层神经元输出的线性组合
西瓜书笔记第五章-神经网络_第7张图片

5.5.2 ART网络

竞争型学习:网络的输出神经元互相竞争,每一刻仅有一个竞争获胜的神经元被激活,其它神经元的状态被抑制。
ART(adaptive response theory,自适应谐振理论),是竞争型学习网络的代表,由比较层,识别层,识别阈值和重置模块构成

5.5.3 SOM网络

自组织映射,一种竞争型学习的无监督神经网络。

5.5.4 级联相关网络

5.5.5Elman网络

与BP网络的区别
它是动态反馈型网络,它能够内部反馈、存储和利用过去时刻输出信息,既可以实现静态系统的建模,还能实现动态系统的映射并直接反应系统的动态特性,在计算能力及网络稳定性方面都比BP神经网络更胜一筹。
缺点
与BP神经网络一样,算法都是采用基于梯度下降法,会出现训练速度慢和容易陷入局部极小点的缺点,对神经网络的训练较难达到全局最优

5.5.6玻尔兹曼机

神经网络中有一类模型是为网络状态定义一个“能量”,能量最小化时网络达到理想状态,而网络的训练就是最小化这个能量函数。
玻尔兹曼机

5.6深度学习

计算能力的大幅提高可缓解训练的低效性,训练数据的大幅增加可降低过拟合风险,因此,以深度学习为代表的复杂模型受到人们关注。
从增加模型的复杂度来看,增加隐层的数目比增加神经元数目更有效。
误差在多隐层内逆传播时,往往会发散而不会收敛到稳定状态。

训练方法:1、逐层预训练(现已很少使用)
2、参数共享,即让一组神经元使用相同的连接权

无论是DBN还是CNN,其多隐层堆叠,每层对上一层的输出进行处理的机制,可看作是在对输入信号进行逐层加工,从而把初始的,与输出目标之间联系不太密切的输入表示,转化成与输出目标联系更密切的表示,使得原来仅基于最后一层输出映射难以完成的任务成为可能。换言之,通过多层处理,逐渐将初始的==“低层”特征表示转化为“高层”特征表示==后(如CNN的卷积+池化),用“简单模型”即可完成复杂的分类任务(CNN后的全连接层),由此可将深度学习理解为进行“特征学习”或“表示学习”。

你可能感兴趣的:(西瓜书)