优化器前言优化器是引导神经网络更新参数的工具,深度学习在计算出损失函数之后,需要利用优化器来进行反向传播,完成网络参数的更新。在这个过程中,便会使用到优化器,优化器可以利用计算机数值计算的方法来获取损失函数最小的网络参数。在深度学习中,不同的优化器只是定义了不同的一阶动量和二阶动量,一阶动量是与梯度相关的函数,二阶动量是与梯度平方相关的函数。常用的优化器主要有随机梯度下降法、Momentum、AdaGrad、RMSProp和Adam优化器。神经网络利用优化器来更新网络参数步骤如下:计算当前时刻t损失函数关于网络参数w的梯度$$ g_t=\nabla loss= \frac{\partial loss}{\partial(w_t)} $$计算当前时刻t一阶动量$m_t$和二阶动量$V_t$计算当前时刻t下降梯度$$ \eta_t=lr\bullet m_t / \sqrt{V_t} $$计算下一时刻t+1参数$$ w_{t+1}=w_t-\eta_t=w_t-lr \bullet m_t / \sqrt{V_t} $$SGD 随机梯度下降法目前,神经网络最常用的为随机梯度下降(Stoch
一只胖橘