optimizer

TensorFlow2.1入门学习笔记(9)——神经网络参数优化器(优化器性能比较)

神经网络是基于链接的人工智能,当网络结构固定后,不同参数的选取对模型的表达力影响很大,优化器就是引导更新模型参数的工具 常用符号 待优化参数w 损失函数loss 学习率lr 每次迭代一个batch(以batch为单位批量喂入神经网络,batch常为$2^n$) t表示当前batch迭代的总次数 更新参数的过程 计算t时刻损失函数关于当前参数的梯度$g_t=\nabla loss=\frac{\partial loss}{\partial(w_t)}$ 计算t时刻一阶动量$m_t$和二阶动量$V_t$ 计算t时刻下降梯度:$\eta_t=lr*{\frac {m_t}{\sqrt V_t}}$ 计算t+1时刻参数:$w_{t+1}=w_t-\eta_t=w_t-lr*{\frac {m_t}{\sqrt V_t}}$ 一阶动量:与梯度相关的函数 二阶动量:与梯度平方相关的函数 不同的优化器实质上是定义了不同的一阶动量和二阶动量公式 五种常见优化器 使用鸢尾花分类问题代码检测五种优化器性能。 SGD(无moment):随机梯度下降 $m_t=g_t$ $V_t=1$