使用图网络和视频嵌入预测物理场

文章目录

  • 一、说明
  • 二、为什么要预测?
  • 三、流体动力学模拟的可视化
  • 四、DeepMind神经网络建模
  • 五、图形编码
  • 六、图形处理器
  • 七、图形解码器
  • 八、具有不同弹簧常数的轨迹可视化
  • 九、预测的物理编码和推出轨迹

一、说明

这是一篇国外流体力学专家在可视化流体物理属性的设计实现。我们知道物理模型多半是微分方程,而将微分粒子看成是训练数据,能否得出解的近似形式?本篇给出这样的启发。对于重事科研工作的人无疑是个重要参照。

二、为什么要预测?

为什么我们需要预测实体行为?假设你想建造一艘船。事实证明,在实际建造船只之前验证您的船只设计要比事后验证要便宜得多。为此,您应该在实际制造之前检查您的发明在指定环境中的行为。您可以使用计算机模拟来做到这一点,这些模拟近似于水和船之间的物理相互作用。
在这里插入图片描述

三、流体动力学模拟的可视化

举一个更微不足道的例子,我们可以看看视频游戏。下面的游戏《盗贼之海》是整个游戏行业中最逼真的水表现之一。在这种情况下,模拟的准确性可能会降低,但会牺牲性能,因为您希望游戏尽可能快速流畅地运行。

我们希望这篇文章能简要介绍基于图网络的模拟器,并展示我如何扩展这种方法,以便它可以根据短视频推断任何系统的轨迹。

那么,你是怎么做到的呢?这些是纳维-斯托克斯方程。它们描述了粘性流体物质的运动,可用于描述管道中的水流或飞机机翼周围的气流。如果你碰巧不小心在三维空间中找到了它们的解决方案,请打我,因为如果你这样做了,就会有一百万美元的奖金。简而言之,数学很难。幸运的是,有一些方法可以在不计算这个怪物的情况下近似流体运动。
在这里插入图片描述
纳维-斯托克斯方程

这些模拟速度很快。你在这里看到的是一种称为平滑粒子流体动力学的模拟方法。粒子会影响附近的其他粒子。描述这些局部行为并将它们部署在数千个粒子上可以产生非常准确的结果。让我们试着弄清楚如何构建一个预测这种行为的神经网络。
在这里插入图片描述

四、DeepMind神经网络建模

为此,我们需要更明确地构建问题。输入是一组粒子。然后,这个状态应该通过一些有趣的函数来提出这些粒子的新位置。重复这个过程一百万次,我们就有了一个完整的模拟。很简单。
在这里插入图片描述
DeepMind的人会完全同意这一点。他们提出了一种可以预测复杂物理系统行为的方法。您看到的其中一个视频是预测的轨迹,而另一个视频是使用传统方法模拟的。你能猜到什么是什么吗?

正如你所看到的,DeepMind的人知道他们在做什么。
在这里插入图片描述
好的,但是如果你想预测沙子的运动呢?然后,您需要在新数据集上从头开始重新训练新模型。

如果你想有一个专门研究粘液的模型怎么办?然后,新的数据集,新的训练,新的模型。

介于两者之间呢?预测粘沙行为的模型呢?同样,它需要从头开始训练。即使你已经有一个沙子模型和一个粘液模型!

这就引出了我们的研究问题:物理系统的视频是否包含足够的信息来推广图网络?

我们想建立一个基于单个视频的系统,可以预测视频中可见的系统的行为。理想情况下,整个系统只需要一个单一的训练程序,并且能够在不同的系统中很好地推广。

所以这是我的建议。我们将建立一个模型。该模型将观看物理系统的视频,并预测其在某个潜在空间中的属性。这将允许对任何系统的物理属性进行编码,同时保留它们之间的任何差异。正如你所看到的,goop-o-sand 位于沙子和粘液之间的某个地方,表明它的行为应该是这两者的“平均值”。
在这里插入图片描述
不同系统的物理编码的可视化。从顶部:沙子、水、粘液、沙子

因此,让我们使用这种物理编码来预测系统的运动。首先,视频编码器观看视频并计算系统的物理特性。此编码将根据它观看的视频而有所不同。

然后,将这种编码与来自原始粒子的信息相结合。

首先,我们从原始粒子中创建一个图形。每个粒子都变成一个图顶点。边缘是在相邻粒子之间创建的。每条边都包含有关其连接的粒子之间位移的信息。每个粒子存储其最后三个速度以及视频编码器提供的物理属性。

现在,边和顶点都存储向量。我们可以将这些向量通过它们各自的编码器来获得潜在图。编码图的结构与原始图完全相同,但边和顶点的编码已使用这些小型神经网络进行了更新。

在这里插入图片描述

五、图形编码

完善!现在,每条边都有一些编码,每个顶点都有一些其他编码。我们将执行一个称为消息传递的过程。在此示例中,我们将重点关注紫色节点。

首先,我们找到连接到紫色节点的三条边。让我们关注具有 E-Zero 编码的边缘。我们将按以下方式构造一个向量。由于每条边总是只连接两个节点,因此我们将采用这两个节点的编码。在本例中为 V-0 和 V-1。此外,我们还将包括边缘本身的编码。我们对连接到紫色节点的每个边重复此过程。

然后,这些向量通过另一个神经网络,然后相加在一起。

此输出最终通过另一个小模块,以获得新的节点编码。此过程的输出将反馈到原始节点。然后一遍又一遍地重复整个过程。在我的实验中,我执行了其中三个消息传递步骤。

在这里插入图片描述

六、图形处理器

完善!现在是最后一步。每个粒子都有一个与其编码相关的向量。

我们最终可以解码图形,最终获得每个粒子的加速度。既然我们有加速度,我们就可以计算出新的速度。有了新的速度,我们可以计算出每个粒子的新位置。现在,我们可以重复整个过程,在下一个时间步获取系统的状态。
在这里插入图片描述

七、图形解码器

让我们来测试一下。在进入流体之前,我在一个更简单的系统上测试了我刚才描述的方法。该系统由 10 个颗粒组成,与弹簧连接。这种设置自然地转换为图形,其中弹簧被简单地替换为边缘。此外,由于系统仅在一个值 k 上有所不同,即弹簧常数,因此从视频计算的物理编码仅包含一个数字。

为了训练模型,我为具有不同弹簧常数的系统生成了轨迹。在右侧,您可以看到 5 种不同类别的系统。在我的实验中,我改变了系统类的数量。有些模型仅使用弹簧常数非常低或非常高的轨迹进行训练,而有些模型甚至使用 10 个不同的系统类别进行训练。

总的来说,每个数据集始终包含 320 条轨迹。每条轨迹长 3 秒,共计 300 个时间步长。此外,每个带有图形的样本都具有轨迹的关联视频。

在训练过程中,以非标准方式选择样本以增加数据集中的方差。首先,选择单个时间步长。这包含输入图以及目标加速度。假设此时间步长来自弹簧常数 k 等于 4000 的类。然后,从具有该特定弹簧常数的系统的所有视频中,随机选择一个。然后,该视频与图形一起传递到网络,以计算加速度。

重要的是,视频编码器与图网络同时进行训练。这意味着视频编码器仅根据预测的加速度来学习物理特性。
在这里插入图片描述

八、具有不同弹簧常数的轨迹可视化

这是结果!根据视频,物理编码是不同的。在顶部,您可以看到一个具有低弹簧常数和低物理编码的系统的视频。底部是具有更硬弹簧的系统的视频,导致高物理编码。

右边是预测的轨迹。有趣的是,他们俩都是从完全相同的初始条件开始的。但是,根据物理编码,我的模型设法生成了类似于视频中可见的系统的卷展。右上角的弹簧比右下角的弹簧灵活得多。在称其为成功之前,让我们再看一些数据
在这里插入图片描述

九、预测的物理编码和推出轨迹

首先,仅使用两个系统的轨迹训练的模型,要么具有非常低的弹簧常数,要么具有非常高的弹簧常数。虽然这两个类的一步误差非常低,但对于介于两者之间的系统来说,误差要大得多。这可能是因为模型只看到了这些极端情况,因此它不能在它们之间轻松插值。

如果模型使用 5 个不同的类进行训练,则会出现类似的现象,训练期间存在的系统的误差较低,而模型从未见过的系统的误差较高。

最后,如果模型看到了 10 个具有 10 个不同弹簧常数的不同系统,则误差最小。这些结果与神经网络的直觉一致,因为它们在处理原始分布中存在的数据时做得很好,但很难脱离分布。
在这里插入图片描述
具有不同弹簧常数的系统的真实加速度和预测加速度之间的平均欧几里得距离

我想向你展示的另一件有趣的事情是物理编码。在第一个模型中,各种系统的平均编码似乎明显对应于真正的弹簧常数。

其他模型也可以说类似的事情。真实弹簧常数与预测的视频编码之间也存在明显的对应关系。

现在有趣的是这些编码的差异。突出显示的区域表示结果的标准差。如您所见,对于原始分布中存在的系统,方差很小,而对于训练数据集中不存在的系统来说,方差相当大。

对于使用 5 个类训练的模型,方差明显较小,表明模型对其预测更加“自信”。

对于在 10 个系统类上训练的最终模型,这种影响甚至更大。

在这里插入图片描述

由在不同数量的物理系统类别上训练的模型预测的视频编码

根据我们所知道的,让我们回答最初的问题。我们能否使用短视频对系统的物理特性进行可靠的编码?是的,我们能。
我们能否在一个程序中训练整个系统?是的,我们能。最后,我们能否可靠地在不同的材料之间进行插值?

正如我们所看到的,模型在分布之外难以泛化。然而,随着训练分布变得更加精细,并且在系统类中包含更多的变化,整个频谱的误差就会变小。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/328164.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenAI新模型GPT-4o“炸裂登场” 响应速度堪比真人 关键还免费!

GPT-4o模型基于来自互联网的大量数据进行训练,更擅长处理文本和音频,并且支持50种语言。更值得一提的是,GPT-4o最快可以在232毫秒的时间内响应音频输入,几乎达到了人类的响应水平。 GPT-4o有多“炸裂”?核心能力有三 G…

幻兽帕鲁Palworld服务器手动部署

目录 帕鲁官方文档手动安装steamcmd通过steamcmd安装帕鲁后端客户端连接附录:PalServer.sh的启动项附录:配置文件 帕鲁官方文档 https://tech.palworldgame.com/ 手动安装steamcmd 创建steam用户 sudo useradd -m steam sudo passwd steam下载steamc…

自动化测试基础 --- Jmeter

前置环境安装 首先我们需要知道如何下载Jmeter 这里贴上下载网站Apache JMeter - Download Apache JMeter 我们直接解压,然后在bin目录下找到jemter.bat即可启动使用 成功打开之后就是这个界面 每次打开可以用这种方式切换成简体中文 或者直接修改properties文件修改对应的语言…

【linux】详解linux基本指令

目录 cat more less head tail 时间 cal find grep zip/unzip tar bc uname –r 关机 小编一共写了两篇linux基本指令,这两篇涵盖了大部分初学者的必备指令,这是第二篇,第一篇详见http://t.csdnimg.cn/HRlVt cat 适合查看小文…

5.神经网络-激活函数

目录 1. 激活函数不是阶跃函数 1.1 激活函数和阶跃函数都是非线性函数 1.2 激活函数不是阶跃函数 2. sigmoid 函数 2.1 sigmoid 函数表达式 2.2 sigmoid 函数 Python 实现 2.4 sigmoid 函数图 3. ReLU 函数 3.1 ReLU 函数表达式 3.2 ReLU 函数 Python 实现 3.4 ReLU…

接口自动化-requests库

requests库是用来发送请求的库,本篇用来讲解requests库的基本使用。 1.安装requests库 pip install requests 2.requests库底层方法的调用逻辑 (1)get / post / put / delete 四种方法底层调用 request方法 注意:data和json都…

边缘计算安全有多重要

德迅云安全研究发现边缘安全是对存储或处理在网络边缘的数据的保护。边缘可以用不同的方式定义,但一般来说,它包括企业直接控制之外的任何设备或位置。这可能包括传感器、连接物联网的设备和移动设备。 边缘计算正在彻底改变商业运作方式。这引发了对边缘…

WordPress原创插件:超链接点击访问统计

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 一般我们都使用第三方统计服务(比如百度统计)来统计网站的访问量,使用此插件可以统计文章的浏览次数,那么,如果想统计网站外…

(规格参考)ADP5360ACBZ-1-R7 电量计 电池管理IC,ADP5072ACBZ 双通道直流开关稳压器,ADL5903ACPZN 射频检测器

1、ADP5360ACBZ-1-R7:具有超低功耗电量计、电池保护功能的先进电池管理PMIC 功能:电池保护 电池化学成份:锂离子/聚合物 电池数:1 故障保护:超温,过压 接口:I2C 工作温度:-40C ~ 85…

生活服务商家拥抱数字化,鸿运果系统加速“服务生意数字化”进程

在数字化转型的大潮中,生活服务商家正积极拥抱变革,以适应新的市场环境和消费者需求。鸿运果系统作为专业的“服务生意”数字化解决方案提供商,正助力商家加速数字化转型,推动行业向智能化、个性化服务转型。 数字化转型的背景 …

人才测评:计划管理能力与岗位胜任力素质测评

计划管理能力指的是什么? 计划管理能力,可以体现为从业者在精准制定好任务,或是根据任务的时间长,困难的程度来设定好完成的目标,一步一个脚印将工作完成好,并且能预估出可能出现的突发事件,将…

AI工具的热门与卓越:揭示AI技术的实际应用和影响

文章目录 每日一句正能量前言常用AI工具创新AI应用个人体验分享后记 每日一句正能量 我们在我们的劳动过程中学习思考,劳动的结果,我们认识了世界的奥妙,于是我们就真正来改变生活了。 前言 随着人工智能(AI)技术的快…

【Linux取经路】进程通信之匿名管道

文章目录 一、进程间通信介绍1.1 进程间通信是什么?1.2 进程间通信的目的1.3 进程通信该如何实现 二、管道2.1 匿名管道2.1.1 站在文件描述符角度深入理解管道2.1.2 接口使用2.1.3 PIPE_BUFFER 和 Pipe capacity2.1.4 管道中的四种情况2.1.5 管道特征总结 2.2 匿名管…

华为、小米、魅族都开始造车了!中国还有多少手机厂家要下场造车?2024如果创业适合干什么?2024最适合创业的细分行业

要说现在中国最火、声量最高的创业是什么?那一定是造车! 小米这样的手机公司在造车、创维这样的电视家电品牌在造车、甚至就连五粮液这样的白酒品牌也在造车!至于其他的还有什么做地产的恒大、做电动车的新日等等,数不数胜。而在手…

如何进行事务处理

1、问题背景 在数据库存储系统中,事务处理是一种保证多个数据库操作作为单个逻辑单元执行的技术。事务处理可以确保数据的一致性、完整性和隔离性。 在使用 Google Cloud Datastore 时,可以使用 datastore.transaction() 函数来进行事务处理。datastor…

DBeaver连接数据库

前言 DBeaver是一款免费和开源的数据库管理工具,为开发人员和数据库管理员提供了一个通用的数据库解决方案。以下是DBeaver的主要特点和功能: 跨平台支持:DBeaver支持Windows、Linux、macOS等主流操作系统,用户可以在不同的平台…

MATLAB公式推导和导出Latex格式的方法

最近在推机械臂正逆运动学公式,那个旋转矩阵乘起来是真滴多,手算算的脑浆疼。突然想起来MATLAB还有符号计算这个功能,于是翻了翻手册, 找到了这个利用MATLAB帮助计算公式并且直接导出Latex格式的办法。 先定义符号变量&#xff0…

我的职场加速器-高效工作从可道云teamOS开始

不论是作为管理者,还是普通打工人,在日常工作中,我们都需要一款既能够保障数据安全,又能够提升团队协作效率的平台。 近期,我体验了可道云teamOS,这款企业级云协作平台给我留下了深刻的印象。 一、极简风…

基于springboot+mybatis+vue的项目实战之前端

步骤: 1、项目准备:新建项目,并删除自带demo程序,修改application.properties. 2、使用Apifox准备好json数据的mock地址 3、编写基于vue的静态页面 4、运行 整个的目录结构如下: 0、项目准备 新建项目&#xff0…

力扣【旋转函数】python

如果直接用暴力的话,只能过4个样例好像,超时 因此得用递推公式 F1F0前n-1个数-(n-1)*第n个数 F0sum(nums)-n*第n个数 nlen(nums) ans[]#定义一个存最大值值的列表 ss sum(nums) dm 0 for j in range(n):dm j * nums[j] ans.append(dm) print(dm) n…