淘先锋技术网

首页 1 2 3 4 5 6 7

一、权重更新问题

在之前的章节,我们使用误差来指导如何调整链接权重,这也是线性分类器所做的事。在计算权重时,有人会建议采用暴力方法,但随着网络层、节点和权重的增加,暴力方法会不切实际,因此提出了梯度下降的方法。

(一)“梯度下降”方法

1.二维空间函数

(1)适用场合:

<1>如果函数非常复杂,不能用代数方法轻松找到结果值,可以采用这个方法。

<2>当函数有很多参数,一些其他方法不切实际,或者会得出错误答案,这种方法依然适用。

(2)思想。

以一简单函数为例。

首先随机选择一个起点,沿着向下,即x轴向右的方向,稍微增加x的值,向实际最小值靠近了一些。多次执行这样操作,直到不能改进为止。

在改进过程中,要注意调整步长,与梯度的大小成比例,那么在接近最小值时,可以采用小步长。避免超调,即避免在最小值的地方来回反弹。

2.三维空间

为了避免终止于错误的山谷或错误的函数最小值,我们从山上的不同点开始,多次训练神经网络,确保并不总是终止于错误的山谷。不同的起始点意味着选择不同的起始参数,在神经网络的情况下,这意味着选择不同的起始链接权重。

梯度下降法非常具有弹性,可以容忍不完善的数据,如果我们不能完美地描述函数,或偶尔意外地走错了一步,也不会错得离谱。

(二)误差函数的选择与计算

1.函数的选择

候选项如下:

第一种方法:误差总和会出现为0的情况,即没有误差。与实际网络输出与目标输出不符合,所以这不是很好的测量方法。

第二种方法:在V型山谷的情况下,无法缩小步长,有超调的风险。也不是好的测量方法。

第三种方法:(1)使用误差的平方,我们可以很容易使用代数计算出梯度下降的斜率。

(2)误差函数平滑连续,这使得梯度下降法很好地发挥作用——没有间断,也没有突然的跳跃。

(3)越接近最小值,梯度越小,这意味着,如果我们使用这个函数调节步长,超调的风险就会变得较小。

2.误差函数的计算过程

现在开始计算误差函数相对于权重的斜率。

目标:最小化神经网络的误差函数,优化网络链接权重的参数。

(1)理论分析

下图为一个权重,但神经网络往往有众多参数。

下图显示了两个链接权重,误差函数是一个三维曲面

当函数具有多个参数时,要画出误差曲面相对较难,但是使用梯度下降寻找最小值的思想是相同的。

(2)数学计算

误差函数的斜率:,也就是我们希望使用梯度下降的方法到达最小值的方向。