深度学习中的优化算法包括以下几种:
1、一阶优化算法
随机梯度下降(SGD):每次仅使用一个或几个样本来更新模型参数,计算速度快,但更新方向可能不准确。
动量法(Momentum):在 SGD 的基础上引入了动量的概念,可以加速收敛并减少震荡。
牛顿动量法(Nesterov 动量):对动量法进行了改进,进一步提高了收敛速度和稳定性。
AdaGrad(自适应梯度):为每个参数分配不同的学习率,对于稀疏数据效果较好,但在处理大规模数据时可能会遇到学习率过小的问题。
RMSProp(均方差传播):也是一种自适应学习率的方法,相比 AdaGrad 更加稳定。
Adam(带动量的 RMSProp):结合了动量法和 RMSProp 的优点,是当前深度学习中最常用的优化算法之一。
Nadam:对 Adam 的改进,进一步提高了收敛性能。
2、二阶优化算法
牛顿法:利用损失函数的二阶导数(即 Hessian 矩阵)来确定最优的搜索方向,收敛速度较快,但计算复杂度高,且对初始点要求较高。
拟牛顿法:通过迭代的方式近似求解 Hessian 矩阵,降低了计算复杂度,常见的拟牛顿法有 BFGS、L - BFGS 等。
共轭梯度法(CG):一种用于求解大型稀疏线性方程组的迭代方法,也可以用于优化问题。
3、自适应优化算法
AdaDelta:与 AdaGrad 类似,但使用了窗口内的梯度平方平均值来代替所有的梯度平方和。
AdaMax:结合了 AdaGrad 和 RMSProp 的优点,既考虑了梯度的大小,又考虑了梯度的方向。
Lookahead:将动量法与 Adam 结合,提高了收敛速度和稳定性。
LAMBDA:对 Adam 进行改进,减少了对内存的需求,同时提高了训练的稳定性。
Ranger:在 Adam 的基础上引入了一种新的权重调整机制,可以进一步提高收敛速度和稳定性。
YOGI:一种基于 Lookahead 的优化器,通过在动量更新和参数更新之间引入额外的步骤来提高收敛性能。
4、其他优化算法
遗传算法:模拟生物进化过程中的选择、交叉、变异等操作,来搜索最优解,适用于复杂的优化问题。
蚁群算法:模拟蚂蚁觅食过程中的信息传递机制,来解决组合优化问题。
粒子群优化算法:通过模拟鸟群觅食的行为,来搜索最优解,具有全局搜索能力强的特点。
模拟退火算法:来源于物理中的退火过程,通过控制温度的下降来逐渐逼近最优解。
贝叶斯优化算法:基于概率模型的优化方法,适用于黑盒函数的优化。