从动力学角度看优化算法:SGD ≈ SVM?

©PaperWeekly 原创 · 作者|苏剑林

单位|追一科技

研究方向|NLP、神经网络

众所周知,在深度学习之前,机器学习是 SVM(Support Vector Machine,支持向量机)的天下,曾经的它可谓红遍机器学习的大江南北,迷倒万千研究人员,直至今日,“手撕 SVM”仍然是大厂流行的面试题之一。然而,时过境迁,当深度学习流行起来之后,第一个革的就是 SVM 的命,现在只有在某些特别追求效率的场景以及大厂的面试题里边,才能看到 SVM 的踪迹了。

峰回路转的是,最近 Arxiv 上的一篇论文 Every Model Learned by Gradient Descent Is Approximately a Kernel Machine 做了一个非常“霸气”的宣言:任何由梯度下降算法学出来的模型,都是可以近似看成是一个 SVM!

论文标题:

Every Model Learned by Gradient Descent Is Approximately a Kernel Machine

论文链接:

https://arxiv.org/abs/2012.00152

这结论真不可谓不“霸气”,因为它已经不只是针对深度学习了,而且只要你用梯度下降优化的,都不过是一个 SVM(的近似)。笔者看了一下原论文的分析,感觉确实挺有意思也挺合理的,有助于加深我们对很多模型的理解,遂跟大家分享一下。

SVM基础

一般的 SVM 可以表示为如下形式:

其中 是训练数据对, 是可学习参数,标准核机器的输出是一个标量,所以这里考虑的 都是标量。 则称为“核函数”,它衡量了输入 x 与训练样本 之间的某种相似度。SVM 是更广义的“核机器(Kernel Machine)”模型的一种(可能是最出名的一种),属于“核方法”范畴。

直观理解,其实 SVM 就是一个检索模型,它检索了输入与所有训练样本的相似度 ,然后加权求和。所以,严格上来说,SVM 的参数量除了各个 和 外,还包括训练集的输入 ,说白了,它就是把整个训练集都给记下来了。

相比之下,深度学习模型也有很多参数,但这些参数都是直接由梯度下降求出来的,并不是直接把训练集存起来,而由于这个特点,所以深度学习模型通常认为是能自动学习到更智能的特征。

解析推导

SVM 理论不是本文的重点,我们知道它的形式如(1),即可。在这一节中,我们将会推导梯度下降的一个解析解,并且发现这个解跟式(1),具有非常相似的形式,因而我们说梯度下降出来的模型都可以近似看成一个 SVM 模型。

假设我们的模型是 , 是可训练参数,单个样本的损失函数是 ,那么训练所用的损失函数为:

为了使得后面的推导更简洁,这里使用了求和的形式,一般情况下是求平均才对,但这不影响最终的结果。在“从动力学角度看优化算法”系列文章中,我们坚持的观点是梯度下降求解参数 ,相当于在求解动力系统:

这同样也是本文的重要出发点。现在,我们考虑 的变化情况:

可以看到,对 j 求和这一步,事实上就是梯度的内积 ,在神经网络中它还有一个非常酷的名字,叫做“Neural Tangent Kernel”,我们将其记为:

并且记 ,那么:

可见,模型 每个时刻的变化量都是一个 SVM,假如我们已经知道优化过程中 的变化轨迹为 ,那么最终的模型就是

结果分析

经过一番推导,我们的得到了式(7),它是当学习率趋于 0 的梯度下降的理论解。从推导过程可以看到,这个结果只依赖于梯度下降本身,跟模型具体结构没关系。对于式(7),我们可以从下面的角度理解它。

首先,我们将记 ,它其实就是初始化模型,尽管它理论上是依赖于 x 的,但很多时候它会表现得接近一个常数(比如多分类模型时,初始化模型的输出通常接近一个均匀分布),因此我们可以将当它是一个常数项。然后,我们可以记:

那么:

这在形式上就跟 SVM 很像了,区别就在于 SVM 的 应该是独立于 x 的,而这里则依赖于 x。 我们已经分析过了,而 由于它是数学期望的形式,被期望的对象不依赖于 x,而是权重依赖于 x,那么它可能对 x 的依赖也相对弱些,因此跟 一样,我们也许可以近似地忽略它对 x 的依赖。

不过,在笔者看来,依不依赖 x 并不算是关键,最重要的是最终的结果呈现出了 的形式,那就意味着它在一定程度上也是学习到了一个检索训练集的过程,这才是它真正跟 SVM 的相似之处。

上述讨论的是输出标量的模型,如果输出是一个 d 维向量,那么最终形式也是相同的,只不过此时 也是一个 d 维向量,而 是一个 的矩阵,这种情况下哪怕 与 x 无关,也不是我们通常意义下的(多分类) SVM 模型。但它依然具有 的形式,因此某种意义上来说它仍然是检索训练集的操作。

此外,上述结论针对的是(全量)梯度下降,而对于随机梯度下降(SGD)来说,我们不再是用全量数据来算损失函数,对此我们在第一篇从动力学角度看优化算法 SGD:一些小启示也做过讨论,可以认为 SGD 是在梯度下降的基础上引入了噪声,也就是收敛路径 带有随机噪声,其余结果基本不变,因此上述结论对 SGD 也是成立的。

拓展思考

那么,这个结果能给我们带来什么思想冲击呢?原论文在“Discussion”那一节花了相当长的篇幅讨论这个事情,这里我们也来琢磨一下这个事情。

从深度学习的视角来看,这个结果揭示了深层神经网络模型与传统的核方法之间的联系,借助核方法的可解释性来增强神经网络的可解释性。比如,通过梯度内积作为相似度度量,我们或许可以从训练集中检索出与输入相近的训练样本,以解释输出的决策过程。

更进一步地,如果该方向能够得到更为精确的量化,那么它有可能大大改进增量学习的方法,即对于新来的标注样本,我们可能只需要想办法往模型中添加 的项,而不需要重新训练模型。

反过来看,该结果也许能促进核机器、核方法的发展。传统的核函数依赖于认为定义,而上述梯度内积形式的核函数给我们带来了新的构建核函数的思路,增强核方法对复杂函数的建模能力。同时,由于梯度下降与核机器的相似性,我们最终或许可以通过梯度下降来训练核机器,从而克服核机器在大规模数据下的训练难题,等等。

还有一些别的脑洞可以发散一下,比如我们知道对于凸优化问题有唯一解,并且理论上梯度下降总可以找到这个解,而前面又说梯度下降相当于一个 SVM。所以,这是不是意味着所有凸优化问题的解都相当于一个 SVM?这个脑洞够不够大?

总之,揭示梯度下降与核机器之间的联系,有助于两者的进一步借鉴与融合,并且有可能发展出一些新的研究思路。

更多阅读

#投 稿 通 道#

 让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

???? 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

???? 投稿邮箱:

• 投稿邮箱:[email protected] 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章