记忆可以由一部分内容唤起
围巾遮住下半张脸,你仍可能认出一个熟人。打开电脑文件,通常要知道文件名或位置;认人却常常只需看见局部。John Hopfield 在 1982 年给出一个很小的数学系统,也能按内容找回记忆。给它足够的残缺线索,内部状态不断更新,就可能把完整图案补出来。
把它想成一块灯板,每盏灯只有亮与灭两种状态。亮灯排成一个字母,就是一幅图案。灯与灯之间都有联系,每盏灯根据其他灯送来的信号决定自己该亮还是该灭。没有哪盏灯独自负责认字,识别发生在整块灯板的共同变化里。
图案存进了灯与灯的联系
想存住一幅图案,可以先让连接偏爱那种排列。原图里两盏灯同亮同灭,就给它们倾向一致的联系;原图里一亮一灭,就给它们倾向相反的联系。存几幅图案时,把各幅图案对连接的贡献叠起来。这种常用的存储办法叫 Hebb 规则:信息分散在连接强弱中。
现在故意改错几盏灯,再让网络运行。先挑一盏灯,把其他灯送来的信号按连接强弱相加,决定它的新状态;再挑下一盏,用刚更新过的灯板继续计算。每一步都很局部,但原来没坏的部分会给坏掉的部分提供线索,整幅图案便可能慢慢恢复。
每次更新都有一个往下走的方向
可以给灯板的每一种完整排列指定一个“能量”。两盏灯满足连接的偏好时,这一对对能量的贡献就低一些。连接左右对称、不让单元连接自己,而且一次只更新一个单元时,真正改变状态的一步会降低总能量;遇到正好打平,可以保持原状。
于是,网络无需为每种破损另写一套修复指令。它沿着能量下降的方向走,直到任何一盏灯单独改变都不能再改进。这样稳定的排列叫吸引子,附近的起始图案也可能走到这里。把能量想成地形高度,记忆就像谷底,修复过程像沿坡下行。
这里的能量是根据模型状态和连接定义的数学量,不是电脑实际耗电量,也不是大脑代谢的读数。它的作用很具体:让人能够证明,这种更新为什么会停下来。
来源:[2]
能量降低,也可能想错
一片地形可以有好几个谷。线索破损太严重时,网络可能落进另一幅记忆,也可能落进几幅图案相混后形成的意外排列。长得相像的记忆尤其容易互相干扰。走到稳定状态,和找回原本想要的图案,是两件需要分别观察的事。
检验时要同时看能量和错了多少格。如果能量一直下降,图案却仍然不对,更新规则可能完全正常,只是走进了另一个吸引子。多存一幅图案,还会改变整张连接表,原本能恢复的线索也可能变难。能稳定恢复多少图案,要看图案之间有多像,也要看单元数量和存储办法。
换一种单元,集体行为仍然存在
1984 年,Hopfield 又研究了输出能连续变化的单元,不再只允许亮与灭两档。在合适的对称连接下,仍能找到安排整体变化的能量函数。这让模型更接近由放大器、电阻和电容组成的电路,也让最初的灯板图景有了更具体的物理联系。
2024 年,Hopfield 与 Geoffrey Hinton 因人工神经网络学习的基础贡献共同获奖。灯板里最值得记住的想法很朴素:许多简单单元一起安顿下来的过程,可以完成一件有用的计算。恢复一幅图案,就成了整体逐步趋于稳定的过程。