Datawhale X 李宏毅苹果书 AI夏令营 Task2

上一部分说到,当遇到局部极小值或鞍点时,即使迭代次数增加,损失也无法继续降低。而这并不代表随着迭代次数的增加损失不再降低的情况就意味着遇到了局部极小值或鞍点,3.3的开篇就提出了这样一个问题,出现这种情况还非常有可能只是单纯的无法继续降低损失。这时就提出了学习率,它是指深度学习和机器学习中的一个重要的超参数,会影响模型在训练过程中更新权重的步长。采用原始的梯度下降法,不论是给定较大还是较小的学习率都无法达到理想的降低损失的效果,因此这里给出了三种自适应学习率方法,分别是:AdaGrad、RMSProp以及Adam。

AdaGrad是一种比较基础、典型的自适应学习率方法,它可以在梯度大的时候,通过调大σ来达到减小学习率的效果;相反的,当梯度较小时,所对应的σ也较小,此时学习率就比较大,这样就实现了学习率的自我调整。

RMSProp是在AdaGrad的基础上进行改进,在计算过程中引入了一个超参数α,使得新一步的α由前一步的α和当前的梯度g来共同决定,并人为地赋予他们一个权数,这个权数体现的是前一步α和当前梯度g对于新一步α的重要程度。例如,若梯度g比较小,我们一般会有一个较大的步伐,而当梯度增大时,我们为了能让步伐敏锐地感知到这一变化,往往会人为给定一个较小的α,提高当前梯度对新一步σ的影响程度,从而很快地减小步伐,让它适应较大的梯度,这就是RMSProp相较于AdaGrad的优势,但缺点也很明显,就是每一次迭代都需要人为给定一个α的值,一方面操作起来较为繁琐,另一方面人为赋值存在一定的主观性,可能对结果造成不好的影响。

Adam的部分没有过多详细介绍,只是说它可以看作RMSProp加上动量,原理应该同Task1中的动量法类似,但在这里同样具有了自适应学习率的效果。

3.3中的方法都是针对σ来进行调整,而在3.4中则给出了一种新的思路,即尝试让η动起来,这种解决问题的方法叫做学习率调度。这里给出了两种策略,分别是学习率衰减/学习率退火和预热。

介绍得比较详细的是前一种策略,它可以很好地解决图3.27红圈部分的情况(这里原文写的是图3.22b,应该是写错了),出现爆炸的原因是,由于在低梯度区域的迭代次数增多,逐渐拉低了梯度平方的平均值,进而导致σ减小,步伐增大,出现了大幅的跳跃。如果按照图3.28的曲线对η进行调整,随着迭代次数的增加,虽然σ在减小,但η同样呈现出减小的态势,这样就能抑制步伐出现爆炸式增大,从而避免了图3.27中的现象。

后一种方法预热是让学习率先变大后变小,而这里涉及到的种种变化方式均为超参数,每次都需要根据实际情况人为给定,因此同样具有操作较为复杂的缺点,在书中没有过多地展开讲述。

3.6介绍了分类的知识,学过统计的同学看了这部分可能会联想到聚类分析和虚拟变量、logistic回归之类的内容。我感觉它们大体上还是存在一定的相似性的,介于前者一般不给定具体的类别信息,因此这里的分类跟后者的关联可能相对更紧密一些,都是通过将类别进行量化,根据已知的信息计算出估计值,最后再计算与目标类别之间的误差。

3.6.1中提到的独热向量就跟虚拟变量非常相似,引入的个数均与类别个数密切相关,只不过独热向量比虚拟向量的个数要多1,这种方法的用途是,在对类别进行赋值(量化)的过程中,可以避免由于数字之间客观存在的大小关系而干扰了不同类别之间的远近程度。

在典型的回归中,我们一般得到的估计值是一个一维的数,引入独热向量之后,我们需要得到的结果就变成了一个n维向量,但这一变化过程其实并不存在很高的技术难度,只是将原来的回归步骤重复n次,得出向量中每个元素的方程,遵循的原理都是一样的。

3.6.2介绍了带有softmax的分类,softmax函数的功能会让人联想到标准化,它们都能保证计算前后的变量之间的相对关系不发生变化,而softmax函数通过先取指数再归一化的方法,可以将向量中的每个元素控制在[0,1]的范围内,并且保证它们的和为1,从而便于计算与目标类别的独热向量之间的距离,不会受到原数据数量级之间差异的影响。

3.6.3介绍了两种计算分类损失的方法,一种是我们比较常见的误差平方和,另一种则是交叉熵。在分类中,最小化交叉熵是一种更为常用的方式,原因在书中用图的方式比较直观地给出了。如图3.36b所示,采用均方误差在左上角损失很大的区域变化并不明显,当初始点位于这个区域时,损失所对应的梯度都非常小,如果不采用好的自适应学习率方法的话,损失可能很难降得下去,卡在原地就不能顺利走到右下角。而选用交叉熵的损失图变化就均匀许多,即使初始点位于高损失区域,也能顺着梯度移动到右下角,从而降低损失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值