RMSprop

吴恩达:RMSprop

简介

RMSprop,全称Root Mean Square prop,是一种用于深度学习梯度计算的方法。要想理解RMSprop算法,我们先从梯度下降开始说起。


梯度下降

我们来看一下张经典的三维图片


convex_function.png

可以看到我们在上面任何一个点采用梯度下降以达到最低点,得到水平方向的梯度将会是零。而垂直方向梯度则随着接近最低点逐渐减小,最终达到最优结果。但是这是理想情况下的凸函数,如果我们面对的是非凸函数,如下图所示:

non-convex_function.jpg

在这种情况下,梯度方向和大小计算都将受到严重的干扰。此时,随机初始化的起始点所计算的梯度大小往往含有特别大的噪声,若直接采用计算出的梯度大小,就会出现以下问题:

  • 鞍点(Saddle point)


    Saddle_point.png

从高处落入鞍点时,可能遇到的问题就是一个方向的梯度大,另一个方向的梯度接近于0,导致在鞍点停留此摆动而无法继续靠近最优点。实际上此时为0的梯度不该严格遵守,因为从初始化到得到最优解的过程中,大部分情况的梯度大小都并没有直接为靠近最优点服务。

  • 高原(plateau)
    而另一种情况就是在高损失区域出现平地,就好像在内蒙古高原丢一个铁球,它不会因为高海拔而一直滑落,反而会因为出现平原地区而保持静止。平地导致各方向梯度均趋近于0,这种情况也将造成收敛困难。同样,我们可以认为此时的梯度大小都并没有直接为靠近最优点服务,需要作出优化。

总的来说,梯度太高或者太低,很可能就是局部造成的,是对接近最优点没有意义的暂时结果。没有大局观需要宏观调控。


优化方法

Rprop算法

为了解决上面说到的梯度大小问题。为梯度增加上下限是有必要的。

假设S为实际采用梯度大小,\beta为学习率,dw为反向传播计算得梯度大小。

dw[t] * dw[t - 1] > 0:
S = min(S * \beta, S_{max})

dw[t] * dw[t - 1] < 0:
S = max(S * \beta, S_{min})
直观来说,梯度一直朝着某个方向前进时,会加一个上限,不让梯度因为局部陡峭而造成大量偏差。而出现前面说到的两种情况,某些方向梯度降到接近于0而无法收敛时。梯度将采用一个最小值,防止无法摆脱局部。


从Rporp到RMSprop

Rporp常常运用于全数据集的运算,简单地说,为梯度添加最小限制的同时也减小了梯度的容错率。详细地说,假设采用Mini Batch进行10步梯度运算,得出前9步梯度为-0.1而最后1步梯度为0.9,当这种情况发生时最好的做法时正负梯度抵消,总梯度值尽量保持不变,而Rprop则会进行9次梯度减少和一次梯度增加,造成梯度的严重失衡(当然这里取决于梯度上下限的设置,但是总能找到极端情况)。

为此,引入RMSprop:
S_{dw} = \beta S_{dw} + (1 - \beta)dw^2
w = w - \alpha \frac{dw}{\sqrt{S_{dw}}}
其中dw是梯度, S_{dw}作为一个值容器承载着梯度平方加权平均的结果,并且作为梯度缩放的因子。\alpha是学习率,\beta 则类似于动量梯度下降法中的衰减因子,代表过去梯度对当前梯度的影响,一般取值0.9

这样子,用梯度自身的大小约束自身避免过大或者过小,减少了人为干预和极端情况发生的可能。在引入Mini Batch的同时不割裂各个Mini Batch之间的梯度关系,就从Rprop算法进化到了RMSprop。


以上就是RMSprop的关键内容,下面是一些细节性的不重要内容,可以忽略


不重要的附录:

  1. S_{dw} = \beta S_{dw} + (1 - \beta)dw^2中对梯度平方个人认为是为了保证非负
  2. w = w - \alpha \frac{dw}{\sqrt{S_{dw}}}的根号中,为了避免出现0,往往会加上极小值1e^{-8}
  3. 相关代码块:
Rprop关键代码
for t in range(num_interations):
    dw[t] = compute_gradient(x, y)
    
    if dw[t] * dw[t - 1] > 0:
        step_size = min(step_size * incFactor, step_size_max)
    elif dw[t] * dw[t - 1] < 0:
        step_size = max(step_size * decFactor, step_size_min)
    
    w[t] = w[t - 1] - sign(dw[t]) * step_size
RMSprop关键代码
drad_squared = 0
for _ in num_iterations:
    dw = compute_gradients(x, y)
    grad_squared = 0.9 * grads_squared + 0.1 * dx * dx
    w = w - (lr / np.sqrt(grad_squared)) * dw
  1. 文章部分参考自外文博客
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容

  • 有前面的知识,我们知道如何构建目标函数了,当目标函数构建出来后,如何求其参数使的目标函数最小化呢?这就是这一小节的...
    李涛AT北京阅读 901评论 0 0
  • 大宝:浩轩 6十11 小宝:浩正 4岁 小组:2组 丫丫老师的锦囊2听后感:放下期待收获的都是惊喜!90天不是...
    H叶燕子阅读 244评论 0 0
  • 操作系统磁盘管理章节(二) 课程介绍部分 1.磁盘体系结构应用 磁盘格式化操作 磁盘挂载操作 如何自动挂载 挂...
    亦雨萧萧阅读 446评论 0 0
  • 基于病叶图像处理技术的植物病害识别是一个具有挑战性的研究课题。 病态叶片图像的复杂性。深入学习模式在植物病害鉴定方...
    菜田的守望者w阅读 429评论 0 0
  • 仙老师一生就知道两个天才,一个是复有诗书的小程序——美图配诗的制作者小毛老师,另一个,就是王勃了。 王勃,用陈子昂...
    大仙故事会阅读 1,365评论 0 4