物理信息机器学习(Physics Informed Machine Learning,PIML)是一种结合了物理方程和机器学习技术的方法。在传统的机器学习方法中,模型通常是基于数据拟合出来的,而不考虑数据背后的物理原理。但在物理信息机器学习中,利用已知的物理方程来约束机器学习模型,从而提高模型的鲁棒性和可解释性[1,2]。
物理信息机器学习的一个典型应用是在缺乏大量数据但物理方程已知的情况下进行建模。通过将已知的物理方程嵌入到机器学习模型中,可以使模型更好地利用有限的数据,同时确保模型预测的结果符合物理规律。例如在残差模型中,神经网络拟合物理模型中的不确定、不精确分量,与完全数据驱动的模型相比,物理模型的加入能够保证在数据缺失部分模型的泛化能力,同时能够减小学习难度,提升学习效果。
如图2所示,PIML模型介于系统辨识与黑盒模型之间,与系统辨识相比,其需要更少的先验信息,以机械臂为例,在系统辨识中,我们通常需要知道机械臂的构型以及自由度,从而辨识动力学参数(惯性矩在等),而在PIML中,我们仅通过物理约束,确保系统满足机器人拉格朗日动力学约束即可,神经网络并不需要拟合某个具有物理意义的参数,只需要更少的先验信息就能够取得比较好的效果。与黑盒模型相比,PIML结合了第一性原理,能够提升网络的学习效率、泛化能力和可解释性等。
由于机器人领域往往数据稀缺或者昂贵,而机器人系统有丰富的理论先验信息。PIML可以通过利用物理方程来减少对大量数据的需求,提高数据的利用效率。
以下图为例,其中黑色方框是我们的机器人系统的投影,蓝色网格是我们已知的物理模型,绿色椭圆是我们的数据驱动模型,其中疏密程度代表模型的精准度,面积代表模型的适用范围。由于不确定性的存在,我们很难通过物理方程建立精准的系统模型,所以物理模型虽然适用范围广泛但是精确程度差;数据驱动模型可以很好的拟合不确定性信息,在训练集范围内具有比较高的精准度,但是由于我们很难在实际机器人系统中收集到足够的信息,其训练集的范围通常远远小于机器人实际的工作范围。
经典物理模型更擅长以长期尺度对物理过程进行建模,而机器学习与深度学习方法更擅长捕捉短期随机相互作用背后的隐藏表示。PIML模型结合了两种学习方法的优点,与物理模型相比,其具有更高的精度;与传统的数据驱动模型相比,其在训练集外具有更强的泛化能力。
确保ML模型在物理上可靠。
提高模型训练中的数据效率,可以使用更少的数据输入来训练模型。
加速模型训练过程,使模型更快地收敛到最优解决方案。
提高训练模型的泛化性,确保在训练数据之外的场景同样具有可靠性。
增强模型的透明度和可解释性。
PINN(Physics-informed neural network)是一种在机器人系统中应用非常广泛的PIML方法,其把物理方程作为约束加入神经网络,将物理方程的迭代前后的残差加到神经网络的损失函数里面构建偏微分方程。PINN在训练时损失函数同时包含物理损失函数以及网络的损失函数,确保最后训练出来的结果满足物理约束,例如:在机器人系统中,动力学模型常被看作PINN需要满足的物理约束。
其中,BC和IC分别指的是边界条件(Boundary Conditions)和初始条件(Initial Conditions),除了物理约束构建的PDE方程以外,损失函数中同样考虑边界条件和初始条件。
边界条件:在PINN中,边界条件通常以函数形式提供,用于约束神经网络的输出值以满足物理问题的边界条件。以机械臂应用为例,可以指定机械臂的起始位置和目标位置的角度,或者指定机械臂在目标位置需要达到的速度或加速度作为边界条件。这些条件将被用来约束PINN模型的输出,以确保机械臂在起始点和目标点上的行为符合预期。
初始条件:在PINN中,初始条件被用来约束神经网络的输出值,以确保模型能够在初始时刻满足物理问题的初始条件。以机械臂为例,初始条件描述了机械臂在开始运动之前的状态(初始位置和速度)。这些初始条件将被用来初始化PINN模型,并作为神经网络的输入。通过学习初始条件,PINN可以逐步调整模型参数,使得模型能够更好地预测机械臂的运动轨迹。
通过将边界条件和初始条件作为约束加入到损失函数中,PINN可以确保神经网络模型学习到的解满足物理问题的边界条件和初始条件,从而更好地反映真实物理过程的行为。
PINN算法步骤如下[6]:
1.确定训练集
2.构造PDE的解𝑢(𝑥)的神经网络替代模型𝑢𝑁𝑁(𝑥;𝜃),其中𝜃为初始参数
3.通过自动微分和算数运算将模型𝑢𝑁𝑁代入主控方程,得到残差网络𝑓𝑁𝑁(𝑥;𝜃)
4.通过对初边界和残差的均方误差之和定义损失函数:
5.通过最小话损失函数训练神经网络,从而获取最优参数
Burgers' equation
PINN原文中[7],其以Burgers' equation为例,给出了PINN的损失函数的定义。
其表达式为:
简写为:
在一维空间中,Burger方程和Dirichlet边界条件看作:
基于物理的损失函数𝑓(𝑡,𝑥)定义为
目的是使网络训练过程中满足Burger方程。使用神经网络近似𝑢(𝑡,𝑥), 在python中,u(t,x)定义为:
物理损失函数𝑓(𝑡,𝑥)如下:
最终的损失函数包括物理损失函数以及神经网络的损失函数:
其中
深度拉格朗日网络
对于学习动力学模型,黑盒模型是不可取的,因为1.动力学基本原理已经有很多理论基础;2.传统的深度神经网络可能违反理论约束。
如图5所示,[2]中构建了一个深度拉格朗日网络,用于保证学习到的动力学满足拉格朗日方程。
机器人拉格朗日动力学如下:
其中,𝜏为机器人关节空间的扭矩,𝑞为关节角度。
𝑇为动能,𝑉为势能,𝐻(𝑞)为质量矩阵。
将质量矩阵和势能参数化为两个神经网络
最终,将其代入拉格朗日正动力学模型,可以得到
将正动力学添加到深度拉格朗日网络的损失函数中,训练两个神经网络(质量矩阵、势能)的参数,使学习到的数据驱动模型满足拉格朗日动力学。
PIML通过结合第一性原理,能够提升学习模型的数据效率(简化学习问题)、泛化能力和可解释性。其提升了数据驱动方法在机器人系统中的应用潜力,在真实世界中,数据的收集非常困难,虽然强化学习能够在仿真中收集足够多的数据,但是其面临很严重的Sim2Real Gap。而PIML能够学习符合物理约束的数据驱动模型,在基于模型的控制、学习系统的残差模型(不确定性)、基于模型的强化学习中世界模型的学习等方面均具有很强的应用潜力。
尽管PIML在许多方面都具有优势,但它也面临一些挑战和缺点:物理方程的不确定性:许多物理方程都是基于近似或简化的假设,实际情况可能会有所偏差,这给PIML带来了挑战。数据需求与模型复杂性:尽管PIML可以减少对大量数据的需求,但有时仍然需要足够的数据来训练模型,特别是在考虑到模型的复杂性和要求的准确性时。此外,融合物理方程和机器学习算法可能会增加模型的复杂性和计算成本。领域知识的获取和应用:需要深入了解问题领域的物理特性和约束,以指导PIML模型的设计和应用,这可能需要大量的领域专家知识和经验。在应用PIML时,需要认识到这些挑战和限制,并且需要仔细考虑如何解决这些问题,以确保模型的有效性和可靠性。
参考文献
1.J. Willard, et al. "Integrating physics-based modeling with machine learning: A survey." arxiv preprint arxiv:2003.04919 1.1 (2020): 1-34.
2.Huang Bin et al. "Applications of physics-informed neural networks in power systems-a review." IEEE Transactions on Power Systems 38.1 (2022): 572-588.
3.M. Lutter, et al. "Combining physics and deep learning to learn continuous-time dynamics models." The International Journal of Robotics Research 42.3 (2023): 83-107.
4.K. E. George, et al. "Physics-informed machine learning: Nature Reviews Physics." (2021): 422-440.
5.L. Lu et al. "DeepXDE: A deep learning library for solving differential equations." SIAM review 63.1 (2021): 208-228.
6.https://blog.csdn.net/Ss_Yy_/article/details/118545345
7.M. Raissi et al. "Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations." Journal of Computational physics 378 (2019): 686-707.