昨天读到格雷伯的《债》,一个人类学家把五千年拆成五个时期,最后问的是:这套账,到底有没有被算清过。今天换回 AI 方向,读一本更早就开始追问「算」这件事的书——大卫·马尔的《视觉》。
马尔 1945 年生于伦敦,剑桥三一学院数学出身,1977 年进 MIT 心理学系任教,1980 年拿到终身正教授。同年 11 月 17 日,他因白血病在剑桥去世,35 岁。《视觉》的主体写于 1979 年夏天,1982 年才出版,扉页上作者署名后面跟着一行字:「Late of the Massachusetts Institute of Technology」——已经不在那里的人。这本书后来被公认为计算神经科学的开山之作。
理解一个会处理信息的系统,必须先回答它在算什么、为什么非得这么算,然后才是用什么算法和表示,最后才是跑在什么硬件上。这三层一旦倒过来,人就会一辈子在羽毛里打转。
一、看见是什么意思:知道什么在哪里
马尔在全书第一页问了一个听起来毫无分量的问题:看见,是什么意思。他给的答案同样朴素——通过观看,知道什么东西在哪里。
关键在于「在哪里」三个字。视觉的产出不是一张更清晰的照片,而是一份关于外部世界的说明:那里有一只杯子,杯子在桌沿,桌沿之外是空的地板。视网膜上只有一张二维的强度阵列,你要的却是一份三维的说明。中间隔着的那堆工作,不是靠看得更用力能解决的。
所以他紧接着说,视觉首先、并且首要地是一项信息处理任务。但他马上又补了一个转折:不能只把它当成一个过程。因为如果人真的能知道世界上什么在哪里,那么大脑里必须存在某种东西把这些内容装下来——色彩、形状、运动、细节,一样不少。装的方式,他称之为表示。
看见意味着什么?常人的回答(亚里士多德也会这么回答)是:通过观看知道什么在哪里。换句话说,视觉是从图像中发现世界上有什么、以及它在哪里的过程。
二、三层楼梯:算什么、怎么算、用什么跑
马尔和同事波吉奥提出:任何一台处理信息的机器,要被说成「理解了」,必须在三个层次上分别说清楚。
最上面一层是计算理论:这台装置在做什么,为什么要做这件事是对的。中间一层是表示和算法:输入和输出各用什么样的符号系统,用什么步骤把前者变成后者。最下面一层是硬件实现:这套符号和步骤,究竟由什么物理器件跑出来。
他反复强调的一点常被读漏:这三层是耦合的,但只是松散地耦合。算法的选择会受「要算什么」和「跑在什么硬件上」的影响,可每一层内部都有很大的选择空间,每一层要解决的问题,跟另外两层基本无关。这意味着你可以在完全不知道神经元怎么放电的情况下,把「要算什么」这一步做对;也意味着你把硬件研究得再透,也推不出上层的问题。
最抽象的一层,是这台装置在做什么、以及为什么;……在最下面的一端,是算法和表示如何被物理地实现出来——可以说是具体的计算机体系结构。这三个层次是耦合的,但只是松散地耦合。
三、只研究神经元,等于只研究羽毛
这一层道理落到视觉研究上,立刻就是一记重击。
当时(其实现在也是)主流做法是把电极插进视觉皮层,记录细胞对什么放电。马尔举的例子是视网膜神经节细胞和外侧膝状体:靠解剖和生理,你能知道这些细胞怎么连线、怎么反应,但回答不了一个问题——为什么它们的感受野是圆形对称的,为什么兴奋区和抑制区是这种形状、这种分布。
要回答「为什么」,你得先懂一点微分算子的理论、带通通道、以及不确定性原理背后的数学。不是生物学不够,是问题问错了层级。
试图只通过研究神经元来理解知觉,就像试图只通过研究羽毛来理解鸟的飞行:这根本做不到。要理解鸟的飞行,必须先理解空气动力学;只有到那时,羽毛的结构和鸟翼的各种形状才说得通。
同一层意思,他对当时的 AI 研究也有批评,而且这句话放在今天的大模型语境里几乎不需要改写。
太久了,一个能完成某项任务的启发式程序,一直被当成了那项任务的理论;程序做了什么、和它是怎么做的,这两者的区别没有被认真对待。
四、表示是一种取舍:让它显式,就得让别的沉下去
马尔对「表示」下了一个出人意料地朴素的定义:表示就是这样一种形式系统,它让某些信息变得显式,并规定了它是怎么做到这一点的。
他用数字举例子。阿拉伯数字、二进制、罗马数字,都是表示数字的形式系统。用阿拉伯表示,一眼就能看出一个数是不是 10 的幂;用二进制表示,一眼就能看出它是不是 2 的幂。反过来都不容易。罗马数字做加减已经别扭,做乘法几乎没法做——马尔说,这是罗马文化没能把数学继续推下去的一个关键原因。
这对做技术的人最有用:选择一种表示,等于同时决定了什么信息摆在台面上、什么信息沉到背景里。沉下去的不是消失,是以后每用一次都要额外算一遍。
表示是这样一种形式系统:它让某些实体或某类信息变得显式,并同时规定了这个系统是怎么做到这一点的。……于是这里存在一种取舍:任何一种特定的表示,都让某些信息变得显式,代价是把另一些信息推到背景中,而那些信息可能非常难再捞回来。
五、约束不在程序里,在世界里
从二维图像反推三维世界,本质上是欠定的:同一张图可以由无穷多个不同的世界产生,不加限制根本没有唯一解。
让这件事变得可做的,不是更巧妙的程序,而是关于世界本身的一批假设——表面通常是平滑的、物体通常是刚性的、空间上相邻的点通常属于同一个表面、同一个物体的朝向变化通常是连续的。这些假设不在视网膜里,也不在算法里,它们在世界里。
所以马尔说,提出计算理论时那个最关键的动作,不是设计算法,而是找出约束。你把约束找对了,解就唯一了;找错了,算法再精巧也是在拟合噪声。
提出计算理论的关键动作,是发现关于世界如何构造的有效约束——那些能提供足够信息、让这一处理得以成功的约束。
六、三级草图:从线条到表面,再到物体
马尔把视觉的产出分成三级内部表示,这是全书最著名的结构(以下为概括,非逐句直译)。
第一级是基元图:从灰度阵列里提取强度变化的位置、方向和尺度,得到边缘、线条、端点、斑点。这里的洞察是「过零点」——马尔与希尔德雷思认为,系统真正检测的不是哪里最亮,而是二阶导数穿过零的位置,不同尺度的滤波器对应不同粗细的边缘。这也是他推断外侧膝状体的中心-环绕细胞在做高斯差分卷积的由来——先有计算要求,才回头认出硬件在干什么。
第二级是 2.5 维草图。这是一份以观看者为中心的表示:可见表面每一点的朝向、距离、轮廓、纹理、颜色。它还没有「物体」这个概念,只有表面。第三级才是三维模型表示,以物体自身为坐标系,用来做识别。
这三级的关键不是越算越精细,而是换了参照系。2.5 维草图服务的是动作——够得着吗,会不会掉下去;三维模型服务的是身份——这是什么东西。
视觉是一个过程,它从外部世界的图像中,产生出一种对观看者有用、而且不被无关信息塞满的描述。
七、吉布森的反驳,和马尔的回答
吉布森主张,环境的光学阵列里已经含有足够的不变量,知觉系统只需要「共鸣」上去,不需要内部表示,也不需要计算。这个立场当时很有力,今天在具身认知里还有回声。
马尔承认吉布森问对了问题——什么在刺激里、对应着什么在世界中,这确实是要害。但他认为吉布森低估了把答案算出来的难度。即便不变量确实在光阵列里摆着,从视网膜信号中把它提取出来,仍然是整整一整套计算;看见了不等于拿到了。
视觉信息处理实际上非常复杂,吉布森不是唯一一个被「看」这件事表面上的简单所误导的思考者。
对照:对一个在深圳做技术的年轻人
第一,分清你现在讲的是哪一层。 面试里最常听到的自我介绍是从最下面那层开始的:用了 Spring Boot 3、接了哪个大模型、QPS 做到多少。这些是事实,但都属于硬件实现层。面试官真正想确认的是上面两层——那个风控引擎到底要算什么(在有限数据上判断一个人的还款意愿与还款能力),为什么必须这么算(信息不全、成本不对称、误杀和放过的代价不等价),边界在哪(哪些情况它根本不该给出结论)。三层混着讲,对方只听得到最下面那层。把上面的两层先说清楚,下面的技术细节才有人听。
第二,选定表示的时候,先问它把什么沉到了背景里。 把一份工作量化成薪资、职级、工时,是一种表示;把一个人的能力量化成学历、年限、背书,也是一种表示。每种表示都让一部分东西一眼可见,同时把另一部分推到需要额外计算才能拿回来的地方。你用大模型做方案时也一样:把需求写成结构化字段,模型好读了,但那些写不进字段的上下文就沉下去了。先想清楚这次要让什么变显式,比事后补救便宜得多。
第三,约束不在你的代码里,在业务现场里。 马尔说计算理论的关键动作是发现约束。做金融风控时,真正的约束不是「模型精度要够高」,而是「借款人提供的信息天然不全,且造假成本极低」,是「催收这件事在本地必须由人上门」。这些约束写在世界里,不写在需求文档里。谁先把它找出来,谁的算法才有解;找不出来的,调参调到天亮也是在拟合噪声。
今天可以做的一件事
挑一件你最近在做、或者简历上写着的事,用三句话各写一遍:第一句只写它在算什么、为什么非这么算(不许出现任何技术名词);第二句写你用什么表示和算法做的;第三句写它跑在什么上面。三句写完自己读一遍——如果第一句你写不出来,或者写出来跟第二句说的是同一件事,那说明这个项目你一直只从最下面那层理解它。补上第一句,比再学一个框架值钱。
明天换回历史方向,读伊懋可的《大象的退却:一部中国环境史》(The Retreat of the Elephants,耶鲁大学出版社 2004;中译本梅雪芹、毛利霞、王玉山译,江苏人民出版社 2014 年初版、2019 年修订再版)。马尔问的是「一个系统要先把什么算出来才算看懂」,伊懋可问的是另一头——在中国这片土地上,人三千年来为推进农业、水利、战争所做的每一次成功选择,把哪些代价算成了「看不见的成本」,又是怎么一步步把大象从河南逼到云南的。
书名是《视觉》,英文原名 Vision: A Computational Investigation into the Human Representation and Processing of Visual Information(W. H. Freeman 1982,MIT Press 2010 年重印)。中译本有两个:《视觉:对人类如何表示和处理视觉信息的计算研究》,吴佳俊译,电子工业出版社 2022 年,据 2010 年英文版译出;以及更早的《视觉计算理论》,姚国正、汪云九、刘磊译,科学出版社 1988 年。文中引文据英文本译出,页码为 1982 年首版页码;三级草图一节为全书结构的归纳,已在文中标注。
老废物乐园 🗼
[]