神经网络与深度学习(1)

1.概述

1.1引子

人工智能(Artificial Intelligence)的定义:用机器去实现所有目前必须借助人类智慧才能实现的任务。其具体研究,开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统。

从不同的角度衍生出多种方法论:

仿生角度:模拟自然生物信息处理的过程(神经网络)

符号学角度:用统计概率、数理逻辑、博弈搜索等实证(机器学习)

行为学角度:以控制论实现机器自我进化(自动控制、强化学习)

现阶段出现了从“机器学习”到“神经网络”,再到“深度学习”的趋势。

1.2机器学习

机器学习的主要目标就是为了:预测未知理解系统(对认识的事物进行分类)。

举个例子来说:预测未知就是根据先前获得的经验,对未来的天气进行预测;而理解系统就是帮助机器加深对事物的认知,并形成评级,从人大脑的认识角度来说,对人身高的评级往往分为5-7类,很高-高-较高-中等-较矮-矮-特矮。

但是机器学习也因为其作用方式存在着诸多的弊端:

  1. 由于对经验的需求,在开发的过程中需要专家的参与,对于普通的参与者来说方法较复杂;
  2. 无法对分类划定明确的界限,人对事物特征的认识的评价标准不同,分类划定的界限不同;
  3. 经机器学习自动分类之后,往往存在着诸多非结构化数据(语义不清楚、稀疏)

这些问题直接导致机器学习的方法收效甚微。

1.3神经网络与深度学习

人工神经网络或简称神经网络(NN),是从微观结构与功能上模拟人脑神经系统而建立的一类模型,是模拟人的智能的一条途径。

在数据技术、算法引擎、计算平台三大技术的基础上,人工智能,神经网络与深度学习成为第三次崛起的核心技术。

接下来也将进一步解释神经网络与深度学习实现的具体过程。

2.神经元与线性分类

2.1创始

       神经网络的研究过程就是从微观结构与功能模拟人脑神经的过程,而人脑神经最基本的计算单元就是神经元。接下来我们将一起来认识神经元的建模过程。

2.1.1 NN数学模型

       人类的神经系统中大约有860亿个神经元,它们被大约  10^{14}+10^{15} 个突触(synapses)连接起来。如下图所示,每个神经元都从它的树突获得输入信号,然后沿着它唯一的轴突(axon)产生输出信号,轴突在末端会逐渐分枝,通过突触和其他神经元的树突相连。

       1943年,McCulloch和W.Pitts,提出单神经元数学模型。在神经元的计算模型中,沿着轴突传播的信号将基于突触的强度,与其他神经元的树突进行乘法交互。其观点是,突触的强度(也就是权重),是可学习的且可以控制一个神经元与另一个神经元的影响强度(还可以控制影响方向:使其兴奋(正权重)或使其抑制(负权重))。在基本模型中,树突将信号传递到细胞体,信号在细胞体中相加。如下图所示如果最终之和高于某个阈值,神经元将会被激活,向其轴突输出一个峰值信号,因此我们将神经元的激活建模为激活函数。激活函数常常选择使用sigmoid函数,该函数输入求和后的信号强度,随后将输入值压缩到0-1之间。最终建立的数学模型如下所示:

2.1.2 Hebb规则

When two joining cells fire simultaneously,the connection between them strengthens(当两个连接细胞同时放电时,它们之间的联系就会加强)。

连接权值的调整量与输入与输出的乘积成正比,具体表达式如下:

\Delta W=\alpha\cdot x\cdot y

2.2探索

在神经元生物研究的基础上,寻找是否有数学模型在满足神经元运作规则的基础上,能够有效的完成拟合或者分类的工作。

2.2.1线性回归

根据我们所获得的样本点,假设输出为输入变量的线性组合,如下图所示

根据自己的需求,确定代价函数,如下图所示:

线性回归求解,如下图所示:

2.2.2线性二分类问题

假设面对这样一个分类问题:

分类器的输入为特征向量,输出为0和1,或属于某类的概率,即0-1之间的数。

(1) 线性分类

但是如果代价函数变成了非线性,无法对其求偏导,求得参数值呢?那么就可以用到梯度下降法。

(2) 梯度下降法

       在最优的方向上下降最优的长度,通过次次迭代,使得系数不断向目标值逼近,规避掉了代价函数为非线性的情况。

2.3 模仿(感知机原理)

2.3.1 感知机模型

由Rosenblatt提出,是神经网络和支 持向量机的基础。 感知机解决线性分类问题。利用样本点到平面的距离公式  d = {​{a{x_0} + b{y_0} + c} \over {\sqrt {​{a^2} + {b^2}} }} = {​{​{​{\bf{w}}^{\bf{T}}}{\bf{x}}} \over {\left\| {\bf{w}} \right\|}} ,设置

因此有

经过对参数w的迭代优化,最终确定超平面的位置,实现线性分类。

2.3.2 问题

       但是,上述线性分类方法也存在着不足,不是所有的分类问题都可以通过线性分类解决,如下图所示,迭代的超平面会不断在样本点之间振荡,找不到能够实现交叉散点间分类的超平面。

为解决这样的分类问题,我们可以将其简化为如下模型,命名为线性不可分问题

3.多层感知机

要解决上述问题,可以使用多层感知机的方法,在输入层和输出层之间加入隐单元,可解决异或问题,若隐层节点(单元)可任意设置,用三层阈值节点的 网络,可以实现任意的二值逻辑函数。若隐层节点(单元)可任意设置,用三层S型非线性特 性节点的网络,可以一致逼近紧集上的连续函数或按 范数逼近紧 集上的平方可积函数。

例如:

4.BP算法

多层前馈网络的反向传播 (BP)学习算法,简称BP算法,是有导 师的学习,它是梯度下降法在多层前馈网中的应用。

  1. 正向传播是输入信号从输入层经隐层,传向输出层,若输出层得到了期望的输出,则学习算法结束;否则,转至反向传播。
  2. 反向传播是将误差(样本输出与网络输出之 差)按原联接通路反向计算,由梯度下降法调整各层节点的权值和阈值,使误差减小。

计算过程

  1. 设置初始权值系数w0为较小的随机非零值;
  2. 给定输入输出样本对,计算网络输出,完成前向传播;
  3. 计算目标函数J,如J<\epsilon,训练成功,退出;否则转入4;
  4. 反向传播计算由输出层,按梯度下降法将误差反向传播,逐层调整权值。

误差反传输出层:
在计算反传误差的过程中,链式求导规则得到了充分的应用,对应梯度下降法中公式:

\Delta {w_k} = - \alpha {​{\partial J} \over {\partial {\bf{w}}}}

将其合并后可得:

\Delta w_{ij}^{[2]} = - \alpha {​{\partial J} \over {\partial {\bf{w}}}} = \alpha \cdot \left[ {​{a_i}(1 - {a_i}){e_i}} \right] \cdot a_j^{[1]} = \alpha \cdot \delta _i^{[2]} \cdot a_j^{[1]}

其规则与Hebb规则极其相似。

总结:

5.性能优化

5.1欠拟合与过拟合

欠拟合:误差一直比较大

过拟合:在训练数据集上误差小而在测试数据集上误差大

如上图所示,其中较难解决的为过拟合,在开始的时候能够较好的跟踪,但是其误差逐渐增大。

解决方法:

  1. 权重衰减:使过去样本点所占的权重随着样本点的增加逐渐衰减;
  2. 暂退(Dropout):在整个训练过程的每一次迭代中,标准暂退法包括在计算下 一层之前将当前层中的一些节点置零。

5.2病态曲率

对于某些代价函数来说,其曲率会在某些时候发生剧烈变化,形成沟壑,而采用最速下降法会导致参数在沟壑中不断徘徊,导致参数发生在某个范围内波动的情况,如下图所示。

解决办法:动量法

       动量方法相当于把纸团换成了铁球;不容易受到外力的干扰, 轨迹更加稳定;同时因为在鞍点处因为惯性的作用,更有可能 离开平地。

  • 31
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值