导语
从第谷积累一生的天文观测中,开普勒总结出了行星运动的三大定律,这些规律后来将牛顿引向了万有引力定律。从大量原始观测数据中,提取出描述状态变量之间简明关系的数学定律,是许多科学发现的关键步骤。这个过程非常耗时且可能充满随机性。是否可能用人工智能算法,自动从高维观测数据中识别物理系统的 隐藏状态变量?7月25日发表于 Nature Computational Science 的一项最新研究提出一个数据驱动框架,在没有任何基础物理先验知识的情况下,单纯利用物理系动力统的视频信息,来确定系统可能有多少状态变量,以及这些变量可能是什么。该方法成功预测了一系列系统的动力学,包括双摆的混沌动力学、反应-扩散系统的非线性波动、熔岩灯的多相流动,和燃烧过程的火焰动力学等。
研究领域:机器学习,数据降维,复杂系统动力学
论文题目:
Automated discovery of fundamental variables hidden in experimental data
论文链接: https://www.nature.com/articles/s43588-022-00281-6
描述自然的几乎所有物理定律,其数学表达式总是用系统状态变量之间的关系来表述。例如,牛顿第二定律 p=mv 描述了物体的动量和质量、速度之间的关系;能量、质量、速度,这三个变量组成了爱因斯坦质能方程 E=mc2 。热力学、电磁学、量子力学的理论表述,都需要首先定义一组基本状态变量。从大量原始观测数据中,提取出描述状态变量之间简明关系的数学定律,是许多科学发现的关键步骤,这个过程常常需要人类科学家投入数十年的辛勤工作。 有趣的是,建模系统的状态变量不仅是隐藏的,而且并非唯一。例如,对于简单的单摆系统,其状态变量通常选取摆臂的角度和角速度,因为这两个量可以直接测量,不过另一组状态变量,如摆臂的动能和势能,也可以用作状态变量。因此可以推想,一些自然现象看起来神秘而复杂,或许是因为我们试图用错误的变量来理解它们——我们有不同的方式来描述宇宙。 最近机器学习技术的进展和计算机算力的提升,为科学模型的发现提供了新的路径:先进的算法可以通过筛选大量数据,发现变量之间的函数关系。是否有可能用人工智能方法自动发现隐藏的状态变量呢?在7月25日发表于 Nature Computational Science 的一项最新研究中,美国哥伦比亚大学的研究人员通过摄像机观察物理现象,利用机器学习方法从观测得到的一系列视频帧中,直接识别系统的隐藏状态变量。 图1. 从单摆、反应-扩散过程到火焰,是哪些状态变量描述了这些动力系统?机器学习算法可以从原始观测数据中识别出状态变量,成为自动科学发现的工具。
从数据中计算发现物理定律的历史可以追溯到20世纪70年代,当时计算机开始可以实现一定程度的密集搜索和回归算法。最早的研究成果是开发出一种 BACON 软件[1],它能够根据低维状态变量确定物理定律,并识别自变量和因变量之间的一些函数关系。这个识别过程寻找常见的函数关系,如常量和线性关系、乘法和逆相关等。如果发现新的相关变量,BACON 还可以将这个额外的变量添加到现有集合中。 2009年,Schmidt 和 Lipson[2]提出了一种遗传算法,可以从实验数据中学习物理定律,包括具有哈密顿和拉格朗日性质的守恒律。他们的工作正确识别出许多已知的物理定律,对之后的算法研究带来了启发。然而,这种遗传算法相当不稳定,对数据和噪声很敏感,也没有执行奥卡姆剃刀原则,即自然定律常常以简单形式出现。之后的研究[3]改进了这个问题,并结合符号回归算法和稀疏正则化,被证明可以学习多种工程学和物理学原理。 最近,一个物理启发的多维符号回归算法[4]正确识别出了《费曼物理学讲义》中的所有100个方程。尽管取得如此多的进展,上述这些方法并没有解决前面提到的问题——找到适当的物理变量来描述系统。 通常的模型识别方法依赖于传感器数据,这些数据直接测量某个特定变量。这篇新研究采用一种不同路径,纯粹根据原始相机观测中编码的视觉信息,识别系统的内在维度和相应的隐藏状态变量。该方法可以推广到任何物理系统,并避免昂贵的实验设置。 例如,摄像机观察摆动的单摆,成像分辨率为128 × 128 像素的三色通道,最终每帧将测量得到 49,152 个变量。一帧图像的大量数据虽然直观上具有描述性,却不足以给出单摆的完整状态。我们知道,单摆的状态只需两个变量就能完整描述,即角度和角速度。这项研究的目标是回答,给定包含单摆完整和准确运动轨迹的一系列视频帧,是否有一种方法可以知道,只需要两个变量就可以完整地描述单摆的动力学?是否有一个自动过程,可以将大量无关和多余的像素信息,约减表示为两个状态变量? 研究的起点是通过带有潜在嵌入的神经网络,直接从视频表征来建模系统动力学。如果网络能够对未来做出准确预测,网络内部应该封装了连接相关当前状态和未来状态的关系。研究的主要挑战是从网络编码中提取出隐藏的状态变量。 研究方法包括两个主要阶段。首先,研究人员训练神经网络正确预测给定的视频帧,然后用几何流形学习算法,找出网络要准确预测所需的内部神经元数量——文中称之为内在维度 (intrinsic dimension) 。内在维度表示描述动力系统所需的最小独立变量数。这个初始阶段从模型的潜在嵌入中,准确地估计系统的内在维度,与原始图像空间相比,潜在嵌入的维度减少了数百倍。 利用第一阶段得到的内在维度,在第二阶段设计一个潜在重构神经网络,进一步识别具有精确内在维度的控制状态变量——这些确定的状态变量被称为神经状态变量 (neural state variable) 。需要注意的是,这样的变量并非唯一,虽然实验每次重新启动时得出的变量数相同,但每一次的具体变量却不同。通过定量和定性实验,研究证明神经状态变量可以准确捕捉整个系统的动力学 。该方法成功预测了一系列系统的动力学,包括混沌动力学 (刚性双摆、弹性双摆、摆动杆) 、非线性波动 (反应-扩散系统) 、多相流动 (熔岩灯) 、气动弹性 (空气舞者) 和 火焰动力学 (燃烧) 。 算法的关键是充分利用深度神经网络结构,尤其是 encoder–decoder。具体而言,研究人员首先将典型的 encoder–decoder 架构 (图1a) 匹配到 RGB (红绿蓝) 图像数据帧,以获得向前映射,使当前帧向前推进一个时间步。在下一阶段,他们使用这个 encoder–decoder 架构的潜在向量,通过算法估计系统的内在维度 (图1b) 。一旦内在维度确定,可以进一步确定描述系统的实际变量,即神经状态变量。 寻找神经状态变量是算法的关键步骤,因为它为潜在向量有效地引入了另一种 encoder–decoder 架构 (hE 和hD ,图1c) ,并将第二种 encoder–decoder 网络的潜在维度 (图1c) 固定到已识别的内在维度上。这个过程提供了一组神经状态变量,然后通过在 RGB 图像数据水平学习的系统动力学 (图1d) 推进这些变量。 图2. 数据驱动框架发现状态变量的流程。(a)第一步首先确定 encoder (gE )–decoder (gD ) 网络,将RGB 图像向前推进一个时间步。向前映射的潜在向量(latent vector)表示为 Lt→t+dt。(b)接下来一步寻找内在维度(intrinsic dimension, ID),内在维度远远小于潜在维度(latent dimension, LD)和输入数据维度(M),即 M ≫ LD ≫ ID。内在维度是通过在潜在向量 L(i) 的非线性流形上通过最近邻型参数求出。(c)新的 encoder (hE )–decoder (hD ) 网络匹配到潜在向量 L(i) ,其内在维度固定为ID。内部变量 vk 被称为“神经状态变量”,即预测模型所需的内部状态的最小数量。(d)神经状态变量通过学习到的动力学 Fv 向前推进。
从动力系统数据中识别物理变量是非常有挑战性的,并且缺乏自动化和计算可处理的程序。该研究提出的框架将有助于推进该领域的进展。然而,需要注意的是,这里发现的变量不包含任何单位,可能无法被解释为像压力、温度、速度等物理变量,变量的直观含义目前仍然必须由科学家确定。如果沿着目前的研究方向在未来取得更多进展,有一天,我们或许可以从RGB数据中学习有单位的、完整的物理变量集合。 [1] Bradshaw, G. F., Langley, P. W. & Simon, H. A. Science 222,971–975 (1983). [2] Schmidt, M. & Lipson, H. Science 324, 81–85 (2009). [3] Brunton, S. L., Proctor, J. L. & Kutz, J. N. Proc. Natl Acad. Sci. 113,3932–3937 (2016). [4] Udrescu, S.-M. & Tegmark, M. Sci. Adv. 6, eaay2631 (2020). [5] https://www.nature.com/articles/s43588-022-00283-4 [6] https://phys.org/news/2022-07-roboticists-alternative-physics.html 集智斑图顶刊论文速递栏目上线以来,持续收录来自Nature、Science等顶刊的最新论文,追踪复杂系统、网络科学、计算社会科学等领域的前沿进展。现在正式推出订阅功能,每周通过微信服务号「集智斑图」推送论文信息。扫描下方二维码即可一键订阅: