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条)

报告相同问题?

悬赏问题

  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路
  • ¥15 phython读取excel表格报错 ^7个 SyntaxError: invalid syntax 语句报错
  • ¥20 @microsoft/fetch-event-source 流式响应问题