课题:Gradient Descent
Review:Gradient Descent
- 任务是:求解使得损失函数
L(θ)
最小时的
θ
参数
θ∗
。
L
为损失函数;
θ 为模型中的参数 。 - 假设 θ 有两个变量 θ1,θ2
- 看PPT,能理解 θ2=θ1−η▽L(θ1) 中的每一项就行。
- 梯度下降的步骤
Tip1:Tunning your learning rates
对于Learning Rate,左右两个图表达的是一个意思:
- 对于small的learning tate,Loss会下降很缓慢。
- 对于large的learning tate,Loss会一开始下降比较快,但会停住,不再下降。
- 对于very large的learning tate,Loss会爆炸,无法下降。
- 对于just make的learning tate,Loss会以一个适当的速度下降,且能降到最低点。
Adaptive Learning Rates
流行且简单的想法:每几个周期,通过一些因素,减少学习率。
- 在一开始,离目标地点较远,所以用较大的学习率。
- 在一些周期之后,我们接近于目标地点,所以我们减少学习率。
- 例如: η 是一个常量,t为第t个周期。 ηt=η/t+1−−−−√
学习率不可能 one-size-fits-all:
- 给不同的参数,不同的学习率
Adagrad
- 对每一个参数的学习率,除以它之前导数的均方差
- 注意理解公式 ηt , ηt 就是第t个周期的学习率
- 注意理解公式
gt
,
gt
是损失函数
L
对
w 的偏微分 - 注意理解公式 σt , σt 是参数 w 之前所有导数的均方差。
- 总之,理解Adagrad方法对于参数
w 更新公式中的每一项: - wt+1←wt−ηtσtgt
- 继续演示Adagrad方法,对于参数 w 的更新步骤:
- Adagrad方法中,对参数
w 更新公式的简化写法:公式见图
Contradiction?
对Adagrad方法中,参数w更新公式矛盾性的讨论。
- gt 使得:更大的梯度,更大的步长
- XXX(分母项,之前所有倒数的均方差)使得:更大的梯度,更小的步长
Intuitive Reason
- 直觉的解释是:XXXX(分母项,之前所有倒数的均方差)是为了造成反差萌(原话)
Larger gradient,large steps?
- 更大的一次导数意味着离最小值更远(可以从图像看出,不管是第一象限,还是第二象限,离最小值越远的点,导数值越大)
Comparsion between different parameters
- 上一张ppt得出的结论“更大的一次导数意味着离最小值更远”是不能跨参数的。反例如图所示。
Second Derivative
- 二次导数的值即是最佳步长的分母项。
- 所以最佳步长应该:与一次导数成正比,与二次导数成反比。
- 结合图,解释最佳步长。
- 在w1方向上,二次微分是比较小的,因为比较平滑
- 在w2方向上,二次微分比较大,因为比较尖
- 还是要综合考虑一次微分和二次微分,才能考虑同最低点的距离
- 抛出疑问:Adagrad里面XXXX项,和最佳步长中二次倒数的关系是啥?
- Adagrad就是用XXXX去估计二次微分,因为之前所有的一次微分
gi
是必须要算的,不算二次微分可以极大减少计算量。
Tip2:Stochastic Gradient Descent
- make the traing faster
Stochastic Gradient Descent
- 注意理解ppt中公式。
- 梯度下降: θ 的更新时, 损失函数值是所有训练样本的和。
- 随机梯度下降: θ 的更新时,损失函数值只是对于某一个样本 xn 。看一个样本,就更新一次参数。
对比:
- 梯度下降:看到所有样本之后,更新参数。
- 随机梯度下降:看到一个样本,更新一次。如果有20个样本,那就快20倍。
Tip3:Feature Scaling
- 如图,让不同的参数有同样的scaling。
是否进行Feature Scaling的对比:
- 做了Feature Scaling之后,参数的更新会比较容易,一直向着圆心走,更有效率。
Feature Scaling的方法:
- xir←xir−miσi
- 均值为0,方差为1
Gradient Descent Theroy:
- 提问:每次更新参数之后,都会得到更小的损失值吗?
- 答案是否定的
Waring of Math
- 以下几张ppt,从数学角度(主要是泰勒级数)解释了梯度下降的合理性。
More limitation of Gradient Descent
- 见图,在plateau、saddle point、local minimum处,
w
对
L 的偏微分都近似于0,loss下降极慢,都会使人误以为到了loss最小点。