先对24年华为天才少年谢凌曦的讨论再总结一下(文末括号表示个人的想法), 后续或许更新自己的一些想法/ideas。
在我看来其思路是很十分正确的,或许有些话会一语成谶。
主要对分析计算机视觉领域,特别是视觉感知(即识别)方向所面临的困难和潜在的研究方向。
相较于针对具体算法的细节改进,谢更希望探讨当前算法(尤其是基于深度学习的预训练+微调范式)的局限性和瓶颈,并且由此得出初步的发展性结论,包括哪些问题是重要的、哪些问题是不重要的、哪些方向值得推进、哪些方向的性价比较低等。
CV 和 NLP
简单翻译一下:
NLP:处理主观的文本数据
- 语义密集性:语言是“高效存储信息的载体”
- 较小的域差异:不管是哪种语言,本质的任务仍然是一样的
- 有限的细粒度:语言有单位(词),定义了最初的语义
CV:处理客观的图像数据
- 语义稀疏性:同样包含了简单的语义,但是需要大量的像素存储
- 较大域差异:(训练和测试)数据分布上的区别可能很大
- 无尽的语义(细粒度):仅仅靠人为的标签不足以表示清楚图片的全部信息
CV的三大基本困难和对应研究方向
一直以来,NLP都走在CV的前面。不论是深度神经网络超越手工方法,还是预训练大模型开始出现大一统的趋势,这些事情都先发生在NLP领域,并在不久之后被搬运到了CV领域。这里的本质原因是NLP的起点更高:自然语言的基础单元是单词,而图像的基础单元是像素;前者具有天然的语义信息,而后者未必能够表达语义。
从根本上说,自然语言是人类创造出来,用于存储知识和交流信息的载体,所以必然具有高效和信息密度高的特性;而图像则是人类通过各种传感器捕捉的光学信号,它能够客观地反映真实情况,但相应地就不具有强语义,且信息密度可能很低。
从另一个角度看 ,图像空间比文本空间要大得多,空间的结构也要复杂得多。这就意味着,如果希望在空间中采样大量样本,并且用这些数据来表征整个空间的分布,采样的图像数据就要比采样的文本数据大许多个数量级。顺带一提,这也是为什么自然语言预训练模型比视觉预训练模型用得更好的本质原因——我们在后面还会提到这一点。
根据上述分析,我们已经通过CV和NLP的差别,引出了CV的第一个基本困难,即语义稀疏性。而另外两个困难,域间差异性和无限粒度性,也多少与上述本质差别相关。正是由于图像采样时没有考虑到语义,因而在采样不同域(即不同分布,如白天和黑夜、晴天和雨天等场景)时,采样结果(即图像像素)与域特性强相关,导致了域间差异性。同时,由于图像的基本语义单元很难定义(而文本很容易定义),且图像所表达的信息丰富多样,使得人类能够从图像中获取近乎无限精细的语义信息,远远超出当前CV领域任何一种评价指标所定义的能力,这就是无限粒度性。关于无限粒度性,谢曾经写过一篇文章,专门讨论这个问题。
-
语义稀疏性 :解决方案为构建高效计算模型(神经网络)和视觉预训练。此处的主要逻辑在于,想要提升数据的信息密度,就必须假设数据的非均匀分布(信息论)并对其建模(即学习数据的先验分布)。目前,最为高效的建模方式有两类,一类是通过神经网络架构设计,来捕捉数据无关的先验分布(例如卷积模块对应于图像数据的局部性先验、transformer模块对应于图像数据的注意力先验);一类是通过在大规模数据上的预训练,来捕捉数据相关的先验分布。这两个研究方向,也是视觉识别领域最为基础、受到关注最多的研究方向。 (但是个人认为这个任务是做不完全的,无穷无尽的,不论是算力和数据上的需求,还是算法的设计,该存在的domain gap任然存在。只能尽量去做一个近似的建模)
-
域间差异性:解决方案为数据高效的微调算法。根据以上分析,网络体量越大、预训练数据集体量越大,计算模型中存储的先验就越强。然而,当预训练域和目标域的数据分布具有较大差异时,这种强先验反而会带来坏处,因为信息论告诉我们:提升某些部分(预训练域)的信息密度,就一定会降低其他部分(预训练域没有包含的部分,即预训练过程中认为不重要的部分)的信息密度。现实中,目标域很可能部分或者全部落在没有包含的部分,导致直接迁移预训练模型的效果很差(即过拟合)。此时,就需要通过在目标域进行微调来适应新的数据分布。考虑到目标域的数据体量往往远小于预训练域,因而数据高效是必不可少的假设。此外,从实用的角度看,模型必须能够适应随时变化的域,因而终身学习是必须。
-
无限粒度性:解决方案为开放域识别算法。无限粒度性包含开放域特性,是更高的追求目标。这个方向的研究还很初步,特别是业界还没有能被普遍接受的开放域识别数据集和评价指标。这里最本质的问题之一,是如何向视觉识别中引入开放域能力。可喜的是,随着跨模态预训练方法的涌现(特别是2021年的CLIP),自然语言越来越接近成为开放域识别的牵引器,谢相信这会是未来2-3年的主流方向。然而,谢并不赞成在追求开放域识别的过程中,涌现出的各种zero-shot识别任务。谢认为zero-shot本身是一个伪命题,世界上并不存在也不需要zero-shot识别方法。现有的zero-shot任务,都是使用不同方法,将信息泄露给算法,而泄露方式的千差万别,导致不同方法之间难以进行公平对比。在这个方向上,谢提出了一种被称为按需视觉识别的方法,以进一步揭示、探索视觉识别的无限粒度性。
这里需要做一个补充说明。由于数据空间大小和结构复杂度的差异,至少到目前为止,CV领域还不能通过预训练模型直接解决域间差异的问题,但是NLP领域已经接近了这一点。因此,我们看到了NLP学者们利用prompt-based方法统一了几十上百种下游任务,但是同样的事情在CV领域并没有发生。另外,在NLP中提出来的scaling law,其本质在于使用更大的模型来过拟合预训练数据集。也就是说,对于NLP来说,过拟合已经不再是一个问题,因为预训练数据集配合小型prompt已经足以表征整个语义空间的分布。但是,CV领域还没有做到这一点,因此还需要考虑域迁移,而域迁移的核心在于避免过拟合。也就是说,在接下来2-3年,CV和NLP的研究重心会有很大的差异,因而将任何一个方向的思维模式生搬硬套在另一个方向上,都是很危险的。
(的确没错,两者的研究中心已经开始偏移了。mamba的出现其实可以看出来,应用于NLP主要是为了隐式状态更新 + 时序结构的递推表达能力,而在CV中则更像是Tansformer的上位替代)
CV的研究方向分析
-
2012年的AlexNet,奠定了深度神经网络在CV领域的基础。随后10年(至今),神经网络架构设计,经历了从手工设计到自动设计,再回到手工设计(引入更复杂的计算模块)的过程:
-
2012-2017年,手工构建更深的卷积神经网络,探索一般优化技巧。关键词:ReLU、Dropout、3x3卷积、BN、跳跃连接,等。在这个阶段,卷积操作是最基本的单元,它对应于图像特征的局部性先验。
-
2017-2020年,自动构建更复杂的神经网络。其中,网络架构搜索(NAS)盛行一时,最后定型为基础工具。在任意给定的搜索空间中,自动设计都能够达到稍微更好的结果,且能够快速适配不同的计算开销。
-
2020年至今,起源于NLP的transformer模块从被引入CV,利用attention机制,补足了神经网络的远距离建模能力。如今,大部分视觉任务的最优结果,都借助于包含transformer的架构所达到。
对于这一方向的未来,谢的判断如下:
-
如果视觉识别任务没有明显改变,那么不论是自动设计,或者加入更复杂的计算模块,都无法将CV推向新的高度。视觉识别任务的可能改变,大致可以分为输入和输出两个部分。输入部分的可能改变如event camera,它可能会改变规则化处理静态或者时序视觉信号的现状,催生特定的神经网络结构;输出部分的可能改变,则是某种统一各种识别任务的框架(方向3会谈到),它有可能让视觉识别从独立任务走向大一统,从而催生出一种更适合视觉prompt的网络架构。(即将特点的任务转为条件生成问题,根据任务的描述去解决问题)
-
如果一定要在卷积和transformer之间做取舍,那么transformer的潜力更大,主要因为它能够统一不同的数据模态,尤其是文本和图像这两个最常见也最重要的模态。
-
可解释性是一个很重要的研究方向,但是谢个人对于深度神经网络的可解释性持悲观态度。NLP的成功,也不是建立在可解释性上,而是建立在过拟合大规模语料库上。对于真正的AI来说,这可能不是太好的信号。
方向1:视觉预训练
作为如今CV领域炙手可热的方向,预训练方法被寄予厚望。在深度学习时代,视觉预训练可以分为有监督、无监督、跨模态三类,大致叙述如下:
有监督预训练的发展相对清晰。由于图像级分类数据最容易获取,因此早在深度学习爆发之前,就有了日后奠定深度学习基础的ImageNet数据集,并被沿用至今。ImageNet全集超过1500万的数据规模,至今没有被其他非分类数据集所超越,因此至今仍是有监督预训练上最常用的数据。另外一个原因,则是图像级分类数据引入了较少bias,因而对于下游迁移更加有利——进一步减少bias,就是无监督预训练。
无监督预训练,则经历了曲折的发展历程。从2014年开始,出现了第一代基于几何的无监督预训练方法,如根据patch位置关系、根据图像旋转等进行判断,同时生成式方法也在不断发展(生成式方法可以追溯到更早的时期,此处不赘述)。此时的无监督预训练方法,还显著地弱于有监督预训练方法。到了2019年,对比学习方法经过技术改进,首次显现出在下游任务上超越有监督预训练方法的潜力,无监督学习真正成为CV界关注的焦点。而2021年开始,视觉transformer的兴起催生了一类特殊的生成式任务即MIM,它逐渐成为统治性方法。
除了纯粹的有监督和无监督预训练,还有一类介于两者之间的方法,是跨模态预训练。它使用弱配对的图像和文本作为训练素材,一方面