qq_41660047 2020-03-13 10:00 采纳率: 0%
浏览 530
已采纳

神经网络学习率自适应相关问题,动量法

网上看到这句话“中期以及现在最普及的就是引入动量因子:
Δxt=ρΔxt−1−η⋅gt
ρ为动量因子,通常设为0.9
在更新中引入0.9这样的不平衡因子,使得:
★在下降初期,使用前一次的大比重下降方向,加速。
★在越过函数谷面时,异常的学习率,会使得两次更新方向基本相反,在原地”震荡“
此时,动量因子使得更新幅度减小,协助越过函数谷面。
★在下降中后期,函数面局部最小值所在的吸引盆数量较多,一旦陷进吸引盆当中,
Gradient→0
Gradient→0
,但是前后两次更新方向基本相同。
此时,动量因子使得更新幅度增大,协助跃出吸引盆。”
我想问的是:
1、Δxt是否就是每次训练的负梯度,那gt又是代表什么。
2、“谷面”和“吸引盆”感觉好像一个意思,这个有啥区别。
3、Gradient代表什么

  • 写回答

2条回答 默认 最新

  • 宇宙神灵 2020-03-16 11:12
    关注

    迭代正常写是x[t+1] = x[t] - η * g[t],η是学习率,g[t]是梯度。
    转换下:Δx[t] = x[t+1] - x[t] = - η * g[t]
    加入动量(momentum)后的更新公式为
    Δx[t] = - η * g[t] + ρ * Δx[t-1]
    如楼上所说,吸引盆(这个名字谁起的)和谷面应该都是局部最优解的意思。
    比较直观的作用是:
    1)假如现在x[t]靠近局部最优解,那么不带动量的Δx[t-1]和Δx[t]的方向应该是一致的,加上动量的话,就会加强Δx[t]在这个方向的更新力度,有助于
    帮助跳出局部最优解;
    2)训练刚开始时,参数离局部最优解(或全局)位置都比较远,这个时候学习率和梯度都比较大,Δx[t-1]和Δx[t]的方向很大概率时不一致的,不加动量的话,x[t]容易乱跳,而加上动量,Δx[t-1]能够抵消一部分Δx[t],缓解这种现象。

    以上是我自己的理解。。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)