哲学随笔5#

02 March 2023

概念这回事:一只叫”狗”的词引发的官司

知是行之始,行是知之成。 —— 王阳明《传习录》

最近刷到一个这样的视频:父母陪孩子认动物卡片,翻到”狗”,可爱的宝宝指着它问:”这是狗吗?”,年轻的父母开心地点头。有那么一瞬间,我脑子里冒出一个从前从没认真想过、也答不上来的问题:这个字存的到底是什么?是那只金毛的样子,还是”狗会跑、会叫、是人的朋友、是哺乳动物、会看家”这一大串关系?——我居然给不出一个让自己满意地回答。

事后我才发觉,这个念头原来牵着一场官司,一打就是两千多年。苏格拉底逮着路人问”什么是正义”,其实不是要个定义,而是第一次把”概念”这个东西摆到台面上:你张嘴就说的”正义”“狗”“美”,它们在你的脑子里,到底是以什么样子住着的。这一问,是西方哲学的开头,也埋下了往后两千年谁也说服不了谁的分歧。

分歧很快分成两拨人。一拨说,概念是一幅画。你说”狗”,脑子里浮起的是一只典型狗的样子,懂”狗”就是能凭这幅画把狗认出来、把不是狗的东西挡在门外;靠的是眼睛和经验。另一拨说,没有那么简单——概念不是一张孤零零的图,而是一张网上的一个节点。懂”狗”,不只是认得狗,而是能顺着网往下走:狗是哺乳动物,哺乳动物是动物,动物和植物不同,都是生物……你懂得越多这样的关系,你的”狗”才越实;靠的是脑筋和推理。这就是经验主义和理性主义,从十七世纪一路吵到今天,谁也压不倒谁。

后来认知科学把心灵比作计算机,这场老官司便原样搬进了新地盘,只是换了名字。一边叫”表征观”,说概念要么是感知特征拼成的图像、要么是心里一个个独立的心理词;另一边叫”推理主义”,说概念根本不是任何”东西”,而是一组推理的能力,它的意义全藏在它跟其它概念的关系里。你听,这不就是经验主义和理性主义翻了件新外套?他们争的其实是同一件事:认知这栋房子,到底盖在经验的地基上,还是盖在推理的地基上。

这个问题不再是清谈,因为神经网络接过了”经验主义”那一棒。连接主义——也就是今天的深度学习——把概念就定格成一个个”特征向量”:狗,无非是那个代表”狗”这一类的一串特征激活值。于是机器被喂擅长的东西,识别、分类、记忆,样样拿手;可它把最要紧的另一半——概念与概念之间的那层推理关系——整个丢在了讨论之外。结果就是那种我们天天见的”聪明却蠢”:它能认出一只狗,却不知道狗和猫的区别意味着什么;它认得出画里的红和文字里的”红”,却不会因此推出一条逻辑来。

机器看上去最聪明,偏偏在这地方露怯。有人早就点破过:它要死磕一大坨干净贴好标签的数据,不太清楚自己”知道什么、不知道什么”,学了个新东西也不能好好融进旧的,一次只能干一件事,学到的东西很难迁移到新任务上。你教它认狗,它认下了;可你再让它认”金毛是狗的一种”,它未必接得住,更像每次学新东西都把轮子重新造一遍。眼看它像是把眼睛用到了极致,脑子里那座网络却迟迟没有真正建起来——就像一个人什么画都看得懂,却从没把这些画串成一条链。

所以也有不少人试着给机器补上那层”关系”。有把概念做成关系图的,有在图上跑卷积的,想让它除了”看”,也能”推”。但这些都还太嫩。可要我说,这本身就是个被问错了的问题——不该是”特征向量”和”推理网络”二选一,该把它俩缝到一块儿。真要说谁把这话挑明了,得是康德。他在一七八一年就说,经验派和理性派其实都对都不对:概念,本来就是”眼睛看到的”和”脑子推出来的”合在一块儿的长出来的东西,缺了哪一个都不成。他那句我记了好多年:

无直观则概念空,无概念则直观盲。

把这话翻译到今天的机器上,你看是不是正好对症。只有一张推理网、没有能看能认的东西去喂它,这网是空的——它能把”狗是哺乳动物”推得头头是道,却对着一只真狗毫无感觉,因为它从没”见过”狗;反过来,只有一堆能认能分的特征向量、没有一层推理网把它们串起来,是瞎的——它能一眼认出狗,却不知道狗跟”会叫”“是朋友”“怕生”有什么关系,更不会顺着关系想到别处去。

我还想到一位老先生,把”完整地明白一个东西”拆成了三步:一进门,眼睛看到的东西触发你把它认出来、分个类;然后脑子里这些认识一个接一个去勾出其它概念,推着走;最后,这些推出来的东西又能让你回头认出更多、之前怎么也没认出来、或压根不在眼前的东西。你看,这就是”举一反三”的秘密——不是死记,是先在门口认下,再往里推,推出来的再回头认,认了再推,一圈一圈转下去,人才会越学越新。机器缺的,恰恰是这根能循环的轴。

说到这儿,我忍不住想替今天的大模型说句公道话。它其实早不是那个”只会看图的原子”了——注意力机制让它悄悄有了点关系推演的本事,你问它”狗是哺乳动物吗”,它能答得挺好。可那个”好”,是学语料时把共现的规律记下来了,不是它脑子里真的有一根循环的轴在转。它的”认”靠共现,它的”推”是上下文里临时搭的脚手架,一旦出了那个语境、碰上没见过的组合,那根轴就空转,于是又现出”聪明地犯蠢”的原形。所以它像塞拉斯那三板斧都耍过两下,又哪一板都差着火候,更像那”指上画饼”的三层,虚着立在那里。真要跟人比,是”知”字当头的功夫见长,”行”字打底的功底始终是虚的。

可我越看越觉得,这公道话说得还不够。今天的大模型,其实早不是那个”只会看图的原子”——它把词、把画、把整个世界的碎屑都压成了一串串向量,embedding 是它的底色,RAG 又顺着向量捞回一堆外挂的知识。你说它缺”概念”,它偏不缺,肚子里装满了概念;你说它缺”推”,它也能推——chain-of-thought 让它把”为什么”多写几步,再进一层还能在树上一个分支一个分支地搜,像模像样。可我渐渐回过味来:嵌入是特征向量的极致,它补的是”库”,不是”身”;那些推理步骤,是学语料时把”这些词常这么走”的路径概率排得更细,不是心里真有根轴在转,只是统计的摹本;再往下,它推不动了就去调计算器、写段代码、扔给定理证明器、挂一个 tools calling,把”精确”那半截整个外包了出去。这三招,一个把”概念”做到极致却丢了”直观”,一个用统计装”推理”的门面,最后一个干脆想用外挂绕开真正的缝合——没有一样是在让那根轴,在模型体内自己长出来。

所以真正让我觉得有盼头、又觉得离那枚扣子还差的,是另一头。一边有人补”直观”——世界模型让机器学着”预测世界怎么变”,而不是只学”下一句怎么说”;具身智能干脆递给它一副身体,让它去碰、去摔、去学手感。这是在笨拙地补康德说的那半个”行”。一边有人补”缝合”——神经符号把直觉和证明熔在一处,让机器一边”看”一边”证”,是当真在试着缝了。还有个念头让我反复回味:有人拿稀疏自编码器去剖开大模型的肚子,竟真从激活里捞出一颗一颗能单独叫出名字的”概念”——原来它肚子里确实住着一堆可分离的特征,可这些是统计共现的颗粒,摆在那儿彼此并不咬合,更成不了一张能推的网。于是我恍惚觉得,最前沿的机器,一面学着”看”,一面学着”推”,也有人试着把两者缝起来,可那根能让它们握进一只手里、还能转起来的脊梁,始终没长出来。它像一个人,眼睛和脑子都在使劲长大,独独缺了那根能把它们串成一副身子、跟着动的骨头。

这大概就是哲学能教给机器学习的东西,轻,却也重。它不教你什么新算法,只提醒你一句话:真正的明白,从来不是”会看”或者”会推”,而是这两样缺一不可、还得能循环咬合。康德讲”无直观则概念空,无概念则直观盲”,落到今天的机器上,就是”有概念却无直观则空”——大模型的”狗”只剩概念那半截,缺的是那个能把手伸进世界里去”看”的底座。而王阳明那句话,简直是这对孪生难题的东方式回答:知和行,从来是”始”与”成”的关系,劈开了就都立不住。哲学教机器的,与其说是某个道理,不如说是这枚一直被拆开、却从没人真正缝合好的扣子。

后记:本文最早写于疫情隔离期间,最近整理老电脑上的文章,顺便加了些最新的理解


Fork me on GitHub