网易首页 > 网易号 > 正文 申请入驻

注意!这个小球开始下山了

0
分享至


新智元报道

编辑:alan

【新智元导读】4年前的开源项目突然在Hacker News爆火,通过可视化的「小球下山」,帮助非专业和专业人士,更好地理解AI训练中梯度下降的过程。

近日,一个4年前的开源项目穿越了时空,突然爆火!

毕业于哈佛,前Quora数据科学主管,现工作于Waymo的Lili Jiang,在20年初编写了一个软件,

通过可视化的「小球下山」,帮助非专业和专业人士,更好地理解AI训练中梯度下降的过程。


软件名为Gradient Descent Viz,囊括了当下最常见的5种梯度下降算法:Vanilla Gradient Descent、Momentum、AdaGrad、RMSProp和Adam。


你可以选择不同的曲面,并发现Adam和RMSProp可以更好地处理鞍点:


可以调整参数,并发现学习率低时,动量法不足以推动小球通过平坦区域,而提高学习率可以解决问题。


可以观看分步动画,直观地了解每种方法的计算过程,比如动量下降的内部工作原理:


可以使用可视元素来跟踪梯度、动量、梯度平方和等数据,比如下图中的两片灰色代表两个方向上的梯度平方和:


可以绘制下降路径,以了解不同的算法如何以不同的方式到达目的地:



项目地址:https://github.com/lilipads/gradient_descent_viz

OK,介绍完毕,下面上点硬菜,结合大佬给出的可视化展示,解释一下梯度下降的几种优化算法的原理。

(小编水平有限,如有失误,烦请诸位指正)

AI训练的本质:从小球下山开始

众所周知,AI训练的目标是让预测值尽可能接近真实值。

可以按照某种方式,定义预测值和真实值之间的误差,也就是损失函数,比如最常用的交叉熵损失函数。

要让误差最小,也就是求损失函数的最小值。

为此,我们需要一个好的算法来快速可靠地找到全局最小值(不会卡在局部最小值或者鞍点)。

梯度下降

真实的神经网络中,参数千千万,不过我们人类(包括小编)一般情况下只能感知3维的事物,

所以,下面先用两个参数x,y对应的损失函数Z来理解这个问题。

下面的曲面表示损失函数Z(x,y):


在这种情况下,我们可以使用「一眼看出」大法,马上发现曲面最低点的位置(也就是损失函数的最小值),——但计算机程序不能。

人眼可以看到整个曲面,而算法只能一步步进行探索,就像拿着手电筒在黑暗中行走。

如上图中的演示,算法需要每次找到一个最佳的前进(下降)方向,然后移动一段距离,——这个最佳的方向就是梯度(函数对每个参数的偏导)。

根据我们小学二年级学过的知识,当二元函数Z在(x,y)点可微时,函数值变化量可以写成:


改写成向量内积的形式就是:


我们需要让函数值下降得越快越好,那么x和y的改变方向,就应该和梯度(两个偏导)的方向相反,——即向量方向相反,内积最小:


这就是「梯度下降」的意义,梯度前面的系数是我们熟悉的学习率,用来控制每次移动的步长,步子太小训练慢、步子大了容易扯着蛋。

如果我们「深入浅出」,把问题退化到一元函数,就是下面这个样子:


当然了,最原始的梯度下降算法,需要对网络中所有参数求偏导再求和,计算量相当大。

我们现在用的梯度下降算法,一般指的是随机梯度下降(Stochastic Gradient Descent,SGD),表示每次迭代只随机使用一个样本或一个小批量(mini-batch)来计算梯度。

动量法

当我们使用梯度下降的时候,可能会遇到下图中这种问题:

代表梯度下降的红线在寻找极值的过程中振荡比较严重,相应的也需要更多的步数才能收敛。

这是因为每个点的梯度可能和最终的方向差别比较大,——为了解决这个问题,科学家们提出了动量法,也就是下图中蓝线的路径。


动量法的思想就是把历史的梯度也考虑进来,用整体的趋势让路径变得更加平滑。

另一种简单理解就是,振荡来自于前后两点梯度的垂直分量方向相反。作为矫正,当我们遇到这种反向的情况时,可以将当前的垂直分量减小一点。

而前后两点梯度的水平分量是同向的,所以可以将当前的水平分量增大一点。

——把过去的梯度按照一定比例加到当前梯度,正好可以满足这两点。

动量法可以用公式表示为:

delta = - learning_rate * gradient + previous_delta * decay_rate

或者突出累积梯度的概念,表示为:

sum_of_gradient = gradient + previous_sum_of_gradient * decay_rate delta = -learning_rate * sum_of_gradient

两个公式是一样的,其中衰减率decay_rate,控制历史梯度信息进入的比例,一般情况下设置为0.8-0.9。


另外,这个公式是一个递归的表示,所以距离当前时刻越远的梯度会被decay_rate衰减得越多(指数级),

这样既保证了整体的趋势,又不会过多的被遥远的梯度所干扰。

我们可以利用本文的开源软件形象地了解动量法,以及其中参数的意义,比如当decay_rate为0时,就与普通的梯度下降完全相同;

而当decay_rate = 1时,小球就像在没有摩擦的碗中那样,孤独摇摆,永无休止。


下图中,普通梯度下降和动量法在软件中PK了一把:


可以看出,Momentum相比于Vanilla Gradient Descent有两个明显优势:

1.积累了过去的动量,所以跑得快; 2.动量法有机会逃脱局部最小值(也是因为来自过去的力量把它推了出去)
AdaGrad

前面我们提到了学习率的问题,学习率设置过大或过小都会出问题。


在实际训练中,学习率一般会人为设定在迭代中不断衰减,使得开始时可以快速深入,然后逐渐减慢速度,仔细探索。心有猛虎,细嗅蔷薇。

不过同样的,学习率衰减太快或太慢,也都会出问题,所以科学家们提出了AdaGrad算法来自适应调整学习率。


AdaGrad可用公式表示为:

sum_of_gradient_squared = previous_sum_of_gradient_squared + gradient² delta = -learning_rate * gradient / sqrt(sum_of_gradient_squared)

其实就是跟动量法类似的思想,使用历史梯度数据来校正当前数据。

这里给学习率除上一个历史梯度的平方和开根号,直观的理解就是:对于一个参数,在过去修改得越多,那么在未来需要修改得就越少。

这样就达成了学习率的自适应调节,而且每个参数有自己的学习率。

另外,在深度学习中,稀疏特征是非常常见的,而AdaGrad算法在面对稀疏数据时尤其有效,

稀疏的特征平均梯度很小,会导致训练缓慢,而为每个参数设置不同的学习率则解决了这个问题。


上图中,AdaGrad和Vanilla Gradient Descent进行PK,普通梯度下降会先选择最陡峭的方向,而AdaGrad选择的路径显然更优秀。

有时候,普通梯度下降会干脆停在两个方向的梯度为0的鞍点(saddle point),而AdaGrad等基于梯度平方的方法可以更好地逃离鞍点。

RMSProp

然而,AdaGrad的问题在于它的速度非常慢,——因为梯度平方的总和只会增长,永远不会缩小,就造成了学习率一定是越来越小的。

由于背上了沉重的历史包袱,AdaGrad在该快的地方也往往快不起来,为了解决这个问题,便诞生了RMSProp算法,公式如下:

sum_of_gradient_squared = previous_sum_of_gradient_squared decay_rategradient² (1- decay_rate) delta = -learning_rate * gradient / sqrt(sum_of_gradient_squared)

跟动量法中使用衰减率decay_rate的思想一致,让最近的梯度占比比较高,而离得比较远的梯度就赶紧忘掉,说白了就是移动加权平均。

不过跟动量法那边不同的是,这个 (1- decay_rate)是在分母上,所以还起到了缩放的作用。

举个例子,如果decay_rate设置为0.99,那么分母就多乘了一个sqrt(1 - 0.99)= 0.1,因此在相同的学习率下,步长比AdaGrad大了10倍。


图中的阴影部分表示两个方向上的梯度平法和,明显绿色的RMSProp甩掉了很多历史包袱,跑得也更快。

Adam

最后出场的是当下AI训练最流行的Adam算法,但已经没啥可说的了,因为Adam = Momentum + RMSProp,公式如下:

sum_of_gradient = previous_sum_of_gradient * beta1 + gradient * (1 - beta1) [Momentum] sum_of_gradient_squared = previous_sum_of_gradient_squared * beta2 + gradient² * (1- beta2) [RMSProp] delta = -learning_rate * sum_of_gradient / sqrt(sum_of_gradient_squared)

Beta1是Momentum的衰减率,通常设置为0.9;Beta2是RMSProp的衰减率,通常设置为0.999。


Adam从Momentum中获得速度,从RMSProp获得适应不同方向梯度的能力,两者结合使其功能强大。

参考资料:

https://github.com/lilipads/gradient_descent_viz


特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
中国海警登临检查菲船艇,没收枪支,拘捕四人,有人失去了手指…

中国海警登临检查菲船艇,没收枪支,拘捕四人,有人失去了手指…

侦姐有料
2024-06-18 14:19:17
开使馆车叫嚣有豁免权的女子道歉!真实身份被扒后,评论区炸裂了

开使馆车叫嚣有豁免权的女子道歉!真实身份被扒后,评论区炸裂了

刚哥说法365
2024-06-19 12:27:31
重磅!汤神正式归队合练!

重磅!汤神正式归队合练!

左右为篮
2024-06-19 12:35:15
“跳水女神”陈若琳:肤白貌美,身材丰腴傲人,眼神勾魂有魅力

“跳水女神”陈若琳:肤白貌美,身材丰腴傲人,眼神勾魂有魅力

知鉴明史
2024-06-18 13:45:58
新型卖淫方式,让人预想不到,但却真实存在!

新型卖淫方式,让人预想不到,但却真实存在!

雪影的情感
2023-11-18 11:51:16
谈谈为什么今年经济会这么差?

谈谈为什么今年经济会这么差?

鸿彬商业频道
2024-06-02 23:01:54
浙江大学现任领导班子成员,看看都是谁

浙江大学现任领导班子成员,看看都是谁

音乐时光的娱乐
2024-06-19 12:16:37
以榨干男人为职业的李娇儿究竟长什么样?

以榨干男人为职业的李娇儿究竟长什么样?

一代文嚎
2024-06-17 21:31:33
教育部强势反击:免费开放志愿服务系统!网友:张雪峰公司危险了

教育部强势反击:免费开放志愿服务系统!网友:张雪峰公司危险了

影像温度
2024-06-18 11:33:53
豪赌中国会考虑大局?菲船强闯岛礁,澳大利亚:中国进行非法行为

豪赌中国会考虑大局?菲船强闯岛礁,澳大利亚:中国进行非法行为

青年的背包
2024-06-19 12:55:28
去意已决!利物浦主力攻击手7500万离队!天才中卫+1亿边锋来投

去意已决!利物浦主力攻击手7500万离队!天才中卫+1亿边锋来投

头狼追球
2024-06-19 14:53:04
喝茶对心脏到底是好是坏?医生苦劝:4种茶,一口都不要喝

喝茶对心脏到底是好是坏?医生苦劝:4种茶,一口都不要喝

宋若讲故事
2023-01-18 21:38:26
一起合同诈骗案撤案后引发的举报:原海口市检察院检察长被指插手案件,纪委介入

一起合同诈骗案撤案后引发的举报:原海口市检察院检察长被指插手案件,纪委介入

澎湃新闻
2024-06-19 11:24:35
北约威胁:中国再支持俄罗斯,要付出“经济代价”

北约威胁:中国再支持俄罗斯,要付出“经济代价”

观察者网
2024-06-18 09:06:20
卡佩罗:英格兰充满恐惧和疲惫,解雇罗纳尔多是因他经常外出聚会

卡佩罗:英格兰充满恐惧和疲惫,解雇罗纳尔多是因他经常外出聚会

直播吧
2024-06-18 20:24:02
一个人,到底是富贵命,还是辛苦命,取决于这5点

一个人,到底是富贵命,还是辛苦命,取决于这5点

舒山有鹿
2024-05-31 12:29:37
实探胖东来“爆改”永辉超市首店:今恢复营业 早间客流现“人山人海”

实探胖东来“爆改”永辉超市首店:今恢复营业 早间客流现“人山人海”

财联社
2024-06-19 11:25:09
冤案or错怪裁判?海港争议进球,摄影师晒手球证据,海港球迷回击

冤案or错怪裁判?海港争议进球,摄影师晒手球证据,海港球迷回击

小金体坛大视野
2024-06-19 09:05:11
敬酒不吃吃罚酒!中荷双方发生冲突兵刃相见!我军不留一丝情面!

敬酒不吃吃罚酒!中荷双方发生冲突兵刃相见!我军不留一丝情面!

文雅笔墨
2024-06-18 10:03:39
中信证券、普华永道双双被起诉

中信证券、普华永道双双被起诉

极目新闻
2024-06-19 11:02:34
2024-06-19 15:06:44
新智元
新智元
AI产业主平台领航智能+时代
11171文章数 65537关注度
往期回顾 全部

科技要闻

英伟达超越苹果、微软登顶全球新股王

头条要闻

普京访问朝鲜前撤换4位副防长 4人都与绍伊古共事多年

头条要闻

普京访问朝鲜前撤换4位副防长 4人都与绍伊古共事多年

体育要闻

欧洲杯最大的混子,非他莫属

娱乐要闻

黄一鸣“杀疯了” 直播间卖大葱养孩子

财经要闻

吴清:证监会将推出“科创板八条”

汽车要闻

双肾格栅变化大/内饰焕新 新一代宝马X3官图发布

态度原创

家居
房产
数码
健康
军事航空

家居要闻

自然开放 实现灵动可变空间

房产要闻

17.9亿!终于,有民企在三亚大手笔拿地了!周边房价10万+!

数码要闻

旧电脑不要换盆儿,0元变身游戏机

晚餐不吃or吃七分饱,哪种更减肥?

军事要闻

美国务卿:除部分炸弹 其他对以武器援助均在正常运输

无障碍浏览 进入关怀版