今日应用
今日话题
对比学习在学啥?
重点标签 对比学习、谱聚类、SimCLR、CLIP、深度学习
文章摘要
极市导读
在不使用任何假设的情况下,刻画出对比学习与谱聚类算法的等价关系。 >>[][加入极市CV技术交流群,走在计算机视觉的最前沿]
对比学习是大模型的入门算法。它的想法很简单:对于输入,找一些它的正样本和负样本,希望在学习之后的网络特征空间中,离正样本近一点,负样本远一点。
实际上,对比学习并非个例,预训练算法大多非常简单:要么是遮盖一部分数据内容让模型猜出来,要么是让模型不断预测一句话的下一个词是什么等等。因为这些算法过于简单,人们很难理解它们究竟如何创造出了强大的模型,所以往往会把大模型的成功归功于海量数据或巨大算力,把算法设计归为炼丹与悟性。
有没有更本质的方式,可以帮助我们理解对比学习?下面我给大家介绍一下我们最近的工作[1],可以在不使用任何假设的情况下,刻画出对比学习与谱聚类算法的等价关系。
呃……但这关我什么事?
从理论的角度来看,对比学习与谱聚类算法的等价关系是一个很优美的结果,至少我是这么觉得的——但这对大部分朋友来说并不重要。实际上,可能有一半以上的AI科研人员对谱聚类不太熟悉,对这样的理论刻画自然没有太多兴趣。不仅如此,
1. 对比学习与谱聚类算法的关系不是我们第一个提出的。人们早就在实践中发现,对比学习得到的模型在分类任务上有突出的效果,但是在其他下游任务中表现一般。马腾宇老师组在2021年的论文[2]中极具创新性地证明了,如果把对比学习中常用的InfoNCE loss改成某种变体(他们称之为spectral contrastive loss),那么得到的模型几乎就是在做谱聚类:是谱聚类的结果乘以一个线性变换矩阵。换句话说,他们已经证明了,对比学习的变体是谱聚类的变体。我们的结果可以看作是对他们结果的进一步完善:对比学习就是谱聚类。因此,虽然我们的结果可以看做是这个问题的一个完美句号,但并不出人意料。
2. 我们的理论框架精致,但并非原创。事实上,我们使用了Van Assel等人2022年发表的用于分析Dimension reduction的概率图框架[3],将其调整之后用于对比学习分析之中。虽然这一调整并不显然,相信原作者也没有想到他们的框架可以用来分析预训练模型;但是我们的理论工具确实来源于他们的工作。
所以我想,我们的工作最重要的地方是提供了理解大模型的新视角。对我来说,当对比学习的底层逻辑以一种简洁、优雅的方式展现出来时,它的意义远远超出了谱聚类的理论刻画本身,给我带来了巨大震撼。这种新的视角可以帮助AI从业者更好地理解预训练算法和模型,对未来的算法设计与模型应用都会有帮助。当然,这意味着要先理解一点点数学——不过我保证,这是值得的。
从SimCLR谈起
我们先从Hinton团队2020年提出的SimCLR算法[4]谈起,它也是对比学习的代表算法。SimCLR专门用于理解图像,它基于一个重要的先验知识:把一只狗的图片进行翻转、旋转、切分或者其他相关操作,得到的图片还是在描绘同一只狗。具体来说,论文中考虑了9种不同类型的操作,如下图所示:
对于人类来说,上面的这些图一看就是同一只狗。针对任何一张图片,我们可以通过这样的方法随机生成两个它的变体,称之为和。既然这两个变体图片描述的是同一个东西,它们应该包含了极为相似的语义信息。可是,一只狗的像素矩阵,和将它旋转之后得到的像素矩阵,在像素空间中天差地别。那么,我们能不能找到一个语义空间,使得这两者相似呢?这就是SimCLR算法,见下图(我们基于原文的示意图进行了微小的调整)。
可以看到,假如我们通过预先定义的图片操作,生成了和。然后我们把它们分别塞进神经网络中,得到了两个向量和。我们希望这两个向量比较接近,毕竟他们代表的图片有相似的语义。
可是,如果使用这个标准来训练模型的话,模型非常容易偷懒。试想,倘若把所有的输入都映射到同一个输出,那自然满足我们的要求,但是这个模型什么都没有学到。因此,SimCLR引入了负样本,即从数据集中随机选一些图片生成,使得比较近,但是和又比较远。这样,就没法偷懒,不得不认认真真学点东西了。
使用这个想法设计的损失函数叫做InfoNCE loss,它有一个令人望而生畏的数学定义。假如给定一个图片和它的正样本,还有一系列负样本,我们叫它们,那么损失函数定义为(我们进行了等价变换,详见论文:
这个式子很复杂,但是如果我们愿意抓大放小[对比学习/谱聚类/SimCLR/预训练算法/理想空间]
极市导读
在不使用任何假设的情况下,揭示了对比学习与谱聚类算法之间的等价关系,为理解大模型提供了新的视角。
对比学习作为一种大模型的入门算法,其核心思想是通过正负样本的区分,使得模型在特征空间中能够更接近正样本而远离负样本。这种学习方式简单却有效,但其成功往往被归因于数据量和算力,而非算法设计本身。
文章介绍了一项重要工作,该工作在不依赖任何假设的前提下,建立了对比学习与谱聚类之间的等价关系。尽管对比学习与谱聚类的关系并非首次提出,且理论框架非原创,但这项工作提供了理解大模型的新视角,强调了算法的最终目标可能比前行路线更值得关注。
从SimCLR谈起
SimCLR算法是对比学习的一个代表,它通过图像的不同变体来学习图像的语义信息。SimCLR算法利用了图像经过翻转、旋转等操作后,其语义信息保持不变的先验知识。算法通过神经网络将图像映射到特征空间,并希望同一图像的不同变体在该空间中更接近。
SimCLR算法引入了负样本的概念,通过比较正样本与负样本之间的距离,迫使模型学习到能够区分它们的有效特征。损失函数InfoNCE loss用于衡量正负样本之间的差异,虽然其数学定义复杂,但其实质是鼓励模型将正样本拉近,负样本推远。
文章进一步探讨了理想空间的概念,即一个能够简化语义关系计算的空间。通过子图采样的方法,可以将原图映射到理想空间,使得模型能够更容易地学习到图片的语义信息。这种采样方法与SimCLR算法中的操作有着直接的联系,从而证明了SimCLR算法本质上是在相似图上进行谱分解。
总结
文章通过深入分析对比学习与谱聚类的关系,提供了一种新的视角来理解大模型。SimCLR算法通过子图采样和谱分解的方式,将图像映射到理想空间,使得语义关系易于计算。这种理解不仅有助于我们更好地把握预训练算法的工作原理,也为未来的算法设计和模型应用提供了有益的启示。
文章来源
原文地址: 点我阅读全文
原文作者: 极市平台