当前位置: 首页 > news >正文

deeponet(nature原文部分重点提取)

论文链接:Learning nonlinear operators via DeepONet based on the universal approximation theorem of operators | Nature Machine Intelligence

原文部分重点提取

DeepONets 会产生小的泛化误差

隐式类型算子还可以描述我们对其形式没有任何数学知识的系统

DeepONets 中的训练数据集大小是输入函数 u 的数量和 G(u) 的评估位置 y 的数量的乘积。

在使用结构化数据从偏微分方程学习算子时,一些工作将输入和输出函数视为图像,然后使用卷积神经网络(CNN)来学习图像到图像的映射 G(参考文献 1)。),但这种方法只能应用于特定类型的问题,其中

选择了 16 个测试用例来研究对空间 V 进行采样的重要问题。这些示例包括积分、勒让德变换、分数阶导数、非线性 ODE 和 PDE,以及随机 ODE 和 PDE。

G : u ↦ G(u) 它需要两个输入 [u(x), u(x), …, u(x)] 和 y

令 G 为采用输入函数 u 的运算符,G(u) 为相应的输出函数。对于 G(u) 域中的任意点 y,输出 G(u)(y) 是实数。因此,网络的输入由两部分组成:u 和 y,输出为 G(u)(y)

一般来说,输入没有任何特定的结构,因此我们使用 FNN 和 ResNet 作为基线模型(branch分支中)。为了将 DeepONets 与其他模型进行比较,我们还考虑将 CNN 或 RNN 作为特定问题和数据集的一些示例中的基线。

在本研究中,我们所有的训练数据集都是从数值求解器获得的;

 函数 g 和 f 可以选择为不同类别的神经网络,满足函数的经典万能逼近定理,例如(堆叠/非堆叠)全连接神经网络FNN、残差神经网络resnet和卷积神经网络CNN。

我们主要考虑以下函数空间:高斯随机场(GRF)、谱表示并将输入函数表示为图像。我们注意到,一个数据点是一个三元组 (u, y, G(u)(y)),因此特定输入 u 可能出现在具有不同 y 值的多个数据点中。例如,大小为 10,000 的数据集只能从 100 个u 轨迹生成,并且每个轨迹在 100 个不同的 y 位置评估 G(u)(y)。此外,对于不同的u,y的数量和位置可能不同。在我们的数据集中,对于每个 u,我们在 G(u) 域中随机选择 P 个不同的 y 点,因此数据点的总数等于 P ×u。

案例2d:

这个案例可以发现是将定义域从一维映射到二维

初始条件或边界条件的值为零

"Zero initial/boundary conditions"

数学和物理学中常用的术语,尤其是在涉及微分方程、偏微分方程、流体动力学、电磁学等领域时。指的是在求解某些方程时,所施加的初始条件或边界条件的值为零。

1. Zero Initial Conditions(零初始条件)

  • 定义:初始条件指定了在时间 ( t = 0 ) 时,系统或方程的状态。在零初始条件下,系统的初始状态被设定为零。
  • 举例:假设你在求解一个振动系统(例如弹簧振子),零初始条件意味着在 ( t = 0 ) 时,位移和速度都为零,即 ( x(0) = 0 ) 和 ( v(0) = 0 )。

2. Zero Boundary Conditions(零边界条件)

  • 定义:边界条件用于描述在空间某些特定位置(通常是系统的边界)上的解的行为。零边界条件指的是在边界上的解值为零。
  • 举例:假设你在求解热传导问题,零边界条件意味着在边界的温度为零,类似于在求解一个固体物体的热分布时,边界上的温度为零,即 ( T(x = 0) = 0 ) 或 ( T(x = L) = 0 ),其中 ( L ) 是物体的长度。
总结:
  • 零初始条件:意味着在时间 ( t = 0 ) 时,系统的状态(例如位移、速度、温度等)为零。
  • 零边界条件:意味着在空间边界上的值为零,常用于描述某些物理量在边界处的行为。

这些条件在物理学、工程学和其他应用科学中通常用于简化问题,帮助数学模型更容易求解。

总结中提到deeponet-fno代码中电对流案例

更广泛地说,DeepONet 可以代表一个多尺度算子,该算子使用时空尺度上多个数量级的数据进行训练,例如,使用流体力学或其他多尺度问题中的分子、介观和连续介质体系的数据进行训练。我们还可以设想其他类型的复合 DNN,用于开发多物理场算子,例如,在电对流中,由于外加电势的连续变化,涉及阴离子和阳离子的流场和浓度场的演变。事实上,在正在进行的工作中,我们开发了 DeepONet 的扩展来模拟这种电对流多物理场问题,我们表明 DeepONet 比谱元求解器快得多。我们在高超音速方面获得了类似的加速和高精度,用于学习空气动力学以及多个物种的有限速率化学。如果泛化误差是有界的,学习这种多尺度和多物理场非线性算子将简化计算建模,并且有助于以良好的精度快速预测未见过的新参数值和新输入函数(边界/初始条件/激励)的复杂动力学。

后续:找了一下代码看还没有开发,issue中也没有提到截至目前

issue中提到可以用带有时间的2D或者3d数据,作者提到deeponet输入和输出有不同的可能方式。

url:Handling 3D data like time evolution of 2D fluid flow. · Issue #2 · lu-group/deeponet-fno · GitHub

问题:

现在,我想使用 DeepONet 解决流动问题。我的输入是维度(样本、高度、宽度、时间)或对应于不同时间步骤的图像,这些图像描述了流动的演变。具体来说,我的输入是从 t = 1 到 m 个时间步骤的速度,我想预测接下来的 n 个时间步骤的速度 [batch, :,:,:m] -> [batch,:,:, m: m+n]。

我应该如何预处理此类问题的数据?是否有使用 deepOnet 的此类流问题的代码实现?

另外,我们可以使用类似 FNO-2D-time 的 DeepOnet(更多是 RNN 类型结构)吗?

作者答案:是的,您可以使用 DeepONet。输入和输出有不同的可能方式。最简单的方法是使用时间步 t 作为输入,使用时间步 t+1 作为输出。或者您可以使用多个时间步作为输入

自己案例可以考虑用deeponet的情况

预测所有时间上的位移

可以考虑每个点的位移共3159个

input_branch(500,3159,3)   input_trunk:time(500)  

output:(500,3159,3)

上个时间预测下个时间上的

input_branch(500,3159,3)   input_trunk:数字range(3159,3)

output:(500,3159,3)

其他待实现想法

上个时间到下个时间位移的映射,也就是位移量的算子(能不能用流体固体合在一起?或者用两个deeponet让下一个时间的流固体位移总损失最小做为损失函数?也可以考虑流体到固体坐标(耦合算子)的映射行不行?)

相关文章:

deeponet(nature原文部分重点提取)

论文链接:Learning nonlinear operators via DeepONet based on the universal approximation theorem of operators | Nature Machine Intelligence 原文部分重点提取 DeepONets 会产生小的泛化误差 隐式类型算子还可以描述我们对其形式没有任何数学知识的系统 De…...

LeetCode【0036】有效的数独

本文目录 1 中文题目2 求解方法:python内置函数set2.1 方法思路2.2 Python代码2.3 复杂度分析 3 题目总结 1 中文题目 请根据以下规则判断一个 9 x 9 的数独是否有效。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线…...

Typecho登陆与评论添加Geetest极验证,支持PJAX主题(如Handsome)

Typecho登陆与评论添加Geetest极验证,支持PJAX主题(如Handsome) 起因 最近垃圾评论比较多,为了防止一些机器人,我给博客添加了一些评论过滤机制,并为评论添加了验证码。 原本使用的插件是noisky/typecho…...

前端入门一之ES6--面向对象、够着函数和原型、继承、ES5新增方法、函数进阶、严格模式、高阶函数、闭包

前言 JS是前端三件套之一,也是核心,本人将会更新JS基础、JS对象、DOM、BOM、ES6等知识点,这篇是ES6;这篇文章是本人大一学习前端的笔记;欢迎点赞 收藏 关注,本人将会持续更新。 文章目录 JS高级 ES61、面向对象1.1…...

脑机接口、嵌入式 AI 、工业级 MR、空间视频和下一代 XR 浏览器丨RTE2024 空间计算和新硬件专场回顾

这一轮硬件创新由 AI 引爆,或许最大受益者仍是 AI,因为只有硬件才能为 AI 直接获取最真实世界的数据。 在人工智能与硬件融合的新时代,实时互动技术正迎来前所未有的创新浪潮。从嵌入式系统到混合现实,从空间视频到脑机接口&…...

RoseTTAFold MSA_emb类解读

MSA_emb 类的作用是对多序列对齐(MSA)数据进行嵌入编码,同时添加位置编码和查询编码(调用PositionalEncoding 和 QueryEncoding)以便为序列特征建模类。 源代码: class MSA_emb(nn.Module):def __init__(self, d_model=64, d_msa=21, p_drop=0.1, max_len=5000):super(…...

2411C++,C++26反射示例

参考 namespace __impl {template<auto... vals>struct replicator_type {template<typename F>constexpr void operator>>(F body) const {(body.template operator()<vals>(), ...);}};template<auto... vals>replicator_type<vals...>…...

Ubuntu上搭建Flink Standalone集群

Ubuntu上搭建Flink Standalone集群 本文部分内容转自如下链接。 环境说明 ubuntu 22.06 先执行apt-get update更新环境 第1步 安装JDK 通过apt自动拉取 openjdk8 apt-get install openjdk-8-jdk执行java -version&#xff0c;如果能显示Java版本号&#xff0c;表示安装并…...

C语言 精选真题2

题目要求&#xff1a;将形参s所指向的字符串转换为整数并且返回 知识点&#xff1a; 将字符1转化为整数1 int fun(char *s) {int flag1,n0; if(*s-) //先根据第一个符号来判断是正负&#xff1b;然后读取第二位{flag-1;s; }else if(*s){s;}while(*s>0&&…...

Netty篇(WebSocket)

目录 一、简介 二、特点 三、websock应用场景 四、websocket案例 1. 服务端 2. 处理器 3. 页面端处理 五、参考文献 一、简介 没有其他技术能够像WebSocket一样提供真正的双向通信&#xff0c;许多web开发者仍然是依赖于ajax的长轮询来 实现。&#xff08;注&#xff…...

云原生-docker安装与基础操作

一、云原生 Docker 介绍 Docker 在云原生中的优势 二、docker的安装 三、docker的基础命令 1. docker pull&#xff08;拉取镜像&#xff09; 2. docker images&#xff08;查看本地镜像&#xff09; 3. docker run&#xff08;创建并启动容器&#xff09; 4. docker ps…...

MySQL数据库:SQL语言入门 【上】(学习笔记)

SQL&#xff08;Structured Query Language&#xff09;是结构化查询语言的简称&#xff0c;它是一种数据库查询和程序设计语言&#xff0c;同时也是目前使用最广泛的关系型数据库操作语言。&#xff08;95%适用于所有关系型数据库&#xff09; 【 SQL是关系型数据库通用的操作…...

重学 Android 自定义 View 系列(六):环形进度条

目标 自定义一个环形进度条&#xff0c;可以自定义其最大值、当前进度、背景色、进度色&#xff0c;宽度等信息。 最终效果如下&#xff08;GIF展示纯色有点问题&#xff09;&#xff1a; 1. 结构分析 背景圆环&#xff1a;表示进度条的背景。进度圆环&#xff1a;表示当前…...

nodejs 020: React语法规则 props和state

props和state 在 React 中&#xff0c;props 和 state 是管理数据流的两种核心机制。理解它们之间的区别和用途是构建 React 应用程序的基础。 一、props 和 state的区别 特性propsstate定义方式由父组件传递给子组件的数据组件内部管理的本地数据是否可修改不可变&#xff…...

STM32问题集

这里写目录标题 一、烧录1、 Can not connect to target!【ST-LINK烧录】 一、烧录 1、 Can not connect to target!【ST-LINK烧录】 烧录突然 If the target is in low power mode, please enable “Debug in Low Power mode” option from Target->settings menu 然后就&…...

SwiftUI(十二)- 容器组件 布局与结构的基石

引言 在用户界面开发中&#xff0c;布局是设计一个应用程序的视觉层次和交互体验的核心之一。无论是设计简单的按钮排布&#xff0c;还是复杂的多层次页面&#xff0c;合理的布局和结构可以极大地提升用户体验。而容器组件&#xff0c;作为将多个视图整合、组织、排列的工具&a…...

想租用显卡训练自己的网络?AutoDL保姆级使用教程(PyCharm版)

各位小伙伴们大家好~ 不知道各位同学在科研过程中是否有这样的苦恼 电脑无显卡。难不成我要用CPU跑实验吗&#xff1f;救救我吧电脑显卡算力太低。训练过程慢慢慢慢慢&#xff0c;等半天都出不来结果电脑显卡显存不够&#xff0c;batchsize稍微高一点点&#xff0c;就要爆显存…...

LeetCode【0039】组合总和

本文目录 1 中文题目2 求解方法&#xff1a;回溯法2.1 方法思路2.2 Python代码2.3 复杂度分析 3 题目总结 1 中文题目 给定一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#…...

AscendC从入门到精通系列(一)初步感知AscendC

1 什么是AscendC Ascend C是CANN针对算子开发场景推出的编程语言&#xff0c;原生支持C和C标准规范&#xff0c;兼具开发效率和运行性能。基于Ascend C编写的算子程序&#xff0c;通过编译器编译和运行时调度&#xff0c;运行在昇腾AI处理器上。使用Ascend C&#xff0c;开发者…...

PostgreSQL中的COPY命令:高效数据导入与导出

在PostgreSQL数据库中&#xff0c;数据导入和导出是日常工作中常见的操作。传统的插入&#xff08;INSERT&#xff09;方法虽然可以实现数据的导入&#xff0c;但在处理大量数据时效率较低。而COPY命令则提供了一个快速、高效的方式来完成这一任务。COPY命令不仅可以用于将数据…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

STM32HAL库USART源代码解析及应用

STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...