🔥Google机器学习核心概念精讲(学习速率)
Google机器学习实战(7)-5分钟掌握学习速率。
学习速率:模型训练的关键超参数
学习速率是指在训练模型时用于梯度下降的一个标量。在每次迭代期间,梯度下降法都会将学习速率与梯度相乘。得出的乘积称为梯度步长。学习速率是一个重要的超参数。
为什么需要调整学习速率?
大多数机器学习编程人员会花费相当多的时间来调整超参数,其中学习速率就是其中最重要的部分。
梯度下降中的学习速率
正如前文中梯度下降(详见:Google机器学习(5))所述:
梯度矢量具有方向和大小。梯度下降算法用梯度乘以学习速率(有时也称为步长)的标量,从而确定下一个点的位置。
示例: 如果梯度大小为 2.5,学习速率为 0.01,则梯度下降法算法会选择距离前一个点 0.025 的位置作为下一个点。
学习速率的选择策略
❌ 学习速率过小
如果选择的学习速率过小,就会: - 花费过长的训练时间 - 收敛速度缓慢 - 可能陷入局部最优
❌ 学习速率过大
如果选择的速率过大,会导致: - 参数在最优解附近震荡 - 模型无法收敛 - 可能出现梯度爆炸
✅ 最佳学习速率
最佳学习速率与损失函数的平坦程度相关: - 梯度较小时 → 可尝试更大学习速率 - 梯度较大时 → 需要较小学习速率
经验法则:如何选择学习速率
场景 | 计算方法 |
---|---|
一维空间 | f(x)″(二阶导数的倒数) |
多维空间 | 海森矩阵(Hessian Matrix)的逆 |
关键词解释
超参数:在模型训练的连续过程中,需要调节的"旋钮"(参数),包括:
- 学习速率
- 批量大小
- 网络层数等
💡 专业提示:可以尝试学习速率衰减策略(Learning Rate Decay)来动态调整学习速率