这篇是最近的一些碎思,没有完整的结论,只是想把这几个问题放在一起看看。


一、感知的边界

在试图通过行为改变世界之前,首先要形成对世界的感知。对于具身系统来说,视觉、力觉、IMU、编码器等传感器,构成了它认识外界的入口。传统上,我们习惯于通过 Kalman filter 一类方法进行信息融合与状态估计,希望借助显式模型、噪声假设和递推更新,得到更稳定、更准确的系统表征。但近来的许多工作,越来越倾向于使用数据驱动的方法,将原本需要手工设计的估计、融合乃至部分建模过程,隐含到表示学习或端到端策略之中,而且结果往往相当出色。

这并不意味着状态估计问题消失了,而更像是:原本显式的估计器,被转移到了隐式的表示空间中。表面上看,两条路径似乎殊途同归;但它也引出了一个让我思考很久的问题:对于数据驱动的方法,机器人对世界的”认识”边界究竟在哪里?或者更具体地说,在什么条件、什么任务、什么风险标准下,我们才可以说,它对世界的感知是”足够正确”的?

例如对于机器人的行走,训练中没有覆盖过的某些速度场景,策略可能依然可以泛化成功;但另一些看似已经被显式写入范围说明的速度区间,却反而会出现意想不到的错误。这说明问题也许并不只是”是否见过某个速度”,而在于真实边界从来都不是单一变量,而是速度、接触条件、摩擦、延迟、历史状态、噪声结构等因素共同构成的高维分布。于是,所谓”看见了”与”没看见”,并不总能被设计者清楚地区分;而把这种差异简单归结为神经网络的”神奇”,终究不够严谨:神经网络的成功,不等于边界被清晰定义。

也因此,我会想起《楞严经》里那句话:

“知见立知,即无明本;知见无见,斯即涅槃。”

若套用到这里,它未必是在否定感知或认知本身,而更像是在提醒我们:真正危险的,也许不是暂时不知道,而是在有限观测、有限数据和有限模型之上,过早地把某种局部有效的”知见”误认为对系统和世界的充分把握。相比于”所知不足”(所知障),”自以为知”(知见障)的边界不清,或许更令人不安。

再往深处想,这确实会触及一个可知与不可知论的问题:我们是否必须完整地知道,才能有效地行动?我现在并没有答案。但至少对工程而言,更现实的问题也许不是”是否穷尽真实”,而是:在不可能完整可知的前提下,我们能否仍然为系统建立任务相关的正确性标准,并清楚声明它的有效边界。


二、理解系统本身

在控制一个对象之前,我首先需要了解它。如果说状态估计更多指向外部世界,那么世界模型、系统辨识以及参数估计,某种程度上都在指向另一个同样重要的问题:我是否真正理解了我所控制的这个系统本身。

控制理论中,可达性讨论的是:给定合适的输入,系统状态是否能够从 到达 ;可观性讨论的是:给定输出 ,我们是否能够在一定条件下重构系统内部状态 。这些概念为我们分析系统提供了很重要的起点。但在真实机器人中,仅仅讨论经典意义下的可达、可观,可能还不够。因为系统并不是静止不变的理想对象:摩擦会变化,温度会漂移,负载会改变,质量分布和质心位置也可能随任务过程发生变化,模型甚至会失配。机器人在运行的每一个时刻,内部都可能处在一种缓慢变化甚至突变的动力学环境中。

于是问题变成:我看到机器人在走,究竟意味着什么?我当然看到了它在宏观行为层面的运动轨迹,但我是否真的看到了那些支撑它运动的物理参数,是如何在时间中演化的?我是否知道,在这一时刻我所认为的状态 ,经过控制、扰动和未建模因素之后,真的变成了我以为的 ?还是说,我只是看到了一个行为上看似成立的结果,却没有真正掌握其内部状态变化的依据?

因此,我真正感到不安的,未必是系统完全不可控,而是我对它的理解仍然是不充分的:我未必能够清楚说明,它为什么现在能工作,在哪些条件下会失效,失效时我又能否及时察觉并纠正。换句话说,我缺失的也许不只是某些观测量,而是一种可以对系统行为负责的、可声明的边界。

格物而后知至,知至而后意诚,意诚而后心正。

若对系统的理解始终停留在”它看起来在工作”,而不是”我知道它为何工作、何时失效”,那么这种”心有所不正”,或许正来源于此。


三、约束的位置

进一步想,我可能一直低估了系统约束(constraint)在控制中的地位。这个意识来自一次和导师的闲谈:若只考虑理想线性系统与二次型代价,LQR 已经足够优雅;那么为什么在很多问题中,我们仍然需要 MPC?答案也许并不只是”谁更会预测”,而是:当我们真正关心输入饱和、状态边界、接触条件、安全规则以及未来若干步的显式约束时,仅靠一个没有约束表达能力的控制律,往往是不够的。MPC 的价值,恰恰在于它把这些约束直接纳入了滚动优化过程。

这也让我重新看待 RL。我们常说 RL 在学习”下一步该做什么”,但它真正优化的,通常只是给定奖励之下的长期回报,而不天然保证”这一步是否符合物理约束、是否满足安全要求、是否具备纠错余地”。因此,RL 脆弱的地方,或许从来不只是”能不能让机器人动起来”,而是:当系统面对复杂环境、未知扰动和训练分布之外的情形时,如果缺乏显式的约束表达与安全兜底,那么它即使能动,也未必可靠。

人类之所以能够在世界中行动,并不只是因为我们会预测或会学习,更因为我们始终活在客观约束之中:物理定律限制身体,社会规则约束行为,法律与伦理规定边界。生老病死、红灯停绿灯行,并不是每一步都要重新学习的东西,而是已经内化为行动框架的一部分。相比之下,我过去似乎下意识地忽略了一个问题:机器人不仅要学会行动,也要”明白”那些不能被轻易违反的约束。

当然,这里的”明白”未必意味着语言意义上的理解。它更可能对应于一种可计算、可嵌入、可验证的约束表达。无论这种表达最终是显式的、基于模型的,还是被编码在某种 latent space 中,它都不该只是经验上”似乎有效”,而应尽可能具有可解释的安全含义。进一步地,如果这些约束能够像 Lyapunov 条件、barrier 条件那样,被写成可以证明、可以在闭环中反馈的形式,那么机器人控制或许才真正拥有了一层兜底:即使高层策略出错,系统仍然保留纠偏、自稳乃至拒绝危险动作的可能。

但另一方面,我也不认为”没有严格数学证明,就一律不能用”。很多复杂的非线性系统,本来就是在局部线性化、近似建模和经验修正中逐步建立可用性的。问题不在于是否做到了绝对严格,而在于:面对这类学习控制系统,我们是否已经拥有足够合适的评估标准,去衡量它的边界、可靠性、可恢复性与约束满足程度?如果现有指标还不足够,那么也许真正值得期待的,不只是更强的策略,而是新的评估方法、新的安全标准,以及新的有趣的框架。