机器学习入门之重要参数的理解
第一章 批数据训练(batch)
第二章 训练轮数(epoch)
第三章 学习率(LR : learning rate)
第四章 图像区块(patch)
第五章 滤波器(filter)
目录
前言
在开启学习机器学习之前,我们先来了解了解机器学习中重要的参数吧,本文介绍了机器学习的基础内容之 学习率(LR : learning rate)。
一、学习率是什么?
学习速率是指导我们该如何通过损失函数的梯度调整网络权重的超参数。
学习率越低,损失函数的变化速度就越慢。虽然使用低学习率可以确保我们不会错过任何局部极小值,但也意味着我们将花费更长的时间来进行收敛,特别是在被困在高原区域的情况下。
学习率越高,意味着权重更新的动作更大。虽然可能使得模型花费更少的时间收敛到最优权重,但也难以避免权重跳动过大,不够准确以致于达不到最优点。
【相关知识(必备)】在pytorch神经网络训练过程中,反向传播是重中之重,而反向传播又可分为四部分,分别是前向传导、损失函数、后向传导,以及权重更新
。以上四部分被称为一个学习周期
。对每一训练图片,程序将重复固定数目的周期过程。一旦完成了最后训练样本上的参数更新,网络有望得到足够好的训练,以便层级中的权重得到正确调整。
二、根据网络规模和loss下降速率来选择学习率
学习率的选择一般是0.001, 0.0001, 0.00001或 0.000001等中的一个值,选择哪个值的最根本的依据是:在网络很复杂的情况下,学习率不能过低,否则传到后面的时候就会出现梯度消失的情况。三五层的网络学习率基本要小于1*e^(-5),不然会出现下降过快从而导致震荡的情况。初始的学习率可以随意选择来试探,如果发现loss损失值下降得过快,则需要降低学习率。如果发现loss损失值降低不下去,就应适当增加学习率。
总结
以上就是关于学习率我想分享的内容,本文仅仅简单介绍了 学习率(LR : learning rate),而LR的调整对于网络模型的性能有重大影响,有很多的优化器专门用于调整学习率,如Adam、AdamW等,此外还有分阶段调整学习率的各种调参思路,待更新。