最近参加了几次高强度的学术活动,包括CCF计算机视觉委员会闭门研讨会和VALSE线下会议。经过与其他学者的交流,得出了很多感想和想法,希望整理出来供自己和同行参考。当然,受限于个人水平和研究范围,文章中肯定有很多不准确甚至错误的地方,当然也不可能涵盖所有重要的研究方向。我期待着与感兴趣的学者接触,充实这些观点并更好地讨论未来的方向。在这篇文章中,我将着重分析计算机视觉领域,尤其是视觉感知(即识别)方向的难点和潜在的研究方向。与其改进具体算法的细节,不如探索当前算法(尤其是基于深度学习的预训练+微调范式)的局限和瓶颈,从而得出初步的发展结论,包括哪些问题是重要的,哪些问题不重要,哪些方向值得推进,哪些方向性价比较低等等。开始之前,我画了下面的思维导图。为了找到合适的切入点,我将从计算机视觉和自然语言处理(人工智能中最受关注的两个研究方向)的区别入手,引出图像信号的三个基本属性:信息稀疏性、域间多样性,无限粒度,并将它们映射到几个重要的研究方向。这样,我们就可以更好地了解每个研究方向的现状:解决了哪些问题,还有哪些重要问题没有解决,进而有针对性地分析未来的发展趋势。图:CV与NLP的区别,CV的三大挑战及解决方案CV的三大基本难点以及相应的研究方向,一直摆在CV面前。无论是深度神经网络超越人工方法,还是大规模预训练模型开始呈现统一趋势,这些东西最先发生在NLP领域,随后又被转移到CV领域。这里的本质原因是NLP的起点更高:自然语言的基本单位是词,而图像的基本单位是像素;前者具有自然的语义信息,而后者可能无法表达语义。从根本上说,自然语言是人类创造的一种储存知识和交流信息的载体,因此必须具有高效率和高信息密度的特点;而图像是人类通过各种传感器捕捉到的光信号,能够客观反映真实情况,但相应的语义不强,信息密度可能很低。从另一个角度看,图像空间比文字空间大得多,空间的结构也复杂得多。这意味着,如果要在空间中采样大量的样本,并用这些数据来表示整个空间的分布,采样的图像数据必须比采样的文本数据大很多个数量级。顺便说一句,这也是自然语言预训练模型比视觉预训练模型更好用的本质原因——我们稍后会提到这一点。根据上面的分析,我们通过CV和NLP的区别,介绍了CV的第一个基本难点,即语义稀疏性。另外两个困难,域间多样性和无限粒度,也与上述本质区别有一定关系。正是因为图像采样没有考虑语义,所以在对不同域(即不同分布,如白天和黑夜、晴天和雨天等)进行采样时,采样结果(即图像像素)与域特性,导致域间差异。同时,由于图像的基本语义单元难以定义(而文本易于定义),图像所表达的信息丰富多样,人类可以从图像中获取近乎无限精细的语义信息,远非超越任何当前的简历领域。评价指标定义的能力是无限粒度的。关于无限粒度,我曾经写过一篇文章专门讨论这个问题。https://zhuanlan.zhihu.com/p/376145664基于以上三个基本难点,我们将近年来业界的研究方向总结如下:语义稀疏性:解决方案是构建高效的计算模型(神经网络)和视觉预训练。这里的主要逻辑是,如果要提高数据的信息密度,就必须假设数据的非均匀分布(信息论)并对其建模(即学习数据的先验分布)。目前,有两种最有效的建模方法。一是通过神经网络架构的设计来捕捉数据无关的先验分布(例如卷积模块对应图像数据的局部性先验,transformer模块对应图像数据的attentionprior);一种是通过对大规模数据进行预训练来捕获数据相关的先验分布。这两个研究方向也是视觉识别领域最基础、最受关注的研究方向。域间差异:解决方案是数据高效的微调算法。根据以上分析,网络规模越大,预训练数据的集体量越大,计算模型中存储的先验越强。但是,当预训练域和目标域的数据分布差异较大时,这种强先验就会带来危害,因为信息论告诉我们:增加某些部分(预训练域)的信息密度,会definitely降低其他部分的信息密度(不包括在预训练域中的部分,即预训练时认为不重要的部分)。现实中,目标域的部分或全部很可能落在未包含的部分,导致预训练模型直接迁移效果不佳(即过拟合)。此时,需要在目标域中通过微调来适应新的数据分布。考虑到目标域的数据量通常远小于预训练域的数据量,数据效率是一个必不可少的假设。此外,从实践的角度来看,模型必须能够随着时间的推移适应不断变化的领域,因此终身学习是必须的。无限粒度:解决方案是开放域识别算法。无限粒度包括开放域特性,这是更高的追求目标。这个方向的研究还很初步,尤其是目前还没有业界广泛接受的开放域识别数据集和评价指标。这里最重要的问题之一是如何将开放域功能引入视觉识别。好消息是,随着跨模态预训练方法(尤其是2021年的CLIP)的出现,自然语言越来越接近成为开放域识别的拖拉机。相信这会是未来2-3年的主流方向。然而,我并不赞成在追求开放域识别的过程中涌现出的各种零样本识别任务。我认为零射本身就是一个伪命题,世界上没有零射识别方法也没有必要。现有的零样本任务都使用不同的方法向算法泄漏信息,并且泄漏方法差异很大,难以对不同方法进行公平比较。在这个方向上,我提出了一种称为按需视觉识别的方法,以进一步揭示和探索视觉识别的无限粒度。这里需要补充说明。由于数据空间大小和结构复杂度的差异,至少到目前为止,CV领域还不能通过预训练模型直接解决域间差异的问题,但NLP领域已经接近于此。因此,我们看到NLP学者用prompt-based的方法统一了几十上百个下游任务,但同样的事情并没有发生在CV领域。另外,NLP中提出的缩放律本质上是用更大的模型对预训练数据集进行过拟合。换句话说,对于NLP来说,过拟合不再是问题,因为带有小提示的预训练数据集就足以表示整个语义空间的分布。但是CV领域还没有做到这一点,所以需要考虑domaintransfer,domaintransfer的核心是避免过拟合。也就是说,未来2-3年,CV和NLP的研究重点会有很大不同,所以把一个方向的思维模式生搬硬套到另一个方向是非常危险的。下面简单分析一下各个研究方向Direction1a:NeuralNetworkArchitectureDesignAlexNet在2012年奠定了CV领域深度神经网络的基础。之后的10年(至今),神经网络架构的设计经历了从人工设计到自动设计,再回到人工设计(引入更复杂的计算模块)的过程:2012-2017,人工构建更深层次的卷积神经网络,探索通用优化技术。关键词:ReLU、Dropout、3x3卷积、BN、skipconnection等。在这个阶段,卷积运算是最基本的单元,对应于图像特征的局部先验。从2017年到2020年,将自动构建更复杂的神经网络。其中,网络架构搜索(NAS)流行了一段时间,最终定型为基础工具。在任何给定的搜索空间中,自动设计可以取得稍微更好的结果,并且可以快速适应不同的计算成本。2020年起,起源于NLP的transformer模块被引入CV,利用attention机制补充神经网络的长距离建模能力。如今,大多数视觉任务的最佳结果都是在包含变压器的架构的帮助下实现的。对于这个方向的未来,我的判断是:如果视觉识别任务没有明显的变化,那么无论是自动化设计还是增加更复杂的计算模块,都无法将CV推向一个新的高度.视觉识别任务可能发生的变化大致可以分为输入和输出两部分。输入部分可能发生的变化,例如事件相机,可能会改变静态或时间序列视觉信号的常规处理现状,并产生特定的神经网络结构;输出部分可能的变化是统一各种识别任务的框架(方向3),视觉识别有可能从一个独立的任务走向一个统一的任务,从而诞生更适合视觉提示的网络架构.如果非要在convolution和transformer之间做一个trade-off,那么transformer的潜力更大,主要是因为它可以统一不同的数据模态,尤其是文本和图像这两种最常见也是最重要的模态。可解释性是一个非常重要的研究方向,但我个人对深度神经网络的可解释性持悲观态度。NLP的成功不是基于可解释性,而是基于对大规模语料库的过拟合。对于真正的人工智能来说,这可能不是一个好兆头。方向1b:视觉预训练是当今CV领域的一个热门方向,预训练方法被寄予厚望。在深度学习时代,视觉预训练可以分为三类:有监督、无监督和跨模态。大体描述如下:有监督预训练的发展比较清晰。由于图像级别的分类数据是最容易获得的,所以早在深度学习爆发之前,就有一个ImageNet数据集为以后的深度学习打下基础,一直沿用至今。ImageNet全集超过1500万数据,至今未被其他非分类数据集超越,因此仍是监督预训练最常用的数据。另一个原因是图像级别的分类数据引入了更少的偏差,这对下游迁移更有好处——进一步减少偏差的是无监督预训练。无监督预训练经历了曲折的发展过程。从2014年开始,出现了第一代基于几何的无监督预训练方法,如基于patch位置关系判断、图像旋转等,生成方法也在不断发展(生成方法可以追溯到更早时期,此处不再赘述)。此时的无监督预训练方法也明显弱于有监督的预训练方法。到2019年,比较学习方法进行了技术改进,首次在下游任务上展现出超越有监督预训练方法的潜力,无监督学习真正成为CV界关注的焦点。2021年开始,visualtransformers的兴起催生了一种特殊类型的生成任务,即MIM,逐渐成为主导方法。除了纯监督和无监督预训练之外,还有一类介于两者之间的方法,就是跨模态预训练。它使用弱配对的图像和文本作为训练材料。一方面,它避免了图像监督信号带来的偏差,另一方面,它可以比无监督方法更好地学习弱语义。此外,在transformer的支持下,视觉与自然语言的融合更加自然合理。基于以上回顾,我做出如下判断:从实际应用的角度来看,应该结合不同的预训练任务。也就是说,应该收集一个混合数据集,其中包含少量的标记数据(检测、分割等更强的标签),中等数量的图文配对数据,大量的图像数据没有任何标签,并且在这样的混合数据集上设计预训练方法。从CV领域来看,无监督预训练是最能体现视觉本质的研究方向。即使cross-modalpre-training给整个方向带来了很大的冲击,我仍然认为无监督的pre-training很重要,必须坚持。需要指出的是,视觉预训练的思想很大程度上受到了自然语言预训练的影响,但两者本质不同,不能一概而论。特别地,自然语言本身就是人类创造的数据,其中的每一个词、每一个字都是人类写下来的,具有自然的语义。因此,严格意义上,NLP预训练任务不能算是真正的无监督预训练,充其量是弱监督预训练。但愿景不同。图像信号是客观存在的未经人为处理的原始数据。里面的无监督预训练任务肯定比较难。总之,即使跨模态预训练能够在工程上推进视觉算法,达到更好的识别效果,但视觉的本质问题仍然需要视觉本身来解决。目前,纯视觉无监督预训练的本质在于从退化中学习。这里的退化是指从图像信号中去除一些已有的信息,需要算法来恢复这些信息:几何方法去除几何分布信息(如patch的相对位置关系);对比法去除了图像的整体信息(通过提取不同的视图);MIM等生成方法去除了图像的局部信息。这种基于退化的方法有一个不可逾越的瓶颈,即退化强度和语义一致性之间的冲突。由于没有监督信号,视觉表示学习完全依赖退化,所以退化必须足够强;并且当退化足够强时,无法保证退化前后图像的语义一致性,导致病态的预训练目标。例如,如果从图像中提取的两个视图与对比学习无关,则将它们的特征拉近是不合理的;如果MIM任务去除了图像中的关键信息(比如人脸),重建这些信息是不合理的。合理的。强行完成这些任务会引入一定的偏差,削弱模型的泛化能力。未来应该会有不需要退化的学习任务,个人认为通过压缩来学习是一条可行的路线。方向二:模型微调和终身学习作为一个基本问题,模型微调发展出了大量不同的设置。如果要统一不同的设置,可以认为无非是考虑三个数据集,即预训练数据集Dpre(不可见)、目标训练集Dtrain、目标测试集Dtest(不可见不可预测)).根据对三者关系的不同假设,比较流行的设置可以归纳如下:迁移学习:假设Dpre或Dtrain和Dtest的数据分布差异很大;弱监督学习:假设Dtrain只提供不完整的标注信息;半监督学习:假设Dtrain中只有部分数据被标注;嘈杂学习:假设Dtrain中的某些数据可能被错误标记;主动学习:假设Dtrain可以交互标记(选择最难的样本)来提高标记效率;continuousLearning:假设不断有新的Dtrains出现,在学习过程中可能会忘记从Dpre学到的内容;...在一般意义上,很难找到一个统一的框架来分析模型微调方法的发展和流派。从工程和实际的角度来看,模型微调的关键在于对域间差异大小的事先判断。如果你认为Dpre和Dtrain之间的差异可能非常大,你需要减少从预训练网络转移到目标网络的权重比例,或者添加一个特殊的头来适应这种差异;如果你认为Dtrain和Dtest的差异可能非常大,需要在fine-tuning过程中加入更强的正则化来防止过拟合,或者在测试过程中引入某种在线统计来尝试抵消差异。至于上述各种设置,已有大量的研究工作,针对性很强,这里不再赘述。关于这个方向,我认为有两个重要的问题:从孤立环境到终身学习的统一。从学术界到产业界,必须摒弃“一次性交付模式”思维,将交付内容理解为以模型为中心的工具链,具有数据治理、模型维护、模型部署等多种功能。用业内的话来说,一个模型或者一套系统,必须在项目的整个生命周期中得到充分的照顾。必须考虑到用户的需求是多变的、不可预测的。今天可能换了摄像头,明天可能又增加了要检测的目标类型,等等。我们不追求AI可以独立解决所有问题,但是AI算法应该有一个标准化的运行流程,让不懂AI的人也可以按照这个流程,添加自己想要的需求,解决自己平时遇到的问题.只有这样,AI才能真正普及并解决实际问题。对于学术界而言,有必要尽快界定符合真实场景的终身学习设置,建立相应的基准,推动该方向的研究。在域间差异明显的情况下,解决大数据与小样本的冲突。这就是CV和NLP的区别:NLP基本不需要考虑预训练和下游任务的域间差异,因为语法结构和常用词完全一样;而CV必须假设上下游数据的分布存在显着差异,这样上游模型在没有微调的情况下,就无法在下游数据中提取底层特征(直接通过ReLU等单元过滤掉)。因此,小数据微调大模型在NLP领域不是大问题(目前主流是只微调提示),但在CV领域是大问题。在这里,设计一个视觉上友好的提示可能是一个很好的方向,但是目前的研究还没有切入核心问题。方向三:无限细粒度的视觉识别任务关于无限细粒度的视觉识别(以及类似的概念),相关的研究并不多。所以,我就用自己的思路来描述这个问题。在今年的VALSE报告中,我对现有的方法和我们的提议做了详细的解读。下面我会给出文字说明。更详细的解读可以参考我的专题文章或者我对VALSE的报道:https://zhuanlan.zhihu.com/p/546510418https://zhuanlan.zhihu.com/p/555377882首先我想说明一下什么我的意思是无限细粒度的视觉识别。简单地说,一幅图像所包含的语义信息非常丰富,但没有明确的基本语义单元。只要人类愿意,就可以从一幅图像中识别出越来越细粒度的语义信息(如下图所示);而这些信息很难通过有限的、标准化的标注(即使付出足够多的标注成本),形成一个语义完整的数据集供算法学习。即使是像ADE20K这样被精细标记的数据集,也缺乏大量人类可以识别的语义内容。我们认为,无限细粒度的视觉识别是比开放域视觉识别更难、更本质的目标。我们调查了现有的识别方法,将它们分为两类,基于分类的方法和语言驱动的方法,并讨论了它们无法实现无限细粒度方法的原因。基于分类的方法:这包括传统意义上的分类、检测和分割等方法。它的基本特征是为图像中的每个基本语义单元(图像、框、掩码、关键点等)分配一个类别标签。这种方法的致命缺陷是,当识别的粒度增加时,识别的确定性必然会降低,也就是说,粒度和确定性是矛盾的。比如在ImageNet中,有“家具”和“电器”两大类;明明“椅子”属于“家具”,“电视机”属于“家电”,但“按摩椅”属于“家具”还是“家电”就很难判断——这是确定性下降造成的语义粒度的增加。如果照片中有分辨率很小的“人”,强行标注“人”的“头”甚至“眼睛”,那么不同标注者的判断可能会有所不同;但此时,即使是一两个像素的偏差,也会对IoU等指标产生很大的影响——这就是空间粒度增大导致的确定性下降。Language-drivenmethods:包括CLIP驱动的视觉提示方法,以及长期存在的视觉基础问题等,其基本特征是利用语言来指代和识别图像中的语义信息。语言的引入确实增强了识别的灵活性,带来了天然的开放领域属性。然而,语言本身的指称能力有限(想象一下在数百人的场景中指代特定个体),无法满足无限细粒度的视觉识别需求。归根结底,在视觉识别领域,语言应该起到辅助视觉的作用,现有的视觉提示方式有些力不从心。上述研究告诉我们,目前的视觉识别方法无法实现无限细粒度化的目标,在通往无限细粒度化的道路上会遇到不可逾越的困难。因此,我们要分析人们是如何解决这些困难的。首先,人类在大多数情况下不需要明确地做分类任务:回到上面的例子,一个人去商场买东西,不管商场是否把“按摩椅”放在“家具”中区域或“家电”区域,人类可以通过简单的引导快速找到“按摩椅”所在的区域。其次,人类不局限于使用语言来指代图像中的物体,而是可以使用更灵活的方式(比如用手指指向物体)来完成指代,进而进行更细致的分析。结合这些分析,必须满足以下三个条件才能实现无限细粒度的目标。Openness:开放域识别,是无限细粒度识别的子目标。目前,引入语言是实现开放的最佳方案之一。Specificity:在引入语言的时候,不要被语言所束缚,而是设计视觉友好的referentialscheme(即识别任务)。可变粒度:并不总是要求识别最细的粒度,但可以根据需要灵活改变识别的粒度。在这三个条件的牵引下,我们设计了一个按需视觉识别任务。与传统意义上的统一视觉识别不同,按需视觉识别是以请求为单位进行标记、学习和评价的。目前系统支持两种类型的请求,分别实现实例到语义的切分和语义到实例的切分。因此,两者结合可以实现任意精细度的图像分割。按需视觉识别的另一个优点是完成任意数量的请求后停止不会影响标注的准确性(即使有大量信息没有标注),有利于开放域的可扩展性(如作为添加语义类别)有很大的好处。有关详细信息,请参阅有关按需视觉识别的文章(上面的链接)。统一视觉识别和点播视觉识别的比较写完这篇文章后,我还在思考点播视觉识别对其他方向的影响。这里有两种观点:点播视觉识别中的request本质上是一种视觉友好的提示。既可以达到询问视觉模型的目的,又可以避免纯语言提示带来的指称歧义。随着更多类型的请求的引入,该系统有望变得更加成熟。按需视觉标识,提供正式统一各种视觉任务的可能性。例如,分类、检测、分割等任务都统一在这个框架下。这可能会激发视觉预训练。目前,视觉预训练和下游微调之间的界限并不明确。预训练模型是应该适用于不同的任务,还是专注于改进特定的任务,目前还没有定论。然而,如果正式统一的识别任务出现,这场辩论可能就不相关了。顺便说一句,下游任务的形式统一性也是NLP领域享有的一大优势。除了以上方向,我把CV领域的问题分为三类:识别、生成、交互。识别只是其中最简单的问题。关于这三个子领域,简要分析如下:在识别领域,传统的识别指标明显已经过时,人们需要更新的评价指标。目前,在视觉识别中引入自然语言是一个明显且不可逆转的趋势,但这还远远不够。该行业需要更多任务级创新。生成是比识别更高层次的能力。人类可以很容易地识别出各种常见的物体,但很少有人能画出逼真的物体。用统计学习的语言来说,这是因为生成模型需要对联合分布p(x,y)建模,而判别模型只需要对条件分布p(y|x)建模:前者可以推导出后者不能由后者派生,但前者不能由后者派生。从行业发展来看,虽然图像生成质量不断提升,但生成内容的稳定性(无明显虚幻内容)和可控性仍有待提高。同时,生成的内容对识别算法的辅助相对较弱,人们还很难充分利用虚拟数据和合成数据来达到媲美真实数据训练的效果。对于这两个问题,我们的观点是需要设计更好更本质的评价指标来替代现有的指标(替代生成任务上的FID、IS等,需要将生成和识别任务结合起来,定义统一评价指标)。1978年,计算机视觉先驱DavidMarr设想视觉的主要功能是构建环境的三维模型,通过交互学习知识。与识别和生成相比,交互更接近于人类的学习,但业界的研究相对较少。交互研究的主要难点在于真实交互环境的构建。准确的说,目前视觉数据集的构建方式来自于环境的稀疏采样,但是交互需要连续采样。显然,要解决视觉的本质问题,交互才是本质。虽然业界已经有很多相关的研究(比如具身智能),但是还没有出现通用的、任务驱动的学习目标。我们重复计算机视觉先驱DavidMarr提出的视觉:视觉的主要功能是建立环境的三维模型,通过交互学习知识。计算机视觉,包括其他AI方向,应该朝这个方向发展,才能真正实用。总之,在不同的子领域,单纯依靠统计学习(尤其是深度学习)强大的拟合能力的尝试已经到了极限。未来的发展必须建立在对CV更本质的理解之上,为各项任务建立更合理的评价指标是我们需要迈出的第一步。结束语经过几次密集的学术交流,我能明显感受到业界的困惑。至少对于视觉感知(识别)来说,有趣有价值的研究问题越来越少,门槛越来越高。如果这样发展下去,很可能在不久的将来,CV研究会走上NLP的道路,并逐渐分化为两类:一类使用巨大的计算资源进行预训练,不断刷新SOTA;另一类不断设计新颖,但没有实际设置来强制创新。这对于CV领域来说显然不是一件好事。为了避免这种事情的发生,除了不断探索视觉本质,创造更多有价值的评价指标外,业界还需要增加容忍度,尤其是对非主流方向。不要在抱怨没有达到SOTA的Submission被杀死的同时抱怨研究的同质性。当前的瓶颈是大家共同面临的挑战。如果人工智能的发展停滞不前,没有人能独善其身。感谢您看到最后。欢迎友好讨论。作者声明,所有内容仅代表作者个人观点,可能会被推翻。二次转载必须连同声明一起转载。谢谢!
