梯度流(Gradient Flow):探索通往最小值之路

09ab00c90f91b69832dc8523c17da811.gif

©PaperWeekly 原创 · 作者 | 苏剑林

单位 | 追一科技

研究方向 | NLP、神经网络

在这篇文章中,我们将探讨一个被称为“梯度流(Gradient Flow)”的概念。简单来说,梯度流是将我们在用梯度下降法中寻找最小值的过程中的各个点连接起来,形成一条随(虚拟的)时间变化的轨迹,这条轨迹便被称作“梯度流”。在文章的后半部分,我们将重点讨论如何将梯度流的概念扩展到概率空间,从而形成“Wasserstein 梯度流”,为我们理解连续性方程、Fokker-Planck 方程等内容提供一个新的视角。

91a761d81e20291a1252ef8c8a1073ca.png

梯度下降

假设我们想搜索光滑函数 的最小值,常见的方案是梯度下降(Gradient Descent),即按照如下格式进行迭代:

11f29b5a4e5b981fee9caf82abc006f3.png

如果 关于 是凸的,那么梯度下降通常能够找到最小值点;相反,则通常只能收敛到一个“驻点”——即梯度为 0 的点,比较理想的情况下能收敛到一个极小值(局部最小值)点。这里没有对极小值和最小值做严格区分,因为在深度学习中,即便是收敛到一个极小值点也是很难得的了。

如果将 记为 ,将 记为,那么考虑 的极限,那么式(1)将变为一个 ODE:

b65ad81795a5dad1f6a8e4a3b84c3101.png

求解这个 ODE 所得到的轨迹 ,我们就称为“梯度流(Gradient Flow)”,也就是说,梯度流是梯度下降在寻找最小值过程中的轨迹。在式(2)成立前提下,我们还有:

25d09fc3deb887db85ebc1800fd0d874.png

这就意味着,只要 ,那么当学习率足够小时,梯度下降总能往让 变小的方向前进。

更多相关讨论,可以参考之前的优化算法系列,如《从动力学角度看优化算法:从SGD到动量加速》《从动力学角度看优化算法:一个更整体的视角》等。

2d5f87c5be48c22ee9915fd3f1b72b11.png

最速方向

为什么要用梯度下降?一个主流的说法是“梯度的负方向是局部下降最快的方向”,直接搜这句话就可以搜到很多内容。这个说法不能说错,但有点不严谨,因为没说明前提条件——“最快”的“最”必然涉及到定量比较,只有先确定比较的指标,才能确定“最”的结果。

如果只关心下降最快的方向的话,梯度下降的目标应该是:

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值