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

文章目录

  • 一、说明
  • 二、为什么要预测?
  • 三、流体动力学模拟的可视化
  • 四、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 个系统类上训练的最终模型,这种影响甚至更大。

在这里插入图片描述

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vcomp140.dll丢失怎么修复,四种vcomp140.dll丢失的修复办法

vcomp140.dll文件丢失可能会导致一些程序无法正常运行。这些程序通常是使用Microsoft Visual Studio 2015开发的,并且依赖于该动态链接库文件来处理并行计算相关的功能。一旦vcomp140.dll文件丢失或损坏,这些程序在启动或执行特定任务时可能会遇到各种问…

视频批量剪辑神器,一键修改尺寸,轻松打造专业视觉盛宴!

视频已经成为我们生活中不可或缺的一部分。无论是制作精美的短视频,还是编辑专业的宣传片,视频剪辑都是一项必不可少的工作。然而,面对大量的视频素材,如何高效地进行批量剪辑,特别是修改视频尺寸,成为了许…

【大华可见光摄像头】ffmpeg获取视频流并下载mp4 报错‘subtype‘ 不是内部或外部命令,也不是可运行的程序

我现在要通过ffmpeg获取大华摄像头视频流并下载成mp4,但我在cmd窗口运行下面命令的时候,发现报错: D:\Java\ffmpeg\ffmpeg-master-latest-win64-gpl\bin\ffmpeg.exe -y -i rtsp://admin:123xxx.xxx.xxx.xxx/cam/realmonitor?channel1&s…

[Kubernetes] Istio on Kubernetes 实践

文章目录 1.Kubernetes 创建2.Istio 部署2.1 下载 Istio2.2 安装 Istio 3.Istio on Kubernetes 实践3.1 部署 Bookinfo 示例应用3.2 确定入站 IP 和端口 1.Kubernetes 创建 主机名内部ip外部ipmaster192.168.66.2139.198.36.40node1192.168.66.3139.198.1.192node2192.168.66.…

SG-PEG-SG能与许多生物分子如蛋白质和核酸等进行有效结合

【试剂详情】 英文名称 SG-PEG-SG 中文名称 聚乙二醇二琥珀酰亚胺戊二酸酯, 琥珀酰亚胺酯-聚乙二醇-琥珀酰亚胺酯 外观性状 由分子量决定,固体或者液体。 分子量 0.4k,0.6k,1k,2k,3.4k,5…

(已解决)org.springframework.amqp.rabbit.support.ListenerExecutionFailedException

报错截图 解决方案 1、登录rabbitMQ网址,删除所有队列 2、重启rabbitMQ 亲测有效!!!亲测有效!!!亲测有效!!!

Java入门基础学习笔记4——开发Helloworld入门程序

Java程序开发的三个步骤: 1)编写代码 2)编译代码 3)运行代码 注意事项: 第一个java程序建议使用记事本来编写。 建议代码文件名全英文、首字母大写、满足驼峰模式,源代码文件的后缀必须是.java 注意&a…

Nginx 从入门到实践(3)——负载均衡、反向代理、动静分离

Nginx代理服务 Nginx代理服务 Nginx代理服务Nginx负载均衡反向代理反向代理的用途 Nginx配置攻略Nginx动静分离使用 Nginx 实现四层代理配置基本介绍使用 Nginx 实现四层代理配置 Nginx负载均衡 负载均衡(Load Balance)是由多台服务器以对称的方式组成一…

js 数据格式转换,对象转数组,数组转对象

1.对象转数组 // 对象obj转换成数组格式 let obj { orgCode:分局编码, alertId:告警ID, name:告警名称 } let arr [] for(let key in obj) { console.log(11,key,obj[key]); // 定义一个对象,赋值 let o { id: key, // key是obj对象的键值 label: obj[key] …

半小时搞懂STM32面经知识点——系统架构与启动流程

1.Cortex-M系统 1.1系统结构 1.处理器核心: Cortex-M3 2.存储器系统: Flash,SRAM,FSMC等 3.总线接口: 核心通过总线接口与外设设备和存储器进行通信。 总线矩阵:总线矩阵是一种硬件结构,用于连…

减瘦误区、雷点、陷阱和挑战怎么应对

在减瘦过程中,很多肥胖人群都容易踩到坑。比如陷入误区,认为只有短期快速的减调方式方法,才值得尝试,而忽视身体健康;或是踩到雷点,轻信强速方剂或方法,结果身体产生了排斥或根本没效用白花钱&a…

经典文献阅读之--VoxFormer(基于Transformer的3D语义场景补全)

0. 简介 之前了解了很多BEV的相关操作,但是基本上要么是激光和视觉结合,要么是纯视觉完成的2D激光投影这两种,而那种3D Occupancy方法可以利用栅格的方法完成纯视觉占据栅格的生成。《VoxFormer: Sparse Voxel Transformer for Camera-based …

Redis如何避免数据丢失?——RDB

目录 1. RDB机制的配置 2. fork()函数和写时复制(Copy On Write) 什么是Copy On Write 系统fork中使用Copy On Write机制 3. RDB文件结构 RDB文件内容和内容顺序 InfoAuxFields是rdb信息数据 数据库数据 数据 数据存储格式 字符串编码 操作码 4. RDB的2…

Measurement and Analysis of Large-Scale Network File System Workloads——论文泛读

ATC 2008 Paper 分布式元数据论文阅读笔记整理 问题 网络文件系统在当今的数据存储中发挥着越来越重要的作用。使用网络文件系统可以降低管理成本,从多个位置可靠地访问的数据。这些系统的设计通常以对文件系统工作负载和用户行为的理解为指导[12,19&a…

STL——deque容器【双端动态数组】

deque容器的基本概念: 功能:双端数组,可以对头端进行插入删除操作 deque与vector的区别: vector队友头部的插入删除效率低,数据量越大,效率越低deque相对而言,对头部的插入删除速度会比vecto…

Type-C接口声卡OTG线

随着科技的飞速发展,移动设备已成为我们日常生活中不可或缺的一部分。而在这些设备中,Type-C接口凭借其高速、高效、易用等优点,逐渐成为主流的数据传输和充电接口。与此同时,OTG(On-The-Go)技术的兴起&…

Java刷题-基础篇

目录 题目1:打印1~100内奇数和、偶数和 题目2:计算5的阶乘 题目3:计算 1!2!3!4!5! 的和 题目4:找1~100之间即能被3整除,又能被5整除的数字,要求必须使用break/continue 题目5:实现猜数字小…

毕业论文答辩PPT该怎么做?推荐3个ai工具帮你做答辩ppt

在我原本的认知里面,答辩PPT是要包含论文各个章节的,在答辩时需要方方面面都讲到的,什么摘要、文献综述、实证分析、研究结果样样不落。但是,这大错特错! 答辩PPT环节时长一般不超过5分钟,老师想要的答辩P…

HarmonyOS NEXT星河版之美团外卖点餐功能实战(下)

文章目录 一、购物车逻辑1.1 购物车及加减菜1.2 菜品的加减---方案一1.3 菜品的加减---方案二1.4 购物车View完善1.5 清空购物车1.5 购物车数量和价格 二、小结 一、购物车逻辑 1.1 购物车及加减菜 在utils目录下新建CartStore.ets文件,如下: import …