迁移学习「求解」偏微分方程,条件偏移下PDE的深度迁移算子学习(1)

简介: 迁移学习「求解」偏微分方程,条件偏移下PDE的深度迁移算子学习

迁移学习「求解」偏微分方程,条件偏移下PDE的深度迁移算子学习

原创ScienceAIScienceAI 2022-12-06 11:39 发表于河南

收录于合集

#AI191

#深度学习131

#迁移学习4

#方程3

编辑 | 绿萝传统的机器学习算法旨在孤立地学习,即解决单个任务在许多实际应用中,收集所需的训练数据和重建模型要么成本高得令人望而却步,要么根本不可能。迁移学习(TL)能够将在学习执行一个任务(源)时获得的知识迁移到一个相关但不同的任务(目标),从而解决数据采集和标记的费用、潜在的计算能力限制和数据集分布不匹配的问题。来自美国布朗大学和约翰斯·霍普金斯大学(JHU)的研究人员提出了一种新的迁移学习框架,用于基于深度算子网络 (DeepONet) 的条件转移下的任务特定学习(偏微分方程中的函数回归)。由于几何域和模型动力学的变化,研究人员展示了该方法在不同条件下涉及非线性偏微分方程的各种迁移学习场景的优势。尽管源域和目标域之间存在相当大的差异,但提出的迁移学习框架能够快速高效地学习异构任务。该研究以「Deep transfer operator learning for partial differential equations under conditional shift」为题,发布在《Nature Machine Intelligence》上。论文链接:https://www.nature.com/articles/s42256-022-00569-2深度学习已经成功地应用于模拟偏微分方程(PDE)描述的计算成本很高的复杂物理过程,并实现了卓越的性能,从而加速了不确定性量化、风险建模和设计优化等众多任务。但此类模型的预测性能通常受到用于训练的标记数据的可用性的限制。然而,在许多情况下,收集大量且足够的标记数据集在计算上可能很棘手。此外,孤立学习(即为独特但相关的任务训练单个预测模型)可能非常昂贵。为了解决这个瓶颈,可以在称为迁移学习的框架中利用相关领域之间的知识。在这种情况下,来自在具有足够标记数据的特定域(源)上训练的模型的信息可以转移到只有少量训练数据可用的不同但密切相关的域(目标)。由于缺乏针对特定任务的算子(operator)学习和不确定性量化的 TL 方法,在这项工作中,研究人员提出了一个使用神经算子在条件转换下高效 TL 的新框架。

图 1:利用 DeepONet 提出的近似 PDE 解的迁移学习框架。(来源:论文)

研究人员将目标神经算子称为迁移学习深度算子网络 (TL-DeepONet)。这项工作背后的主要思想是在标准回归损失下从源域训练具有足够标记数据(即模型评估)的源模型,并将学习的变量迁移到第二个目标模型,该目标模型在混合损失函数下用来自目标域的非常有限的标记数据训练。混合损失包括回归损失和条件嵌入算子差异 (CEOD) 损失,用于衡量再现核希尔伯特空间 (RKHS) 中条件分布之间的差异。所提出框架的关键要素是利用源模型提取的域不变特征,从而有效地初始化目标模型变量。在这项工作中,研究人员采用了更通用的深度神经算子 (DeepONet),它使我们能够充分学习算子,从而对任意新输入和复杂域执行实时预测。重要的是,所提出的迁移学习框架能够在标记数据非常有限的领域中识别 PDE 算子。这项工作的主要贡献可归纳如下:

  • 提出了一种新的框架,用于在深度神经算子的条件转移下迁移学习问题。
  • 所提出的框架可用于快速高效的特定于任务的 PDE 学习和不确定性量化。
  • 利用 RKHS 和条件嵌入算子理论的原理来构建新的混合损失函数并对目标模型进行微调。
  • 所提出框架的优点和局限性通过各种迁移学习问题得到证明,包括由于域几何、模型动力学、材料特性、非线性等变化引起的分布变化。

研究人员提出了参数 PDE 的迁移学习问题的综合集合,以评估所提出方法的有效性。图 2 给出了所考虑的不同基准的直观描述。首先介绍基准问题以及所考虑的迁移学习场景,然后提供实验结果。

图 2:本工作中考虑的算子学习基准和 TL 场景的示意图。(来源:论文)

场景一——达西流:达西定律描述了流体在给定渗透率下流过多孔介质的压力,可以用以下方程组进行数学表示:∇⋅(K(x)∇h(x))=g(x),x=(x,y)                                                                     (1)受以下边界条件约束:h(x)=0,∀x∈∂Ω,其中 K(x) 是异质多孔介质随空间变化的导水率,h(x) 是相应的水头。本研究的目标是学习等式(1)中系统的算子,它将输入随机电导率场映射到输出水头(hydraulic head);即 为了生成多个电导率场来训练 DeepONet,将 K(x) 描述为一个随机过程,其实现是通过截断的 Karhunen–Loéve 展开生成的。源模拟框是一个方形域 Ω = [0,1] ×[0,1],离散化 d = 1541 个网格点。考虑以下四种迁移学习场景:TL1:将学习从正方形域迁移到等边三角形。TL2:将学习从正方形域转移到直角三角形。TL3:将学习从正方形域迁移到具有垂直缺口的等边三角形。TL4:将学习从具有一个垂直缺口的方形域迁移到具有两个水平缺口的方形域。研究发现,任务 TL1 和 TL2 展示了该方法能够以高精度将知识从方形域转移到三角形域,即使在使用小型数据集进行训练时也是如此(见表 1)。为了测试该方法在具有挑战性的情况下的性能,考虑具有不连续性和缺口的域(任务 TL3 和 TL4)。观察到 TL-DeepONet 精度损失小于 5%,这表明即使考虑了非常不同的外部边界域,也可以用很少的标记数据预测液压头。

表 1:所有达西流问题的相对 L2 误差 (TL1–TL4)。(来源:论文)

相关文章
|
Windows
关于Qt Creator项目中.pro文件中的相对路径
关于Qt Creator项目中.pro文件中的相对路径
1319 0
|
机器学习/深度学习 人工智能 自然语言处理
简单易用高性能!一文了解开源迁移学习框架EasyTransfer
近日,阿里云正式开源了深度迁移学习框架EasyTransfer,这是业界首个面向NLP场景的深度迁移学习框架。该框架由阿里云机器学习PAI团队研发,让自然语言处理场景的模型预训练和迁移学习开发与部署更加简单和高效。本文将对EasyTransfer进行深度解读。开源地址:https://github.com/alibaba/EasyTransfer
4933 0
简单易用高性能!一文了解开源迁移学习框架EasyTransfer
|
9月前
|
人工智能 编解码
ReCamMaster:视频运镜AI革命!单镜头秒变多机位,AI重渲染颠覆创作
ReCamMaster 是由浙江大学与快手科技联合推出的视频重渲染框架,能够根据用户指定的相机轨迹重新生成视频内容,广泛应用于视频创作、后期制作、教育等领域,提升创作自由度和质量。
703 0
|
机器学习/深度学习 人工智能 数据可视化
号称能打败MLP的KAN到底行不行?数学核心原理全面解析
Kolmogorov-Arnold Networks (KANs) 是一种新型神经网络架构,挑战了多层感知器(mlp)的基础,通过在权重而非节点上使用可学习的激活函数(如b样条),提高了准确性和可解释性。KANs利用Kolmogorov-Arnold表示定理,将复杂函数分解为简单函数的组合,简化了神经网络的近似过程。与mlp相比,KAN在参数量较少的情况下能达到类似或更好的性能,并能直观地可视化,增强了模型的可解释性。尽管仍需更多研究验证其优势,KAN为深度学习领域带来了新的思路。
6112 5
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
480 3
python知识点100篇系列(15)-加密python源代码为pyd文件
|
Ubuntu Python
全网最简约的Vscode配置Anaconda环境(百分百成功)
全网最简约的Vscode配置Anaconda环境(百分百成功)
32265 0
全网最简约的Vscode配置Anaconda环境(百分百成功)
Vue3 项目的 setup 函数
【10月更文挑战第23天】setup` 函数是 Vue3 中非常重要的一个概念,掌握它的使用方法对于开发高效、灵活的 Vue3 组件至关重要。通过不断的实践和探索,你将能够更好地利用 `setup` 函数来构建优秀的 Vue3 项目。
|
XML 存储 安全
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
1123 0
|
监控 程序员 持续交付
`pylint`是一个高度可配置的Python代码分析工具,它可以帮助程序员查找代码中的错误、样式问题、可能的bug以及不符合编码标准的部分。
`pylint`是一个高度可配置的Python代码分析工具,它可以帮助程序员查找代码中的错误、样式问题、可能的bug以及不符合编码标准的部分。
|
存储 缓存 运维
linux 系统中都有哪些文件夹,都是干什么的?
linux 系统中都有哪些文件夹,都是干什么的?
595 0