约翰·霍普菲尔德:心智的物理学视角与神经生物学
John Hopfield: Physics View of the Mind and Neurobiology
物理学家谈神经网络与记忆的物理模型、大脑的计算方式,以及物理与生物的交汇。
2001 年 6 月,泰晤士河上那座新落成的千禧桥开放三天就关了。人走上去,桥会横向摇晃。
桥没有塌,摇晃的幅度也不像要塌的样子。它摆得更像有人推秋千:一次比一次大,走到后来行人得扶住栏杆。三天后桥关了,一关两年。
事后的解释是这样。行人走路的步频在 2 赫兹上下,桥的横向自振频率差不多也是这个值。人走路时重心除了前后移动,还会左右摆。工程师设计时只算了前后方向,桥的强度够了,横向刚度不够。桥一开始晃,行人本能地想稳住自己,脚步不自觉跟桥的节奏对齐,给桥的推力于是更整齐,桥晃得更凶。
约翰·霍普菲尔德(John Hopfield)在播客里讲这个故事,讲到一半就拐到了神经系统上。
神经细胞产生动作电位。一群频率相近、彼此松散耦合的细胞放在一起,某些条件下相位会锁死,所有人一起放电;另一些条件下锁不上。而一旦它们同步放电,周围的细胞一定会注意到。在一颗正在演化中的大脑那里,这件事本身就能拿来当计算用。
生命系统里那些看起来像缺陷的东西,是可以变成特征的。(约翰·霍普菲尔德)
他说完停了一下,接着说:现在绝大多数人工神经网络,连动作电位都没有,更别提让它们同步。
复制一份,然后让两份漂开
他举了分子层面的例子。
一段 DNA 编码一个特定的蛋白质。这段 DNA 可以被复制一份。复制完之后,其中一份继续干原来的活,另一份可以自己慢慢变化,编码出一个略有不同的分子。如果这个新分子碰巧帮上了某个对细胞要紧的化学反应,演化就会开始改进它。于是你得到一种能力:复制,然后让两份漂移开,一份守住旧功能,另一份去试新的。
莱克斯·弗里德曼(Lex Fridman)把话题引到公司上。霍普菲尔德说,是啊,公司也这样,关门、开业,时间尺度短一些,也短不了多少,有些公司能活一个世纪。他提到 IBM 造第一台 PC 时成立了一个隔离的内部小组,那是 IBM 历史上第一次不坚持用自家元件。要进一个完全不同的市场,得把整套文化换掉。
然后他补了一句:生物学找新市场的方式,比这更有适应性。
芯片是平的,大脑是立体的
他把人工神经网络缺的东西归结到一件很物理的事情上:结构。
计算机芯片基本是二维的,勉强算 2.1 维。它做不好三维布线。大脑不长这样。新皮层是片状的,铺在白质上面,白质的体积大约是灰质的十倍,里面全是所谓的"线"。
结构决定什么容易、什么极难。生物学让一些事变得极其容易,而那些事从计算角度看,难到不知道怎么下手。反过来,它做不了简单的浮点运算,那对它来说蠢得没法用。
他提到婴儿期。那段时间大脑里既有疯狂的细胞增殖,也有最剧烈的细胞死亡。用不上的、接得不够好的连接会被清掉。这是一套筛选机制,并非一次性的设计。
教了一辈子书,"理解"这个词他还是没定义清楚
霍普菲尔德的父母都是物理学家。他说自己从中真正得到的,是一种感觉:世界是个可以被理解的地方。做得够多的实验,想清楚它们意味着什么,把东西组织成能做数学的形式,你就应该能明白它怎么运作。
但他教大一物理的时候遇到麻烦。他不想让学生背下一堆例题,看到题就知道该写哪个公式去生成答案。他想让学生真的"理解"牛顿定律,看到某个情境就能说,这个球应该走那条轨迹。
对这个"理解",我心里有个模糊的想法,可我不知道该怎么把它表达好,我一辈子都没搞清楚该怎么表达它。(约翰·霍普菲尔德)
他说这个问题在前馈神经网络面前撞得头破血流。这些网络做出了惊人的事,可里面没有一丝一毫他心目中的"理解"。
理解远远不止一张巨大的查找表。(约翰·霍普菲尔德)
弗里德曼追问:如果这张表足够大呢?
霍普菲尔德没接这个话头,他绕到了反馈和脑电节律上。问一个神经外科医生,什么时候算一个人死了?答案大概会是:看脑电节律,这一颗是再也回不来的,那一颗好好处理还有救。做这个判断靠的是电极读到的简单电学图样,压根不去看单个神经元在干什么。
这些节律,在 Google 的任何一台机器里都不存在。
弗里德曼说,这有点像拿世界顶级钢琴家和一个刚学琴的孩子比。霍普菲尔德说,可他们都在弹钢琴。
AI 撞一次墙,神经生物学递一块砖,然后再撞
被问到两边会不会有一天接上,霍普菲尔德的判断是,这会一代一代循环下去。
模式大致是这样:人工智能和计算机科学这边说,这就是我们当下对神经生物学的模型,先假装它够用,把能做的做尽。做出一堆有意思的东西。做一阵子之后,撞进沙子里动不了了。然后有人回头说,神经生物学那边还得要点别的东西。再然后某个更大的东西出现,又能往前走很远。接着再撞一次。
他说他也不知道这个循环要走多少代。每一代都会比上一代更接近大脑实际在做的事,也能在更大范围上越过图灵测试这类标尺。
有意思的是,这个循环在神经生物学内部已经演过一遍。
霍普菲尔德刚对这个领域感兴趣的时候,绝大多数从业者相信,只记录单个细胞就能理解神经生物学。大卫·休伯尔(David Hubel)是这种观点的强力代表。后来一两代人把这个看法整个推翻了:不做到同时记录一万到十万个细胞,就别谈理解大脑怎么工作。
霍普菲尔德说,大方向上这是对的。你得能看到集体模式。这些模式落在整组细胞的集体属性上,跟某一个动作电位、某一个细胞无关。问题是,要多少个。
六个高精度电机,还是十万根肌肉纤维
他举了运动皮层。运动皮层做的事很复杂,可你要研究的问题本身相对简单。神经生物学的做法和工程师的做法完全不同:工程师会在一条肢体上装六个高精度步进电机,神经生物学用的是十万根肌肉纤维,每一根都得单独控制。
理解怎么用一种宽容得多的、更像神经的方式去完成一件事,我觉得对工程界是有好处的。(约翰·霍普菲尔德)
他的建议很具体。别铺一整片几万个压力传感器,每一个都不太准,每一个都在没完没了地自我校准。装一两个,然后用一套容错的方式去用它们。
弗里德曼追问:那样的话,物理学家不就永远失业了吗?那么大、那么乱的系统里,哪还有什么简单的基本原理可挖。
霍普菲尔德不接受这个说法。他拿纳维-斯托克斯方程打比方。非线性流体力学的方程里有大量物理,原子和分子的物理全都不见了,被另一组方程取代,而那组方程跟底层方程一样真。
问题在于,这类方程在一般生物学里会难找得多。但作为物理学家的那个我坚持认为,大概存在某种这样的方程,它们就在那儿。(约翰·霍普菲尔德)
如果物理学还能对这个领域有贡献,可能就贡献在找这类方程上,以及贡献在弄清怎么从生物学里把它们提取出来。
他把这称作一个尚未解决的开放问题。分子在这头,心理行为在那头,中间隔着好几层集体性。要抓住的是这些层与层之间怎么接起来,而不必从头算。
两种学习,他只愿意研究其中一种
被问到最漂亮的东西,霍普菲尔德的回答几乎脱口而出:适应就是一切。
但适应有两种。一种发生在代际之间,靠演化时间。另一种发生在单个个体的一生之内,靠这个人从环境里学。生物学两种都有。让神经生物学变得困难的正是这一点:它是一套建立在演化系统之上的、像数学系统一样的东西。
他讲这两种学习时的态度差别很大。
演化让他敬畏。他接着说,那是个黑洞,他看不出从哪里下手,所以一点工作的兴趣都没有。
我看不到演化过程在眼前发生。我对它心怀敬畏,但我没法对它产生研究的兴趣。(约翰·霍普菲尔德)
人能撬开的是"一生"这个时间尺度。发育神经生物学就在这个尺度上,看连接和结构怎么从基因加三维构建这两件事里长出来,也看那最初几天几个月里发生了什么。
身体散了以后
访谈里有个转折,弗里德曼问他自己怎么看待死亡,因为他研究的是心智这个机制。
霍普菲尔德的回答很直接。年纪大了,身体以各种方式散架,他越来越清楚地意识到,一个人是什么,装在脑子里,不装在你操心怎么埋葬的那具身体里。
有一部分的确能留下来。写过东西的人,方程、笔记、日记,这些碎片会在他死后继续活着。他说他这辈子正在经历一场深刻的转变:他父亲过世时,除了亲手写下的那些东西,关于这个人的事实几乎没有被记录过。而现在,每一个普通人的大量事实都会被数字世界永久记下来。
所以什么是死亡这个问题,对上一代人和对下一代人,答案可能不一样。按某些定义,我们某种程度上已经不朽了。(约翰·霍普菲尔德)
这个判断出自一个研究联想记忆的人嘴里,别有意味。他造的那类网络,本质上就是让部分信息能唤起整体。他说的"留下来"也是同一回事:留下足够多的锚点,别人就能重建出一部分你。
意义这个词,和"理解"一样滑
被问到生命的意义,他先说这个词滑得像"理解"。
然后他讲到活着的系统有多难定义。一个氢原子和另一个氢原子基本一样。两个同种细菌就不太一样了,同名义物种之内的差异大到超出直觉。什么算物种这个概念本身开始模糊。物种离开特定环境还存不存在,又是个问题。
再往下推,整片生物圈都是活的,可你要问其中哪一块单独拿出来能叫"活",他自己都觉得说不清。
所以"意义"这种东西,可能是像有意识的生物这样的个体才拥有的。而你在说,这一切都以某种方式互联,可能连个体都不存在。(莱克斯·弗里德曼)
霍普菲尔德接了一句更狠的:人说新皮层是思考的地方,可大量工作在脊髓上完成。思考的本质在哪?不可能只在新皮层。
想理解思想、想造出思想,你可能得连着新皮层一起把整个宇宙造出来。
提起一个腰不好的认知科学家
话题转到他自己的工作。
联想记忆是什么?他举了个例子。你对每个朋友都有一堆记忆:长什么样、声音什么样、哪上的大学、在哪儿认识的、写过什么论文,一直列下去。现在有人开始描述,一个五英尺十英寸高、做认知科学、腰很不好的家伙。用不了多久你就知道,他在讲杰夫·辛顿(Jeff Hinton)。
整个过程里没人提名字。
几个和某个人绑定的事实,就足以让你抓住其余事实里的一个子集。这种把东西连起来、把经历连起来的能力,就叫联想记忆。霍普菲尔德对它的评价比大多数人想的都要高:
在我看来,智能行为里有很大一部分,其实就是大型联想记忆在运转。(约翰·霍普菲尔德)
他四十年前做的东西是个粗糙的物理模型。粗糙是有意的,为的是让他自己那种物理学家的"理解"能站住:你可以说,哦,我明白它为什么跑到稳定态去了,就跟东西往山下滚一样。有了这个,你就能用物理的语言思考,而不只靠数学符号。
具体机制是这样。把系统看成一个在高维空间里运动的点。存在某些路径,别的路径会往它们上面收敛。这类网络叫吸引子网络。吸引子的意思是,从附近任意一点出发,轨迹最终都落到同一条线上去。
怎么在高维空间里实现收缩?这里有道经典的限制。刘维尔定理说,相空间里处处收缩是不可能的。这儿缩,那儿就得胀。有意思的驱动物理系统总是这样处理:取一小块子系统当"有意思的部分",让它收缩,剩下的那部分负责膨胀,物理学家管这个叫熵流。
收缩带来稳定。稳定带来稳定的计算和稳定的行为。
关键的数学工具叫李雅普诺夫函数。有这个东西的系统,你不必把动力学细节全跟一遍,就能判断它会往哪去。霍普菲尔德说他在八十年代初做那个简单模型时,压根不知道李雅普诺夫函数叫什么,他只知道那是个能量函数。
从山顶放一颗球,它会停在某个谷底。你用不着盯着它滚,也能知道这件事。
这套"能量地形"的图景顺带解释了误差校正。纠正错误可以理解成一条河谷:计算沿着谷底走,被石头推偏了一点,水会自己回到河道里。即使中间每一步执行得都不完美,最后也能到同一个答案。
他说得很清楚,没有谷底的纠错方案也存在,数学家能懂,他不懂。他懂的是有谷底的那种。
这个模型没告诉你东西是怎么学会的
弗里德曼几次想把这套东西升格成"关于学习的洞见",霍普菲尔德每次都把他按回去。
它没给出关于学习的洞见。它给出的是,一个已经学成的系统可以怎样表达。它没有描述一个合理的、真正把东西学下来的过程。(约翰·霍普菲尔德)
这句话分量很重。被问了三十多年 Hopfield 网络的人,本人一再强调这个模型的边界:它说的是"假如这些连接已经以某种方式学好了,现在你放半个图案进去,另一半会自动补全,为什么?因为物理"。那套连接最初怎么形成的,它一个字没讲。
真正把学习装进去的是玻尔兹曼机,辛顿和特里·谢诺夫斯基(Terry Sejnowski)的工作。霍普菲尔德对它有个评价:这是最长寿的学习系统之一,而它本质上是个反馈网络,学习的内容是一组物理哈密顿量或者能量函数的参数。他说辛顿一遍又一遍回到玻尔兹曼机的变体上,这件事一直让他觉得有趣,因为一个带反馈、带概率的东西,在计算和物理两边都是漂亮的封装。
从这里他引出一个对当下深度学习的判断。他不认为大脑有最深那些网络那么深。他怀疑,计算机科学里那种深度,有一部分是被逼出来的:机器上最容易实现的学习是前馈的,所以只能靠堆深度来补。
如果真是这样,问题就变成了:生物系统里既有前馈又有反馈,它会不会被一个神经元多得多、但层层堆叠的系统给近似掉了?反馈的动力学,会不会比神经元数量和深度更关键?
他的比喻是,没有反馈,就像造了一台大计算机,只让它跑一个时钟周期,然后必须重新加载输入才能干下一件事。而人可以闭上眼睛,不听对方说话,在脑子里摆弄一个棋盘两分钟,一点外部输入都没有。
那种记忆的东西,从根本上就是反馈机制。(约翰·霍普菲尔德)
意识是给自己讲的故事
反馈绕不开意识,他承认这一点,但他说很难内省,更别说研究。他这些年偶尔对意识感兴趣,就去问比他强的人怎么看,收集观点。
马文·明斯基(Marvin Minsky)的看法是,意识基本被高估了,它可能只是个副现象。你做的那些难的运算,全在无意识里完成。证据多得很:甚至很简单的动作,你已经决定了,神经生物学家能在你自己意识到之前看出你已经决定要把手往左移。意识像蛋糕上的糖霜,真正的蛋糕在下面。
尼可拉斯·查特(Nick Chater)写过一本《心智是平的》(The Mind Is Flat)。霍普菲尔德拿神经网络来类比这个"平"字:可能是一张很宽、没有深度的网。他顺着明斯基往下推,如果把明斯基逼急了,他大概会说,意识是你为了向自己解释你早就做完的事而付出的努力。
它是围绕那些已经替你算好的东西,编织出来的一段叙事。(莱克斯·弗里德曼)
霍普菲尔德说,对,我们对事件的记忆有大量这种情况。你目睹一件创伤性事件,真正准确记下的没几条。有人问你,你会围绕这几个正确的锚点,加上一般常识,编出一段细节丰富得多的叙事。一旦这段叙事被生成出来,你极可能反复复述它,并且坚称里面每一条都是真的。
他举了约翰·迪恩(John Dean)的例子。水门事件时期,迪恩是尼克松的私人律师,卷入掩盖行动,后来意识到不交代就等着坐很久的牢。他作证时表现惊人,能极其详细地复述一次次谈话,非常有说服力。多年后秘密录音带公开,人们发现迪恩的记忆是好的,但没到非凡的程度。他真正有的能力是,把当时的气氛生动而大体准确地画出来。
弗里德曼说,这本身就是对意识的一个漂亮描述。霍普菲尔德没反对。
问到他自己站哪边,他说还在收集观点。他见过弗朗西斯·克里克(Francis Crick)一次,问起意识,克里克立刻开始长篇讲孟德尔和豌豆。孟德尔知道有些东西在遗传里,而且那种东西不溶于灰色、是这个或那个、会传递下去,这对生物学是根本性的。生物学家花了好几代才明白有遗传学这回事,又花了一两代才明白它来自 DNA。可孟德尔之后不久,会思考的生物学家就已经意识到遗传里有个深层问题。
克里克想说的是,这就是我在做意识的原因。霍普菲尔德指出,克里克手里没有孟德尔那样的确凿信号。这正是他立场薄弱的地方。克里克和克里斯托夫·科赫(Christoph Koch)合写的那本书,他觉得不够有说服力,原因就在于缺那个信号。
他自己为什么不站队:他还没看到进入点。在神经生物学里,一旦他理解了集体现象、理解了可以被描述为集体行为的动力学演化,他就觉得,我懂的那套物理和任何一个神经生物学家懂的东西差得这么远,我大概能往里添点东西。从物理学看意识,现在没有任何可以抓的地方。
自由意志是紧挨着的另一个问题。他说物理学家会随口给一个答案,然后一路后退,因为发现刚说的那个答案必然和物理定律冲突。
但这里他划了一条界线,划得很干脆。量子力学不必扯进来。
在我看来,大脑的谜属于这样一种性质:一个被驱动的动力系统,手里有一亿亿个部件,会发生什么。这种复杂性的物理,至少和量子力学里的相位相干一样,都没被搞明白。(约翰·霍普菲尔德)
街上滚过来一个球
如果有个眼睛里带着光的年轻人跑来,说想用神经网络造出会思考的系统,他会给什么建议。
他的第一条批评是:简单的网络撑不住多个假设并存。
他理解中的思考,核心是在采取物理行动之前先做心理上的探路。就是刚才说的闭眼在脑子里摆棋盘。前馈网络做这件事的方式是把所有情况预先算好。他认为神经生物学不这么干,它手里有一套动力学系统,探路是真的在系统里跑一遍。这里面有创造的成分。
而在简单网络里,你有的是一堆学过的实例构成的空间。如果新问题落在这个空间内部,网络能给出不错的建议。如果这个问题来自空间之外,它的行为没有任何约束,什么都有可能发生。
在人工神经网络这个世界里,前提永远是我有一堆样本,测试集必须从同一个分布里抽。如果测试集来自完全不同的分布,你没道理指望它答对。(约翰·霍普菲尔德)
这就是所谓的分布外。
他举了个场景。黄昏时分,一个球从街对面滚过来。假如这不在训练集里,"后面可能跟着个孩子"这个念头不会出现在网络里。而人的生物性里有某种东西会让这个念头出现。
接下来他说的话,把整场对话又拽回"理解"那个词上。训练集这个分布,不只是那堆样本的集合,它背后还有别的东西。那个别的东西,正是他一直想问的:理解一件事到底是什么。
皮布尔斯不啃大数据
弗里德曼问演绎推理在科学里的位置。
霍普菲尔德承认,有些科学问题的答案确实只能靠分析海量数据拿到,宇宙学就是。这类问题从来不是他有洞见的那一类。然后他补了个例子:今年诺贝尔物理学奖得主之一吉姆·皮布尔斯(Jim Peebles)就在隔壁系。皮布尔斯干的事,从来是自己不去啃大数据,他用的是别人工作被压缩后的结果,最终归结为把问题想透,想清楚一个现象在什么原理下运作。
物理学会一直寻找那种能越过细节去描述系统的方式。死硬派生物学家认为生物学之所以成立就在细节里。物理学家想要的是一个"不管细节怎样都成立"的解释。他也承认,有些问题的答案注定无法用这种方式找到。
那辆在 45 英里上抖轮子的道奇
霍普菲尔德讲了他第一辆车。1936 年的道奇,基本是堆废铁。开到 45 英里每小时以上,轮子就开始抖。
没人设计成这样。这就是车在出故障。
换到生物学里,如果"什么时候超过 45 英里"这个信息对你有用,演化会直接把这个抖动抓过来当传感器用,而且完全不关心它是怎么来的。
要让这种发生在大规模复杂网络里的事情真正被用于计算,还得等很长时间。(约翰·霍普菲尔德)
他接着说,你笔记本里现在有多少个晶体管?数量级是百亿。所有晶体管都差不多。而物理系统里只要有这么多相似的部件,几乎必然会出现集体属性。空气里的声波,地震,天气,都是。
而在今天的人工智能里,没有一个集体属性被用上了。
如果生物学用上了,那就还要好几代人去挖,去看它们怎么被用、意味着什么。弗里德曼说,那我们可能得反复回到神经生物学,把我们的晶体管弄得更乱一点。霍普菲尔德说,对,同时那些简单的方案也会拿下很大一块地盘。
他自己承认,最让他意外的事情之一是,学习系统明明跟生物一点关系都没有,却能这么有用。
回到千禧桥
整场对话的结构很像他自己描述的那种动力学。开头是桥在晃,行人不自觉同步,一个纯粹的相变问题。中段是一颗球从山顶滚到谷底,是高维空间里的吸引子。结尾是一辆 1936 年的道奇在 45 英里时速上抖轮子。
三件事的共同点是:系统里有大量相似的部件,集体行为既不出自哪个部件的设计,也没法靠拆开某个部件理解。
桥的设计师算错了方向,行人的本能把这个错误放大成一场相变。球的轨迹不用盯着看也知道终点。抖动的车轮如果对某件事有用,演化就会留着它,还会把它磨得更灵。
他七十年代从物理学转进生物学,八十年代做出那个以他命名的网络,之后又把注意力转回真实的神经生物学,反复提醒别人(也提醒自己)那个模型没解释学习。他 2018 年那篇文章就叫《现在呢?》(Now What?)。他在里面写,自己科学上的成就多半来自问这个问题,然后往往以一次大转向作为回答。
文章末尾还有一句:专家擅长回答问题。如果你够胆,就问自己的问题,别太在意你是怎么找到它的。
可以试的几件事
- 重读自己领域里被反复引用的那个经典模型时,专门去找作者本人后来写的"这个模型没解决什么"。Hopfield 网络被引用了三十多年,而霍普菲尔德本人一再强调它不解释学习怎么发生。作者的自评比二手综述诚实得多。
- 做模型评估时,除了标准测试集,另外构造一组明显脱离训练分布的样本单独跑。霍普菲尔德给的判据很朴素:新情况如果不在你的样本总体里,系统行为就没有任何约束,别指望它给出合理反应。
- 如果你的系统是纯前馈的,问一句:这套能力里有多少是靠预先算好所有情况换来的?试着加一层状态循环,让它能在没有新输入时继续在内部演变几秒,看输出会不会变。
- 做硬件和机器人时,考虑用少数不精确、会自我校准、彼此冗余的传感器,替换掉"一两个高精度传感器加精密控制环"的做法,让整个系统靠容错收敛,不必每一步都算准。神经系统就是这么处理十万根肌肉纤维的。
- 读一点动力系统的语言,尤其是相空间、吸引子、李雅普诺夫函数这几个概念。它们的好处在于给你一套看图的方式:知道球一定会落到某个谷底,就不必把滚动全过程模拟一遍。
- 碰到一个看着像 bug 的行为,先问它在这个系统里有没有可能被当成信号用。生物学里大量特性都是这么来的,工程系统里通常直接把它修掉了。
- 每完成一个项目,把"现在呢"当成一个必须回答的问题写下来。他一生里几次重要转向,都是从这个问题的答案开始的。
本集资源与出处
- 视频在 YouTube 收看
- 音频官方 MP3 直链来自 lexfridman.com 官方播客 RSS
- 官网Lex Fridman 官网本集页面