对实时学习AI的进一步追加说明:悬置背后的思想
-
首先,先澄清一下:这个开源的项目不是为了我好心分享,我没有那么好心。我是为了筛选出那些“能看懂”的人。因此,我完全不会去介意在分享出来的项目里面偷工减料——但是至少在这个版本中,我大体上确保概念完备性——至少,他在概念上是不会偷工减料的。 -
作者我也有想过类似于知识产权过早暴露的问题。然而,我个人而言并不希望从头到尾都是一个人在研究,找队友——或者说找同频的人是我的需求。如果不谈队友,我大概率就从头到尾都闭门造车了。 -
总之,这份不太成熟的工程对我来说就是一次恰到好处的暴露——如果补上这篇说明文章就更好。毕竟虽然我已经在readme里面打了一定的预防针,但是我估计,哪怕我打预防针了,还是有星际玩家会视而不见吧。哎。 -
所以,总而言之,如果你在看完这个文章之后,脑子里还第一时间还是浮现出什么Loss Function啊,KV-Cache啊,归纳偏置啊,正则化归一化啊,那我只能说你没救了,滚回业界继续玩泥巴去吧。
0.开场白:让Kimi K2.5同学,引用胡塞尔的现象学来为“悬置”的概念做一个开场白演讲
(可跳过图片不看直接翻到下文看正文)

1.引子:从“世界模型”开始讲起
-
2018年,David Ha 和Jurgen Schrmidhuber首次提出了World Model牵引到深度学习框架下的故事。在2018的语境中,传统RL存在着样本效率低,成本高,泛化差的诸多缺点。于是他们就启发式的产生了一些想法:把控制论的一些老概念拿过来,并且提出:能不能先学一个“内部环境模型”,然后再根据这个想象出来的环境模型来优化策略?随之而来的就是他们提出的V-M-C范式。 -
其中,2022年,Yann Lecun对深度学习框架当中的World Model做了一些改进,比如说针对VAE当中的学习到无关细节的问题,并给定了自己的JEPA架构。他认为,需要把一部分的细节给去掉,去掉细节之后留下的某个特定给Latent Respresentation可以描述为抽象表征。同时,对于一个给定输入x,经由潜在空间z,必然要预测多个不同的y(不同表征表示的对未来某个状态转移的给定预测)。 -
所以我们回顾一下:p(st+1∣st,at),p(ot∣st).这在经典RL里面是一个非常通用的形式化;而世界模型对它的形式化的改良地方则是指出:一个成功的智能体,不能只对当前输入作反应,还必须在内部维持某种对环境结构的持续把握。然而这里有一些问题:在Yann Lecun的语境中,被舍弃掉的噪声到底是什么?为什么要舍弃掉?而舍弃掉本身,是否意味着世界模型正掩盖一个问题:在一个高度复杂且高度不确定,无法形成稳定表征的世界中呢?这是否意味着一切的输入都变成了噪声被忽视呢? -
显然,这不太符合我们对人类的认知——当Yann Lecun纠结于那些他认为的物理直觉,他没有考虑到,所谓的物理直觉其实非常简单,非常符合人类的语境。这不是问题的关键:关键是,定义噪声是为了什么?根本上是因为作为深度学习框架的一员,他们都要默认:新的观测最终都要被整合进某种内部状态;不确定性最终都要被压缩成某种 belief、variance ,又或者当成无关细节被舍弃;系统的目标,是尽快得到足够好的内部描述,以支持预测与控制;这是他的根本动力学所在。 -
但真实的人类甚至广泛的生物认知过程里,未被决定的内容并不总等同于“尚未收敛的状态估计”。有些内部结构并不是暂时不准,而是当前根本不应被过早定型。它们不能被简单吸收到现有表征里,也不应作为噪声被丢弃;它们必须以某种方式继续存活,等待后续观测、动作、能量条件或更高层调度,使其在未来重新参与系统组织。 -
因此,我们引出了一个这样的问题:我们要如何处理那些:它既不应该马上完成整合,但是又不应该马上消失掉的内部结构呢?——进而,悬置的概念就因此而生了。通俗的说就是:对于任何未定的不确定的内容,我们不要去假设一定要强求得出一个输出,而是——允许它不输出,允许系统执行某个算法,使得它可以持续的运行,保留这些不确定,未定的输入。在新观测来之后,持续整合并形成新的输出。 -
如果你一旦承认了这一点,你就会发现,悬置的思想和深度学习框架本质上是根本不兼容的。 -
我们回顾一下深度学习框架整体的一个流程:它大体上会先划分训练阶段和调用阶段。在训练阶段,往往是把分布式的关系学到映射参数里面,形成权重。而调用的时候则是一个前向过程,他会经历一个若干次数的迭代,并最终得出一个输出。你很难把悬置放在其中的任意一个地方,因为悬置必然不可能放在静态权重里面,也不可能放在单次迭代就消失的前向层,唯一适合它的位置,就是一个持续“活着”的内部过程当中。这就引申了整个从深度学习框架——转变为运行时(Runtime)范式的转变。
2.追问:不确定性和Anti-Attention
-
从上面的论述中,我们自发的推翻了两大默认的前提:确定性的输出,以及深度学习的范式。那么,我们会自然而然的发现自己来到了一个全新的语境。在这个语境当中,“确定性”就不再是主角——“不确定性”成为了真正的主角。因为悬置成为了主体地位,并引申出它必须依赖于运行时之后,我们建模的关心对象,就变成了研究不确定性之间是如何演化的。 -
然而,首先有一个问题应该是众多读者在意的:不确定性是如何表达确定性的呢?我们先抛开“确定性的本质是幻觉”这种世界观论述不谈(留到后面),现在让我们开始进入一段想象:我们想象一下:又一座巨大的冰山,水面上的冰山占比大约只有5%,而整座冰山的95%都沉在了水面下方是不能够被看到的。紧接着,水面下的冰山就是悬置发生的地方。而水面上的那一部分会被我们的主观意识捕捉到,然后经由我们的推理:自以为是一种确定性的描述,然而整体信息的推断,其实并不是由我们的主观意识来进行处理的。我们的主观意识以为的确定性推理,其实是一个采样“当前水面上的冰山上都有什么”的采样器而已。 -
这样一来我们就有了一个这样的语境:不确定性的演化,最终会形成,或者说通过某种方法,把确定性的推理和感知给涌现出来。一旦我们假设承认这种不确定性和确定性之间的相对性关系,我们才能够放心的去提出下一个问题:在一个运行时架构里面,不确定性的演化到底是什么样的。 -
我们先引入一个顺序上的通俗比喻:对比深度学习架构和运行时架构——一个是拿了一堆数据,在一个静态的时空中,完成一次静态的权重训练。而运行时则不同,他每时每刻都在获取数据,他面临的环境高度不确定,它对于不确定性的演化必然要趋同于——一种学习行为。 -
这就是深度学习背景的朋友急需获得解释的第二点,我已经解释了确定性从哪里来,但我还没有解释,学习意味着什么。 -
现在,让我们进入另一端想象:我们首先先提出一个这样的假设:智能体的推理空间,被描述为分层纤维化的悬置配置空间;他有一个底空间,有纤维有联络。在这个总空间里面,每个离散的推理因子,都在其中进行“游走”。因为它可以在悬置空间里面自由的游走,它的自由度自然也是无限大的(理论上)。但是,“离散的推理因子”肯定不止一个,而是非常多的。而且他们的游走也不是瞬间移动,而是有时间代价的,会有移动速度和移动速率。那么,我们最终可以:把他们全局游走形成的时间变化和空间变化,描述成一个时空分布的轨迹。 -
现在我们假设第二点:很多的离散推理因子,他们汇聚在一个地方的时候,那个地方的“曲率”会上升,地形变得陡峭。倒过来看的话,会变得像是一座山峰那样。当这个山峰高到一定程度,就会被我们的主观意识捕捉到:因为它浮上水面了。那么,这些推理因子形成的时空分布轨迹,就会被我们描述为:悬置的演化路径。同时,这种用时空分布轨迹来“推高一座山峰”的过程,我们称之为解悬。 -
那么自然我们就能够推理出来:学习的过程,其实就是一个悬置演化路径的最优化问题。 -
然而,我们刚才描绘的,其实只是“形成推断的某个尺度”,这个描述层面是单一的。它还没有尝试去跨越大语言模型的门槛。所以我们要问语言本身是什么。这当然是一个值得讨论的话题,但我们也暂时搁置一下。 -
我们假设每个“时空演化的路径”在不同尺度上,在不同维度上,在不同的状态空间上,都有各自的体现,那么问题来了,这是否意味着,一种广义的“注意力机制”可以天然的去描述这种尺度变换,状态变换,维度变换的过程,即:那些候选的“时空演化轨迹”本身,则成为了被计算资源分配,被计算权重的对象呢? -
这样,我们就保留了Attention最根本的语义:在有限的资源预算的前提下,对候选信息通路分配不同的处理权重。这其实可以视为是对整个Attention的一轮流程上的反转。故:我会在这里引入一个新的,哪怕是不怎么严谨的概念:Anti-Attention。 -
在Anti-Attention的视野中,在该机制的形式化描述中,它更像是说在悬置演化空间里存在一个随时间变化的注意力场。 -
因此,我们之前说的最优路径可能要细化一下定义,它是在注意力场/稳态场/能量约束场共同作用下形成的有效路径。
夜雨聆风