你的神经网络的最佳优化算法

优化你的神经网络算法,提升最佳表现

如何选择并最小化神经网络训练时间。

图片来源:unsplash.com.

开发任何机器学习模型都涉及一个严谨的实验过程,遵循思路-实验-评估循环

作者提供的图片.

上述循环将重复多次,直到达到令人满意的性能水平。”实验”阶段涉及机器学习模型的编码和训练步骤。随着模型变得更加复杂且在更大的数据集上进行训练,训练时间不可避免地扩大。因此,训练一个大型深度神经网络可能会非常缓慢。

对于数据科学从业者来说,幸运的是有一些技术可以加速训练过程,包括:

  • 迁移学习
  • 权重初始化,如Glorot或He初始化。
  • 批量归一化用于训练数据。
  • 选择一个可靠的激活函数
  • 使用一个更快的优化器

尽管我提到的所有技术都很重要,但在本文中,我将重点探讨最后一点。我将描述多种神经网络参数优化算法,重点介绍它们的优点和局限性。

在本文的最后一部分,我将呈现一个可视化显示所讨论的优化算法之间的比较。

对于实际实现,本文中使用的所有代码可以在这个GitHub存储库中获取:

articles/NN-optimizer at main · andreoniriccardo/articles

通过在GitHub上创建一个帐户来为andreoniriccardo/articles做贡献。

github.com

批量梯度下降

传统上,批量梯度下降被认为是神经网络中的默认选择优化器方法。