网上看到这句话“中期以及现在最普及的就是引入动量因子:
Δxt=ρΔxt−1−η⋅gt
ρ为动量因子,通常设为0.9
在更新中引入0.9这样的不平衡因子,使得:
★在下降初期,使用前一次的大比重下降方向,加速。
★在越过函数谷面时,异常的学习率,会使得两次更新方向基本相反,在原地”震荡“
此时,动量因子使得更新幅度减小,协助越过函数谷面。
★在下降中后期,函数面局部最小值所在的吸引盆数量较多,一旦陷进吸引盆当中,
Gradient→0
Gradient→0
,但是前后两次更新方向基本相同。
此时,动量因子使得更新幅度增大,协助跃出吸引盆。”
我想问的是:
1、Δxt是否就是每次训练的负梯度,那gt又是代表什么。
2、“谷面”和“吸引盆”感觉好像一个意思,这个有啥区别。
3、Gradient代表什么
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
神经网络学习率自适应相关问题,动量法
- 写回答
- 好问题 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
悬赏问题
- ¥15 网络科学导论,网络控制
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)