网上看到这句话“中期以及现在最普及的就是引入动量因子:
Δxt=ρΔxt−1−η⋅gt
ρ为动量因子,通常设为0.9
在更新中引入0.9这样的不平衡因子,使得:
★在下降初期,使用前一次的大比重下降方向,加速。
★在越过函数谷面时,异常的学习率,会使得两次更新方向基本相反,在原地”震荡“
此时,动量因子使得更新幅度减小,协助越过函数谷面。
★在下降中后期,函数面局部最小值所在的吸引盆数量较多,一旦陷进吸引盆当中,
Gradient→0
Gradient→0
,但是前后两次更新方向基本相同。
此时,动量因子使得更新幅度增大,协助跃出吸引盆。”
我想问的是:
1、Δxt是否就是每次训练的负梯度,那gt又是代表什么。
2、“谷面”和“吸引盆”感觉好像一个意思,这个有啥区别。
3、Gradient代表什么
神经网络学习率自适应相关问题,动量法
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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数据透传的功能?(关键词-串口)