神经网络总结

神经元模型

神经元模型是一个包含输入,输出与计算功能的模型。输入可以类比为神经元的树突,而输出可以类比为神经元的轴突,计算则可以类比为细胞核。

下图是一个典型的神经元模型:包含有3个输入,1个输出,以及2个计算功能。

注意中间的箭头线。这些线称为“连接”。每个上有一个“权值”。
在这里插入图片描述
    在实际的神经网络中,我们不能直接用逻辑回归,必须要在逻辑回归外面再套上一个函数,这个函数我们就称它为激活函数,如上图中的非线性函数。激活函数非常非常重要,如果没有它,那么神经网络的智商永远高不起来。更详细的,在1943年,McCulloch和Pitts将上图的神经元结构用一种简单的模型进行了表示,构成了一种人工神经元模型,也就是我们现在经常用到的“M-P神经元模型”,此处可看常见的激活函数.
在这里插入图片描述

感知机与多层网络

感知机模型:
 在原来MP模型的“输入”位置添加神经元节点,标志其为“输入单元”。其余不变,于是我们就有了下图:从本图开始,我们将权值w1, w2, w3写到“连接线”的中间。
在这里插入图片描述
在“感知器”中,有两个层次。分别是输入层和输出层。输入层里的“输入单元”只负责传输数据,不做计算。输出层里的“输出单元”则需要对前面一层的输入进行计算。

假如我们要预测的目标不再是一个值,而是一个向量,例如[2,3]。那么可以在输出层再增加一个“输出单元”。
在这里插入图片描述

    与神经元模型不同,感知器中的权值是通过训练得到的。因此,根据以前的知识我们知道,感知器类似一个逻辑回归模型,可以做线性分类任务。

我们可以用决策分界来形象的表达分类的效果。决策分界就是在二维的数据平面中划出一条直线,当数据的维度是3维的时候,就是划出一个平面,当数据的维度是n维时,就是划出一个n-1维的超平面。

下图显示了在二维平面中划出决策分界的效果,也就是感知器的分类效果。
  在这里插入图片描述
多层网络:
    要解决非线性可分问题,需要考虑使用多层功能神经元,例如图5.5中这个简单的两层感知机就能解决 OR NOT问题。在图5.5中,输入层和输出层之间的一层神经元,被称作隐层或者是隐含层(hidden layer),隐含层和输出层神经元都是拥有激活函数的功能神经元
  两层神经网络除了包含一个输入层,一个输出层以外,还增加了一个隐藏层。此时,中间层和输出层都是计算层。我们扩展上节的单层神经网络,在右边新加一个层次(只含有一个节点)。
更加一般的是,常见的神经网络是如图5.6所示的层级结构,每层神经元与下一层神经元互连,神经元之间不存在同层连接。也不存在跨层连接,这样的神经网络通常被称为多层前馈神经网络,其中输入层神经元接受外界输入,隐层与输出层神经元对信号进行加工,最终结果由输出层神经元输出,换言之,输出层神经元仅仅是接受输入,不进行函数的处理,隐层和输出层包含功能神经元。因此,图5.6(a)通常被称为两层网络,为避免企业,本书称之为”单隐层网络“,只需要包含隐层,即可称之为多层网络,神经元的学习过程,就是根据训练数据来调整神经元之间的连接权以及每个功能神经元的阈值,换言之,神经网络学习到的东西,蕴藏在连接权和阈值中。
在这里插入图片描述

误差逆传播算法(BP算法)

多层感知器在如何获取隐层的权值的问题上遇到了瓶颈。既然我们无法直接得到隐层的权值,能否先通过输出层得到输出结果和期望输出的误差来间接调整隐层的权值呢?BP算法就是采用这样的思想设计出来的算法,它的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。

正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段。

反向传播时,将输出以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。
反向传播算法的启示是数学中的链式法则。在此需要说明的是,尽管早期神经网络的研究人员努力从生物学中得到启发,但从BP算法开始,研究者们更多地从数学上寻求问题的最优解。不再盲目模拟人脑网络是神经网络研究走向成熟的标志。正如科学家们可以从鸟类的飞行中得到启发,但没有必要一定要完全模拟鸟类的飞行方式,也能制造可以飞天的飞机。

优化问题只是训练中的一个部分。机器学习问题之所以称为学习问题,而不是优化问题,就是因为它不仅要求数据在训练集上求得一个较小的误差,在测试集上也要表现好。因为模型最终是要部署到没有见过训练数据的真实场景。提升模型在测试集上的预测效果的主题叫做泛化(generalization),相关方法被称作正则化(regularization)。神经网络中常用的泛化技术有权重衰减等。
反向传播算法可以直观的理解为下图。梯度的计算从后往前,一层层反向传播。前缀E代表着相对导数的意思。在这里插入图片描述

全局最小与局部最小

模型学习的过程实质上就是一个寻找最优参数的过程,例如BP算法试图通过最速下降来寻找使累积经验误差最下的权值与阈值,在谈到最优时。一般会提到局部极小和全局最小。
1.局部极小解:参数空间中某个点,其邻域点的误差函数值均不小于该点的误差函数值。
2.全局最小解:参数空间某个点,所有其他点的误差函数值均不小于该点的误差函数值。
在这里插入图片描述
要成为局部极小点,只要满足该点在参数空间的梯度为0.局部极小可以有多个,而全局最小只有一个。全局最小一定是局部极小,而局部极小却不一定是全局最小。在很多机器学习算法中都试图找到目标函数的全局最小。
梯度下降的思想就是沿着负梯度方向去搜索最优解,负梯度方向是函数值下降最快的方向,若迭代到某处梯度为0,则表示达到了一个局部极小,参数停止更新。
如何跳出局部最小值
(1)使用随机梯度下降算法,顾名思义,因为是随机选择要计算梯度的点,数值可能不为0,就有机会跳出“局部最小值”;

(2)使用“模拟退火”算法,模拟退火每一步都在以一定的概率接受比当前解更差的结果,在每次迭代过程中,接受“次优解”的概率要随着时间的推移而逐渐降低,从而保证算法的稳定;

(3)以多组不同的参数值初始化多个神经网络,按照标准的方法训练之后,去其中误差最小的解作为最终的参数。

(4)借助动量法,冲出局部最小值;

(5)对应第(3)条,调整学习率(步长),选取合适的ansatz。

步长过小:收敛太慢;

步长偏大:在最小值附近震荡,达不到最优

步长太大: 容易跳出合理区域,无法收敛

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值