背景
以前物理学家发现物理定律的时候,里面涉及到很大的常数,变量的组合方式,都是他们人肉搜索,不断重试得到的;如果使用机器学习,可以通过不断的拟合,自动发现一些物理规律和方程;
里面涉及到的假设:
- N个物体可以用Graph来表示,物体是平移[translational] 和 旋转[rotational] 的不变的;
- 其他的常量都不需要,比如星体的质量等。
解决方法
第一步:用GNN来拟合系统内的天体运行轨迹
天体系统可以表示为(V,E),V表示节点,代表天体;E代表两个天体之间的相互作用,这里遵循两个前提:
- F=ma
- 作用力相等且方向相反,
所以一个天体所有的受力为和他有管理的边的受力相加e(i) = sum(e(i, j));然后重力加速度 a = e(i)/v(i),v是节点需要训练的变量,loss 构建:
A为观测的受力加速度
第二步:然后用显示回归的方式拟合模拟器的重力加速度A,对于每个节点我们可以学习出一个变量,称为物体质量
- 数据构造:基于GNN拟合的系统,sample 节点和边的到(Vi, Vj, E)这样的三元组
- 寻找公式空间:通过PySR这个api构建可能的公式形式
- 回归公式参数:对于预制的公式,利用 Broyden–Fletcher–Goldfarb–Shanno (BFGS)算法来求参数A,同时也得到物体的质量
论文:https://arxiv.org/pdf/2202.02306.pdf
其他相关论文:https://arxiv.org/pdf/2111.12210.pdf
若有收获,就点个赞吧