神经网络性能因素解析
1. 学习率与动量
在神经网络中,学习率和动量是影响收敛速度的关键因素。
1.1 学习率
学习率控制着向目标函数最小值迈进的每一步的大小。
- 小学习率 :权重调整相应较小,需要更多的学习迭代才能达到局部最小值,但搜索路径会更接近梯度路径。不过,小学习率也可能使网络陷入不良局部最小值。
- 大学习率 :权重更新较大,初始收敛速度快,但算法最终可能会振荡而无法达到最小值,甚至可能跳过良好的局部最小值而走向不良局部最小值。
选择学习率的方法有:
- 通过交叉验证找到最优值,但这是一个漫长的过程。
- 选择一个小值(如 0.1),如果收敛太慢则增加该值,如果误差下降不够快则减小它。
- Plaut 等人提出学习率应与神经元的扇入成反比。
动态调整学习率的启发式方法有:
- 假设每个权重有不同的学习率 ηkj,在更新权重前,如果该权重变化时误差减小的方向与近期相同,则增加 ηkj;否则减小它。
- 使用退火调度逐渐将大学习率降低到较小值。
1.2 动量
随机学习中,权重在每次模式呈现后调整,误差导数的符号会波动,导致网络花费大量时间来回调整,遗忘之前步骤所学内容。解决方法有批量学习和添加动量项。
动量项的作用是对权重变化进行平均,确保搜索路径朝着平均下坡方向。动量项是前一次权重变化乘以标量值 α。通常使用静态值 0.9。α 的最优值也可通过交叉验证确定,也有自适应动量率的策略,例如 Fahlman 开发的 quick
超级会员免费看
订阅专栏 解锁全文
2417

被折叠的 条评论
为什么被折叠?



