陕西西安有什么好玩的,青岛官网seo技术厂家,php做网站项目的流程,伍佰亿网站怎么做Momentum gradient descent
正常的梯度下降无法使用更大的学习率#xff0c;因为学习率过大可能导致偏离函数范围#xff0c;这种上下波动导致学习率无法得到提高#xff0c;速度因此减慢(下图蓝色曲线) 为了减小波动#xff0c;同时加快速率#xff0c;可以使用momentum…Momentum gradient descent
正常的梯度下降无法使用更大的学习率因为学习率过大可能导致偏离函数范围这种上下波动导致学习率无法得到提高速度因此减慢(下图蓝色曲线) 为了减小波动同时加快速率可以使用momentum梯度下降
将指数加权平均运用到梯度下降成为momentum梯度下降(图中红色曲线) 原理 纵轴上平均过程中正负数相互抵消所以纵轴上的平均值接近于0 横轴上所有的微分都指向横轴方向所有横轴方向上的平均值依然较大 因此纵轴上摆动减小横轴上运动速度加快 进一步解释
把图像比作一个碗轨迹视为小球的轨迹从边缘向碗内最低点运动
其中dw,db可以看作加速度v_dw,v_db可以看作速度可以看作摩擦力
因此小球会向着碗中心运动最终因摩擦力而停下来 代码演示
v_dw0;v_db0
BETA0.9
dw[1,2,4,5,7,10,11]
db[2,28,15,66,24,10,12]
for i in range(0,7):v_dwBETA*v_dw(1-BETA)*dw[i]v_dbBETA*v_db(1-BETA)*db[i]print(the ,i, time: ,v_dw ,v_dw,\n)print(the ,i, time: ,v_db ,v_db,\n)
结果如下 补充贝塔值大小对梯度下降速率的影响 较大的β值 如果β值较大动量项会更快地积累过去的梯度信息。这样可以帮助在梯度方向上持续前进有助于克服局部最小值的影响提高参数的更新速度。但过大的β值可能导致在垂直方向上的更新过于迅速可能引入过多的振荡导致性能下降。 较小的β值 如果β值较小动量项对过去梯度的积累相对较慢可能更容易跳出局部极小值但也可能导致在梯度方向上更新的速度较慢。较小的β值通常能够提供更稳定的更新路径但可能需要更长的时间来收敛。
选择合适的β值通常需要根据具体问题和数据集进行实验和调整。通常常见的β值为0.9但在实践中研究人员可能需要根据具体情况进行调整以获得最佳性能。试验不同的值观察训练过程中的收敛速度和性能以找到适合特定任务的超参数。