学习率 (Learning Rate)
什么是学习率?
学习率是机器学习中最重要的超参数之一,它决定了模型在每次更新时参数调整的幅度,通常在 (0, 1) 之间。
学习率告诉模型在训练过程中学习的速度有多快,平衡进步速度与稳定性。
核心作用
1. 控制参数调整:决定每次更新时参数调整的幅度 2. 影响学习速度:平衡进步速度与稳定性 3. 关键超参数:直接影响模型训练效果
生活化理解
学习复习类比
学习率就像你做题后调整学习方法的幅度:- 大学习率 (0.1):每次大幅调整方法,进步快但可能走偏
- 小学习率 (0.0001):每次只做细微调整,稳定但进步慢
驾驶调整类比
学习率像你开车时转动方向盘的幅度:- 大幅转向:车辆快速调整方向,但可能摇摆不定
- 微调方向:车辆平稳行驶,但急弯时反应不够及时
烹饪调味类比
学习率像调味时加盐的分量:- 大量加盐:味道变化明显,但容易过咸难以挽回
- 少量加盐:味道稳定提升,但需要多次尝试
学习率过大 vs 过小
| 维度 | 学习率过大 | 学习率过小 |
|---|---|---|
| 收敛速度 | 快(初期) | 慢 |
| 稳定性 | 不稳定,可能震荡 | 稳定 |
| 最优解 | 可能错过最优解 | 能到达,但很慢 |
学习率调整策略
1. 固定学习率:全程使用同一个学习率 2. 学习率衰减:随着训练进行逐渐减小 3. 自适应学习率:Adam、AdamW等根据梯度自动调整
常见学习率设置
| 优化器 | 典型学习率范围 |
|---|---|
| SGD | 0.01 - 0.1 |
| Adam | 0.0001 - 0.001 |
| AdamW | 0.0001 - 0.001 |