乐趣区

关于人工智能:Attention机制与算子学习

前言

之前的系列里提到 Attention 机制在算子学习中的利用前景,往年的机器学习顶刊 JMLR 就发表了一篇相干的论文,利用 Attention 机制对时空耦合数据进行耦合,实现了超分辨率的插值办法,在各种各样的简单场景下有宽泛利用,为算子学习实践提供了松软的根底。

Kissas, Georgios, et al. “Learning operators with coupled attention.” Journal of Machine Learning Research 23.215 (2022): 1-63.

最开始还是要介绍一下算子学习的指标,实质是学习两个无穷维空间之间的映射,这里的映射和个别所说的 ODE 的区别就是函数管制的自由度是无穷的。DeepONet 的作者曾经证实了利用神经网络去学习这种类型的映射是可行,并给出了一种最原始的网络设计,然而网络架构的后劲并没有失去充沛的挖掘,大多数的后果还是基于严格实践剖析,这篇也是。然而这篇论文的 Attention 机制是让人纳闷的,它与 Transformer 中的这个机制是不同,这个是做了空间维度上的插值,相当于是超分辨率办法,能够视作是计算机图形学的一个分支。

简而言之,就是在两个无穷维空间中的映射,因为无奈失去解析解,咱们个别都是在两个无穷维空间中采样无限个样本而后离散近似求解,这篇文章的思路也是如此,就是对于只有无限个已知的输出函数,能够通过学习到对任意插入未知的值的映射。这篇文章可能发表在 JMLR 阐明其是十分实践的,上面就尽可能简化实践剖析,给出该办法的一些思路。

实践后果

首先咱们从实践的角度剖析这篇文章,给定 \(\mathcal{X} \subset \mathbb{R} ^{d_x} \) 和 \(\mathcal{Y} \subset \mathbb{R} ^{d_y}\),将 \(x\in \mathcal{X} \) 称为输出地位,\(y\in \mathcal{Y} \) 称为查问地位。将定位为 \(C\left( \mathcal{X} ,\mathbb{R} ^{d_u} \right) \) 和 \(C\left( \mathcal{Y} ,\mathbb{R} ^{d_s} \right)\) 定义为 \(\mathcal{X} \rightarrow \mathbb{R} ^{d_u} \) 和 \(\mathcal{Y} \rightarrow \mathbb{R} ^{d_s}\) 的连续函数空间。给定任意实在数据对 \(\left[u^l\left(x\right), s^l\left(y \right)\right] \),算子学习的指标是学习一个算子 \(\mathcal{F}: C\left(\mathcal{X}, \mathbb{R}^{d_u}\right) \rightarrow C\left(\mathcal{Y}, \mathbb{R}^{d_s}\right)\) 使得

$$
\mathcal{F}\left(u^{\ell}\right)=s^{\ell}
$$

定理一:给定一类通用算子 \(\mathcal{A} \ni \mathcal{F}: C\left(\mathcal{X}, \mathbb{R}^{d_u}\right) \rightarrow C\left(\mathcal{Y}, \mathbb{R}^{d_s}\right) \),对于任意的间断算子 \(\mathcal{G}: C\left(\mathcal{X}, \mathbb{R}^{d_u}\right) \rightarrow C\left(\mathcal{Y}, \mathbb{R}^{d_s}\right) \) 和 \(\epsilon>0 \),存在一个 \(\mathcal{F} \in \mathcal{A} \) 使得

$$
\mathop {\mathrm{sup}} \limits_{u\in \mathcal{U}}\mathop {\mathrm{sup}} \limits_{y\in \mathcal{Y}}\parallel \mathcal{G} (u)(y)-\mathcal{F} (u)(y)\parallel _{\mathbb{R} ^{d_s}}^{2}<\epsilon
$$

其中

$$
\mathcal{F}(u)(y)=\sum_{i=1}^n g_i(y) \odot v_i(u)
$$

定理二:对于任意的间断算子 \(\mathcal{G}: C\left(\mathcal{X}, \mathbb{R}^{d_u}\right) \rightarrow C\left(\mathcal{Y}, \mathbb{R}^{d_s}\right) \) 和 \(\epsilon>0 \),存在函数 \(v(u)\) 和 \(\varphi(y)\) 使得

$$
\sup _{u \in \mathcal{U}} \sup _{y \in \mathcal{Y}}\left\|\mathcal{G}(u)(y)-\mathbb{E}_{\varphi(y)}[v(u)]\right\|_{\mathbb{R}^{d_s}}^2<\epsilon
$$

谱系化编码保留了普遍性:令 \(D_d:U \rightarrow \mathbb{R} ^d\) 代表基 \(\left{ e_1,…,e_d \right}\) 上的投影。那么对于任何连续函数 \(h:\mathcal{U} \rightarrow \mathbb{R} ^n\) 以及任何 >0,存在 \(d \) 和 \(f\in A_N\) 使得

$$
\sup _{u \in \mathcal{U}}\left\|h(u)-f \circ \mathcal{D}_d(u)\right\|<\epsilon
$$

办法与网络架构

依据定理二,attention 机制就是求解序列对序列工作,也就是将无限长度输出 \(\left( u_1,…,u_{T_u} \right) \) 映射到特色序列 \(\left( v_1,…,v_{T_u} \right)\),随后依据插入地位,产生一个概率分布序列 \(\left( \varphi _{i1},…,\varphi _{iT_u} \right)\),使得

$$
\varphi _{ij}\ge 0,\quad \sum_{j=1}^{T_u}{\varphi _{ij}}=1.
$$

该点的特色为

$$
c_i=\sum_{j=1}^{T_u}{\varphi _{ij}}v_j.
$$

依据定理二,咱们将利用 attention 机制来学习函数空间之间的运算符,办法是将一个输出函数 \(u \) 映射到一组无限的特色 \(v(u)\in \mathbb{R} ^{n\times d_s} \),并在这些特色散布 \(\varphi (y)\) 上取一个平均数,对于任意的查问地位 \(y\in \mathcal{Y} \)

$$
\mathcal{F} (u)(y):=\mathbb{E} _{\varphi (y)}[v(u)]
$$

具体流程能够参考下图

具体而言,模型的具体原型就是

$$
\mathcal{F}(u)(y)=\mathbb{E}_{\varphi(y)}[v(u)]=\sum_{i=1}^n \sigma\left(\int_{\mathcal{Y}} \kappa\left(y, y^{\prime}\right) g\left(y^{\prime}\right) d y^{\prime}\right)_i \odot v_i(u)
$$

其中

$$
\kappa\left(y, y^{\prime}\right):=\frac{k\left(q_\theta(y), q_\theta\left(y^{\prime}\right)\right)}{\left(\int_{\mathcal{Y}} k\left(q_\theta(y), q_\theta(z)\right) d z\right)^{1 / 2}\left(\int_{\mathcal{Y}} k\left(q_\theta\left(y^{\prime}\right), q_\theta(z)\right) d z\right)^{1 / 2}},\\

\sigma: \mathbb{R}^n \rightarrow \Delta^n,\\
\quad g \mapsto\left(\frac{\exp \left(g_1\right)}{\sum_{i=1}^n \exp \left(g_i\right)}, \quad \cdots \quad, \frac{\exp \left(g_n\right)}{\sum_{i=1}^n \exp \left(g_i\right)}\right)^{\top}
$$

最初对输出函数做特色编码,也即

$$
\mathcal{D}: C\left(\mathcal{X}, \mathbb{R}^{d_u}\right) \rightarrow \mathbb{R}^d
$$

文章里是应用了全连贯神经网络实现这项工作。

该办法的流程能够参考下图

上面说一些模型细节不便了解:

积分核的迫近:积分核是间断,这在事实中是不可实现的,能够用 Monte-Carlo 预计器来近似计算

$$
\int_{\mathcal{Y}} \kappa\left(y, y^{\prime}\right) g\left(y^{\prime}\right) \approx \frac{\operatorname{vol}(\mathcal{Y})}{P} \sum_{i=1}^P \kappa\left(y, y_i\right) g\left(y_i\right)
$$

当指标域是 \(\mathcal{Y}\) 是低维的时候,如在许多物理问题中,Gauss-Legendre 正交规定能够提供一个精确而无效的办法来代替 Monte-Carlo 近似法。应用 Q Gauss-Legendre 结点和权重,咱们能够将所需的积分迫近为

$$
\int_{\mathcal{Y}} \kappa\left(y, y^{\prime}\right) g\left(y^{\prime}\right) d y^{\prime} \approx \sum_{i=1}^Q w_i \kappa\left(y, y_i^{\prime}\right) g\left(y_i^{\prime}\right)
$$

此外,作者还是用了地位编码对查问地位进行了编码,应用小波散射网络对 \(u \) 进行特色编码,具体细节能够参考论文。

损失函数:

$$
\mathcal{L}(\theta)=\frac{1}{N} \sum_{i=1}^N \sum_{\ell=1}^P\left(s^i\left(y_{\ell}^i\right)-\mathcal{F}_\theta\left(u^i\right)\left(y_{\ell}^i\right)\right)^2
$$

应用梯度降落进行参数优化。

试验后果

作者将其办法和 FNO 以及 DeepOnet 进行了比拟,次要针对

  1. Antiderivative
  2. Darcy Flow
  3. Mechanical MNIST
  4. Shallow Water Equations
  5. Climate modeling
    这五个场景进行了比拟,均获得了不错的成果,具体能够参考文章。

论断

这篇文章 Attention 的思路和 DeepOnet 是类似,都是对传统的万能迫近定理进行了推广了,使之可能对无穷维空间之间的映射进行解决并提供了严格实践剖析,这些奉献是显而易见。利用神经网络对传统的算子求解器进行减速曾经成了大趋势,有趣味的读者能够将之与 GNN 联合在一起去解决。

如果图网络和 attention 机制在算子学习中的利用感兴趣,举荐持续浏览以下的论文:

Pfaff, T., Fortunato, M., Sanchez-Gonzalez, A., & Battaglia, P. W. (2020). Learning mesh-based simulation with graph networks. arXiv preprint arXiv:2010.03409.
Han, X., Gao, H., Pffaf, T., Wang, J. X., & Liu, L. P. (2022). Predicting Physics in Mesh-reduced Space with Temporal Attention. arXiv preprint arXiv:2201.09113.

退出移动版