前言

最近机器学习顶刊Journal of Machine Learning Research发表了很多对于PDE深度学习的实践根底,能够看出这个畛域将会焕发出生命力,该畛域与数学联合较严密。PDE的深度学习办法很难避开的就是离散化。如何去学习离散过程中产生的不变量是一个重要的话题,这篇文章为了解这个问题关上了全新的视角。

Ong, Y. Z., Shen, Z., & Yang, H. (2022). Integral Autoencoder Network for Discretization-Invariant Learning. Journal of Machine Learning Research, 23(286), 1-45.

离散不变学习的外围就是针对任何形式的离散,神经网络都不须要从新训练,一种现有的办法就是DeepOnet为代表的网格无关的算子学习办法。然而本文中的办法力求去解决离散办法中的离散不变,也即训练好的神经网络能够针对任意离散格局的数据,这样能够进步图网络等办法的泛化能力。

前面的局部我尽量以较为简单易懂的形式去形容,会疏忽数学证实等理论性较强的过程。

问题形容

让\( S_x=\left( x_j \right) _{j=1}^{s_x}\subset [0,1]^{d_x}\)和\( S_y=\left(y_j \right) _{j=1}^{S_y}\subset [0,1]^{d_y} \)别离\(\Omega _x\)和 \(\Omega _y\)域上的无限采样点,对应的数值观测值为\( \bar{f}=\left( f\left( x_1 \right) ,...,f\left( x_{s_x} \right) \right)\)和\(\bar{g}=\left( g\left( y_1 \right) ,...,g\left( y_{s_y} \right) \right)\)。特地的,对于不同组的观测值,采样点的数量\( s_x\)和\( s_y\)都能够是不同的。

传统的神经网络或者多层感知机只能解决具备固定输出维度的数据,对于CV工作来说,所有输出的图片都必须先做归一化解决。

这篇文章的外围就是基于神经网络的非线性积分变换,能够将具备任意维度的输出转换进入具备固定维度的空间中,也就是

$$(\bar{T}f)(z)=\int_{\Omega _x}{\bar{K}}(f(x),x,z)f(x)dx,\quad z\in \Omega _z,\\(\bar{T}f)\left( z_j \right) =\frac{1}{s}\sum_{i=1}^s{\bar{K}}\left( f\left( x_i \right) ,x_i,z_j \right) f\left( x_i \right) ,\quad z_j\in S_z.$$

这就是本文的中心思想,学习这么一个非线性积分变动,也就是一个积分自编码器(IAE),进行离散不变学习。

办法与网络架构

这篇文章的次要思维是和FNO差不多,都是以下的流程,首先将输出的观测值 \(\bar{f} \)投影到一个高维特色空间\(a_0\),前面还是一系列的高维空间\(a_1,...,a_L\)。这些高维空间\(a_1,...,a_L\)是给定的固定维度,并不禁随着输出和输入个维度而发生变化,当然了这些高维空间的维度是超参数,在训练过程是固定的。因为两头这些高维空间是具备不变的维度,咱们能够利用全连贯神经网络进行解决。这里其实是解决了FNO中固定网格的问题,也就是只能针对训练的离散格局进行推理,具体流程如下

$$\bar{f} \stackrel{F}{\rightarrow} a_0 \stackrel{\mathcal{I A \mathcal { E }}_1}{\longrightarrow} a_1 \stackrel{\mathcal{I A E}_2}{\longrightarrow} \ldots \stackrel{\mathcal{I A \mathcal { E }}_L}{\longrightarrow} a_L \stackrel{G}{\rightarrow} \bar{g}$$

\(a_0\)和\(a_L\)别离是预处理的输出数据特色和期待后处理的输入数据特色,这里的难度就是如何将具备不同离散维度的输入输出数据进行解决,而后利用神经网络进行解决。

预处理:也就是将\( \bar{f} \)转换为\(a_0 \),利用逐点线性变换(实质是一个一层逐点多层感知机)将每一个离散维度都投影到一个全新的特色空间中去。

后处理:后处理应用了FNO中两个间断的神经网络对输入进行变动(对高频信号进行截断),最初利用一个雷同的逐点线性变动将\(a_L\)投影到输入\( \bar{g} \)上。

多通道学习:应用不同特色空间增强不同表征学习的能力,作者将原始数据投影到不同的特色空间下来,如Fourier或Wavelet等,再将学习到的各个通道的特色应用逐点线性变动进行交融。具体流程如下图所示:

IAE模块:上面介绍最重要的局部,也就是每一个IAE模块外部的构造,这篇文章外面说的含糊不清,我参考了源码才看懂,上面的\(a\)和\(b\)是在每一个模块外部的,也就是说这些每一个IAE模块外部蕴含了如下的构造:

具体而言,\( \phi _1 \)和\( \phi _2 \)别离是非线性积分编码器好非线性积分解码器,\( \phi _0\)是一个多层感知机,这个IAE模块外部是有N层构造,先是进行N次的积分编码,在进行N次积分解码。具体而言,就是

$$v_i(z)=\int_{\Omega_{i-1}} \phi_1^i\left(v_{i-1}(x), x, z ; \theta_{\phi_1^i}\right) v_{i-1}(x) d x\\u_i(x)=\int_{\Omega_{u_{i-1}}} \phi_2^i\left(u_{i-1}(z), x, z ; \theta_{\phi_2^i}\right) u_{i-1}(z)$$

这里\(v_0\)是\(a\),\(u_N\)是\(b\),这样也就很分明了,不要和前面的浓密连贯技巧搞混了
这样一个IAE模块就解决了,前面的就是将IAE模块进行重叠。这个构造是和FNO很像,这里是区别就是编码进行了N次在进行N次的解码,略有不同,须要留神。

浓密链接技巧:浓密连贯可能减少每一个IAE的特色多样性,最终实现学习数据的简单表征并缓解梯度隐没的问题

Huang, G., Liu, Z., Van Der Maaten, L., & Weinberger, K. Q. (2017). Densely connected convolutional networks. In IEEE Conference on Computer Vision and Pattern Recognition (pp. 4700-4708).

具体的网络架构如下如所示,具体能够参考作者的代码:

数学表达式为:

$$a_i=\sigma\left(\mathcal{I} \mathcal{A} \mathcal{E}_i\left(\mathcal{M}_i\left(\left[\mathcal{A}_0\left(a_0 ; \theta_{\mathcal{A}_0}\right), \mathcal{A}_1\left(a_1 ; \theta_{\mathcal{A}_1}\right), \ldots, \mathcal{A}_{i-1}\left(a_{i-1} ; \theta_{\mathcal{A}_{i-1}}\right)\right] ; \theta_{\mathcal{M}_i}\right) ; \theta_{\mathcal{I A} \mathcal{E}_i}\right)\right)$$

随机数据增广:传统的核办法会面临泛化能力较弱的问题,为了解决问题,这里还引入了一个技巧,为了应答不同的离散格局,这篇文章提出利用插值办法失去不同离散格局下的数据,而后别离对其进行训练,来优化以下的的loss函数

$$\min _{\theta_{\Psi^n}} \mathbb{E}_{(\bar{f}, \bar{g}) \sim p_{\text {data }}} \mathbb{E}_{I_T \sim \mathcal{I}}\left[L\left(\Psi^n\left(\bar{f} ; \theta_{\Psi^n}\right), \bar{g}\right)+\lambda L\left(\Psi^n\left(I_T(\bar{f}) ; \theta_{\Psi^n}\right), I_T(\bar{g})\right)\right]$$

第一项是对原始数据的损失,第二项是进行了随机数据插值增广之后的损失,这样保障了对于不同的离散格局的学习。

试验后果

这里作者DeepOnet,FNO,ResNet+Interpolation,Unet
Fourier Transformer (FT), Galerkin Transformer (GT)

Cao, S. (2021). Choose a transformer: Fourier or galerkin. Advances in Neural Information Processing Systems, 34, 24924-24940.

等办法进行了比拟。
试验后果大抵如下图

成果还不错,然而参数量、训练工夫和推理速度还是有点不尽如人意,

存在很多能进步的方面,如何细化这个自编码积分器能够说是将来一个十分重要的方向。

代码链接为http://github.com/IAE-Net/iae...

论断

这篇文章提出的办法是很具备代表性的,力求对立不同离散格局产生的问题,然而还有很多能够进步的方面,对于DeepOnet而言,曾经有人解决了不同传感器地位的问题,将之与本文的思路进行联合也是一个乏味的钻研问题。

Prasthofer, M., De Ryck, T., & Mishra, S. (2022). Variable-Input Deep Operator Networks. arXiv preprint arXiv:2205.11404.