kan pinn

本文介绍了两种主要的 PINNs 结构,分别用于解决数据驱动的偏微分方程求解和数据驱动的偏微分方程发现问题。两种结构都采用了深度前馈神经网络,并使用了双曲正切激活函数。

1. 连续时间模型

  • 用于数据驱动求解

    • 包含两个神经网络:
      • 第一个网络预测偏微分方程的解 u(t, x)
      • 第二个网络根据第一个网络和偏微分方程的导数计算 f(t, x),即偏微分方程左边的表达式。P3
    • 这两个网络共享参数,并通过最小化初始/边界数据和 f(t, x) 在 collocation points 上的均方误差损失进行训练。P4
    • 例子中使用的网络结构:
      • Schrödinger 方程:5 层,每层 100 个神经元。
      • Burgers 方程:9 层,每层 20 个神经元。P14
  • 用于数据驱动发现

    • 包含一个神经网络,输出偏微分方程的解和未知参数。P8
    • 通过最小化观测数据和偏微分方程在 collocation points 上的均方误差损失进行训练。P4P6P18
    • 例子中使用的网络结构:
      • Navier-Stokes 方程:9 层,每层 20 个神经元。
      • Burgers 方程:9 层,每层 20 个神经元。P14

2. 离散时间模型

  • 用于数据驱动求解

    • 包含一个神经网络,输出 Runge-Kutta 方法的多个中间状态和最终解。P15
    • 通过最小化初始/边界数据和 Runge-Kutta 方法的多个中间状态和最终解在观测时间点的均方误差损失进行训练。P16
    • 例子中使用的网络结构:
      • Allen-Cahn 方程:4 层,每层 200 个神经元。P6
      • Burgers 方程:4 层,每层 50 个神经元。
  • 用于数据驱动发现

    • 包含两个神经网络:
      • 第一个网络输出 Runge-Kutta 方法的多个中间状态。P15
      • 第二个网络输出 Runge-Kutta 方法的多个中间状态和最终解。P15
    • 通过最小化两个观测时间点的数据与 Runge-Kutta 方法的多个中间状态和最终解的均方误差损失进行训练。P16
    • 例子中使用的网络结构:
      • KdV 方程:4 层,每层 50 个神经元。P11
      • Burgers 方程:4 层,每层 50 个神经元。

总结: PINNs 的网络结构相对简单,通常使用深度前馈神经网络,并使用双曲正切激活函数。网络层数和每层神经元数量取决于具体问题和数据规模。连续时间模型主要用于数据驱动求解,而离散时间模型可以用于数据驱动求解和数据驱动发现。

用户_uBiEPA

这里u(x,t)的图怎么画

ChatGLM

要绘制 �(�,�)u(x,t) 的图,可以使用 Python 中的 Matplotlib 库。以下是一个示例代码,展示了如何绘制类似于您提供的图片:

python

复制

import numpy as np
import matplotlib.pyplot as plt

# 定义网格点
x = np.linspace(-1, 1, 100)
t = np.linspace(0, 1, 100)
X, T = np.meshgrid(x, t)

# 计算 u(x, t) 的值
# 这里只是一个示例函数,您需要替换为实际的函数
U = np.sin(np.pi * X) * np.exp(-T)

# 绘制图形
plt.figure(figsize=(10, 6))
plt.contourf(T, X, U, levels=20, cmap='bwr')
plt.colorbar(label='u(x, t)')
plt.xlabel('t')
plt.ylabel('x')
plt.title('u(x, t)')
plt.show()

在这个代码中:

  1. 使用 np.linspace 创建了 �x 和 �t 的网格点。
  2. 使用 np.meshgrid 创建了二维网格。
  3. 计算了 �(�,�)u(x,t) 的值(这里使用了一个示例函数)。
  4. 使用 plt.contourf 绘制了等高线图,并设置了颜色映射 (cmap) 为 'bwr'(蓝白红)。
  5. 添加了颜色条、标签和标题。

请根据您的实际需求调整函数 �(�,�)u(x,t) 的定义和其他绘图参数。

用户_uBiEPA

两张子图分别画contourf代码

ChatGLM

为了绘制类似的两张子图,我们可以使用Matplotlib库中的subplot功能来创建一个包含两个子图的图表。以下是实现这一功能的Python代码示例:

python

复制

import numpy as np
import matplotlib.pyplot as plt

# 定义网格点
x = np.linspace(-1, 1, 100)
t = np.linspace(0, 1, 100)
X, T = np.meshgrid(x, t)

# 计算 u(x, t) 的值
# 这里使用示例函数,您需要替换为实际的函数
U = np.sin(np.pi * X) * np.exp(-T)

# 创建图表和子图
fig, axs = plt.subplots(1, 2, figsize=(12, 6))

# 绘制第一个子图
im0 = axs[0].contourf(T, X, U, levels=20, cmap='bwr')
axs[0].set_xlabel('t')
axs[0].set_ylabel('x')
axs[0].set_title('u(t, x)')
cbar0 = fig.colorbar(im0, ax=axs[0])
cbar0.set_label('u(x, t)')

# 绘制第二个子图
im1 = axs[1].contourf(T, X, -U, levels=20, cmap='bwr') # 取负值以显示不同的图案
axs[1].set_xlabel('t')
axs[1].set_title('v(t, x)')
cbar1 = fig.colorbar(im1, ax=axs[1])
cbar1.set_label('v(x, t)')

# 显示图表
plt.tight_layout()
plt.show()

在这段代码中:

  1. 我们首先创建了网格点 (x, t) 并计算了 u(x, t) 的值。
  2. 使用 plt.subplots 创建了一个包含两个子图的图表。
  3. 在每个子图中使用 contourf 函数绘制了等高线图。
  4. 设置了标签、标题和颜色条。
  5. 最后使用 plt.tight_layout() 调整布局并显示了图表。

请注意,第二个子图的 u(x, t) 值被取反了,这样可以显示出与第一个子图不同的图案。如果您有具体的函数表达式,可以将示例函数替换为您自己的函数。

用户_uBiEPA

我想让四张图,每张图各配一个颜色条。代码

ChatGLM

要在四个子图中各自添加一个颜色条,可以使用 fig.colorbar() 方法并为每个子图指定相应的 im 对象。下面是完整的代码示例:

python

复制

import numpy as np
import matplotlib.pyplot as plt

# 定义网格点
x = np.linspace(0, 50, 100)
t = np.linspace(0, 1, 100)
X, T = np.meshgrid(x, t)

# 计算 u(x, t) 的值
U = np.sin(np.pi * X / 50) * np.exp(-T)

# 创建图表和子图
fig, axs = plt.subplots(2, 2, figsize=(12, 8))

# 绘制第一个子图
im0 = axs[0, 0].contourf(X, T, U, levels=20, cmap='bwr')
axs[0, 0].set_xlabel('Space (x)')
axs[0, 0].set_ylabel('Time (t)')
cbar0 = fig.colorbar(im0, ax=axs[0, 0])
cbar0.set_label('u(x, t)')

# 绘制第二个子图
im1 = axs[0, 1].contourf(X, T, -U, levels=20, cmap='bwr')
axs[0, 1].set_xlabel('Space (x)')
cbar1 = fig.colorbar(im1, ax=axs[0, 1])
cbar1.set_label('v(x, t)')

# 绘制第三个子图
im2 = axs[1, 0].contourf(X, T, U, levels=20, cmap='bwr')
axs[1, 0].set_xlabel('Space (x)')
axs[1, 0].set_ylabel('Time (t)')
cbar2 = fig.colorbar(im2, ax=axs[1, 0])
cbar2.set_label('u(x, t)')

# 绘制第四个子图
im3 = axs[1, 1].contourf(X, T, -U, levels=20, cmap='bwr')
axs[1, 1].set_xlabel('Space (x)')
cbar3 = fig.colorbar(im3, ax=axs[1, 1])
cbar3.set_label('v(x, t)')

# 显示图表
plt.tight_layout()
plt.show()

这段代码将创建一个包含四个子图的图表,并在每个子图中绘制等高线图以及对应的颜色条。每个子图的颜色条都会独立显示,不会相互干扰。

用户_uBiEPA

怎么设定颜色条范围

ChatGLM

要设定颜色条的范围,可以在 contourf 函数中使用 vminvmax 参数。这两个参数分别代表颜色条显示的最小值和最大值。下面是修改后的代码示例,其中每个子图的颜色条范围都被设定为 -1 到 1:

python

复制

import numpy as np
import matplotlib.pyplot as plt

# 定义网格点
x = np.linspace(0, 50, 100)
t = np.linspace(0, 1, 100)
X, T = np.meshgrid(x, t)

# 计算 u(x, t) 的值
U = np.sin(np.pi * X / 50) * np.exp(-T)

# 创建图表和子图
fig, axs = plt.subplots(2, 2, figsize=(12, 8))

# 绘制第一个子图
im0 = axs[0, 0].contourf(X, T, U, levels=20, cmap='bwr', vmin=-1, vmax=1)
axs[0, 0].set_xlabel('Space (x)')
axs[0, 0].set_ylabel('Time (t)')
cbar0 = fig.colorbar(im0, ax=axs[0, 0])
cbar0.set_label('u(x, t)')

# 绘制第二个子图
im1 = axs[0, 1].contourf(X, T, -U, levels=20, cmap='bwr', vmin=-1, vmax=1)
axs[0, 1].set_xlabel('Space (x)')
cbar1 = fig.colorbar(im1, ax=axs[0, 1])
cbar1.set_label('v(x, t)')

# 绘制第三个子图
im2 = axs[1, 0].contourf(X, T, U, levels=20, cmap='bwr', vmin=-1, vmax=1)
axs[1, 0].set_xlabel('Space (x)')
axs[1, 0].set_ylabel('Time (t)')
cbar2 = fig.colorbar(im2, ax=axs[1, 0])
cbar2.set_label('u(x, t)')

# 绘制第四个子图
im3 = axs[1, 1].contourf(X, T, -U, levels=20, cmap='bwr', vmin=-1, vmax=1)
axs[1, 1].set_xlabel('Space (x)')
cbar3 = fig.colorbar(im3, ax=axs[1, 1])
cbar3.set_label('v(x, t)')

# 显示图表
plt.tight_layout()
plt.show()

在这个例子中,vmin=-1vmax=1 分别设置了颜色条的最小值和最大值。这意味着颜色条的显示范围将从 -1 到 1,无论实际数据中的最小值和最大值是多少。如果数据中的值超出了这个范围,它们将被剪裁到这个范围内。如果你想要自动适应数据的最小值和最大值,可以省略 vminvmax 参数。

用户_uBiEPA

这篇文章的损失函数是什么?还有衡量损失的方式,均方误差?均方根?

Physics-informed neural networks_ A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations

PDF

5.65MB

AI对照

ChatGLM

在这篇文章中,作者使用了两种主要的损失函数来训练物理信息神经网络:

1. 均方误差 (MSE):

  • 这是文章中使用的主要损失函数,用于衡量预测值与真实值之间的差异。

  • 在数据驱动求解偏微分方程的案例中,MSE 由两部分组成:

    • MSEu: 衡量初始和边界条件数据的损失。

    • MSEf: 衡量偏微分方程在插值点处是否满足的损失。

  • 在数据驱动发现偏微分方程的案例中,MSE 也由两部分组成:

    • MSEu: 衡量训练数据(例如,速度场数据)的损失。

    • MSEf: 衡量偏微分方程在训练数据点处是否满足的损失。

2. 误差平方和 (SSSE):

  • 这是在数据驱动发现偏微分方程的案例中使用的另一种损失函数,特别是在离散时间模型中。

  • SSSE 也由两部分组成:

    • SSSEn: 衡量第一个时间步数据的损失。

    • SSSEn+1: 衡量第二个时间步数据的损失。

衡量损失的方式

文章中主要使用了 相对 L2 范数 来衡量损失,计算公式如下:

复制

相对 L2 范数 = ||预测值 - 真实值||_2 / ||真实值||_2

其中,||·||_2 表示 L2 范数,即所有元素平方和的平方根。

总结

文章中的损失函数和衡量损失的方式都比较直观,主要目的是衡量预测值与真实值之间的差异,以及偏微分方程是否满足。

用户_uBiEPA

https://mp.weixin.qq.com/s/GEDewdhypEymNGqNm0877Q 你能阅读这篇文章吗

ChatGLM

联网阅读:打开"https://mp.wei...", 读取17473字

打开网页

https://mp.weixin.qq.com/s/GEDewdhypEymNGqNm0877Q.pdf

https://mp.weixin.qq.com/s/GEDewdhypEymNGqNm0877Q

读取网页并总结

是的,我可以阅读并理解您提供的文章内容。该文章探讨了使用 Kolmogorov-Arnold 网络 (KANs) 作为多层感知器 (MLPs) 替代方案来解决科学机器学习问题的潜力。文章比较了基于 KAN 的物理信息神经网络 (PIKANs) 和深度算子网络 (DeepOKANs) 与基于 MLP 的物理信息神经网络 (PINNs) 和深度算子网络 (DeepONets) 的性能。

文章的主要内容包括

  • KANs 的介绍和优势: KANs 受 Kolmogorov-Arnold 表示定理启发,旨在比 MLP 更准确且更具可解释性。P6

  • PIKANs 和 DeepOKANs 的构建: 将 KANs 与物理信息机器学习相结合,用于求解正向和反向问题的微分方程。P2

  • PIKANs 和 PINNs 的比较: 在六个基准测试中比较了两种模型的性能,并分析了 PIKANs 对更高多项式阶数和层数的稳定性和敏感性。P3

  • DeepOKANs 和 DeepONets 的比较: 在两个算子学习任务中比较了两种模型的性能。P3

  • 信息瓶颈理论分析: 使用信息瓶颈理论分析了 PIKANs 的学习动态,并与 PINNs 进行比较。P4

文章的主要结论

  • KANs 的潜力: KANs 在解决科学机器学习问题方面具有潜力,但其性能取决于多项式阶数和层数的选择。P2P3P31

  • PIKANs 的优势: 与 PINNs 相比,PIKANs 可以使用更少的网络参数达到相同的精度,但训练所需的计算时间更长。P21

  • DeepOKANs 的优势: DeepOKANs 在算子学习方面与 DeepONets 具有可比的性能,并且对噪声输入函数更具鲁棒性。P28

  • 学习动态的相似性: PINNs 和 PIKANs 的学习动态表现出显著的相似性,都经历了拟合、扩散和总扩散阶段。P32

文章还指出了未来的研究方向,例如

  • 域分解技术: 使用域分解技术提高基于 KAN 的方法对复杂问题的可扩展性。P32

  • 时间相关的 PDEs: 将基于 KAN 的表示应用于二维和三维与时间相关的 PDEs。P32

  • KAN 收敛性理论: 为椭圆型和抛物型 PDEs 的 KAN 收敛建立严格的理论。P32

  • 代理模型: 扩展基于 DeepOKAN 的架构的适用性,为工业复杂问题构建代理模型。P32

用户_uBiEPA

给出这里面所有提到的神经网络的详细结构

ChatGLM

根据您提供的文章内容,以下是其中提到的神经网络的详细结构:

1. 物理信息神经网络 (PINNs):

  • 基础结构: 由多层感知器 (MLP) 组成,包括输入层、多个隐藏层和输出层。P3

  • 输入层: 通常包含问题的时空坐标。

  • 隐藏层: 使用激活函数(如 tanh 或 ReLU)进行非线性转换。P6

  • 输出层: 输出解函数或解算子的值。P5

  • 损失函数: 由物理信息损失和数据损失组成,用于衡量模型预测与真实解或数据的差异。P5

  • 优化方法: 通常使用自动微分技术,如 Adam 或 L-BFGS,来最小化损失函数。P14P15

2. Kolmogorov-Arnold 网络 (KANs):

  • 基础结构: 由多个层组成,每层包含多个节点。P6

  • 节点: 每个节点是一个单变量函数,可以是 B 样条、径向基函数 (RBF)、小波或雅可比多项式等。P6P7

  • 连接: 每个节点的输出连接到下一层的所有节点。

  • 损失函数: 与 PINNs 类似,由物理信息损失和数据损失组成。P5

  • 优化方法: 同样使用自动微分技术。

3. 切比雪夫 - KAN (Chebyshev-KAN):

  • 基础结构: 与 KAN 类似,但使用切比雪夫多项式作为单变量函数。P7

  • 稳定性改进: 为了解决切比雪夫 - KAN 在训练过程中的不稳定性,可以采用以下方法:

    • 组合切比雪夫 - KAN (Chebyshev-KAN( )): 将切比雪夫 - KAN 与双曲正切函数组合。P8

    • 递归切比雪夫 - KAN (Chebyshev-KAN( )): 使用切比雪夫多项式的递归表示。P8

4. 深度算子网络 (DeepONets):

  • 基础结构: 由分支网络和主干网络组成。P27

  • 分支网络: 用于处理输入函数,并将其映射到多个隐层。P27

  • 主干网络: 用于处理分支网络的输出,并将其映射到输出函数。P27

  • 激活函数: 通常使用 tanh 或 ReLU。P27

  • 损失函数: 用于衡量输入函数和输出函数之间的差异。P5P6

  • 优化方法: 同样使用自动微分技术。

5. 深度算子 KAN (DeepOKANs):

  • 基础结构: 与 DeepONets 类似,但使用 KAN 作为分支网络和主干网络的表示。P27

  • KAN 类型: 通常使用切比雪夫 KAN。P27P28

6. 贝叶斯 PINNs (B-PINNs) 和贝叶斯 cPIKANs (B-cPIKANs):

  • 基础结构: 与 PINNs 和 cPIKANs 类似,但使用贝叶斯框架来估计模型参数的后验分布。P25

  • 贝叶斯方法: 通常使用哈密顿蒙特卡罗 (HMC) 方法。P24

文章中提到的具体网络结构示例

  • 3.3 亥姆霍兹方程

    • PINN:2 个隐藏层,每层 16 个神经元。P13

    • cPIKAN:2 个隐藏层,每层 8 个神经元,切比雪夫多项式阶数 n = 3。P13

    • PIKAN:1 个隐藏层,10 个神经元,B 样条网格大小 m = 201,多项式阶数 n = 3。P13P14

  • 3.4 纳维 - 斯托克斯方程

    • PINN:根据雷诺数不同,使用 6 个或 8 个隐藏层,每层 128 或 100 个神经元。

    • cPIKAN:5 个隐藏层,每层 32 个神经元,切比雪夫多项式阶数 n = 3。P15

  • 3.5 艾伦 - 卡恩方程

    • PINN:2 个隐藏层,每层 64 个神经元。

    • cPIKAN:2 个隐藏层,每层 64 个神经元,切比雪夫多项式阶数 n = 3。

    • B-PINN:2 个隐藏层,每层 64 个神经元。

    • B-cPIKAN:2 个隐藏层,每层 64 个神经元,切比雪夫多项式阶数 n = 3。

  • 3.7 一维伯格斯方程

    • DeepONet:分支网络架构为 [32, 32],主干网络架构为 [32, 32]。P27

    • DeepOKAN 1:分支网络架构为 [8, 8],主干网络架构为 [8, 8]。P27

    • DeepOKAN 2:分支网络架构为 [16, 16

本次回答已被终止

用户_uBiEPA

我是说他所使用的数值实验,数值算例使用的具体网络结构,有多少隐藏层,多少节点等等这些详细的信息

ChatGLM

文章中提到了多种网络结构和数值实验,以下是一些具体案例的网络结构信息

3.1 不连续和振荡函数的逼近

  • MLP, 切比雪夫-KAN, KAN-I, KAN-II:

    • 2 个隐藏层,每层 40 个神经元。P9

    • KAN-II 的参数数量与 MLP 和切比雪夫-KAN 相同,KAN-I 的参数数量比其他模型多一个数量级。P9

3.2 结构保持动力系统:哈密顿神经网络 (HNN) 与哈密顿切比雪夫 - KAN (HcKAN):

  • HNN:

    • 4 个隐藏层,每层 40 个神经元,使用 tanh 激活函数。P10
  • HcKAN:

    • 为了稳定训练,使用了更浅的网络和更少的参数。具体结构未明确说明。P12

3.3 亥姆霍兹方程

  • PINN:

    • 2 个隐藏层,每层 16 个神经元。P13
  • cPIKAN:

    • 2 个隐藏层,每层 8 个神经元,切比雪夫多项式阶数 n = 3。P13
  • PIKAN:

    • 1 个隐藏层,10 个神经元,B 样条网格大小 m = 201,多项式阶数 n = 3。P13P14
  • 多重网格 PIKAN:

    • 2 个隐藏层,每层 8 个神经元,切比雪夫多项式阶数 n = 3,在训练过程中逐步增加网格点数量。P13P14
  • PINN + RBA, cPIKAN + RBA, cPIKAN(R + RBA):

    • PINN:6 个隐藏层,每层 128 个神经元。P15

    • cPIKAN, cPIKAN®:5 个隐藏层,每层 32 个神经元,切比雪夫多项式阶数 n = 3。P15

3.4 纳维 - 斯托克斯方程

  • PINN, cPIKAN, cPIKAN®:

    • 根据雷诺数不同,使用 6 个或 8 个隐藏层,每层 128 或 100 个神经元。P15
  • cPIKAN:

    • 5 个隐藏层,每层 32 个神经元,切比雪夫多项式阶数 n = 3。P15

3.5 艾伦 - 卡恩方程

  • PINN, cPIKAN, cPIKAN + RBA, PINN + RBA:

    • PINN: 2 个隐藏层,每层 64 个神经元。

    • cPIKAN, cPIKAN + RBA: 2 个隐藏层,每层 64 个神经元,切比雪夫多项式阶数 n = 3。

3.6 反应 - 扩散方程 (B-cPIKAN, B-PINN):

  • B-cPIKAN:

    • 2 个隐藏层,每层 64 个神经元,切比雪夫多项式阶数 n = 3。
  • B-PINN:

    • 2 个隐藏层,每层 64 个神经元。

3.7 一维伯格斯方程 (DeepONet, DeepOKAN 1/2):

  • DeepONet:

    • 分支网络架构为 [32, 32],主干网络架构为 [32, 32],使用 tanh 激活函数。P27
  • DeepOKAN 1:

    • 分支网络架构为 [8, 8],主干网络架构为 [8, 8],基于切比雪夫 KAN,切比雪夫多项式阶数为 3。P27
  • DeepOKAN 2:

    • 分支网络架构为 [16, 16],主干网络架构为 [16, 16],基于切比雪夫 KAN,切比雪夫多项式阶数为 3。P27

3.8 120 维达西问题 (DeepONet, DeepOKAN):

  • DeepONet, DeepOKAN:

    • 分支网络架构均为 [16, 16],主干网络架构均为 [16, 16],DeepONet 使用 tanh 激活函数,DeepOKAN 基于切比雪夫 KAN,切比雪夫多项式阶数为 3。P28

需要注意的是,文章中提到的网络结构仅为示例,实际应用中需要根据具体问题进行调整

用户_uBiEPA

https://mp.weixin.qq.com/s/GEDewdhypEymNGqNm0877Q 叙述里面关于解pde的所有详细描述,所有网络结构,对网络做的所有改进

ChatGLM

联网阅读:打开"https://mp.wei...", 读取17473字

引用

文章中比较了基于 MLP 和 KAN 的架构在解决偏微分方程 (PDE) 方面的有效性和准确性,并针对 KAN 架构进行了一些改进。以下是关于解 PDE 的详细描述、网络结构和改进方法:

1. 偏微分方程 (PDE) 的类型

  • 稳态 PDE: 例如亥姆霍兹方程和纳维-斯托克斯方程。P18P19

  • 非稳态 PDE: 例如艾伦-卡恩方程。P21

  • 含噪声数据的 PDE: 例如反应-扩散方程。P24

2. 网络结构

  • 物理信息神经网络 (PINNs):

    • 基于多层感知器 (MLP),包括输入层、多个隐藏层和输出层。P6

    • 输入层包含问题的时空坐标。

    • 隐藏层使用激活函数进行非线性转换。

    • 输出层输出解函数的值。

  • 基于 KAN 的物理信息神经网络 (PIKANs):

    • 使用 KAN 作为网络模型,KAN 由多个层组成,每层包含多个节点。P6

    • 节点是单变量函数,例如切比雪夫多项式、勒让德多项式等。P7

    • 输入层和输出层与 PINNs 类似。

3. 网络改进

  • 切比雪夫 - KAN (Chebyshev-KAN):

    • 使用切比雪夫多项式作为单变量函数,提高精度和效率。P7P8

    • 为了解决训练过程中的不稳定性,文章提出了两种方法:

      • 组合切比雪夫 - KAN (Chebyshev-KAN( )): 将切比雪夫 - KAN 与双曲正切函数组合。P8

      • 递归切比雪夫 - KAN (Chebyshev-KAN( )): 使用切比雪夫多项式的递归表示。P8

  • 基于残差的注意力 (RBA):

    • 使用 RBA 权重平衡每个损失项内的局部贡献,提高模型的稳定性。P5
  • 熵粘度法 (EVM):

    • 在高雷诺数的流动模拟中引入人工粘度,提高数值稳定性。P19

4. 数值实验结果

  • 不连续和振荡函数的逼近:

    • 切比雪夫 - KAN 的表达能力与 MLP 架构相似,但训练速度略慢。
  • 结构保持动力系统:

    • 切比雪夫 - KAN 的数据效率不如 MLP,但使用更多训练数据时性能可比。P31
  • 亥姆霍兹方程:

    • 切比雪夫 - KAN 的性能优于 PINNs,但训练时间更长。P16P17

    • 递归切比雪夫 - KAN (Chebyshev-KAN( )) 恢复了 PINN 的稳定性。P18

  • 纳维-斯托克斯方程:

    • 基于雅可比多项式的 KANs 表现出有竞争力的性能。P21

    • 切比雪夫 - KAN (cPIKAN) 在准确性和训练时间方面显示出优势。P16P17

    • RBA 和 EVM 可以提高模型的精度和稳定性。P21

  • 艾伦-卡恩方程:

    • 切比雪夫 - KAN 和带有 RBA 的 cPIKAN 的精度几乎相同。P23

    • 带有 RBA 的 PINN 收敛速度更快。P23

  • 反应-扩散方程:

    • 贝叶斯 cPIKAN (B-cPIKAN) 和贝叶斯 PINN (B-PINN) 的表现相似。P25

5. 信息瓶颈理论分析

  • PINNs 和 cPIKANs 都经历了拟合、扩散和总扩散阶段。P31

  • 两种表示模型的学习动态表现出显著的相似性。P31

6. 未来研究方向

  • 使用域分解技术提高基于 KAN 的方法对复杂问题的可扩展性。P32

  • 将基于 KAN 的表示应用于二维和三维与时间相关的 PDEs。P32

  • 为椭圆型和抛物型 PDEs 的 KAN 收敛建立严格的理论。P32

  • 扩展基于 DeepOKAN 的架构的适用性,为工业复杂问题构建代理模型。

相关推荐
MF_AI4 小时前
颈椎X光数据集(cervical spine X-ray dataset)
图像处理·人工智能·深度学习·yolo·计算机视觉·spine
江苏学蠡信息科技有限公司5 小时前
基于RKNN的嵌入式深度学习开发(2)
人工智能·深度学习
紫雾凌寒5 小时前
计算机视觉|从0到1揭秘Diffusion:图像生成领域的新革命
深度学习·计算机视觉·stable diffusion·aigc·文生图·图像分割·diffusion
梦想是成为算法高手5 小时前
带你从入门到精通——自然语言处理(五. Transformer中的自注意力机制和输入部分)
pytorch·python·深度学习·自然语言处理·transformer·位置编码·自注意力机制
CoovallyAIHub7 小时前
如何用更少的内存训练你的PyTorch模型?深度学习GPU内存优化策略总结
pytorch·深度学习·性能优化
Y1nhl7 小时前
数据挖掘校招面经二
人工智能·python·深度学习·算法·机器学习·数据挖掘
取个名字真难呐7 小时前
nn.Identity 单位矩阵,同一矩阵
深度学习·线性代数·矩阵
浪九天8 小时前
人工智能直通车系列02【Python 基础与数学基础】(控制流线性代数:向量基本概念)
人工智能·python·深度学习·机器学习
西猫雷婶8 小时前
神经网络|(十一)|神经元和神经网络
人工智能·深度学习·神经网络