Gradient Descent(Tips1 tuning learning rates)

Tuning your learning rates

注:Learning rate即为移动一步的步幅

Gradient方向和Movement方向始终是相反的,因为:

绿色,当learning rate太大时,一开始下降得很快,但是很快就会被卡住

蓝色,当learning rate太小时,下降的速度很慢,如果给足够的时间,是可以走到最低点的,但是这个时间是难以忍受的

众所周知,要不断的手动调learning rate很麻烦,我们能不能想办法让它自己调呢?


Adaptive Learning Rate

自适应梯度算法

梯度下降优化算法:

Adagrad

the previous derivatives:之前算过的那些微分值(所有)



Adagrad整体而言是会越来越慢的,这只是最简单最的一种方法。还有Adem,Adaboost等等。

在做一般的Gradient Descent的时候


问题:为什么要造成反差?如何理解?



结论:Gradient(斜率)的值越大,离最低点的距离越远

当考虑多个参数时:

Gradient的值越大就不见得跟最低点的距离越远,在有多个参数时,就不一定成立了
关于a,b,c,d四个点

上图,我们考虑 w 1 w_1 w1的变化,a点的gradient值更大,且a点里最低点的距离更远是成立的

如果我们同时考虑 w 2 w_2 w2的变化,c的gradient值比d大大,且c点里最低点的距离比d更远是成立的

but,如果我们比较的是跨参数的a点和c点呢?你又能如何作比较?

以上结论就不成立了,事实上虽然a点的gradient值比c小,但确实是a点离最低点更远,由此以上结论不再适用,于是我们引入second derivative(二阶偏微分)


上式的二次微分是2a(分母),最好是要把二次微分考虑进来

w 1 w_1 w1方向上,smaller second,比较平滑,一次比较小,二次也比较小,于是两者相比,就可以作为衡量标准

w 2 w_2 w2方向上,larger second,比较陡峭

光比较a和b的微分值是不够的,要把二次微分考虑进去做平减,除以它的二阶偏微分,才能真正更好的表示当前点到最低点的距离


和Adagrad式子联系起来:

参数的update量如下:

在sample点数量很多的情况下,你是可以在一次微分上面做sampling求得二次微分的近似值。

这里我们只是近似把分母作为second derivative,是在不增加计算量下的一种近似。当然你可以直接去算二次微分…但当参数很多的时候,算一次就很难了,你真的很难去算二次微分。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值