神经网络训练:超参数、优化算法与梯度计算
1. 训练算法超参数
训练算法的超参数包括学习算法、批量大小、学习率调度和动量系数等。这些超参数直接影响最终模型的性能,但与模型参数不同。选择这些超参数往往更像是一门艺术而非科学,常见的做法是使用不同的超参数训练多个模型,然后选择性能最佳的模型,这被称为超参数搜索。
2. 模型训练基础
模型训练的目标是找到参数 $\phi$,使损失函数 $L[\phi]$ 达到最小值。梯度下降法是一种常用的优化方法,它通过测量当前参数下损失函数的梯度(即参数微小变化时损失的变化情况),然后将参数朝着损失下降最快的方向移动,重复这个过程直到收敛。
对于非线性函数,损失函数可能存在局部最小值和鞍点。局部最小值会使梯度下降算法陷入其中,而鞍点可能使算法看似收敛但实际上并未达到全局最优。随机梯度下降(SGD)可以缓解这些问题,它在每次迭代时使用不同的随机数据子集(批量)来计算梯度,增加了过程的噪声,有助于防止算法陷入参数空间的次优区域,并且每次迭代的计算成本更低。此外,添加动量项可以提高收敛效率。最后,还介绍了 Adam 算法。
3. 优化算法概述
- 梯度下降及其变体 :
- 固定步长梯度下降 :效率较低,移动距离完全取决于梯度的大小。函数变化快时移动距离长,可能需要更谨慎;函数变化慢时移动距离短,可能需要进一步探索。因此,梯度下降方法通常与线搜索过程结合使用,例如括号法(bracketing),以尝试找到最优步长。
- 随机梯度下降(SG
超级会员免费看
订阅专栏 解锁全文

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



