首页 > 其他分享 >对梯度下降法中参数更新是减去学习率与偏导数之积而不是学习率与偏导数的倒数之积的理解

对梯度下降法中参数更新是减去学习率与偏导数之积而不是学习率与偏导数的倒数之积的理解

时间:2024-03-03 10:44:23浏览次数:26  
标签:Loss partial 导数 loss 梯度 之积 法中 lr

这是我在对比softmax回归和线性回归偏导时的一个疑问,看到知乎上有一个人同样的问题,问题链接为:https://www.zhihu.com/question/263929081。
原回答里,我非常认可的一个回答是:

我的理解是这两种看法都是正确的,分别衍生出不同的优化方法。首先是除以梯度,这是利用了泰勒展开式,从导数的数学公式中进行推导,最后得到的更新w的值的公式。由这个角度,之前是有提出相关的优化算法的,比如牛顿法,就是利用前二阶导数进行计算的。在这种方法中,就没有学习率这个概念,有的只是目标函数值与实际函数值的差这个概念(也就是loss, 在我看来)。其相应的表达式大体上可写成: wnew=wold+Loss/∂Loss∂ww_{new} = w_{old} + Loss / \frac {\partial Loss}{\partial w}w_{new} = w_{old} + Loss / \frac {\partial Loss}{\partial w}

第二种是乘以梯度,也就是梯度下降法。在我看来,该方法更多的是一个启发式算法(也就是灵光一闪的那种,没有数学公式能证明其能到最优解(我不太清楚这个)), 是直接利用了梯度的物理意义(w按梯度变化,则loss增加)。根据该物理意义,我们能很直接地写出更新公式: wnew=wold−lr×∂Loss∂ww_{new} = w_{old} - lr \times \frac {\partial Loss} {\partial w}w_{new} = w_{old} - lr \times \frac {\partial Loss} {\partial w} 。而在该式中,才存在学习率这个说法(相应的没有loss),其代表的是每次更新时的距离。目前,由于利用泰勒展开式的一些优化方法(即第一种方法),相比于梯度下降法(即第二种方法),计算量显得十分巨大,故而现在大家都普遍使用的是梯度下降法(在我看来)。

作者:hekko hello

我对此的理解是,当我们认为应该是减去学习率与偏导数的倒数之积的时候,是代入了导数的概念(几何意义),导数就是切片的图形的斜率,也就是k = ▲y / ▲x,因此就认为想要更新▲x,就有▲x = lr / k = lr * ▲x / ▲y,因此就更新了。理论可行,但是在实际操作中,我们将之前3.2的代码中梯度下降的手动实现的代码,从param -= lr * param.grad /batch_size更改为param -= lr * batch_size /param.grad,跑出来的结果是:

  epoch 1, loss 17.067520
  epoch 2, loss 12.588651
  epoch 3, loss 35.118847
  time  0.11303 sec

可以看到结果越来越大了,因为在越趋近于极小值的地方,梯度会越来越小,同时它的倒数会越来越大,出现这种结果,我们继续训练下去也无济于事,因为我们已经错过了极小值。自此,就可以理解梯度下降法:假如我们正在向最小值迈步,如果此时梯度较大,那就提示我们可以迈的步子大一点,因为距离极值还有些距离(梯度不能骤变);如果梯度较小,那就提示我们,需要注意,极值就在附近,小心更新权重,避免错过极值。

以上,是全部内容,感谢批评指正。

标签:Loss,partial,导数,loss,梯度,之积,法中,lr
From: https://www.cnblogs.com/zcry/p/18049667

相关文章

  • 每日导数72
    双变量的常规处理,但要注意齐次\(f(x)=\dfrac{a}{x^2}+2\lnx\)(1)求\(f(x)\)单调性(2)若\(f(x)\)存在两个不同零点,证明:\(x_1f^{\prime}(x_1)+x_2f^{\prime}(x_2)>4\ln\dfrac{a}{2}+4\)解(1)当\(a\leq0\),\(f(x)\)单调递增当\(a>0\)\(f^{\prime}(x)=\dfrac{2}{x}-\dfrac{2......
  • 每日导数69
    端点效应与适当放缩已知函数\(f(x)=e^x+\cosx-2,g(x)=\sinx\)(1)证:当\(x>0\)时,\(g(x)<x<f(x)\)(2)若\(x>0,f(x)+g(x)>ax\)恒成立,求\(a\)的取值范围.解(1)左边经典不等式,略右边:\(x<e^x+\cosx-2\)即证\(e^x+\cosx-2-x>0\)记\(\varphi(x)=e^x+\cosx-2-x,\va......
  • 每日导数68
    切线放缩已知函数\(f(x)=\dfrac{1}{2}x^2+(a-m-1)x-ax\lnx\)(1)若\(m=-1\)时,\(y=f(x)\)不是单调函数,求\(a\)范围(2)若\(a=2,m<0\)时,\(f(x)\)存在两个极值点\(x_1,x_2(x_1<x_2)\),证明:\(x_2-x_1<3(m+1)\)解(1)\(f(x)=\dfrac{1}{2}x^2+ax-ax\lnx,f^{\prime}(x)=x-a\......
  • 紧束缚方法中基于原胞坐标和原子坐标两种傅里叶变换法
    见https://www.guanjihuan.com/archives/16199和https://zhuanlan.zhihu.com/p/92538964其中提到在计算陈数时,这两种变换方法会有区别,在上面这个知乎中提到:SSH模型中的这两种变换方法:在严谨的经验紧束缚法中,其实是基于原子坐标的傅里叶变换法:布洛赫和:类似地:哈密顿量和哈......
  • 每日导数67
    有点硬凑的找点问题已知函数\(f(x)=\dfrac{a}{2}e^{2x}+(a-2)e^x-\dfrac{x^2}{2}\)(1)讨论\(f^{\prime}(x)\)单调性(2)若\(x_1,x_2\)是\(f(x)\)的极值点,证明:\(x_2-x_1<\ln(3-a)-\lna+\dfrac{2}{a}-1\)解(1)\(f^{\prime}(x)=ae^{2x}+(a-2)e^x-x\)\(f^{\prime\prime}(x)=......
  • 每日导数65
    端点效应难在放缩语言的叙述已知函数\(f(x)=\lnx+ax^2-x+a+1\),若\(f(x)\leqe^x\),求\(a\)取值范围解\(\lnx+ax^2-x+a+1-e^x\leq0\)记\(g(x)=\lnx+ax^2-x+a+1-e^x,g(1)=2a-e\leq0\)则一定有\(a\leq\dfrac{e}{2}\)现说明\(a\leq\dfrac{e}{2}\)是合题的\(g(x)=\lnx+ax......
  • 每日导数64
    浙江地区出的题太难,上积分了设函数\(f(x)=\ln(x+1)-a\lnx-b,a>0,b\in\mathbb{R}\)(1)对任意\(0<a<1\),函数\(f(x)\)有两零点,求\(b\)的取值范围(2)设\(n\geq2,n\in\mathbb{N}^{\star}\),证明:\(\left(\dfrac{1}{n}\right)\cdot\left(\dfrac{2}{n}\right)^2\cdot\left......
  • 每日导数62
    难度很大的估值问题已知\(f(x)=\dfrac{x^2}{2}+\cosx\)(1)求\(f(x)\)最小值(2)当\(0<x<1\)时,若\(\dfrac{\sinx}{x}>\dfrac{a}{x+2}\)恒成立,求\(a\)范围(3)证明:\(\displaystyle\sum\limits_{k=1}^{n}\dfrac{\cos\dfrac{1}{4\sqrt{k}-1}}{2\sqrt{k}-1}>\sqr......
  • 每日导数61
    一题多解,换主元、隐零点已知函数\(f(x)=\lnx-x+a-1\)(1)若\(f(x)\leq0\),求\(a\)取值范围(2)当\(a\in(0,1]\)时,证明:\(f(x)\leq\dfrac{(x-1)e^x-xe^a}{e^a}\)解(1)因\(f(1)=a-2\),则必须有\(a\leq2\)现说明,\(a>2\)是所求范围\(f^{\prime}(x)=\dfrac{1}{x}-1\),则不难得......
  • 每日导数59
    换主元,常用放缩与有界放缩已知函数\(f(x)=a^2e^x-3ax+2\sinx-1\)(1)若\(f(0)\)是函数\(f(x)\)的极值,求实数\(a\)的值(2)证明,当\(a\geq1\)时,\(f(x)\geq0\)解(1)\(f^{\prime}(x)=a^2e^x-3a+2\cosx,f^{\prime}(0)=a^2-3a+2=0\)得\(a=1\)或\(a=2\)(2)考虑\(\varphi(a)=a^2......