APP下载

基于深度学习的平抛运动数值模拟探究

2022-10-12曾祥潘广东省广州市白云区景泰小学

中国信息技术教育 2022年19期
关键词:数值神经网络框架

曾祥潘 广东省广州市白云区景泰小学

吴俊杰 北京师范大学物理系

孙丽君 山东省淄博第二中学

近年来,随着计算机硬件的高速发展,以深度学习为代表的人工智能技术如计算机视觉、自然语言处理等在生产生活等诸多领域中取得了长足进步。这些应用能够成功部署都依赖于大量训练数据。那么,在物理研究等领域能否引入深度学习?答案是肯定的。但所面临的一个问题是,深度学习是以数据驱动的,而在物理实验中经常难以取得大量准确的数据。为此,有不少科学家提出了解决方案。其中,美国布朗大学应用数学系的Karniadakis教授及其合作者们提出了一套深度学习算法框架,将其命名为“物理信息神经网络”(Physics-informed Neural Network,简称PINN)。PINN被提出后迅速获得了大量关注,并在物理学、工程等领域得到了应用。

本文在平抛运动的学习中,引入开源PINN深度学习框架,模拟出平抛运动数值,从而了解PINN的基本原理及其在物理研究中的使用方法,培养学生利用计算机解决问题的习惯,体验人工智能技术在科学研究中的应用。

● 物理信息神经网络简介

神经网络是深度学习框架的主要模型。物理信息神经网络是指在神经网络中嵌入了物理公式,利用物理公式作为限制条件加入神经网络,使得神经网络的训练结果满足物理规律。物理公式的嵌入方法,通常加入到神经网络的损失函数(Loss)。其基本训练流程如图1所示。

物理信息神经网络这一深度学习框架的训练过程,首先要生成训练集。通常利用随机函数,根据物理公式的适用范围生成一批随机数作为训练集。训练集从神经网络输入层进入,经过隐藏层等一系列计算,最后从输出层取得计算结果;同时,训练集也经过物理公式计算,得到精确数值。取得神经网络计算的近似值与物理公式计算的精确值之后,计算出两者的均方误差,作为损失函数,通过反向传播调整神经网络参数,使得神经网络的计算接近精确数值。经过多轮的训练,神经网络的计算结果最终与精确值拟合。

● 应用案例

1.平抛运动概念

平抛运动是高中力学中的一个曲线运动。物体以一定的初速度沿水平方向抛出,如果物体仅受重力作用,这样的运动叫作平抛运动。物体做平抛运动的公式如图2所示。平抛运动可看作是水平方向的匀速运动和竖直方向的自由落体运动的合运动。

为了降低深度学习框架的使用难度,简化代码和神经网络配置,本案例只选取平抛运动竖直方向位移公式作为研究对象。竖直方向位移公式转化Python代码为:

y=1/2*g*t**2

代码中的“y”是竖直方向位移,“g”是重力加速度,“t”是时间。

2.物理信息神经网络的使用配置

本文使用了开源物理信息神经网络框架,全部代码文件可在以下网址取得:https://github.com/SachchitV/PINN_Simple。使用物理信息神经网络前先在框架主文件进行配置,包括神经网络结构、训练集以及损失函数。

(1)配置神经网络结构及训练参数

神经网络的类型有很多种,目前最热门的是卷积神经网络。然而,物理信息神经网络只需要最简单的全连接神经网络就能够很好地工作。

全连接神经网络结构配置项目如图3所示。

输入层。计算竖直位移公式,对神经网络输入t(时间),计算出y(竖直位移),因此输入层只需要一个数值t,设为1。

输出层。计算竖直位移结果,输出一个数值y,设为一。

隐藏层与神经元。这两项关系到整个神经网络的规模并影响计算结果的精度。如果设置较大,计算的精度一般会比较高;但是神经网络规模大,训练时间和推理时间明显变长。经过试验发现,对于平抛运动竖直位移数值这类比较简单的计算,只需要规模比较小的神经网络就能够取得满意的结果。本例设为2个隐藏层、10个神经元。

训练次数,即Echo,神经网络训练次数。可从100开始,逐次增加,根据训练结果调整,直至训练结果与精确值拟合。

学习率,用于设定神经网络每次训练时调整参数的步长,保持默认值即可。如果发现增加训练次数后,数据拟合没有改善,可以适当增加学习率。

(2)准备训练集

物理信息神经网络可以使用实验实测数据作为训练集,也可以用随机函数生成训练集。在本例中使用随机函数生成训练集,考虑到平抛运动实验中物体落地过程的时间较短,随机数生成范围设定为0~2秒,随机生成50个数据(如图4)。

图4 生成训练集

(3)嵌入物理公式

物理公式在损失函数中嵌入(如图5)。其中g为重力加速度常数,取值为9.80665。t是时间,把生成的训练集赋值给t。最后把竖直位移公式的计算代码“1/2*g*t**2”加入损失函数。

图5 损失函数内嵌物理公式

3.运行结果

在物理信息神经网络框架配置完成后,运行代码文件,神经网络训练完成的效果如图6所示。

图6中的左侧图像是神经网络没有训练,计算出模拟值与精确值的拟合情况,属于欠拟合状态。右侧图像是训练3000遍后数据的拟合情况,数据完全拟合。物理信息神经网络完美地模拟了平抛运动竖直位移的变化过程。

图6 模型训练前后数据拟合对比

● 讨论

猜你喜欢

数值神经网络框架
秦九韶与高次方程的数值解法
基于人工智能LSTM循环神经网络的学习成绩预测
基于图像处理与卷积神经网络的零件识别
MIV-PSO-BP神经网络用户热负荷预测
体积占比不同的组合式石蜡相变传热数值模拟
框架
数值大小比较“招招鲜”
浅谈框架网页的学习
基于Jmeter对Node框架性能的测试研究
三次样条和二次删除相辅助的WASD神经网络与日本人口预测