模型的学习率(learning rate)太高将使网络无法收敛!

博主在跑代码的时候,发现过大的Learning rate将导致模型无法收敛。

主要原因是过大的learning rate将导致模型的参数迅速震荡到有效范围之外.(注: 由于pytorch中已封装好的代码对模型参数的大小设置了一个界限,因此模型参数不会无限大)

这篇文章将要探讨一下不同learning rate的情况下,模型的收敛情况.

  • lr = 0.1,模型收敛得很好。
    模型的学习率(learning rate)太高将使网络无法收敛!
  • lr = 0.6,在第8轮中模型的参数由于过大,导致无法正常地求loss值。

模型的学习率(learning rate)太高将使网络无法收敛!

  • lr = 0.75,过大的learning rate直接导致模型参数大幅震荡。
    模型的学习率(learning rate)太高将使网络无法收敛!
    最后,请再温习一遍这幅图:
    模型的学习率(learning rate)太高将使网络无法收敛!