当前位置: 主页 > 行业资讯 > 陵园解答

常见深度学习优化器总结

2024-06-10 07:15   作者:佚名

 
 

1、SGD(随机梯度下降)
功能:用于优化模型参数,通过更新参数以最小化损失函数。
公式:θ = θ - learning_rate * ?J(θ)
其中,θ表示模型参数,learning_rate表示学习率,?J(θ)表示损失函数J关于θ的梯度。
用法:常用于深度学习中的优化过程,每次迭代更新参数时仅使用一个样本或一小批样本。
主要参数:learning_rate(学习率)
优点:易于实现和理解,适用于大规模数据集。
缺点:可能陷入局部最小值,参数更新的震荡。
2、ASGD(平均随机梯度下降)
功能:通过平均多个随机梯度的方式来改善SGD的收敛性。
公式:θ = θ - learning_rate * (1/T) * (∑?J(θ))
其中,θ表示模型参数,learning_rate表示学习率,T表示迭代次数,?J(θ)表示损失函数关于θ的梯度。
用法:常用于处理大规模数据集时,通过平均梯度来减小变动性。
主要参数:learning_rate(学习率)
优点:通过平均梯度来减小变动性,容易跳出局部最小值。
缺点:需要额外的计算成本。
3、Adadelta
功能:根据梯度的二阶矩和参数更新的自适应学习率来调整参数。
公式:Δθ_t = - (sqrt(E[g^2]_t + ε) / sqrt(E[Δθ^2]_t + ε)) * g_t θ_t+1 = θ_t + Δθ_t
其中,θ表示模型参数,g表示梯度,ε表示一个很小的常数,E表示梯度平方的指数加权平均。
用法:自动调节学习率,适用于非稀疏数据和大规模模型。
主要参数:epsilon(一个很小的常数)
优点:自适应地调整学习率,减小学习率的手动调节。
缺点:需要额外的计算成本。
4、AdaGrad(Adaptive Gradient)
功能:通过自适应地调整不同参数的学习率来训练模型。
公式:θ_t+1 = θ_t - (learning_rate / (sqrt(Sum(g_t^2)) + ε)) * g_t
其中,θ表示模型参数,g表示梯度,Sum表示梯度平方的累积和,ε表示一个很小的常数。
用法:适用于处理稀疏梯度和非稀疏梯度的问题。
主要参数:learning_rate(学习率),epsilon(一个很小的常数)
优点:自适应地调整学习率,适用于非稀疏数据。
缺点:学习率可能会过于降低,导致训练过程中停滞。
5、Adam(自适应矩估计)
功能:结合了动量优化器和RMSprop的优点,自适应地调整学习率并具有较好的收敛性和鲁棒性。
公式:
.计算梯度 g 对于所有可训练参数: g = compute_gradient()
更新一阶矩估计: m = beta1 * m + (1 - beta1) * g
更新二阶矩估计: v = beta2 * v + (1 - beta2) * g^2校正一阶矩估计的偏差: m_hat = m / (1 - beta1^t) (t 表示当前迭代步骤的次数)
校正二阶矩估计的偏差: v_hat = v / (1 - beta2^t) (t 表示当前迭代步骤的次数) 更
新参数: parameter = parameter - learning_rate * m_hat / (sqrt(v_hat) + ε)(ε 是为了数值稳定性而加的小常数) 其中m 是一阶矩估计,用于追踪梯度的平均值,v 是二阶矩估计,用于追踪梯度的平方的平均值。通过将一阶矩估计和二阶矩估计进行归一化,即校正偏差,可以缓解训练初期的参数更新问题。此外,epsilon 是为了避免除以零的情况而添加的小常数,以保持数值稳定性。
用法:适用于大型模型和大规模数据集。
主要参数:learning_rate(学习率),beta1(一阶矩的平均率),beta2(二阶矩的平均率),epsilon(一个很小的常数)
优点:自适应地调整学习率,具有较好的收敛性和鲁棒性。
缺点:需要额外的计算成本。
6、AdamW
功能:Adam的一种改进版本,通过引入权重衰减来解决Adam在参数优化中的偏差问题。
公式:与Adam公式相同,但在更新参数时应用了权重衰减。
用法:适用于神经网络的权重衰减问题。
主要参数:与Adam相同
优点:解决了Adam的偏差问题。
缺点:需要额外的计算成本。
7、Adamax
功能:Adam的一种变体,采用了∞-范数来近似参数的无穷范数。
公式:参考Adam的公式,用g_t∞替换了g_t2。
用法:适用于处理稀疏梯度的问题。
主要参数:与Adam相同
优点:适用于处理稀疏梯度的问题。
缺点:需要额外的计算成本。
8、SparseAdam
功能:Adam的一种变体,适用于稀疏梯度的情况。
公式:参考Adam的公式,但只计算非零梯度分量的指数加权平均。
用法:适用于处理稀疏梯度的问题。
主要参数:与Adam相同
优点:适用于处理稀疏梯度的问题。
缺点:需要额外的计算成本。
9、RMSprop(Root Mean Square Propagation)
功能:根据梯度的历史信息来自适应地调整学习率。
公式:参考Adagrad的公式,但使用梯度的指数加权平均而不是累积和。
用法:适用于处理非稀疏数据和长期依赖的问题。
主要参数:learning_rate(学习率),epsilon(一个很小的常数)
优点:自适应地调整学习率,适用于非稀疏数据和长期依赖问题。
缺点:学习率可能会过于降低,导致训练过程中停滞。
10、Rprop(弹性反向传播)
功能:通过自适应地调整参数更新步长,并在参数更新过程中减小震荡。
用法:适用于非常深的神经网络和强大的计算资源。
主要参数:delta_pos(正梯度情况下的学习率增量),delta_neg(负梯度情况下的学习率增量)
优点:自适应地调整学习率,减小震荡。
缺点:对模型和资源的要求较高。
11、LBFGS(Limited-memory Broyden-Fletcher-Goldfarb-Shanno)
功能:利用BFGS拟牛顿法的变种来优化损失函数。
公式:使用BFGS拟牛顿法的迭代公式。
用法:适用于小批量数据集和较小规模的模型。
主要参数:max_iter(最大迭代次数),max_eval(最大函数评估次数)
优点:适用于小规模模型和小批量数据集。
缺点:对内存的需求较高,不适用于处理大规模数据集。

我们常用的优化有以下几个:
随机梯度下降(SGD)
AdaGrad(Adaptive Gradient)
RMSprop(Root Mean Square Propagation)
Adam(Adaptive Moment Estimation)
这些优化器在深度学习中具有广泛的应用,但最适合的优化器会因问题和数据集而异。根据具体情况,可能需要尝试不同的优化器来找到最佳的性能和收敛速度

同类文章推荐
商家怎么入驻美团?需要准备什么资料?
手机回收网站哪个好
2009年NBA总决赛录像回放 湖人vs魔术[全五场]
三款手机性能优化神器,性能提升15%!
餐饮店线上抖音推广这样做?生意都爆火
12月13日湖人vs独行侠数据统计-虎扑NBA原创报道

咨询登记

平台注册入口