一、自适应学习率
随着迭代次数增多,虽然损失不再下降,但是梯度的范数并没有真的变得很小。
图1-1 训练网络时梯度范数变化
在局部最小值或鞍点,只是单纯的损失无法再下降。
图1-2 梯度来回“震荡”
1.1 AdaGrad
AdaGrad(Adaptive Gradient)是典型的自适应学习率方法,其能够根据梯度大小自动调整学习率。AdaGrad 可以做到梯度比较大的时候,学习率就减小,梯度比较小的时候,学习率就放大。
图1-3 AdaGrad的问题
1.2 RMSProp
RMSprop 第一步跟 Adagrad 的方法是相同的,即
第二步更新过程为
同样的过程就反复继续下去
图1-4 RMSprop 示例
1.3 Adam
最常用的优化的策略或者优化器(optimizer)是Adam(Adaptive moment estimation)。Adam 可以看作 RMSprop 加上动量,其使用动量作为参数更新方向,并且能够自适应调整学习率。
二、学习率调度
学习率调度中最常见的策略是学习率衰减(learning rate decay),也称为学习率退火(learning rateannealing)。
图2-1 学习率衰减
三、优化总结
梯度下降进化版本公式
四、分类
4.1 分类与回归的关系
回归是输入一个向量 x,输出 yˆ,我们希望 yˆ 跟某一个标签 y 越接近越好,y 是要学习的目标。而分类可当作回归来看,输入 x 后,输出仍然是一个标量 yˆ,要让它跟正确答案的那个类越接近越好。
图4-1 用数字表示类的问题
4.2 带有 softmax 的分类
先把所有的 y 取一个指数(负数取指数后也会变成正的),再对其做归一化(除掉所有 y 的指数值的和)得到 y′。
图4-2 带有 softmax 的分类
4.3 分类损失
当我们把 x 输入到一个网络里面产生 yˆ 后,通过 softmax 得到 y′,再去计算 y′ 跟 y 之间的距离 e,如图所示:
图4-3 分类损失