优化算法对于深度学习十分重要。首先,实际中训练一个复杂的深度学习模型可能需要数小时、数日、甚至数周时间。而优化算法的效率直接影响模型训练效率。其次,深刻理解各种优化算法的原理以及其中各参数的意义将可以有助于我们更有针对性地调参,从而使深度学习模型表现地更好。
本篇博文详细介绍深度学习中一些常用的优化算法。
在一个机器学习的问题中,我们会预先定义一个损失函数,然后用优化算法来最小化这个损失函数。在优化中,这样的损失函数通常被称作优化问题的目标函数。依据惯例,优化算法通常只考虑最小化目标函数。任何最大化问题都可以很容易地转化为最小化问题:我们只需把目标函数前面的符号翻转一下。
在机器学习中,优化算法的目标函数通常是一个基于训练数据集的损失函数。因此,优化往往对应降低训练误差。而机器学习的主要目标在于降低泛化误差,例如应用一些应对过拟合的技巧。在本文中,我们只关注优化算法在最小化目标函数上的表现。