这是《Strange Loop》对杰弗里·辛顿(Geoffrey Hinton)的一次长谈。辛顿是深度学习的奠基者之一,1986 年与鲁梅尔哈特、威廉姆斯在《自然》上共同发表了反向传播的论文,也曾与特里·谢诺夫斯基长期合作研究玻尔兹曼机;伊利亚·苏茨克韦尔(Ilya Sutskever)当年就是敲开他办公室门的那个学生。对谈沿着时间线展开,从剑桥的生理学课堂一路谈到规模、推理、多模态、模拟计算,以及他如何选题、如何看人。本文依据现场录音编译整理,只删去口语枝节、寒暄与重复,论证与例子一概保留。
辛顿: 我还记得自己刚从英国到卡内基梅隆的时候。在英国的研究单位,一到六点,大家就一起去酒吧喝一杯。到了卡内基梅隆,我去了几个礼拜之后的一个周六晚上,还没交到什么朋友,也不知道该干什么,就决定去实验室写点程序,因为我用的是 Lisp 机器,在家里根本没法编程。我大概晚上九点走进实验室,结果里面人山人海。所有学生都在,他们之所以在那儿,是因为他们手上做的东西就是未来。他们全都相信自己接下来做的事情会改变计算机科学的走向。这跟英国太不一样了,让人精神一振。
主持人: 我们回到最开始。你在剑桥想弄明白大脑,那是一种什么体验?
辛顿: 非常令人失望。我念的是生理学,夏季学期他们说要讲大脑是怎么工作的,结果只讲了神经元如何传导动作电位。这当然很有意思,但它并不告诉你大脑是怎么运作的。所以我极其失望。我转去学哲学,心想他们或许会讲心智是怎么运作的,结果同样令人失望。最后我去了爱丁堡做人工智能,那才有点意思,至少你可以做模拟,可以拿理论去检验。
主持人: 你还记得当年是什么东西把你吸引到人工智能上的吗?是一篇论文,还是某个把这些想法带给你的人?
辛顿: 我想主要是唐纳德·赫布(Donald Hebb)的一本书,对我影响很大。他非常关心神经网络里的连接强度是怎么学出来的。我也很早就读了冯·诺伊曼的一本书,他对大脑如何计算、以及大脑与普通计算机有何不同,都非常感兴趣。
主持人: 那时候你就已经笃定这套想法能成吗?在爱丁堡的年月里,你的直觉是什么?
辛顿: 在我看来,大脑必定有某种学习的办法,而且显然不是靠把各种东西预先编进去、再套用逻辑推理规则。这一点从一开始我就觉得荒唐。所以我们必须搞清楚大脑是怎么学会修改神经网络中的连接,从而做成复杂的事情。冯·诺伊曼相信这一点,图灵也相信这一点。冯·诺伊曼和图灵的逻辑都非常好,可他们偏偏都不信那条逻辑主义的路。
主持人: 在研究神经科学的想法和直接去找那些看起来管用的人工智能算法之间,你是怎么分配的?早期你从神经科学里取用了多少灵感?
辛顿: 神经科学我其实从来没怎么正经研究过。但我读到的那些关于大脑如何工作的知识始终在启发我:那里有一堆神经元,它们执行相对简单的操作,是非线性的,但它们收集输入、给输入加权,然后根据这个加权后的输入给出一个输出。问题就是,你怎么改变这些权重,让整个系统做出点好东西来。这看上去是个相当简单的问题。
主持人: 那段时间你记得哪些合作?
辛顿: 我在卡内基梅隆最主要的合作对象,恰恰不在卡内基梅隆。我跟当时在巴尔的摩约翰斯·霍普金斯的特里·谢诺夫斯基往来极多。大约每个月一次,要么他开车到匹兹堡,要么我开车去巴尔的摩,两地相距 250 英里,我们会一起花一个周末研究玻尔兹曼机。那是一段美妙的合作。我们两个都确信那就是大脑的工作方式。那是我这辈子做过的最令人兴奋的研究,也确实出了一批非常有意思的技术结果,不过我现在认为大脑并不是那样工作的。
我另外还有一段很好的合作,对象是彼得·布朗(Peter Brown),一位非常优秀的统计学家。他在 IBM 做语音识别,后来以一个比较年长的学生身份来卡内基梅隆,就为了拿个博士学位。但他已经懂得很多了。他教了我很多语音方面的东西,事实上还教了我隐马尔可夫模型。我觉得我从他那儿学到的,比他从我这儿学到的多。这正是你想要的那种学生。
他给我讲隐马尔可夫模型的时候,我正在做带隐藏层的反向传播,只不过那时还不叫“隐藏层”。我当时就觉得,隐马尔可夫模型里用的那个名字,用来称呼那些你不知道它们在干什么的变量,实在是好名字。神经网络里“隐藏”(hidden)这个说法就是这么来的:我和彼得认定,这个词拿来命名神经网络的隐藏层再合适不过。总之,我从彼得那里学到了很多语音方面的东西。
主持人: 说说伊利亚出现在你办公室门口的那天。
辛顿: 那大概是个星期天,我在办公室,我想是在写程序。这时有人敲门,不是随随便便的敲法,而是那种急促的敲法。我去开门,门口是个年轻学生,他说他整个夏天都在炸薯条,但他更想到我的实验室来干活。我说,那你不如先约个时间,我们再谈。他直接就说:“现在怎么样?”这就是伊利亚的性格。
于是我们聊了一会儿,我给了他一篇论文去读,就是《自然》上那篇反向传播的论文。我们约好一周后再见。他回来时说:“我没看懂。”我很失望。我本以为他是个聪明人,可那不过是链式法则,没那么难懂。结果他说:“不不不,那个我懂了!我不懂的是,你们为什么不把梯度交给一个像样的函数优化器?”这个问题,我们后来花了好几年才想明白。事情一直是这样:他对事物的原始直觉总是非常好。
主持人: 你觉得是什么造就了伊利亚的这些直觉?
辛顿: 我不知道。我想他一直都独立思考,从很小的时候就对人工智能感兴趣,而且他数学显然很好。但这种事很难说清楚。
主持人: 你们两个的合作是什么样的?你担当哪部分,伊利亚担当哪部分?
辛顿: 非常有意思。我记得有一次,我们想做一件挺复杂的事:给数据画图,我手上有一种混合模型,可以让同一批相似度关系生成两张图。在其中一张图里,bank(银行/河岸)可以离 greed(贪婪)很近;在另一张图里,bank 可以离 river(河)很近。因为在一张图里没法让它同时靠近这两者,river 和 greed 隔得太远了。所以我们要做一个由多张图构成的混合模型。我们是用 MATLAB 做的,这就牵涉到大量代码重组,好把矩阵乘法拼对。
伊利亚受够了这个。有一天他来了,说:“我要给 MATLAB 写个接口,这样我就用另一种语言编程,再有个东西把它转成 MATLAB。”我说:“别,伊利亚,那得花你一个月。我们得赶项目,别被这种事岔开。”伊利亚说:“没事,我今天上午已经写完了。”
主持人: 那真是了不起。在那些年里,最大的转变其实不只是算法,还有规模。这些年来你是怎么看待规模的?
辛顿: 伊利亚很早就有了那个直觉。他一直在宣讲一件事:你把它做得更大,它就会更好。我一直觉得那有点像逃避责任,觉得你终归还是得有新想法。结果证明伊利亚基本上是对的。新想法确实有帮助,比如 Transformer 就帮了大忙,但真正起决定作用的是数据的规模和计算的规模。当年我们完全想不到计算机会快上十亿倍,我们以为大概能快一百倍。于是我们绞尽脑汁去想那些聪明的点子,而如果当初有了更大的数据和计算规模,那些问题本来会自己消失。
大概在 2011 年,伊利亚、另一位叫詹姆斯·马滕斯(James Martens)的研究生和我写过一篇论文,用的是字符级预测。我们拿维基百科来预测下一个 HTML 字符,效果好得出奇,我们自己都一直很惊讶它能做到那种程度。那是在 GPU 上用一个很讲究的优化器跑的。我们始终不太敢相信它理解了什么,可看起来它就像是理解了,这简直难以置信。
主持人: 能不能讲讲这些模型是怎么被训练来预测下一个词的,以及为什么这是理解它们的错误方式?
辛顿: 其实我并不认为这是错误的方式。事实上,我想第一个用嵌入(embedding)和反向传播做出来的神经网络语言模型就是我做的。数据非常简单,就是一些三元组。它把每个符号变成一个嵌入,然后让这些嵌入相互作用,去预测下一个符号的嵌入,再由此预测下一个符号,最后对整个过程做反向传播,把这些三元组学下来。我当时证明了它能够泛化。大约十年后,约书亚·本吉奥用了一个非常类似的网络,证明它在真实文本上也行得通。又过了大约十年,语言学家才开始相信嵌入这回事。这是个缓慢的过程。
我之所以认为它不只是在预测下一个符号,是因为你可以反问一句:预测下一个符号需要什么?尤其是当你问我一个问题,而答案的第一个词就是那个“下一个符号”的时候,你必须先理解这个问题。所以我认为,通过预测下一个符号,它跟老式的自动补全非常不同。老式自动补全是把词的三元组存起来,看到一对词,就统计各种词作为第三个词出现的频率有多高,这样来预测下一个符号。多数人以为自动补全就是那样。现在它已经不是那种工具了。要预测下一个符号,你必须理解正在说的是什么。所以我认为,你是在通过逼它预测下一个符号来逼它理解。而且我认为它的理解方式跟我们的相当类似。
很多人会告诉你,这些东西跟我们不一样,它们只是在预测下一个符号,它们没有像我们那样推理。可实际上,为了预测下一个符号,它就得做一些推理。我们现在也已经看到,即便你不往里面加任何专门用来推理的东西,只要把模型做大,它们就已经能做一些推理了。我认为随着模型继续变大,它们能做的推理会越来越多。
主持人: 你觉得我此刻做的事情,除了预测下一个符号之外还有别的吗?
辛顿: 我认为你就是这样学习的。我认为你在预测下一帧画面,在预测下一个声音。我觉得这是关于大脑如何学习的一个相当靠得住的理论。
主持人: 是什么让这些模型能学会如此五花八门的领域?
辛顿: 这些大语言模型在做的事,是寻找共同结构。找到共同结构以后,它们就能用这个共同结构来编码事物,那样更高效。我举个例子。你去问 GPT-4:“堆肥堆为什么像原子弹?”多数人答不上来。多数人没想过这个,他们觉得原子弹和堆肥堆是截然不同的东西。但 GPT-4 会告诉你:两者的能量尺度差别很大,时间尺度差别也很大,可相同之处在于,堆肥堆越热,产热就越快;原子弹产生的中子越多,产生中子的速度也越快。于是它抓住了链式反应的概念。我相信它理解了两者都是链式反应的形式,而且正是靠这种理解,把海量信息压缩进了它的权重里。
如果它在做这件事,那么它在成百上千件我们还没看出类比的事情上也在做同样的事,而它已经看出来了。创造力就是从这里来的,就是从看出表面上截然不同的事物之间的类比而来的。所以我认为 GPT-4 变得更大以后,最终会非常有创造力。那种认为它只是在反刍它学过的东西、把学过的文本拼贴起来的看法,是完全错误的。我认为它会比人更有创造力。
主持人: 你的意思是,它不只会重复人类迄今积累的知识,还能往前走。这是我们还没怎么见到的事。我们看到了一些苗头,但很大程度上还停留在当前的科学水平上。你觉得是什么能让它突破这一层?
辛顿: 在更受限的场景里我们已经见到了。比如 AlphaGo 与李世石那场著名的对局,其中的第 37 手,所有专家都说那肯定是个失误,但后来他们意识到那是神来之笔。那就是在一个有限领域里被创造出来的东西。我想随着这些系统变大,我们会见到更多这类情况。
主持人: AlphaGo 的另一个不同之处在于它用了强化学习,这让它后来能超越当时的水准。它先是模仿学习,看人类怎么下,然后通过自我对弈发展出超越人类的东西。你认为这是当下所缺的一环吗?
辛顿: 我认为这很可能确实是缺的一环。AlphaGo 和 AlphaZero 里的自我对弈,是它们能走出那种创造性着法的重要原因。但我不认为这是绝对必需的。
我很久以前做过一个小实验:训练一个神经网络识别手写数字。
主持人: 我很喜欢那个例子,MNIST 那个。
辛顿: 你给它的训练数据里有一半答案是错的。问题是它能学到什么程度。而且你把这一半答案弄错之后就固定不变,所以它没法靠反复看到同一个样本、有时是对答案有时是错答案来把错误平均掉。它每次看到那些样本中的一半时,答案永远是错的。于是训练数据有 50% 的错误率,可你用反向传播训练下去,它的错误率能降到 5% 甚至更低。换句话说,从标注很糟的数据里,它能得到好得多的结果。它能看出训练数据是错的。
聪明的学生之所以能比导师更聪明,也是这个道理。导师告诉他们一大堆东西,其中一半他们心想,胡说八道,另一半他们听进去了,最后他们比导师更聪明。所以这些大型神经网络确实能做到远远好过它们的训练数据,多数人没意识到这一点。
主持人: 那你预计这些模型会怎样把推理加进去?一种路子是在上面叠启发式方法,现在很多研究就是这么做的,比如思维链,把它的推理反馈回它自己。另一种是在模型内部,随着规模扩大自然出现。你的直觉是什么?
辛顿: 我的直觉是,随着我们把这些模型做大,它们的推理能力会变强。如果问人是怎么运作的,粗略地说,我们有直觉,也能做推理,而我们用推理来纠正直觉。当然,我们在推理的过程中也在使用直觉,但如果推理的结论跟直觉相冲突,我们就意识到直觉需要改。
这很像 AlphaGo 或 AlphaZero:你有一个评估函数,它看一眼棋盘,说这个局面对我有多好;然后你做蒙特卡洛推演,得到一个更准确的判断,于是你可以修正评估函数。你可以通过让它与推理的结果保持一致来训练它。我认为这些大语言模型必须开始这么做。它们必须开始训练自己关于“接下来该出现什么”的原始直觉,方式是去推理,然后发现直觉不对。这样它们就能得到比单纯模仿人类更多的训练数据。这恰恰就是 AlphaGo 能走出创造性的第 37 手的原因:它有多得多的训练数据,因为它是用推理去核验下一步究竟该走哪里的。
主持人: 你怎么看多模态?我们刚才谈到类比,而这些类比常常远远超出我们能看见的范围,它发现的类比远超人类,抽象层次可能是我们永远无法理解的。现在如果把图像、视频和声音引进来,你觉得这会怎样改变模型,又会怎样改变它能做出的类比?
辛顿: 我认为改变会很大。我认为它会在理解空间性的事物上强得多。举例来说,光靠语言,有些空间上的东西是相当难理解的,尽管 GPT-4 在还没有多模态之前就已经能做到这一点,这很了不起。但当你把它变成多模态,如果它既能看,又能伸手去抓东西,那么当它能把东西拿起来、翻过来看的时候,它对物体的理解会好得多。所以,虽然从语言里能学到极多的东西,但如果你是多模态的,学起来更容易,而且你需要的语言反而更少。另外,YouTube 上有海量视频可以用来预测下一帧之类。所以我认为多模态模型显然会成为主流:这样能拿到更多数据,需要的语言也更少。这里有一个真正的哲学层面的问题,就是你确实能只靠语言学出一个很好的模型,但从多模态系统里学要容易得多。
主持人: 你觉得这会怎样影响模型的推理?
辛顿: 我认为它在关于空间的推理上会强得多。比如推理“把物体拿起来会发生什么”,如果它真的去尝试拿起物体,就会得到各种各样有帮助的训练数据。
主持人: 你认为是人脑演化得适合语言,还是语言演化得适合人脑?
辛顿: 到底是语言演化来适应大脑,还是大脑演化来适应语言,我觉得这是个很好的问题。我认为两件事都发生了。我以前认为,很多认知活动根本不需要语言就能进行,现在我的看法有所改变。让我给出关于语言及其与认知关系的三种不同看法。
第一种是老派的符号主义看法:认知就是在某种清理干净、没有歧义的逻辑语言里持有一串串符号,并应用推理规则。认知就是这个,就是在类似语言符号串的东西上做符号操作。这是一个极端。
相反的极端是:不对,一旦进到脑袋里,全都是向量。符号进来,你把这些符号转换成大向量,里面所有的处理都用大向量完成;如果你要产生输出,再重新产生符号。大约 2014 年,机器翻译领域有那么一个阶段,人们用循环神经网络,词一个接一个进来,网络有一个隐藏状态,信息不断在这个隐藏状态里累积。到句子结束时,就有了一个捕捉了整句意思的大隐藏向量,然后可以拿它去生成另一种语言的句子。那个东西当时被称作“思想向量”(thought vector)。这是关于语言的第二种看法:你把语言转换成一个跟语言毫无相似之处的大向量,认知就发生在那里。
还有第三种看法,也是我现在相信的:你把这些符号转换成嵌入,并且用很多层来做,于是得到非常丰富的嵌入,但这些嵌入仍然是系在符号上的,也就是说,这个符号有一个大向量,那个符号有一个大向量,这些向量相互作用,产生出下一个词那个符号的向量。理解就是这么回事。理解就是知道怎么把符号转换成这些向量,以及知道向量的各个分量该怎样相互作用,才能预测出下一个符号的向量。在这些大语言模型里,理解是这样;在我们脑子里,理解也是这样。
这是一种居中的看法:你保留了符号,但你把它们解释为这些大向量。所有的功夫和所有的知识都在于你用什么向量、这些向量的元素如何相互作用,而不在符号规则里。但这并不是说你彻底摆脱了符号,而是说你把符号变成了大向量,同时仍然保留符号那层表面结构。这些模型就是这样运作的,而现在我觉得,这对人类思维来说也是个更可信的模型。
主持人: 你是最早想到用 GPU 的人之一,我知道黄仁勋为此很喜欢你。2009 年前后你跟他说过这可能是训练神经网络的好主意。带我们回到那个早期的直觉吧。
辛顿: 其实我想是大概 2006 年,我有个从前的研究生叫里克·塞利斯基(Rick Szeliski),一位非常出色的计算机视觉学者。我在一次会议上跟他聊天,他说,你应该考虑用图形处理卡,因为它们做矩阵乘法非常在行,而你做的事情基本上全是矩阵乘法。我琢磨了一阵,后来我们知道了有那种装了四块 GPU 的 Tesla 系统。一开始我们只是买了游戏显卡,发现速度快了 30 倍。接着我们买了一台装四块 GPU 的 Tesla 系统,用它做语音,效果非常好。
然后 2009 年我在 NIPS 上做了个报告,对着一千个机器学习研究者说:“你们都该去买英伟达的 GPU,它们就是未来,做机器学习需要它们。”后来我给英伟达发了封邮件,说:“我跟一千个机器学习研究者说了去买你们的板卡,能不能送我一块?”他们说不行。其实他们也没说不行,他们干脆没回。不过后来我把这个故事讲给黄仁勋听,他送了我一块。
主持人: 我觉得有意思的一点是,GPU 是跟这个领域一起演化过来的。你认为计算这一块接下来该往哪里走?
辛顿: 在谷歌的最后两年,我一直在想办法做模拟计算(analog computation),这样就不用消耗一兆瓦,而是像大脑那样用大约 30 瓦,把这些大语言模型跑在模拟硬件上。我一直没做成,不过我因此开始真正体会到数字计算的好处。
如果你要用那种低功耗的模拟计算,每一件硬件都会有一点不同,而思路是让学习去利用那件特定硬件的具体属性。人就是这样。我们每个人的大脑都不一样,所以我们没法把你大脑里的权重取出来放进我的大脑,硬件不同,单个神经元的精确属性也不同,而学习已经学会了去利用这一切。
从这个意义上说,我们是凡人(mortal):我大脑里的权重对任何别的大脑都没用,我死了,那些权重就作废了。我们只能相当低效地把信息从一个脑子传到另一个脑子,办法是我说出句子,你去琢磨该怎样改变你的权重,才会说出同样的话。这叫蒸馏(distillation),但作为一种传递知识的方式,它效率极低。
数字系统则是不朽的(immortal)。一旦你有了一组权重,你可以把计算机扔掉,把权重存到某盘磁带上,然后造另一台计算机,把同样的权重放进去。只要它是数字的,它就能算出跟原来那台系统完全一样的东西。所以数字系统之间可以共享权重,这效率高得不可思议。如果你有一大批数字系统,它们各自去学一点点,起点是同样的权重,各学一点点,然后再共享权重,它们就全都知道了其他所有系统学到的东西。我们做不到这一点。所以在共享知识这件事上,它们远远优于我们。
主持人: 这个领域用到的很多想法都是老派的想法,是神经科学里早就存在的东西。你觉得还有什么可以拿来用到我们造的系统上?
辛顿: 我们还得向神经科学补的一大课,是变化的时间尺度。几乎所有神经网络里,都只有一个快的时间尺度用于改变活动,输入进来,活动、嵌入向量全都变化;再有一个慢的时间尺度用于改变权重,那是长期学习。你就只有这两个时间尺度。
而在大脑里,权重变化的时间尺度有很多种。比方说,我说了一个出人意料的词,比如“黄瓜”,五分钟后你戴上耳机,里面噪声很大,词很轻微,那你识别出“黄瓜”这个词的能力会强得多,因为我五分钟前说过它。那么这份知识在大脑的什么地方?显然在突触的临时变化里。不是有神经元在那儿一直念叨“黄瓜、黄瓜、黄瓜”,你没有那么多神经元可用。它在权重的临时变化里。
用临时的权重变化,也就是我所说的快权重(fast weights),你能做很多事情。我们在这些神经模型里不这么做。不这么做的原因是,如果权重的临时变化取决于输入数据,你就没法同时处理一大批不同的样例。现在我们的做法是把一大堆不同的字符串堆叠在一起并行处理,因为那样就能做矩阵与矩阵的乘法,效率高得多。恰恰是这个效率考虑,挡住了我们使用快权重。可大脑显然在用快权重做临时记忆,用这种方式能做的很多事情,我们目前都没在做。我认为这是我们必须补上的最大的一课之一。我曾很寄望于 Graphcore 这类东西,如果它们走顺序处理、只做在线学习的路子,就能用上快权重。可到现在还没走通。我认为等到人们用电导来实现权重的时候,最终是会走通的。
主持人: 了解这些模型如何工作、以及大脑如何工作,对你的思考方式有什么影响?
辛顿: 我想有一个很大的影响,层次比较抽象:很多年里,人们对“弄一个大的随机神经网络,喂给它大量训练数据,它就能学会做复杂的事”这种想法极为不屑。你去问统计学家、语言学家或者人工智能界的大多数人,他们会说那是白日做梦,没有某种先天知识、没有大量的架构限制,你休想学会真正复杂的东西。结果证明这完全是错的。你可以拿一个大的随机神经网络,纯粹从数据里学到一大堆东西。所以,用随机梯度下降反复地依据梯度调整权重,就能学到东西,而且能学到又大又复杂的东西,这一点已经被这些大模型验证了。这是关于大脑的一件非常重要的认识:它不必带有全部这些先天结构。当然它显然有很多先天结构,但对于那些容易学会的东西,它肯定不需要先天结构。
所以,来自乔姆斯基的那个想法,认为像语言这样复杂的东西你学不会,除非它早就被接好线路、只等成熟展开,这个想法现在显然是胡说。
主持人: 我相信乔姆斯基会很欣赏你把他的想法称为胡说。
辛顿: 其实我觉得乔姆斯基很多政治见解都很在理。我一直觉得奇怪,一个在中东问题上有如此理智见解的人,怎么会在语言学上错得这么离谱。
主持人: 你觉得什么能让这些模型更有效地模拟人的意识?设想你有一个 AI 助理,你一辈子都在跟它说话,而它不像今天的 ChatGPT 那样每次都删掉对话记忆、从头开始,它有自我反思的能力。到了某个时刻你去世了,你把这件事告诉那个助理,你认为它……
辛顿: 我是说,不是我自己,是别人告诉那个助理。
主持人: 对,你自己确实不太好告诉它。你认为那个助理到那时会有感受吗?
辛顿: 会。我认为它们也可以有感受。我们对知觉有一套“内在剧场”的模型,我认为我们对感受也有一套内在剧场的模型:有些东西是我能体验而别人不能体验的。我认为这个模型同样是错的。
假设我说“我真想一拳打在加里鼻子上”,这种话我常说。让我们试着把它从内在剧场那套说法里剥出来。我真正在对你说的是:如果不是我的额叶发出抑制,我就会做出一个行动。所以当我们谈论感受时,我们其实是在谈论如果没有约束我们就会做出的行动。感受真正的所指,就是那些若无约束我们便会付诸实施的行动。所以我认为对感受也可以给出同一类解释,没有任何理由说这些东西不能有感受。
事实上,1973 年我就见过一个机器人有情绪。在爱丁堡有一台机器人,有两个像这样的夹爪,如果你把零件分开摆在一块绿色毛毡上,它能把一辆玩具车组装起来。可要是你把零件堆成一堆,它的视觉就不足以看清是什么情况了。于是它把两个夹爪并在一起,“砰”地一下打过去,把那堆零件打散,然后它就能把车装起来了。如果你在一个人身上看到这一幕,你会说他是在对这个局面发火,因为他搞不懂它,所以就把它毁了。
主持人: 这很深刻。我们上次交谈时,你把人和大语言模型都描述成类比机器。你这一生中找到过的最有力的类比是什么?
辛顿: 这一生里?我想,一个对我影响很大的、比较弱的类比,是宗教信仰与符号处理之间的类比。我很小的时候面对过这件事:我出身于一个无神论家庭,进了学校却撞上宗教信仰,我只觉得那是胡说八道,直到现在我仍然觉得那是胡说八道。后来我看到有人把符号处理当作人如何运作的解释,我觉得那是一模一样的胡说八道。
现在我不觉得它那么胡说了,因为我认为我们其实确实在做符号处理,只不过我们是通过给符号配上这些大嵌入向量来做的。我们确实在做符号处理,但完全不是人们原先设想的那种方式:那种方式里你去匹配符号,而一个符号唯一的属性就是它跟另一个符号相同或者不相同。这是符号唯一的属性。我们根本不那么干。我们利用上下文给符号赋予嵌入向量,然后利用这些嵌入向量各分量之间的相互作用来思考。
不过谷歌有位很优秀的研究者叫费尔南多·佩雷拉(Fernando Pereira),他说过:是的,我们确实有符号推理,而我们拥有的唯一的符号语言就是自然语言。自然语言是一种符号语言,我们用它来推理。我现在相信这个说法。
主持人: 你做出了计算机科学史上最有分量的一些研究。能讲讲你是怎么挑选该做的问题的吗?
辛顿: 先纠正你一下。是我和我的学生们做出了很多最有分量的东西,主要靠的是跟学生的良好合作,以及我挑到很好学生的本事。而这本事又来自一个事实:七十、八十、九十年代直到本世纪初,做神经网络的人非常少,所以这少数几个做神经网络的人得以挑到最好的学生。这纯属运气。
至于我挑问题的办法,基本上是这样。你知道,科学家谈自己怎么工作时,都有一套关于自己怎么工作的理论,而那套理论多半跟事实关系不大。我的理论是:我去找一件所有人都有共识、但让我觉得不对劲的事,就是有那么一丝直觉,觉得它哪里不对。然后我就琢磨这件事,看能不能把“我为什么觉得它不对”阐述清楚,也许还能写个小程序做个小演示,表明事情并不像你以为的那样运作。
我举个例子。多数人认为,如果你往神经网络里加噪声,它会变差。比如每次送一个训练样本进去,你让一半的神经元静默,效果会更糟。可实际上我们知道,你这么做它的泛化会更好,而且你能证明这一点。用一个简单的例子就能证明,这正是计算机模拟的好处:你可以摆出来给人看,你原以为加噪声会让它变糟,让一半神经元失活会让它变糟,短期内确实如此,但如果你就这么训练下去,最终它会更好。你能用一个小程序演示出来,然后再狠狠地想一想这是为什么,想清楚它是怎样阻止了大规模的复杂协同适应。这就是我的工作方法:找一件听起来可疑的事去做,看能不能给出一个简单的演示,说明它为什么是错的。
主持人: 现在有什么让你觉得可疑?
辛顿: 我们不用快权重,这件事就很可疑,我们只有那两个时间尺度,这是不对的,完全不像大脑。长远看,我认为我们必须有多得多的时间尺度。这就是一个例子。
主持人: 如果今天你带着一批学生,他们来问你我们之前提过的那个哈明式的问题:“你所在领域最重要的问题是什么?”你会建议他们接下来去做什么?我们谈过推理,谈过时间尺度。你会给出的最高优先级问题是什么?
辛顿: 对我来说,眼下还是我过去三十年一直在问的那个问题:大脑做反向传播吗?我相信大脑在获取梯度。如果你拿不到梯度,你的学习就比拿得到梯度差得多。但大脑是怎么拿到梯度的?它是在以某种方式实现反向传播的某个近似版本,还是在用一种完全不同的技术?这是个悬而未决的大问题。如果我继续做研究,我要做的就是这个。
主持人: 回看你的职业生涯,你在很多事情上都判断对了。但有什么是你判断错了、并且希望当初少花点时间的?
辛顿: 这是两个不同的问题。一个是“你在什么上错了”,另一个是“你是否希望当初少花点时间”。我认为我在玻尔兹曼机上错了,可我很庆幸自己在上面花了很长时间。作为一套关于如何获得梯度的理论,它比反向传播漂亮得多。反向传播平平无奇,很在理,不过是链式法则。玻尔兹曼机是巧妙的,是一条非常有意思的获取梯度的路。我很希望大脑就是那样工作的,但我认为它不是。
主持人: 你有没有花很多时间去想象这些系统发展起来之后会怎样?你有没有过这样的念头:如果我们能让这些系统真正好用,就能让教育普及化,让知识变得可及得多,还能解决医学上的一些难题?还是说对你来说更多是为了理解大脑?
辛顿: 我确实觉得科学家应该去做对社会有益的事情,但那并不是你做出最好研究的方式。你做出最好的研究,是在被好奇心驱动的时候,你就是非得把某样东西弄明白不可。最近这些年我意识到这些东西可能带来很多好处,也可能带来很多危害,我对它们将给社会造成的影响忧心得多了。但当初驱动我的不是这个。我只是想弄明白,大脑究竟怎么可能学会做这些事情。这是我想知道的。而我算是失败了。作为这次失败的副产品,我们得到了一些不错的工程成果,不过……
主持人: 对世界来说,这是一次很好的失败。
主持人: 如果从“可能会非常顺利”的那一面看,你认为最有前景的应用是什么?
辛顿: 医疗显然是一大块。在医疗上,社会能吸纳多少几乎没有上限。拿一个老年人来说,他可以让五个医生全职服务。所以,当人工智能在某些事情上做得比人好时,你希望它变强的领域,是那些你巴不得能多来一些的领域。而我们确实巴不得有多得多的医生。如果每个人都有三个自己的医生,那太好了,而我们正会走到那一步。这是医疗之所以是好方向的一个原因。
另外还有全新的工程领域,比如开发新材料,用于更好的太阳能板,或者用于超导,或者只是为了搞清楚身体是怎么运作的。那些方面会有巨大的影响。这些都会是好事。我担心的是坏人拿它去干坏事。我们已经为普京、习或者特朗普这样的人提供了便利,让他们可以把人工智能用于杀人机器人,用于操纵公众舆论,用于大规模监控。这些都非常令人忧虑。
主持人: 你会不会担心,让这个领域慢下来,也会把好的那一面一起拖慢?
辛顿: 当然会。而且我认为这个领域慢下来的可能性不大,部分原因是它是跨国的:一个国家慢下来,别的国家不会跟着慢。中美之间显然有一场竞速,两边都不会减速。所以我不觉得会慢下来。当时有那封请愿书说我们应该暂停六个月,我没有签,只是因为我认为那根本不会发生。也许我应该签,因为哪怕它不会发生,它也表明了一个政治态度。要一些你明知要不到的东西,仅仅为了表明态度,往往是件好事。但我当时并不认为我们会慢下来。
主持人: 你觉得有了这些助手之后,人工智能的研究过程会受到什么影响?
辛顿: 我觉得效率会高很多。当你有了这些助手帮你写程序,还能帮你把事情想清楚,很可能在方程式上也帮你不少忙,人工智能研究的效率会大大提高。
主持人: 你对如何挑选人才想得多吗?还是基本上靠直觉?比如伊利亚出现在门口,你感觉这人聪明,那就一起干?
辛顿: 挑人才这件事,有时候你就是知道。跟伊利亚没聊多久,他就显得非常聪明;再多聊一点,他显然非常聪明,而且直觉极好,数学也好。所以那根本不用想。
还有一次,我在 NIPS 会议上,我们有一张海报,有个人过来开始就海报提问,而他问的每一个问题,都是对我们哪里做错了的深刻洞察。五分钟之后我就给了他一个博士后职位。那个人是大卫·麦凯(David MacKay),才华横溢,他去世了,很令人难过,但当时非常明显,你就是想要他。
也有些时候没那么明显。我学到的一件事是,人是不一样的。好学生不止一种类型。有些学生不那么有创造力,但技术上极强,什么东西都能给你做成;有些学生技术不强,但极有创造力。当然你想要两样都行的,但你不总能碰上。我觉得实验室里其实需要各种不同类型的研究生。不过我还是靠我的直觉:有时候你跟某个人一聊,他就是非常非常那个,他就是通透,那些就是你想要的人。
主持人: 你觉得有些人直觉更好,原因是什么?是他们的训练数据更好吗?直觉又该怎么培养?
辛顿: 我想一部分原因是他们不容忍胡说八道。这里有一条把直觉搞坏的路子:别人说什么你都信。那是致命的。我想有些人是这么做的:他们有一整套理解现实的框架,别人跟他们说一件事,他们会去琢磨这件事怎么装进自己的框架;如果装不进去,他们就干脆拒绝它。这是个很好的策略。那些试图把听到的一切都吸纳进来的人,最后会得到一个非常模糊的框架,什么都能信,那就没用了。
所以我认为,对世界有一套强硬的看法,并试图把进来的事实拿捏成符合你看法的样子,这确实可能把你引向极深的宗教信仰和致命的谬误,比如我对玻尔兹曼机的执念,但我认为这仍然是该走的路。如果你有值得信赖的好直觉,你就应该信它;如果你的直觉很糟,那你怎么做都无所谓,那还不如信它。
主持人: 说得非常好。看今天正在做的这些研究,你觉得我们是不是把鸡蛋都放在一个篮子里,应该把想法再分散一些?还是说这就是最有前景的方向,我们该全押?
辛顿: 我认为,做大模型、用多模态数据训练它们,哪怕训练目标只是预测下一个词,这条路前景好到我们几乎应该全押。显然现在做这件事的人非常非常多,也有很多人在做看起来疯疯癫癫的事,这很好。但我觉得大多数人沿着这条路走没有问题,因为它效果非常好。
主持人: 你认为学习算法真的那么要紧吗,还是说这更多是个规模问题?通往人类水平的智能,是有成百万上千万条路,还是只有少数几条我们必须发现的路?
辛顿: 关于特定的学习算法是否极其重要,还是说有五花八门的学习算法都能把活干成,这个问题我不知道答案。不过在我看来,反向传播在某种意义上是正确的做法:获取梯度,据此改变参数让系统变得更好,这看上去就是该做的事,而且它成功得惊人。很可能还有别的学习算法,它们是获得同一个梯度的另一些途径,或者是在获取关于别的东西的梯度,而它们同样管用。我认为这都还是开放的,是个非常有意思的问题:是不是还有别的东西你可以试着去最大化,同样能得到好系统?也许大脑就在做那种事,因为那样更容易。但反向传播在某种意义上是正确的做法,而且我们知道,这么做效果非常好。
主持人: 最后一个问题。回望你数十年的研究,你最引以为豪的是什么?是学生,还是研究?回望你一生的工作,什么最让你自豪?
辛顿: 玻尔兹曼机的学习算法。玻尔兹曼机的学习算法漂亮得优雅,在实践中也许毫无希望,但那是我做起来最享受的东西,是我和特里一起搞出来的,也是我最引以为豪的。哪怕它是错的。
主持人: 你现在把大部分时间花在思考什么问题上?是那个……
辛顿: “我该在 Netflix 上看点什么?”
Hinton 回顾自己从研究大脑到深度学习的学术生涯,核心论点是:大语言模型的"预测下一个词"实质上就是理解与推理,规模而非新想法是主要驱动力,数字系统凭借权重共享在知识传递上远超人类,而神经网络仍缺少大脑的"快权重"多时间尺度机制。
来自隐马尔可夫模型。彼得·布朗(Peter Brown)作为大龄博士生到卡内基梅隆,教了Hinton语音识别和隐马尔可夫模型,那时Hinton正在做带中间层的反向传播,这些层还没有名字。Hinton觉得HMM里用「hidden」来指代那些你不知道它们在干什么的变量非常贴切,于是他和布朗一起决定用这个词命名神经网络的中间层。这段出现在早期合作的回忆部分,他还补了一句「我从他那里学到的比他从我这里学到的多」。
Ilya说自己看懂了链式法则,但不明白为什么不把梯度交给一个像样的函数优化器。Hinton原本以为他没读懂而感到失望,听到真实问题后才意识到这是超前的提问——这个问题Hinton自己也花了好几年才想明白。它出现在Ilya敲门那一段,是Hinton用来说明「原始直觉好」的第一个具体证据,也预示了后来关于优化算法的长期研究。
训练一个识别手写数字的网络,把一半样本的标签改成错的,并且固定不变——同一个样本每次出现答案都是那个错的,而不是时对时错。这个设计排除了「模型靠多次看到同一样本把噪声平均掉」的解释。结果是训练数据错误率50%,用反向传播训练后测试错误率降到5%甚至更低。Hinton用它类比聪明学生:对导师说的一半内容判断为胡扯,只听另一半,最后超过导师。
第一种是老派符号主义:认知就是在无歧义的逻辑语言上操作符号串并应用推理规则。第二种是「思想向量」:符号进入大脑后全部转成大向量,处理完再输出符号,代表是2014年前后用循环网络做机器翻译时的整句隐向量。第三种是他现在相信的折中立场:保留符号的表层结构,但把每个符号转成多层嵌入向量,让向量之间的交互预测下一个符号的向量——理解就等于这套转换与交互,人脑和大模型都是如此。
因为预测任务的难度决定了它必须内化理解。他先区分了老式自动补全:那种做法是存词的三元共现频率,看到两个词就统计第三个词出现的概率。但如果你问一个问题,答案的第一个词就是要预测的下一个符号,模型必须先理解问题才能预测对。所以让它预测下一个符号,等于在逼它理解。他进一步说,人也是这样学习的——预测下一帧画面、下一个声音,因此这不是模型独有的低级机制。
它是从「压缩」推向「创造力」的枢纽。GPT-4能指出两者能量尺度和时间尺度都不同,但共同点是自加速的链式反应。Hinton的推论是:模型之所以要找共同结构,是因为用共同结构编码信息更省权重,也就是压缩需求本身在推动它发现类比。既然它在这一个例子上做到了,它就会在几百上千个人类尚未看出类比的地方做到。而创造力恰恰被定义为看出表面上很不同的事物之间的类比,所以他断言模型变大后会比人更有创造力。
因为知识复制的带宽差了好几个数量级。人是「有死的」:学习会利用个体大脑硬件的具体特性,我的权重放进你的大脑没有意义,我死了权重就作废;人际传递只能靠我说句子、你调整自己的权重去逼近,他把这称为蒸馏,效率极低。数字系统是「不死的」:权重可以存起来、换台机器装回去、算出完全相同的结果。因此一大批数字系统可以各学一点再共享权重,每个都立刻获得其他所有系统学到的东西。这段紧接在他放弃模拟计算研究之后,是那次失败反过来带来的认识。
理由是工程效率而非科学原理。快权重意味着权重会随输入数据发生临时改变,而当前训练把大量不同样本堆叠成一批并行处理、做矩阵乘法,这要求同一批样本共享同一套权重。两者直接冲突,所以是效率约束挡住了快权重。Hinton明确说大脑显然在用快权重做临时记忆(「黄瓜」的启动效应就存在于突触的临时变化里),并把它列为最该向神经科学补的一课。他也提到曾寄望于Graphcore这类走串行、在线学习路线的芯片,但尚未成功。
方法是:找一个大家已达成共识、但你隐隐觉得不对劲的地方,把「为什么觉得不对」阐述清楚,最好用一个小程序做出反例演示。他举的例子是Dropout——大家以为加噪声、随机让一半神经元静默会变差,短期确实如此,但长期训练泛化更好,因为它阻止了神经元之间的复杂协同适应。有意思的是这套方法也有代价:他对玻尔兹曼机的强直觉最终被判定为错的,而他在谈直觉养成时正是拿这件事当作「强框架可能把你带进死胡同」的自证。
他会回应说被回避的那个问题本身建立在一个错误模型上。他明确说,我们对感知有一套「内在剧场」模型——好像存在一个只有自己能看见的私密舞台——而对感受也套用了同一个模型,这个模型两处都错。所以「主观体验」不是一个待解释的额外事实,而是一种需要被拆掉的说法。他给的替换是行为倾向:说「我想一拳打在Gary鼻子上」,真正说的是「要不是前额叶的抑制,我就会做出那个动作」。他还用1973年爱丁堡那台把零件堆打散的机器人作为功能等价的例证。批评者仍可反驳这只是取消了问题而非解决它,但这正是片中他的立场。
部分成立,但条件不同。Hinton实验里的错误是随机加在样本上的、与正确模式无关的噪声,模型能靠数据中占优的真实规律把它压过去,这也是他说「学生能超过导师」的机制。而AI生成数据的错误往往是系统性的、与模型自身偏差同向的——错在同一个方向上就不再是可被平均或压制的噪声,反而会被强化。片中真正对应这一场景的其实是另一条论证:AlphaGo靠自我对弈超越人类,前提是围棋有胜负这一外部真值可以校验推理结果。Hinton也正是说语言模型要用推理去检验并修正自己的直觉,才能获得比模仿人类更多的训练数据。所以关键变量是有没有独立的校验信号,而不是数据是谁生成的。