自由能原理与预测编码:大脑如何成为一台自由能机器

发布时间:2026/10/15 7:20:30
自由能原理与预测编码:大脑如何成为一台自由能机器
自然段开头或许可以这样写“我第一次认真啃自由能原理是在一个失眠的深夜。当时正被一个老问题折磨神经元明明只是细胞为什么一群细胞凑在一起就能产生连贯的知觉、目标明确的行动还能在充满随机干扰的环境里维持自身秩序后来读到Karl Friston那套框架我才意识到答案可能不是某个神奇的网络结构而是集群层面的一种信息论本能——尽可能不让自己被环境“吓到”。这套框架就是很多人听过的自由能原理Free Energy Principle它把神经元集群描述成一台真正的“自由能机器”一边预测世界一边修正预测必要时直接动手改变世界让感觉输入乖乖符合预期。”这样开头自然地引入了主题。然后继续展开。我现在按照大纲详细写。写作中注意使用真实的、从业者的语气不要“教科书式”口吻。段落之间要有引导与递进。使用加粗强调关键概念。表格用于参数对比、常见问题。代码块用于Python伪代码。篇幅慢慢扩我准备写6000字。现在开始书写正文注意不要用AI套路话。同时所有标题必须带上编号注意层级不能跳级。在最后不用总结。我甚至可以在最后一个技术主题“避坑指南”后自然收尾也可以在结尾分享个人体会。规则说“如确需收尾仅允许以...真实个人经验或建议的形式进行”我可以写一小段个人经验收尾。那我设计一个“最后说点个人体会”段落但注意标题不能再用编号吗似乎只要是H2/H3都必须编号。为了保险我可以在“### 5.3 实际操作中的坑”之后再展开“### 5.4 关于这个框架本身的一点个人看法”作为最后一个H3然后文章在那里结束。这样不会另起总结的大段。开头不算标题直接是正文段落。那么第一个H2是## 1. 自由能原理的底层逻辑为什么大脑必须是一台负熵机器。好的现在开始完整写作。我需要仔细控制段落长度每段至少150字。确保内容密度。我在计算字数时会尽量多写细节。写完再检查。我打算在第二部分详细展开“预测编码”的数学表达让读者能理解核心公式。在第四部分给出一个很小的Python实现片段例如import numpy as np def generalized_motion(v, dims, order2): # 构建广义坐标向量 ...但也许伪代码更好理解。我写一个基于梯度下降的简化版主动推理模型。然后给出调参经验。常见问题表格用Markdown表格。好开始。 我第一次认真啃自由能原理是在一个失眠的深夜。当时正被一个老问题折磨神经元明明只是细胞为什么一群细胞凑在一起就能产生连贯的知觉、目标明确的行动还能在充满随机干扰的环境里维持自身秩序后来读到Karl Friston那套框架我才意识到答案可能不是某个神奇的网络结构而是集群层面的一种信息论本能——尽可能不让自己被环境“吓到”。这套框架就是很多人听过的自由能原理Free Energy Principle, FEP它把神经元集群描述成一台真正的“自由能机器”一边预测世界一边修正预测必要时直接动手改变世界让感觉输入乖乖符合预期。这篇文章我想把这个框架掰开揉碎讲清楚自由能到底是个什么东西神经元集群凭什么把它当成运转准则以及我们如何把“自由能机器”落到可运行的模型里。适合正在接触计算神经科学、贝叶斯脑理论或者对认知建模感兴趣的读者。下面所有内容都基于FEP的核心理论展开实操部分则是我个人在搭建简化模型时常用的做法你可以直接拿去参考。1. 自由能原理的底层逻辑为什么大脑必须是一台负熵机器1.1 自组织与马尔可夫毯系统如何定义“自己”要理解自由能原理第一关是搞清楚“系统为什么能存在”。热力学第二定律说孤立系统总是走向混乱熵会不断增加那一个由亿万个神经元组成的系统凭什么能长期保持有序状态而不是迅速散架Friston的回答是一个很微妙的统计视角系统之所以能维持自身边界是因为它和环境之间存在一个统计屏障叫作“马尔可夫毯”Markov blanket。这个毯子把世界分成四类状态内部状态、外部状态、感觉状态和活动状态。感觉状态是环境对系统的影响活动状态是系统对环境的影响而内部状态——也就是神经元集群自身的状态——只通过这两条通道和环境发生间接接触。这个想法其实很好类比。想象一间恒温房外部天气再恶劣只要墙壁马尔可夫毯足够有效房间内部的气候就能稳定在某个范围内。神经元集群也一样它的“墙壁”就是感觉器官和运动器官感觉通道接收外部信号运动通道改变外部环境而皮层内部只处理这两条通道传来的信息流。只要这种统计隔离存在内部状态就能维持一个非随机的条件分布也就是系统“自己”的稳定形态。这里的关键点在于自组织不是靠某种神秘的内驱力而是靠系统不断抵抗熵增的必然结果。神经元集群之所以看起来有“目的性”本质上是因为如果它不这样做内部状态就会迅速扩散成一个毫无结构的随机分布系统也就不复存在了。换句话说维持自身存在这件事在统计上等于“持续防止自己散架”。1.2 从热力学到信息论自由能为什么可计算但“防止散架”这种说法太抽象需要一个可计算的指标。这里就得引入自由能的数学定义。很多初学者看到“自由能”三个字会立刻联想到热力学里的Helmholtz自由能然后试图用温度、内能去理解它结果越绕越晕。实际上神经科学语境下的自由能是“变分自由能”本质上是一个信息论量而不是物理能量。它定义为F E_q[ln q(θ)] − E_q[ln p(o, θ)] D_KL[q(θ) ‖ p(θ)] − E_q[ln p(o|θ)]拆开看就两件事。第一项是复杂度它度量的是大脑为了解释感觉输入把内部信念改动了多少。如果大脑每次看到同一张桌子都推倒重来、编一套全新理论那复杂度就爆炸。第二项是准确度它度量的是在给定内部信念的情况下预测出的感觉输入和真实感觉输入的匹配程度。两种极端都不行只追求准确而不管复杂度系统会变成过度拟合的疯子只追求简洁而不管准确系统会变成视而不见的空想家。所以最小化自由能本质上是在做一个**“最简洁且最准确”的拉锯平衡**。打个比方你是一个公司CEO下属每天给你汇报业务。你既不想听每个仓库每颗螺丝钉的详细库存复杂度爆炸又不想听一句“一切正常”然后公司突然倒闭准确度崩盘。你要的是一份足够简洁、但又能捕捉关键异常的汇报。大脑对感觉输入干的事情和这个汇报机制几乎同构。更妙的是变分自由能还有一个性质它永远是“惊喜”的上界。所谓惊喜surprise就是某个感觉输入在系统当前生成模型下的负对数概率 −ln p(o)。系统无法直接观测真实概率但可以通过最小化变分自由能间接把“惊讶程度”压到最低。这就是为什么自由能机器看起来像在“认识世界”——其实它只是在努力让自己不惊讶。1.3 从神经元到全局为什么集群层面会出现自由能最小化接下来是一个可能让很多人困惑的问题单个神经元显然不会对着自由能公式做积分凭什么说整个集群在最小化自由能这里就要引入FEP最核心的论证思路如果一个系统具有马尔可夫毯、并且能够维持非平衡态稳态那么它的内部状态动力学必然可以描述成在对外部世界的隐藏状态进行变分推断。换句话说自由能最小化不是被设计出来的功能而是系统自组织的一个必然数学形式。就像滚球最终会停在势能最低点一样一个稳定存在的自组织系统其内部状态的统计结构必然等价于某种“预测机器”。这不是说神经元内部真的封装了一个概率分布。而是说如果我们只观察神经元集群的活动模式会发现这些模式可以用“生成模型变分推断”这套语言来精确描述。这就好比行星运动可以被描述成“最小作用量原理”的解但这个描述不要求行星知道作用量的公式。FEP把大脑描述成一台自由能机器不是说大脑里有个小人在算公式而是说行为层面的统计规律等价于这台机器的运行结果。这一点极其重要很多人争论FEP时各说各话根本原因就是把“描述等价”和“物理实现”混为一谈。对我个人来说把FEP当成一种“坐标系”来用比把它当成大脑的设计图纸要舒服得多。2. 神经元集群如何“计算”自由能预测编码的神经实现2.1 生成模型大脑不是镜子是编剧上一节说的是理论动机。现在的问题是如果大脑真的是自由能机器那这个机器内部长什么样Friston给出的具体神经实现方案就是预测编码Predictive Coding。预测编码的核心思想是大脑皮层不是一个被动接收感觉信息的照相机而是一个主动生成感觉预期的编剧。皮层的高层区域保存着对世界结构的先验信念——比如“桌面上通常有杯子”“人脸有两只眼睛”这些高层次信念会不断向低层区域发送预测信号预测下一时刻的感觉输入应该是什么。低层区域收到的真实感觉信号和预测信号之间的差值就是预测误差。整个皮层网络要做的就是不断调整内部信念把预测误差压到最低。这个结构可以用一个非常直观的类比来理解。想象一条流水线总装车间高层根据生产计划向零件车间低层下达“接下来十分钟应该生产出什么型号”的指令。零件车间清点实际库存后把“缺什么、多什么”报给总装车间。总装车间再根据这个偏差调整下一批生产计划。整个系统里流转的不是完整的零件清单而只是一个偏差单——信息永远只在差异层面流动。这就是预测编码节省神经资源的根本原因大脑不需要编码整个外部世界的全貌只需要编码“我预测错了多少”。2.2 预测误差单元与期望单元皮层微环路的分工在神经解剖层面预测编码有一套非常具体的对应。Friston研究组提过一个“典型皮层微环路”canonical microcircuit模型把皮层柱内不同类型的锥体细胞划分成了两个功能角色浅层锥体细胞主要分布在皮层第2/3层编码预测误差。它们接收来自低层感觉区域的输入并与来自高层的预测信号做差把误差信号向上传递。深层锥体细胞主要分布在皮层第5/6层编码预测本身。它们持有当前层级的信念向低层发送自上而下的预测信号。这两个角色之间的通信循环就构成了一个完整的功能柱。你可以把每一层皮层想象成一个小型服务器它一边向上汇报“数据和预期不符的部分”一边向下发送“我预计你会看到什么”。整个大脑皮层的层级结构就是一台巨大的级联预测服务器群。这个模型解释了神经科学里一个由来已久的观察自上而下的连接feedback和自下而上的连接feedforward在皮层里呈现出不对称的组织模式。自下而上的误差信号传递速度快、携带的是“新信息”自上而下的预测信号传递速度慢、携带的是“先验知识”。两边只要有一个环节失衡就会出现幻觉或缺损的感知体验——这也是为什么预测编码能解释精神分裂症等疾病中“先验过强导致幻觉”的机制。2.3 精度加权注意力、神经调质与不确定性的编码预测编码还有一个机制上的大杀器叫精度加权precision weighting。前面说的预测误差不是单纯地传一个差值而是要先乘以一个权重这个权重代表“这条误差信息可信度有多高”。如果某个感觉通道的噪声很大那它的预测误差就应该被压低否则系统会被噪声牵着鼻子走。反之如果环境突然变得明暗不定、危险重重系统就需要放大感觉误差的权重让新信息更快地修正旧信念。这个动态调节预测误差可信度的过程在心理学上有个老朋友注意力。你也可以把它理解成“系统决定自己有多大惊小怪”。在神经调制方面精度加权和一组经典神经递质对应。多巴胺被认为和“预期误差”相关去甲肾上腺素和“环境不确定性”相关乙酰胆碱则被认为负责编码感觉线索的精度。把这些线索串起来你会得到一个很有解释力的画面神经调质系统干的事情不是传递具体的世界知识而是调节整个预测机器各环节的“音量旋钮”。这也能解释为什么同一个刺激在不同情绪状态下引起的知觉完全不同——因为你大脑里各个通道的精度权重已经变了。3. 从知觉到行动主动推理如何让神经元集群变成“自由能机器”3.1 两种最小化自由能的路径修改信念还是修改世界到目前为止自由能机器看起来还是一个纯粹的感知系统接收输入、做预测、更新信念。但一个只有感知的系统是活不下去的。自由能原理真正厉害的地方在于它把行动也纳入了同一个目标函数——最小化自由能。想象你站在一个悬崖边视觉信号告诉你“前方是无底深渊”而你身体的状态期望是“保持安全”。现在你有两种方式降低此刻的“惊讶”第一修改自己的信念告诉自己“其实那不是深渊是一片平坦草地”——这就是感知推理第二直接后退两步让视网膜上收到的信号变成“我离悬崖很远了”——这就是主动推理。注意后退这个动作并不是为了获得什么奖励而是为了让未来的感觉输入符合大脑的期望。这个视角和传统强化学习非常不同。强化学习假设系统最大化累积奖励而自由能原理假设系统只是最小化“预测和现实的错位”。奖励在FEP里不是目标而是系统经验中“与生存稳态一致的信号”的代名词。你已经把奖励内化成了“预期感觉状态”的一部分。这意味着行动的本质是一种感觉操纵。运动系统并不是在控制肌肉而是在控制“下一时刻我会看到、听到、感受到什么”。很多人刚接触主动推理时觉得这个说法很绕但实际上你每天都在这么干你转动脖子是为了让视觉输入变成“我看到那个人的正脸”你伸手拿杯子是为了让触觉输入变成“我的手握住了杯壁”。这些动作全部服务于一个目的让感觉输入和预期对齐。3.2 策略选择与期望自由能探索-利用权衡的贝叶斯表述如果你认同“行动是为了让感觉符合预期”那下一步问题就是动作那么多选哪个预测误差有即时满足的有长远满足的。伸手抓住正掉下来的杯子是即时满足每天坚持训练是为了未来比赛时“感觉不惊讶”。后者就引出了**期望自由能Expected Free Energy**的概念。期望自由能是未来某个策略下系统预期会产生的自由能总和。它的表达式一般写成这样G(π) E_{q(o,x|π)}[ln q(x|o,π) − ln p(o,x)] ≈ − E_q[准确度] − 信息增益 预期代价一个值得注意的特点这个公式里除了“预测准确”之外还包含一项信息增益——某个策略能给你带来多少新信息。这意味着FEP框架下的智能体不只会选择“最稳妥”的策略它还会主动选择“能降低自身不确定性”的策略。这就是对强化学习里“探索-利用权衡”的贝叶斯解释探索不是为了探索本身而是为了减少未来的惊讶。举个例子。一个孩子第一次看到会喷水的玩具恐龙他伸手去按恐龙的开关可能正是因为他预测“按下去之后我会获得一个明确的感觉模式”。这个行动既是在探索动作效果也是在消除自己对“恐龙到底怎么动”的认知不确定性。FEP框架里这种探究行为不是怪癖而是自由能最小化的必然推论。这也是为什么这个框架对做发育机器人、好奇心驱动智能体的研究者特别有吸引力。3.3 从目标导向到感觉运动闭环一个完整的循环把感知和行动整合起来你就得到了一个完整的感觉运动闭环大脑持有关于环境的高层信念通过生成模型预测感觉输入感觉器官传来真实输入计算预测误差在感知层面更新信念降低误差在行动层面执行运动指令把感觉输入“掰”向预期方向回到第1步形成持续循环。这个循环在神经科学里对应着皮层-基底节-小脑-脊髓环路的多次往复。皮层提出预测基底节负责选择能实现预测的行动策略小脑实时修正运动误差脊髓执行具体肌肉指令。每一层都在做自己的“预测-误差修正”篇章。换句话说整个运动系统也是层级预测编码的一部分而不是独立于知觉之外的一个“输出通道”。这在传统神经科学课程里是反直觉的但一旦接受你会发现运动和知觉的边界其实非常模糊——它们只是同一个自由能最小化函数的两面。4. 构建一个可运行的“自由能机器”建模与实操要点4.1 最小实现两级层级预测编码模型理论说得再漂亮不如跑一个最小模型来得踏实。下面我给出一个我自己常用的简化实现思路目标不是复刻大脑而是让你直观感受到“自由能机器”到底怎么转起来。假设一个两层级的生成模型环境状态 x 影响观察 o并且环境本身存在随时间演化的动态。用状态空间模型表示x_t f(x_{t-1}) wo_t g(x_t) v其中 f 是环境动态函数g 是观测函数w 和 v 分别是过程噪声和观测噪声。感知推理的任务就是在给定观测序列时推断 x_t 的后验分布。最简单的方式是梯度下降计算自由能对信念 μ 的梯度然后让 μ 沿着梯度负方向移动。下面是一个两级预测编码的伪代码框架import numpy as np def free_energy(obs, mu_high, mu_low, theta, Pi_w, Pi_v, mu_prior, Pi_prior): pred_low g(mu_low, theta) # 低层对观测的预测 pred_high f(mu_low, mu_high, theta) # 高层对低层状态的预测 err_obs obs - pred_low # 观测预测误差 err_low mu_low - pred_high # 低层状态预测误差 err_prior mu_high - mu_prior # 高层先验误差 F (0.5 * err_obs.T Pi_v err_obs 0.5 * err_low.T Pi_w err_low 0.5 * err_prior.T Pi_prior err_prior) return F, err_obs, err_low, err_prior def inference_step(obs, mu_high, mu_low, theta, Pi_v, Pi_w, Pi_prior, mu_prior, lr_high0.1, lr_low0.1): # 计算自由能及各类误差 F, e_o, e_l, e_p free_energy( obs, mu_high, mu_low, theta, Pi_v, Pi_w, Pi_prior, mu_prior ) # 解析梯度实际需做自动微分这里示意更新方向 dF_dmu_low -Pi_v e_o * dg_dmu_low Pi_w e_l dF_dmu_high -Pi_w e_l * df_dmu_high Pi_prior e_p mu_low - lr_low * dF_dmu_low mu_high - lr_high * dF_dmu_high return mu_high, mu_low, F真实工程里你不需要手推梯度直接放到PyTorch里做自动微分就行。结构上mu_low承担低层预测的角色mu_high承担高层信念的角色Pi_v、Pi_w是精度矩阵——也就是前面说的误差可信度权重。4.2 关键参数与稳定性精度初值、学习率与广义坐标跑模型的时候最让人头疼的不是结构设计而是参数调试。我把自己踩过的坑整理成一张表参数作用常见问题我的建议值观测精度 Pi_v控制感觉误差的权重过大会导致完全跟随噪声过小则感知迟钝初始取 1.0~2.0噪声大时降到 0.1~0.5过程噪声精度 Pi_w控制动态模型的信任度太小会让状态估计漂移太大则过度平滑初始取 0.5先调观测噪声再调它学习率低层状态估计更新速度过大导致振荡发散0.01~0.05 起步学习率高层信念更新速度应与低层速率分层高层偏慢低层的1/3~1/2广义坐标展开阶数处理动态状态中的速度/加速度阶数不足时无法捕捉高阶动态最多到二阶多数场景一阶够用广义坐标这个概念值得单独说。FEP的数学推导通常不只用当前时刻的状态值还引入位置、速度、加速度等高阶导数项把一个时间平滑的系统建模为广义坐标下的轨迹。这样做的原因是生物系统持续接收连续时间信号而离散时间采样会丢失短时间尺度的高阶变化。在实际实现里如果任务本身是离散的比如走迷宫、判断图像只用一阶就够如果做连续运动控制建议至少保留速度和加速度两个维度。调试时我建议遵循一个原则先调感知再调行动先调单步再调序列。感知不稳定时系统会疯狂摆动行动部分设计得再精巧也没有意义。稳住了之后再夸张一点地增大精度差制造“先验过强”的效应你会直观看到模型开始出现幻觉式感知——这个现象对理解精神病理模型特别有意思。4.3 怎么验证模型真的在做主动推理模型跑起来了怎么判断它是不是真的在“最小化自由能”而不是在瞎拟合我的做法是做因果干预。这里提供一个标准的验证流程固定一个随机环境初始状态把模型的高层先验设定成一个明知不符合环境的分布比如环境是红色光源你先验设定成绿色。正常感知推理下模型应该逐步把信念修正到接近真实环境。关掉感知输入只保留行动。观察模型是否会产生目标导向动作。如果模型会根据先验主动移动感测器使感觉输入趋近先验说明主动推理的分支确实在工作。这时候如果传感器数据不支持这个动作模型会重启感知更新——理想情况下你会看到“先验主导→误差爆发→信念修正”的循环。比较三个基线纯感知更新不带动作为、随机动作感知更新、主动推理完整版。正常结果应该是主动推理由感觉输入收束到先验的轨迹最短、稳态自由能最低。如果第二版和第三版没有明显差异说明你的动作策略没有真正被自由能目标驱动你需要检查动作映射函数是否把“减少未来误差”的梯度给丢失了。我曾经在一个机械臂任务里调了一周发现模型手臂总是乱甩后来定位到问题是在动作生成阶段直接教了“目标角度”而不是教“目标感觉模式”。这提醒我一个很重要的点在主动推理里动作不是直接指向肌肉坐标而是指向一个感觉状态预期。到了肌肉层面才把感觉预期转成具体运动指令。这个层级关系搞反了模型就会表现得非常神经质。5. 常见误解与避坑指南5.1 误解一自由能是“负熵”或者“能量”根本不是这是我见过传播最广的误解。有人把自由能说成“大脑追求低能耗”有人把它说成“热力学熵减”都是不准确的。变分自由能在数值上等于“自信息的变分上界”是一个关于概率分布的统计量和焦耳、卡路里没有直接关系。哪怕你的模型在CPU上跑得风扇狂转、能耗拉满只要预测误差小它的自由能依然很低。理解这一点会让你少走很多弯路。当然FEP确实和热力学有深层联系比如非平衡态稳态、随机热力学里的熵产生率但这些联系是通过数学等价建立的不是直接把大脑的自由能当成物理能量来算。你可以说大脑在信息论意义上抵抗熵增但不能说大脑在热力学意义上违反了第二定律。这两个层面很多人在讲科普时故意混在一起说到底是没吃透。5.2 误解二贝叶斯大脑意味着大脑真的在做显式概率计算另一个高频误读是既然FEP说大脑在做变分推断那是不是意味着神经元内部在跑贝叶斯公式不是。预测编码和变分推断只是描述层级computational level层面的模型不是神经元内部算法的直接等价物。神经元只是通过树突整合、突触可塑性这些生物物理机制实现了宏观上等价于贝叶斯推断的动力学。打个比方你用加法器做加法和用算盘做加法都能得到同样的结果但你不能说算盘珠子的碰撞“在做”寄存器里的加法。神经实现是什么、算法描述是什么、计算目标是是什么这三个层面必须分开也就是Marr三层次分析。把三者混在一起聊是几乎所有FEP争论的根源。我在社区里看到太多人为了“神经元到底是不是在编码概率分布”吵几百层楼其实核心分歧根本不是实验证据而是层面没分清。5.3 实际操作中的坑精度初值、尺度匹配与发散问题建模和仿真时下面几个坑我几乎每次都会遇到。分享出来给你省时间坑一是精度初值设置不当导致模型行为极端。观测精度Pi_v如果初始值给得太大预测误差会被强制归零模型会自动跳到“完全相信感觉输入、忽略所有先验”的状态。反过来Pi_v太小模型又完全不理新信息就像一只闭着眼睛在屋子里乱转的老鼠。正确做法是先用低精度跑通闭环观察误差量级再根据误差的典型幅度反推精度值。一般来说让误差项和目标项的自由能贡献大致在同一数量级模型行为最稳定。坑二是预测误差的尺度不匹配。生成模型g(x)输出的是像素级的值而内部状态x可能是抽象的高层编码两者相差几个数量级。如果不做一个尺度归一化梯度更新会非常不稳定一个微小的观测误差就可能导致belief大范围跳跃。解决方法是给输出函数加可学习的缩放层或者直接标准化观测数据让误差的统计量控制在±1以内。坑三是离散化步长选错。很多人拿连续时间公式直接按dt1做离散更新结果模型震荡发散。这里没有万能答案关键看动态的时间尺度状态变化快的任务需要更小的步长。我一般先扫一遍步长画出状态轨迹的稳定区间然后取稳定区间中值的1/3而不是直接取最小值。取最小值虽然稳稳当当但会让模型反应迟钝得像树懒自由能收敛慢得让你怀疑人生。5.4 关于这个框架本身一点个人看法最后说点我自己的观点。自由能原理是一个野心非常大的框架它试图用一个目标函数统一感知、行动、记忆、注意、探索、情绪等一大堆认知功能。这种统一性既是它的魅力也是它的争议来源。批评者会说它“什么都能解释所以什么都没解释”支持者会说“你找不到比它更自洽的描述框架”。我的立场是中间偏实用把FEP当成一个坐标系去读文献、造模型、设计实验假设性价比极高。它不是让你背诵真理而是让你在同一个语言下连接原本互不相关的领域——从幻觉形成的神经机制到婴儿好奇心从自由能机器到动态决策系统。我自己在实际工作中最受益的一点是这套框架让我在做系统设计时不再把感知、决策、控制拆成三个孤立的模块来调参而是统一在一个目标函数下迭代。虽然前期学习成本确实高——光是理解“精度”“广义坐标”“马尔可夫毯”这几个概念就够烧脑的——但熬过了那个阶段之后你再看一类问题会非常顺只要把问题描述成“系统如何最小化它对感觉输入的惊讶”建模路径基本就清晰了。这也是我今天把这些笔记整理出来的原因希望后来的学习者少走我走过的弯。