【机器学习(李宏毅)】四、Gradient Descent

课题:Gradient Descent Review:Gradient Descent

  • 任务是:求解使得损失函数 L(θ) 最小时的 θ 参数 θ? 。 L 为损失函数; θ 为模型中的参数 。
  • 假设 θ 有两个变量 θ1,θ2
  • 看PPT,能理解 θ2=θ1?η▽L(θ1) 中的每一项就行。
【【机器学习(李宏毅)】四、Gradient Descent】【机器学习(李宏毅)】四、Gradient Descent
文章图片

  • 梯度下降的步骤
【机器学习(李宏毅)】四、Gradient Descent
文章图片

Tip1:Tunning your learning rates 【机器学习(李宏毅)】四、Gradient Descent
文章图片

对于Learning Rate,左右两个图表达的是一个意思:
  • 对于small的learning tate,Loss会下降很缓慢。
  • 对于large的learning tate,Loss会一开始下降比较快,但会停住,不再下降。
  • 对于very large的learning tate,Loss会爆炸,无法下降。
  • 对于just make的learning tate,Loss会以一个适当的速度下降,且能降到最低点。
【机器学习(李宏毅)】四、Gradient Descent
文章图片

Adaptive Learning Rates 流行且简单的想法:每几个周期,通过一些因素,减少学习率。
  • 在一开始,离目标地点较远,所以用较大的学习率。
  • 在一些周期之后,我们接近于目标地点,所以我们减少学习率。
  • 例如: η 是一个常量,t为第t个周期。 ηt=η/t+1????√
学习率不可能 one-size-fits-all:
  • 给不同的参数,不同的学习率
【机器学习(李宏毅)】四、Gradient Descent
文章图片

Adagrad
  • 对每一个参数的学习率,除以它之前导数的均方差
  • 注意理解公式 ηt , ηt 就是第t个周期的学习率
  • 注意理解公式 gt , gt 是损失函数 L 对 w 的偏微分
  • 注意理解公式 σt , σt 是参数 w 之前所有导数的均方差。
  • 总之,理解Adagrad方法对于参数 w 更新公式中的每一项:
  • wt+1←wt?ηtσtgt
【机器学习(李宏毅)】四、Gradient Descent
文章图片

  • 继续演示Adagrad方法,对于参数 w 的更新步骤:
【机器学习(李宏毅)】四、Gradient Descent
文章图片

  • Adagrad方法中,对参数 w 更新公式的简化写法:公式见图
【机器学习(李宏毅)】四、Gradient Descent
文章图片

Contradiction? 对Adagrad方法中,参数w更新公式矛盾性的讨论。
  • gt 使得:更大的梯度,更大的步长
  • XXX(分母项,之前所有倒数的均方差)使得:更大的梯度,更小的步长
【机器学习(李宏毅)】四、Gradient Descent
文章图片

Intuitive Reason
  • 直觉的解释是:XXXX(分母项,之前所有倒数的均方差)是为了造成反差萌(原话)
【机器学习(李宏毅)】四、Gradient Descent
文章图片

Larger gradient,large steps?
  • 更大的一次导数意味着离最小值更远(可以从图像看出,不管是第一象限,还是第二象限,离最小值越远的点,导数值越大)
【机器学习(李宏毅)】四、Gradient Descent
文章图片

Comparsion between different parameters
  • 上一张ppt得出的结论“更大的一次导数意味着离最小值更远”是不能跨参数的。反例如图所示。
【机器学习(李宏毅)】四、Gradient Descent
文章图片

Second Derivative
  • 二次导数的值即是最佳步长的分母项。
  • 所以最佳步长应该:与一次导数成正比,与二次导数成反比。
【机器学习(李宏毅)】四、Gradient Descent
文章图片

  • 结合图,解释最佳步长。
  • 在w1方向上,二次微分是比较小的,因为比较平滑
  • 在w2方向上,二次微分比较大,因为比较尖
  • 还是要综合考虑一次微分和二次微分,才能考虑同最低点的距离
【机器学习(李宏毅)】四、Gradient Descent
文章图片

  • 抛出疑问:Adagrad里面XXXX项,和最佳步长中二次倒数的关系是啥?
  • Adagrad就是用XXXX去估计二次微分,因为之前所有的一次微分 gi 是必须要算的,不算二次微分可以极大减少计算量。
    【机器学习(李宏毅)】四、Gradient Descent
    文章图片
Tip2:Stochastic Gradient Descent
  • make the traing faster
【机器学习(李宏毅)】四、Gradient Descent
文章图片

Stochastic Gradient Descent
  • 注意理解ppt中公式。
  • 梯度下降: θ 的更新时, 损失函数值是所有训练样本的和。
  • 随机梯度下降: θ 的更新时,损失函数值只是对于某一个样本 xn 。看一个样本,就更新一次参数。
【机器学习(李宏毅)】四、Gradient Descent
文章图片

对比:
  • 梯度下降:看到所有样本之后,更新参数。
  • 随机梯度下降:看到一个样本,更新一次。如果有20个样本,那就快20倍。
【机器学习(李宏毅)】四、Gradient Descent
文章图片

Tip3:Feature Scaling 【机器学习(李宏毅)】四、Gradient Descent
文章图片

  • 如图,让不同的参数有同样的scaling。
【机器学习(李宏毅)】四、Gradient Descent
文章图片

是否进行Feature Scaling的对比:
  • 做了Feature Scaling之后,参数的更新会比较容易,一直向着圆心走,更有效率。
【机器学习(李宏毅)】四、Gradient Descent
文章图片

Feature Scaling的方法:
  • xir←xir?miσi
  • 均值为0,方差为1
【机器学习(李宏毅)】四、Gradient Descent
文章图片

Gradient Descent Theroy: 【机器学习(李宏毅)】四、Gradient Descent
文章图片

  • 提问:每次更新参数之后,都会得到更小的损失值吗?
  • 答案是否定的
【机器学习(李宏毅)】四、Gradient Descent
文章图片

Waring of Math
  • 以下几张ppt,从数学角度(主要是泰勒级数)解释了梯度下降的合理性。
【机器学习(李宏毅)】四、Gradient Descent
文章图片

【机器学习(李宏毅)】四、Gradient Descent
文章图片

【机器学习(李宏毅)】四、Gradient Descent
文章图片

【机器学习(李宏毅)】四、Gradient Descent
文章图片

【机器学习(李宏毅)】四、Gradient Descent
文章图片

【机器学习(李宏毅)】四、Gradient Descent
文章图片

【机器学习(李宏毅)】四、Gradient Descent
文章图片

【机器学习(李宏毅)】四、Gradient Descent
文章图片

【机器学习(李宏毅)】四、Gradient Descent
文章图片

【机器学习(李宏毅)】四、Gradient Descent
文章图片

More limitation of Gradient Descent
  • 见图,在plateau、saddle point、local minimum处, w 对 L 的偏微分都近似于0,loss下降极慢,都会使人误以为到了loss最小点。
【机器学习(李宏毅)】四、Gradient Descent
文章图片

    推荐阅读