Momentum、RMSProp、Adam和SGD都是梯度下降的优化算法,它们的核心思想都是通过调整学习率或利用历史梯度信息来优化模型参数。以下是对这些算法的详细总结:SGD(随机梯度下降):基本思想:每次迭代随机选取一个样本计算梯度并更新参数。优点:实现简单,易于理解。缺点:容易陷入局部最优,收敛速度慢,对学习率敏感。Momentum(动量法):基本思想:在SGD基础上引入动量项,累积历史梯度信息来加速收敛。公式:$v_t = beta v_{t-1} + (1-beta)g_t$,$theta_{t+1} = theta_t - alpha v_t$,其中$v_t$是动量项,$g_t$是当前梯度,$beta$是动量因子。优点:减少震荡,加速收敛。缺点:需要手动调整动量因子。RMSProp(均方根传播):基本思想:通过调整学习率来适应不同参数的重要性,对频繁更新的参数使用较小的学习率。公式:$E[g^2]t = gamma E[g^2]{t-1} + (1-gamma)g_t^2$,$theta_{t+1} = theta_t - frac{alpha}{sqrt{E[g^2]_t + epsilon}}g_t$,其中$E[g^2]_t$是梯度平方的指数移动平均。优点:自适应调整学习率,适用于非平稳目标。缺点:可能引入新的超参数。Adam(自适应矩估计):基本思想:结合Momentum和RMSProp的思想,使用一阶矩(均值)和二阶矩(未中心化的方差)来调整学习率。公式:$m_t = beta_1 m_{t-1} + (1-beta_1)g_t$,$v_t = beta_2 v_{t-1} + (1-beta_2)g_t^2$,$theta_{t+1} = theta_t - alpha frac{m_t}{sqrt{v_t} + epsilon}$,其中$m_t$和$v_t$分别是一阶矩和二阶矩的估计。优点:自适应调整学习率,结合了动量法的优点。缺点:可能对初始学习率敏感。



































