李宏毅机器学习 总结

本次课程主要通过观看李宏毅老师深度学习视频学习,以下是知识点梳理。

  • 机器学习介绍:了解了机器学习的局限性,以及深度学习的必要性。

  • 回归:通过学习回归任务,知道了使用机器学习模型解决问题的大致流程。

  • 误差的产生:深入学习了误差,误差由方差和偏差组成,偏差可以理解为模型定义误差,方差可以理解为模型的随机性。并且可

  • 梯度下降:单独的一节介绍重中之重梯度下降,梯度下降是深度学习唯一可以仰仗的训练技巧。

    • 学习率调整:学习率过大或过小,都无法得到最优的模型,所以调节学习率时需要一些技巧,例如自适应学习率、Adagrad。
    • 随机梯度下降:随机梯度下降(SGD)的性能要更优,训练效果也要更好。
    • 特征缩放:合理的特征缩放有利于模型的训练。
  • 神经网络:类似于人类神经的结构,可以自由搭配组合成一个网络,本质就是通过隐藏层进行特征转换。

  • 神经网络的训练技巧:神经网络很复杂,一般来说,需要很多训练技巧才能将复杂的神经网络训练到位。

    • 训练不好的原因:遇到马鞍点和和局部最值点,使我们的梯度下降算法无法进一步更新参数。
    • Batch:GPU的加入,使得更稳的大Batch策略摆脱了性能的束缚,但是因其太过稳定,且更新次数少,遇上critical point很难突破,所以较小的batch具有一定的随机性,更加能训练出好的模型,batch太小会频繁参数,所以batch大小也是一个超参数。
    • Momentum:将物理知识运用于梯度下降中,给梯度下降附加一个”动量“,使其迭代过程中,不止考虑当前梯度的大小,还要考虑前步梯度的大小(动量)。在梯度下降决策方面,动量主要起到改变方向的作用。
    • Loss不降低的原因:Loss不降低,可能是遇到了Critical point,或者梯度发生了震荡,要具体问题具体分析。
    • RMS:每一轮参数更新,都动态调整学习率。RMS是将学习率除以所有梯度的均方根。
    • RMSProp:基于RMS考虑历史梯度的思想,RMSProp在RMS的基础上进行了调整,增加了用于调节历史梯度和当前梯度的权重α ,使得RMSProp方法能够根据梯度的变化迅速调整学习率。
    • Aadm:Adam方法结合了RMSProp和Momentum。
    • Learning Rate Scheduling:改变学习率本身的值
      • Learning Rate Decay:直观策略是模型刚开始时,误差很大,所以需要大的学习率,随着时间变化,模型误差逐渐减小,学习率也应逐渐减小。
      • Warm up:学习率随时间先增加后减小。
    • 梯度更新策略总结
      • Learning rate scheduling:设置学习率变化策略。
      • Momentum:考虑参数更新的方向。
      • Root Mean Square:考率历史梯度,并对当前参数更新幅度做出调整。
    • 分类:可以将分类任务看作回归任务,我们只需要将类别设置为数字,然后使用回归来拟合这个数字,从而达到分类的目的。
    • Batch Normalization:在神经网络每一步中对数据进行归一化,有利于网络学习数据分布。
  • 卷积神经网络(CNN):图像领域经典网络模型,卷积操作提取了像素的关键位置特征,池化操作极大的缩小了图像的规模。


感想:虽然本次学习时间很短,但是重点学习的误差、梯度下降以及深度学习训练技巧都是平时所忽略的,我貌似看懂了,大受震撼,实打实的加深了我对深度学习的理解。

感谢Datawhale组织本次学习,感谢天使组员们,一起学习才更带劲,期待下一次相遇。