大三寒假学习进度(7)

7. 神经网络参数优化器

神经网络是基于连接的人工智能,当网络结构固定后,不同参数的选取对模型的表达力影响很大,更新模型参数的过程,仿佛在叫一个孩子理解世界,达到学龄的孩子,脑神经元的结构,规模是相似的,他们都具备了学习的潜力,但是不同的引导方法,会让孩子具备不同的能力,达到不同的高度。

优化器就是引导神经网络更新参数的工具。

  1. 几个符号的含义

待优化的参数w ,损失函数loss,学习率lr,每次迭代的一个batch(每个batch通常包括2n组数据 ),t表示当前batch迭代的总次数。


  1. 更新参数分为四步完成
  1. 计算t时刻损失函数关于当前参数的梯度

    • 让loss对当前的每个w求偏导数
  2. 计算t时刻一阶动量mt和二阶动量Vt

    • 一阶动量:与梯度相关的函数

    • 二阶动量:与梯度平方相关的函数

    • 不同的优化器实质上只是定义了不同的一阶动量和二阶动量公式

  3. 计算t时刻下降梯度:

    • 学习率乘以一阶动量除以二阶动量开根号
  4. 计算t+1时刻参数:

    • 当前参数减去当前下降梯度
  • 五种常用的神经网络参数优化器
  1. SGD

    • 一阶动量定义为梯度,二阶动量恒等于一
  2. SGDM(在SGD基础上增加一阶动量)

    • mt 表示各时刻梯度方向的指数滑动平均值
  3. Adagrad(在·SGD基础上增加二阶动量)

    • 二阶动量是从开始到现在 ,梯度平方的累计和
  4. RMSProp(在SGD基础上增加二阶动量)

    • 二阶动量是各时刻梯度平方的指数滑动平均
  5. Adam(同时引入了SGDM的一阶动量和RMSProp的二阶动量)

posted @ 2021-01-23 17:01  xxlzx  阅读(119)  评论(2编辑  收藏  举报