第 206 期·中文精读

伊尚·米斯拉:计算机视觉中的自监督深度学习

Ishan Misra: Self-Supervised Deep Learning in Computer Vision

计算机视觉研究员讲述自监督学习如何利用无标注数据训练模型,以及对比学习与表征学习的最新进展。

官方音频00:00 / --:--
中文精读由 AI 基于原始访谈改写,非官方翻译,可能存在偏差或错误;表述以原音频与官方文稿为准。说明

1966年,MIT 的 Seymour Papert 提交过一份提案,名字叫“暑期视觉项目”(Summer Vision Project)。计划很简单:找十个学生,用一个夏天,把计算机视觉解决掉。

五十五年过去了,人们还在解决它。

Jitendra Malik 是伯克利教授,也是计算机视觉领域从深度学习革命之前到之后都站在中心的人物。他把这种反复出现的低估归结成一个词:成功第一步的谬误(fallacy of the successful first step)。

视觉里有很多问题,拿到 50% 的解法只需要一分钟,从 50% 到 90% 可能要一天,从 90% 到 99% 可能要五年,从 99% 到 99.99%,也许你这辈子都见不到。(Jitendra Malik)

这个比例不可能对每个问题都成立,但它解释了为什么过去半个世纪里,计算机视觉的从业者自己也一再觉得“快做完了”,然后发现真正的困难才刚刚开始。

为什么我们会觉得看图很简单

视觉看起来简单,因为它的绝大部分工作发生在意识之外。

人看东西的时候,不觉得自己在做运算。挑一句话说出来,脑子里会有一种“我在组织语言”的感觉,解一道题、下一盘棋也一样,那种吃力是能被感知到的。但看这件事,从光信号进入视网膜,到在大脑里构建出“桌上有一个杯子”,全过程无声完成,中间不需要主观参与。

Malik 提到了一个让人没法反驳的事实:很大一部分大脑皮层专门用于视觉处理,在其它灵长类身上也是如此。

如果一块器官要占用相当于几个足球场面积的皮层去承担,它就不可能是小问题。感觉不到困难,是因为提供这份计算力的部分没把人叫醒。

这里有一个副作用。做语言、下棋、推理的人,因为能感觉到吃力,反而会谨慎。做视觉的人,因为感觉不到吃力,容易轻视。这个不对称,使计算机视觉领域在几十年里反复自我欺骗。

自动驾驶和那个滑板者

把“视觉被低估”这句话放到具体场景里,最容易看的就是自动驾驶。

特斯拉的 Autopilot 主要靠八个摄像头,核心是一个多任务神经网络,共享主体表征,分出多个任务头。有人叫它 HydraNet。这套架构的思路是纯视觉、端到端学习。

Malik 的态度是分层的。他对近期实现完全自动驾驶是悲观的。硬件和算法架构都不是瓶颈所在,瓶颈在边缘情况。他说,会有那么 0.01% 的情况,需要相当复杂的认知推理才能处理。

他举了一个自己开特斯拉遇到的例子。路上有一个滑板者,系统反应错了。

它没能预测这个滑板者接下来要干什么。这需要更高层次的认知理解:滑板者通常会怎么做,普通行人的常规行为在这里不够用。(Jitendra Malik)

人工驾驶的时候,一个司机看到滑板者,会下意识地做出一点行为上的调整。滑板者可能会突然变向,可能会尝试一个动作,也可能会跳下来。这种调整不在驾考教科书里,是从无数次观察到的人的行为中建立起来的。对行人适用的驾驶策略,放在滑板者身上会失效。

Malik 由此把感知重新定义了一遍。他不认为感知只负责“看到现在”,感知必须预测下一步会发生什么。

感知要交代的重点在于接下来会发生什么。此刻的状态已经完成,已经过去了。人关心未来,因为人要在未来采取行动。(Jitendra Malik)

如果把人类驾驶员拆开来看,会发现更有意思的事。一个普通的十六岁高中生,上驾校第一天,他不会重新学习视觉。他从 0 岁到 16 岁,已经把三维世界、遮挡、物体在不同视角下的样子、直观物理、人类的常规行为模式,全部建立起来了。Malik 说,这些能力的大部分在两岁前就掌握了。

那么驾校在教什么?

他们不需要从头重新认识视觉世界,那套东西早就在了。他们学的是控制,是怎么把转向和刹车做得平顺,是交通场景中的常规感。(Jitendra Malik)

一名十六岁的学员是带着“视觉天才”的底子上路的。这套底子让他即使从没在路上遇到过某个特定情况,比如前面的卡车突然打开后挡板掉下来一堆杂物,也不会彻底蒙掉,因为他拥有大量通用的视觉知识可以迁移。

今天用几十亿张图训练出来的自动驾驶系统,缺的正是这份已经内置好的底子。

“白板学习”这个词,值得单独拎出来

Malik 用了一个拉丁词来描述当下的主流范式:tabula rasa,白板。

今天的深度学习系统,绝大多数是白板式的有监督学习。系统被丢进一堆经验里,从零开始学一种输入到输出的映射。假设这个映射是物体分类,那就是几十万张图片配标签,学完输出一个分类器。

人类学习根本不是这样。

一个婴儿在两岁前就建立起关于这个世界的庞大先验:世界是三维的、物体会被别的物体遮住、人会有意图、球放手会掉下去。这些先验没有哪个大人系统教过,是他在和世界互动的过程中自己搭出来的。等到了学开车的年纪,他已经在这些先验上又累积了十几年的经验。

白板学习的极限在哪里,Malik 没有直接说。但他指出了方向:需要新的学习机制,靠堆更多数据、换更大模型解决不了根本问题。

这一点值得停下来想一想。很多人的直觉是,只要数据足够多、算力足够大,视觉问题总有一天会被怼出来。这种直觉有个前提假设很难成立:一个从零开始、只靠标注数据训练的系统,很难自发长出人类幼儿在两年里建立的那种关于世界的结构性先验。

儿童身上有六件事可以学

Malik 引用了一篇论文,Smith 和 Gasser 写的,文章里总结了儿童学习的六个特点:多模态、渐进、身体参与、探索、社交、使用语言。他说这些其实在儿童发展心理学里是常识,只不过在计算机视觉和 AI 圈里不算常识,他的角色是搭桥。

六个里面最根本的,他觉得是多模态。他举的例子非常具体。

一个孩子拿起一个球,在手里玩。这一刻他同时获得两路信号:一是触觉,来自指尖、拇指、手掌上的受体,稀疏地勾勒出这个球的三维形状;二是视觉,看到整个球的样子。这两路信号落在完全不同的空间里,一个是皮肤接触的空间,一个是像素空间。但孩子知道它们指向同一个物体。

这就产生了一个非常强的交叉校准信号。而且它是自监督的,不需要妈妈在旁边指着球说“这叫球”,孩子自己就能建立这两路信号之间的对应。

另一个 Malik 同样看重的多模态,是视觉和听觉。

桌上的玻璃碗掉下来碎了,我听到碎裂声,看到玻璃碎片。好,我把两者之间的关系建立起来了。(Jitendra Malik)

这一类研究在最近几年变成了热点,比如视觉辅助的鸡尾酒会效应问题:把多个说话人分开,这在纯音频里是经典难题,一旦引入视觉信息,难度就大幅下降。

多模态的关键在时间这个维度上。在某一刻 T1,听觉域有信号,视觉域有信号,既然它们同时发生,就很可能有因果关系。时间是免费的监督信号,不需要人来打标签。

视觉是语言的长辈

谈到语言和视觉的关系,Malik 的回答干脆利落。

非常清楚,视觉是长辈。视觉是更根本的能力,它在语言之前出现。(Jitendra Malik)

他的论证分两条线走。

一条是系统发生(phylogeny),也就是进化时间。大约五亿年前,第一批多细胞动物出现,它们已经能够移动,也具备某种形式的“看”。视觉和运动在最早的阶段就是互相配合的:移动能把生物带到别处去找食物,但得知往哪走,需要视觉。所以感知和行动从第一天起就绑在一起。

再往后,大约七百万年前,人类这一支从其它灵长类里分出来。这条线上出现了直立行走,双手被解放,可以做更精细的操作、造工具。这个阶段大脑容量也大幅增长。Malik 说,这个时期的人类祖先已经有相当细致的视觉智能了:知道世界由物体构成、物体之间有特定关系、观察到过物体间的因果互动、能理解空间和时间。这些全部是视觉和感知的产物。

语言出现的时间不好定,但几乎肯定在这之后。没有任何其它猿类具备人类的语言能力,这一点 Chomsky 说得没错,它是人类独有的。但这个独有能力,是在一个已经拥有空间、时间、物体、因果关系这些概念的底座上,才长出来的。

另一条线是个体发生(ontogeny),也就是一个人的成长。婴儿先有对世界的视觉理解,才有语言。所有人类语言里的构造,都依赖空间和时间这些概念。而空间和时间从哪里来?Malik 说,只能从我们所在世界里的感知和行动来。

图灵测试这条路,走偏了

图灵在 1950 年那篇《计算机器与智能》里提出用对话来判断机器智能。Malik 认为这在当时是合理的,但今天不该继续沿着这条路走。

图灵测试已经不适合用来引导 AI 研究了。它会把研究引向一条路:造一个能骗你几分钟的聊天机器人。(Jitendra Malik)

他的替代方案是列一张清单,十项各不相同的任务。造工具、在空间里导航、理解视觉场景、读小说、根据小说里的内容回答任意问题。

其中他最看重的一项,是给盲人做助手。

真正好的测试,是做盲人的助手。假设有一个盲人,我需要去帮助他。(Jitendra Malik)

这个测试的精妙之处在于,它把视觉和行动强制耦合在一起。一个好的视觉助手不能只说“前面有一个桌子”,它得判断盲人此刻要干嘛,得描述有用的信息,得在危险逼近时及时提醒。这种任务看上去朴素,但难度非常高。它要求系统理解场景、理解意图、理解时间上的紧迫性。

从能力清单的角度,Malik 认为最难的仍然是语言。

他说视觉是父母、语言是孩子,但他也说过语言是最硬的那块骨头。这句话初看有点矛盾,视觉是长辈,怎么晚辈反而更难?

理解这一点,要回到“难”这个词的定义。视觉虽然占用了大量皮层,但它的回路、任务边界、物理先验都相对明确。语言不一样。语言理解需要大量常识、意图推断、世界知识、语境把握,这些能力中有些可能连人类研究者都说不清楚底层机制是什么。Malik 把语言理解归到“已知的未知加未知的未知”这一类里,难度不在一个量级上。

计算机视觉的希尔伯特问题

1900 年,希尔伯特提出 23 个数学问题,其中最著名的黎曼猜想至今未解。Malik 在 2015 年做过一个报告,题目大意就是“计算机视觉的希尔伯特问题”。让他今天再点一遍,他挑了两个。

第一个是长时段视频理解。给一段视频,理解里面正在发生什么,不只识别动作,还要理解参与者的目标、意图、可能的下一步。

短时长的动作分类,比如你是坐着、站着还是在接球,这些现在能做了。哪怕不够准,50% 的准确率,明年能做到 65%。但长时段的视频理解,今天我做不到。(Jitendra Malik)

难点在于它必须和认知能力接上。追踪多个主体、理解主体各自的目标、预测这些主体之间接下来会发生什么,已经超出感知系统的边界。

他举了一个经典例子:去餐馆。

走进去、有人带位、服务员过来、递菜单、点菜、菜上来、最后账单送过来。这个过程有隐性剧本。上世纪 70 年代的 AI 圈对此有专门的术语,叫 frame、script、schema。当时的做法是手工写规则:餐馆场景有几个角色、有哪几个阶段、每个阶段会发生什么。有了这套脚本,只看一段描述就能做出大量推断。

Malik 认为这套知识今天依然必不可少,只是不能再手工编码。手工编码太脆弱,换个场景就崩。

学习版的脚本存在吗?他相信存在,因为孩子就是这样学会的。没有哪个妈妈会系统性地教孩子“餐馆的流程分几个阶段、角色有哪几类”。孩子跟着家里去餐馆十次,自然就有了餐馆的 schema。

第二个希尔伯特问题是三维理解。表面上看这个问题像是三十年前就解决了,因为多视几何早就能做三维重建。但 Malik 说今天的系统还不够。

目前有两类技术,彼此割裂。一类是多视几何,用多张图片做立体视觉或从运动中恢复结构。这类技术在只有一张照片时完全失效,因为它依赖多个视角。另一类是单视角的三维估计,用有监督学习,训练时有物体的 CAD 模型作为标签。

问题在于,CAD 模型从来不是人类学习三维的方式。人的大脑里没被注入过 CAD 模型。人类学三维的方式,是拿着一个物体翻来覆去地看,从不同角度看,然后内化出一个可以用来预测新视角的内部表征。下次只看到一张照片,照片里甚至不是同一把椅子,也能大致猜出它的三维形状。

这就是他想要的东西:边移动边学习三维,把重建能力藏在表征里,不以 CAD 模型的形式存在,而以“能预测新视角”的能力存在。你给它一个位置,它能告诉你从那个位置会看到什么。

黑箱这件事,人类自己也是

聊到这种表征无法解释、无法可视化、无法交互的时候,Malik 的反应出人意料地平静。

我觉得这没关系。首先,人类本身就是不可解释的。一个人对另一个人,从来不是完全可解释的。(Jitendra Malik)

但他没有一刀切。他给可解释性划出了一个明确的适用边界:医疗诊断这类涉及切身后果的场景。

假设一个程序给出诊断,按这个诊断,病人应该选治疗方案 A 还是 B。这时候病人有权知道,这个预测是基于什么数据得出的。如果训练数据全部来自三四十岁的美国男性,把它用在一个完全不同的族群身上,误差范围有多大?这个预测该打几分折扣?

Malik 把可解释性的诉求,重新定义成了一件更朴素的事:给出误差范围,给出对决策质量的感觉。系统需要老实交代自己有多可靠。把内部机制翻译成人话,他没把这件事当成目标。

而在另一类场景里,他愿意牺牲可解释性。他相信会出现性能极强、内部完全是黑箱的系统。这已经是正在发生的事。

他顺着这个话题开了个玩笑,但这个玩笑里有一点真东西。人和人之间也是黑箱。那些有魅力的人,并不会真的把脑内机制打开给对面看,他们只是讲了一个足够有说服力的故事,让对方相信“我知道自己在干什么”。

照这个逻辑推下去,神经网络也不用真的解释自己的内部。它只需要生成一个说得通的故事。

人类级别的智能,什么时候能到

Malik 把这个问题拆成两半。

原则上能不能做到?答案是能。

未来二十年内能不能做到?答案是不能。

他借用了 Rumsfeld 那句话,已知的未知和未知的未知。在他看来,视觉和机器人领域的大部分问题属于前者:他知道难点在哪,知道大概要往哪走,只是还没走到。而自然语言理解和高级认知属于后者:不只不知道答案,连问题本身的结构都还没摸清。

既然问题都还没定义清楚,给出任何时间表都是幻想。

他对“十年内出现 AGI”这类恐惧的判断很直接:这些恐惧建立在对技术进展速度完全不现实的模型上。

但有件事他愿意承认。他自己也被深度学习的效果惊到过。2010 年的时候,他绝不会相信这套东西能这么有效。当时的数学理论告诉他,凸优化可靠,有唯一全局最优的时候,梯度下降能收敛。而深度学习面对的是非凸、变量数巨大、严重过参数化的系统,按理说不该稳定工作。可它就是稳定地工作了,从各种各样的初始化出发,在一大类问题上都管用。

这个正向的意外让他对未知的未知保留了一点乐观:也许哪天会冒出一个根本性的突破,把所有事情变简单。

但他也提醒了另一面:AI 的历史大部分时间,是进展比预期更慢,而非更快。所以赌“会有惊喜”可以,但不能把惊喜当成计划的前提。

该担心的年份在日历上找不到

关于 AI 风险,Malik 的立场很清楚:

今天就需要担心 AI,不必等到 AGI 出现的那一天。AI 已经被部署在很多系统里了。(Jitendra Malik)

偏见、不公平的决策、自动驾驶撞到行人,这些都是已经在发生的事。他提到亚利桑那那起 Uber 事故,说那不是 AGI 干的,那是一个还很笨的智能,但它确实杀了人。

他把这看成一件连续的事,就像所有工程和科学进步一样:能力越大,责任越大。它需要长期持续盯着,不会某一天突然降临。

说到今天的实际风险,话题滑到了推荐系统。

Twitter、Facebook、YouTube 背后都是推荐算法,它们在决定你看到什么信息、接触到什么观点。人们的生活已经被这些算法深度塑造。而随着算法越来越聪明,它们对大量人群的影响力会进一步增强。

这个视角值得多想一层。很多人焦虑的“超级智能”,形态可能不是科幻电影里那种。它可能是一个推荐算法,每天在几十亿人面前做几十亿次微小决策,每一次都在影响一个人接下来几十分钟的注意力、情绪和判断。这个系统已经在运行,已经具备相当大的影响力,而人们对它的理解非常有限。

Malik 的另一个观察更细:YouTube 正在用计算机视觉做一件很难的事,理解视频内容,把视频和最能从中受益的人连起来。这件事本身是中性甚至正向的,但它发展的方向有很多种可能,其中一些可能有害。

什么叫好问题

Malik 在伯克利做了三十四年教授。他被引用超过十八万次,带出了许多计算机视觉、计算机科学和 AI 领域的重要研究者。

问他怎么做到的,他先谦让了一下。他说在顶尖大学任教有一种“福气”带来的成分:非常聪明、非常勤奋、非常有创造力的学生主动来敲门,这份功劳不能全算在自己头上。

那他到底加了什么?

他说自己一直在教学生怎么挑问题。

在科学里,短期的成功总是取决于技术能力。但长期的进展,真正取决于你问的问题对不对,关注的题目对不对。(Jitendra Malik)

这种“品味”没法量化。他引了英国科学家 Peter Medawar 的说法,那位拿过诺贝尔奖的学者有本书专门讲这个:研究是一门关于“可解性”的艺术。

问题还没被解决,但要够得着。它得有一块柔软的下腹部,有一个地方你可以下刀。缺了这个直觉,你可能对着一个铁板问题撞一辈子,什么也没撞出来。

这种判断力的价值不止在学生时代。Malik 说他最自豪的一点,是学生在他这里毕业二十年之后,依然在做很好的研究。原因就在于那种“这个问题还没解决,但它可解”的嗅觉,被学生带走了。

他还说自己能提供的第二样东西是知识面的宽度。他花了不少时间研究心理学、神经科学、相关的应用数学。这样他能帮学生看到一些看似不相干的东西之间的联系。聪明学生往往非常深,能沿着一条路径钻得很深,但看得窄。他提供的是那点浅而广的东西,配合学生的深而窄,有点价值。

这话听上去谦虚,但分量不轻。计算机视觉领域很多重要的转向,比如把感知和行动重新绑定、从儿童发展心理学里借来学习范式,正是这种跨领域宽度带来的。他自己在这期对话里的状态也是这样,从心理学跳到神经科学再跳回计算机科学,来回自如,不显得刻意。

感知存在的理由,就是指导行动

如果非要给计算机视觉找一个“总问题”,Malik 的答案不是某个具体任务。

他把视线拉回五亿年前的寒武纪。第一批多细胞动物出现,它们能移动,也能以某种方式看到东西。这两件事互相成全:移动把它们带到有食物的地方,但要往哪里走,得靠看。

感知和行动,从那一天起就一起进化。

感知存在的理由是指导行动。生物系统里,感知如果不配合行动,就没有任何用处。(Jitendra Malik)

今天人类的视觉系统已经高度进化,可以做很多和行动无关的事,比如判断一幅画的美学价值。Malik 半开玩笑地说,这勉强也算在指导行动:指导你在这场拍卖里出多少钱。但底层逻辑仍然没变,这套系统最初的用途就是行动。

从这里出发,他对当下分门别类的做法提出了批评。分割、三维重建、物体检测,这些任务在会议论文和数据集上是分开的,每个都有自己的 benchmark。但这些划分是科学家强加的结构,不是系统内部真实的样子。真实发生的事是所有这些过程同时在跑,而且是一起跑,因为它们最初服务于同一个目的:帮你行动。

他说自己从 2010 年前后开始推这个观点。当时的计算机视觉圈把每个问题当成孤立问题,配一个数据集,各自刷分。他不喜欢这种做法,因为他想看到这些任务之间的连接。心理学把视觉拆成感觉、知觉、认知三层,对应低阶、中阶、高阶处理,但这个划分和人们真正关心的任务对不上。所以他用力推广一个框架,按信息流把识别、重建、重组串起来,让从业者意识到它们本来就连在一起。

后来的发展有点意外。深度学习革命之后,这个架构变得极其自然:共享主体表征,多个任务头同时输出。他不用再宣讲了,它已经成了默认的做法。

视频落后物体识别大约十年

静态图像在计算机视觉史上占了绝对主导,这件事有它的历史原因。

Malik 把这段历史讲得很实在。七八十年代算力、内存、存储全都不够,很多技术选择的背后是硬件限制,与理论偏好无关。当时一个常见的做法是先做边缘检测,然后把原图扔掉。一张 256×256 的灰度图,与其存着每个像素的亮度值,不如只保留亮度剧变的位置。这是一种极大的压缩,赌的是“人类能看懂线稿,那机器也行”,这样就能省下大量计算。

今天没人这么干了。ConvNet 直接处理像素,因为已经没有那个限制。

但视频仍然被研究得不够。原因还是算力。Malik 说,如果是谷歌、Facebook、亚马逊这种规模的公司,做全量视频处理依然极其困难,YouTube 全量内容上的操作,基本还得依赖九十年代的那些基础技术。但作为一个研究者,你有更多空间,可以训练大网络、用相对大的视频数据集。

他给了一个可以量化的判断:

在我看来,视频识别大概落后物体识别十年。你可以对比数据:现在有挑战性的视频数据集上,动作分类准确率大概 30%,这差不多是 2009 年物体检测的水平。(Jitendra Malik)

这个对比很直观。2009 年的物体检测是什么状态?那时候深度学习还没全面接管,整个领域还在摸路。今天视频理解就站在那个位置。至于追赶是不是也要十年,他说不好说,希望不用那么久。

早期视觉:压缩率为王

回到最底层。从图像的统计特性里,能得到什么?

Malik 说,人们已经知道图像里有大量冗余,因此可以做大幅压缩。这件事在生物系统里是刚需:人眼大约有 10 的 8 次方个感光细胞,而视神经只有大约 10 的 6 次方根纤维,压缩比接近 100 比 1。不压缩,信号根本传不出去。

人工神经网络的前几层,做的正是类似的压缩。有几家公司在用神经网络做图像和视频压缩,其中一家是他以前的学生创办的,效果相当有意思。这些成功的背后,本质是图像和视频的统计规律。

但 Malik 补了一句关键的区分:这种压缩是低层的。当一个人看到一张猫的图片,只需要说一句“这是猫”,那是语义层面的压缩,和前面说的统计压缩完全不在一个层次上。前者在像素层面去掉冗余,后者在意义层面做概括。今天的系统把这两件事分得很开,低层的做得不错,高层的还在摸索。

自下而上和自上而下,两条腿现在只迈了一条

这就引到了 Malik 对当下视觉系统最实质的批评之一。

现在的网络,运行时是纯自下而上的。从原始像素出发,一层层前馈,最后输出“猫”或“非猫”。也就是说,推理那一刻,信息只往一个方向流。

但训练的时候,又是极度自上而下的。要给物体分割,就得准备好每个物体的边界:这是猫的轮廓、这是椅子的轮廓、这是马的轮廓。这些标注里塞进了太多先验知识。

这两件事他都觉得不理想。

生物系统的做法不一样。大脑里从视网膜到 IT 区,可能只有七层左右,比 ResNet-50 的五十层浅得多。但大脑有反馈连接,信息可以往回传。Malik 说,这套反馈机制可能就是人类处理模糊刺激的方式:不确定的时候,用高层预期去修正低层判断。

有人会说,前馈深层网络和带反馈的浅层网络在功能上等价:反馈跑三轮,展开就变成三倍深度的前馈网络。道理没错,Malik 也承认这一点,但他觉得这个主题值得更深入地研究。功能等价不代表性质相同,用哪种方式实现,会影响学习效率、数据需求、泛化能力。

在训练端,他的不满更直接。人类分割物体用不着那么多标注。人类看视频,看到马在动,就能判断“这些像素属于同一个东西”。格式塔心理学家早就给这个原理起了名字:共同命运原则(common fate)。同一个运动模式下的像素,属于同一个实体。

这是一条自下而上的线索,天然存在,不需要人标注。而今天的分割系统,几乎完全靠自上而下的监督信号。

在我看来,机器视觉里这种自上而下和自下而上的互动,算是解决了,但我不觉得这个解法让人满意。我希望两个阶段都各带一点对方的东西。(Jitendra Malik)

他还给了一个很实际的论证,用来回应那些不在乎“像不像人”的工程师:如果他的路线能走通,你要的训练数据会少得多。这是一笔明确的成本账,不需要讲哲学。

分割的真正价值,不在画轮廓

在外行看来,分割就是给物体画轮廓,像个力气活。Malik 认为它的意义要深得多。

分割能支撑这样一个判断:这一堆像素是一个物体,甚至不需要知道这个物体叫什么,也不需要知道它有什么属性。(Jitendra Malik)

他给这件事起了个名字:实体化(entification)。把一个东西从背景里剥出来,变成一个实体。这个能力一旦有了,学词就容易了。孩子已经能把世界切成一个个实体,妈妈说“把瓶子拿过来”,或者“猫今天怪怪的”,“瓶子”和“猫”这两个词就能对应到孩子已经建立好的实体上。妈妈不需要专门指着一个一个物体教名字。

弱监督之所以能起作用,前提是你已经能把世界拆成实体。

这只是哲学层面的意义。实际应用上,分割同样关键。Malik 的团队做过脑外伤的 CT 影像分析,放射科医生需要精确勾画出可能有出血的位置。这种场景里,粗略的框选没用,必须到像素级。

不过他也强调,分割会牵涉认知,会随着经验修正。最麻烦的是非刚性物体,比如人和动物。人的各个部位可以独立运动,人还穿衣服,颜色一块一块地变。要把这些像素判断成同一个实体,难度比分割一张桌子高得多。早期计算机视觉犯过一个错,把分割当成纯自下而上的感知任务,这低估了它的复杂性。

三个 R 是怎么咬合在一起的

Malik 用一个三角框架来组织整个视觉问题。识别(recognition)、重建(reconstruction)、重组(reorganization)。

识别是最容易理解的一个,也是外界通常认为的“计算机视觉在做的事”:给图像打标签。是猫还是狗?是哪一种狗的哪个品种?或者更抽象一点,是动物吗?

重建是反向图形学。图形学是给定三维场景的计算机表示,渲染成一张图。重建是把方向反过去:给一张图,推断它来自什么场景、什么物体、什么视角、什么材质。用 Malik 的话说,这一步是在脑子里建造外部世界的模型。

重组,或者叫知觉组织,是最容易被忽略的一环。它处理的是“找出这些实体”。图像在内部会先被组织成一个个实体,以及实体之间的关系,而不会停留在“一堆像素网格”的层次上。

这三者构成一个互相咬合的三角,流水线式的串行关系不足以描述它们。分割只解决其中一小部分,但它是让另外两个转起来的起点。实体被切出来了,识别才有对象可标;实体被切出来了,重建才知道要给哪些东西建模。

Malik 说,这个框架推了十年,今天已经不需要推了。深度学习时代的多头架构、共享表征,天然就是这个样子。他要做的事从“布道”变成了“解释这件事为什么本来就是这样”。

大脑和芯片,两笔不同的账

关于算力,Malik 有一个讲了二十年的观点。

早年他的说法是:我们的计算机算力还不够,比不上人脑。这个判断有一层很具体的物理基础。神经元很慢,比晶体管慢得多,但神经元数量巨大、连接极其密集。硅片上的晶体管纳秒级切换,快得离谱,但连接数通常少得多。两边在做一笔完全不同的交易:一边用海量低速单元换连接密度,一边用极速单元换速度。

到了 2020 年前后,这个判断需要更新了。按 Hans Moravec 在九十年代做的估算,今天最先进的 GPU 集群,算力可能已经和大脑处于可比量级。但 Malik 加了一个限定:不是同一种风格。

最关键的差异在能效。GPU 的计算方式比人脑、比其他生物系统耗能高得多。这个差距不是小事。要构建真正大规模、能在现实世界里持续运行的系统,能效必须解决。这既是环保问题,也是可行性问题:一台耗电到一个城市级别的机器,没法塞进一个身体里到处跑。

模拟这条路,他愿意下注

如果要用“像孩子一样学习”的路线,有个绕不过去的条件:孩子能主动玩数据。他能拿起一个物体翻来覆去地看,能自己选择看什么,能设计小实验。这在机器学习里叫主动学习。

Malik 认为这条路要两条腿走。

一条是真实的机器人。有质量的、有转动惯量的、有摩擦的物理身体,在真实世界里做动作。机器人通过一连串动作,学会自己身体的性质。

另一条是仿真。他所在的 Facebook AI Research 团队做过一个叫 Habitat 的环境,是一个视觉上相当逼真的室内和城市场景模拟器。你在里面走动,就能得到和真实场景接近的画面。他预期下一代模拟器会在力、质量、触觉交互上也做到逼真。到那时候,就有了一个可以随便折腾的沙盒。

为什么“能行动”这么重要?Malik 给了一个非常明确的技术理由:这是打破相关性与因果性壁垒的一条路。

因果推断里最可靠的手段是随机对照试验,医学界就是这么干的:选一批情况,对其中一部分施加干预,对另一部分不施加,然后比对结果。而孩子每天都在做小规模的随机对照试验。他把东西扔下去,看它掉;他推一下,看它滚。每一次都在修正自己对世界的因果模型。

他提到同事 Alison Gopnik 有本书叫《摇篮里的科学家》(The Scientist in the Crib)。书名里的类比他很喜欢:科学家想建立因果模型,科学家做对照实验,孩子在做同样的事。

关于 Judea Pearl 那句“深度学习不过是曲线拟合”,Malik 不完全同意。他的态度是:因果性重要,但它不是一个银弹,不是一条单一原则,里面有很多不同的侧面。用行动去做干预实验,是其中很实在的一面。

他对仿真没有根本性的怀疑。计算机图形学已经证明了这条路能走多远:八十年代只能做视觉上的真实,头发和毛皮都做不了,后来做出来了;再往后物理交互也做不了,一碗玻璃掉下来碎裂,后来也做出来了。图形学的人在正向渲染上,从光学交互做到物理交互,一路推进。反过来做模拟器,没理由做不到,只是有些部分非常吃算力,但办法会一点点找出来。

这里有个容易被忽略的推论。如果仿真真的能做到物理层面逼真,那么“数据不够”这个困扰视觉领域多年的问题,会变成“仿真够不够真”的问题。前者靠收集,成本随时间线性增长;后者靠建模,一旦对了,边际成本趋近于零。这也是为什么 Malik 愿意在仿真上下注,它是有杠杆的那一端。

从“没用的小圈子”到“成熟但没做完”

访谈里有一个问题,问的是如果能让 Malik 重活人生中的某个瞬间,他会选哪一个。

他没挑某个具体时刻,把视线放到了很长的时间里。他说自己运气很好,因为科学研究里很大一部分是“在对的时间出现在对的地方”。你可以选一个太早的问题,撞得头破血流,因为成功的前提条件根本不存在。也可以选一个已经彻底成熟的领域,只能在琐碎的边角上做文章,一层套一层的花边。

他说自己赶上了一个特别的时间窗。入行的时候,计算机视觉就是个“疯狂、绝对没用、什么都做不了”的小圈子。三十四年教授生涯里,他一路看着这个领域变成能真正解决实际问题、能给生物学和天文学提供工具的东西。

有人开玩笑说,五百年后的人大概会笑话他把今天这个领域称为“成熟”。他说这很有可能。

这个自我定位里有种罕见的诚实。他既不为自己的领域辩护,也不唱衰它,就是把它放在一个合适的位置上:比昨天成熟得多,比明天原始得多。Mature but not done,成熟了,但没做完。

顺着这个态度往下想,会发现它其实回答了前面所有问题。为什么他要回到儿童发展心理学?因为一个没做完的领域需要新的燃料,而现有燃料(标注数据、更大模型、更长训练)正在变得越来越贵。为什么他要强调感知和行动的绑定?因为行动是唯一能提供因果信号的东西,而因果信号是现有数据给不了的。为什么他对近期完全自动驾驶悲观?因为最后那 0.01% 恰恰需要他最看重的那类能力。

这些观点不是散落的,它们指向同一个方向:视觉的下一个台阶,在数据规模和模型规模之外。

滑板者那个例子,值得再想一遍

整期对话里,滑板者这个细节信息密度最高。

一个系统在标准数据集上的分数再高,遇到路上一个不按常规走位的滑板者依然会错。这种错误没法靠更多标注数据直接修掉,因为标注数据解决的是“这是什么”,而这个错误出在“他接下来会做什么”。后者需要一整套关于人的行为的先验,而这类先验在数据标注里是缺席的。

Malik 说,原则上只要数据够多,这个问题可以解决。见过足够多的滑板者,就能学到滑板者的行为模式。但他立刻加了一句:现在的视觉系统要达到人类同等的能力,需要的数据量远远超过人类。一个十六岁的孩子没在路上见过几次滑板者,就能做出合理预判;一个系统可能要看成千上万次。

这个差距用数据量填不平,只能靠学习机制的改变来填。这也是他反复讲“白板学习”的原因:白板学习在处理边缘情况时效率极低,而边缘情况恰恰是安全的全部内容。

成功第一步的谬误,在这一层上体现得最清楚。高速直线行驶的自动驾驶,九十年代就演示过了;城市道路的常规工况,最近这些年也做得不错。剩下那点尾巴,看上去只是 1%,实际上是另一个量级的工程和科学问题。

把这些问题带回今天的工作里

Malik 反复回到同一件事:人对难度的判断,系统性地偏低。

1966 年那十个学生不算狂妄,他们只是不知道视觉的大部分工作发生在意识之下。成功第一步的谬误,让每一代人都以为再往前一步就到底了,结果每次都是一分钟拿到 50%,五年拿到 99%,剩下的那点尾巴看不到头。

他从这个观察里得出的建议相当朴素:承认自己站在半山腰,承认前面的路看不清,承认下一代人会觉得今天的一切都很原始。然后挑一个还没解决但够得着的问题,找到它柔软的下腹部,下刀。

访谈里还有一个细节值得一提。Malik 说,短期的成功取决于技术能力,长期的进展取决于问题选得对不对。这句话在当下这个节奏里格外有用。AI 领域的技术迭代速度极快,任何人只要肯花时间,都能把当红的工具用熟。真正拉开差距的,是在一堆热门问题里判断出哪个还没有被解决、但已经接近可解。这种判断力没有速成法,只能靠跨领域的阅读和长期的观察慢慢养出来。

他自己就是这种判断力的产物。从心理学借来感知与行动的框架,从儿童发展借来学习范式,从图形学借来仿真的可能性,这些跨界的动作在单看时都显得偶然,连起来才发现是一条线。

如果要把这期内容转成自己能用的东西,可以从下面这些开始:

  • 遇到一个进展飞快的新任务,先判断自己处在“成功第一步”的哪个位置。50% 到 90% 花一天,90% 到 99% 花五年,这个比例感能帮你决定什么时候该加投入,什么时候该换方向。
  • 评估一个视觉或感知系统时,别只看标准数据集上的分数,先看它在训练分布之外的边缘案例上会怎么错。滑板者、突然打开的卡车后挡板,这类场景才是真实的失败点。
  • 做多模态项目时,把时间对齐当成免费的监督信号。视觉和听觉在同一时刻发生的事,大概率有因果关系,这个标签不需要人来打。
  • 模型严重依赖人工标注时,先问一句:人类做这个任务真的需要这么多标注吗?共同命运、运动一致性、跨模态校准,这些自下而上的线索往往被白白浪费。
  • 做长视频理解,把“隐式剧本”当成设计目标。餐馆、地铁、超市,每个场景都有一套默认流程,系统需要能学到这套流程,只在几秒钟的片段上做动作分类远远不够。
  • 做三维任务时,警惕对 CAD 模型的依赖。人类靠移动和观察内化三维结构,训练数据的形态如果离这个过程太远,泛化能力会受限。
  • 需要可解释性的场景,把目标定在“给出误差范围和决策质量”,而非强求把内部机制翻译成人话。人类专家同样是黑箱,但他们能交代自己有多确定。
  • 讨论 AI 风险时,把注意力从二三十年后的 AGI 挪到今天已经在运行的系统上。推荐算法、医疗诊断、自动驾驶,这些已经在做出影响真实生活的决策。
  • 挑研究题目,用“可解性”当标准,而非“重要性”或“热度”。问题要还没被解决,但要有一块柔软的下腹部,能让你下刀。
  • 给自己留一块跨领域的阅读时间。心理学、神经科学、图形学里那些看起来和日常工作无关的东西,往往是判断“哪个问题值得做”时的信息来源。

本集资源与出处