DeepOnet

DeepOnet

C(K)是定义在紧集K上的全体连续函数构成的空间;V是C(K)上的紧集.截屏2024-04-14 21.48.33

这里 ∑ c i σ ( λ i x + θ i ) \sum c_i\sigma(\lambda_ix+\theta_i) ciσ(λix+θi)形式上非常像 x x x被权重和偏置作用之后再经过一个激活函数,然后乘上一些系数再求和.截屏2024-04-14 21.55.20这个定理就是为了告诉我们激活函数都是TW函数.

然后有如下的泛函万有逼近定理:截屏2024-04-14 21.59.51

紧接着的是如下的算子的万有逼近定理:截屏2024-04-14 22.02.12可以发现绝对值中的第二项是形如【激活函数(权重*输入+偏置)*激活函数(权重*输入+偏置)】的形式,也即可以构造两个神经网络,让这两个神经网络的输出相乘来近似算子.

如果这个G(u)(y)是PDE的解,那么对其展开:截屏2024-04-14 22.40.52

Unstacked DeepOnet:截屏2024-04-14 22.09.19也就是先有一个输入函数,第一步是先把它离散成为信号,之后把这个信号放入Branch net便会得到一个输出;然后把y放入Trunk net会得到一些结果。把这两部分结果点乘,可以得到G(u)(y)的结果,是个数。(Trunk net是自适应地学习对应于这个PDE而言,最优的基函数是什么。同时这个Trunk net可以用全连接,因为y的维数低,只有1,2,3维;若u在正方形网格上,Branch net可以用CNN)

相比之下,之前的网络架构是如下的形式:截屏2024-04-14 22.12.55

为什么需要两个神经网络来描述呢,是因为对于如下这样的情形,只知道G(u)在三个y点处的值,截屏2024-04-14 22.34.59

截屏2024-04-14 21.23.48

拓展:deeponet只适用于:只有初值条件或者只有边界条件的PDE求解,但是下面的方法对此进行了拓展,可以同时对初边值的PDE进行求解。截屏2024-04-15 14.35.50

截屏2024-04-15 14.37.12

上面的定理保证了只要网格足够大,就一定能逼近任意多输入的算子

除此之外:如果我有两组数据,一组是高精度但是数据量少,一组是低精度但是数据量很多截屏2024-04-15 14.39.04

不是直接学习输入到输出的算子。而是先学习低精度的数据,由于低精度数据足够大,所以可以训练一个得到deeponet;然后学习低精度和高精度的修正项R,得到另一个deeponet;

截屏2024-04-15 14.42.19

最后的网络即为:deeponet_L主要用于训练低精度的数据;deeponet_H主要用于学习修正项,对于deeponet_H,它不仅把函数和坐标作为输入,也把低精度的预测值也作为输入;最后deeponet_H的输出和低精度数据预测值加在一起作为高精度数据的预测值

截屏2024-04-15 14.46.14

截屏2024-04-15 14.49.34截屏2024-04-15 14.51.10截屏2024-04-15 14.51.29

截屏2024-04-15 14.52.18

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值