• 论文笔记:E(n) Equivariant Graph Neural Networks


    0 介绍

            本文介绍了一种新模型来学习与旋转、平移、反射和排列等变的图神经网络,称为 E(n)-等变图神经网络 (EGNN)。

             与现有方法相比,EGNN不需要在中间层中计算昂贵的高阶表示,同时仍能获得有竞争力或更好的性能。 此外,虽然现有方法仅限于 3 维空间的等变性,但EGNN很容易扩展到更高维空间。 

    1  introduction

            尽管深度学习在很大程度上取代了手工制作的特征,但许多进步严重依赖于深度神经网络中的归纳偏差。(inductive bias)

             将神经网络限制为和研究问题相关函数的一种有效方法是,利用问题的对称性、变换等变性(equivariance),通过研究某个对称组来简化当前问题的计算。【eg,CNN的卷积是等变形、池化是近似不变性;GNN的点的排列顺序是等变性(不同点的排列对应不同的邻接矩阵,但是最终这张graph表达的信息是一样的)】

            许多问题都表现出 3D 平移和旋转对称性。论文中将这些对称操作的集合记为SE(3) ,如果包含反射,那么集合记为 E(3)。 通常希望对这些任务的预测相对于 E(3) 变换是等变的或不变的。、

            最近,已经提出了等变E(3) 或 SE(3) 的各种形式和方法。 其中许多工作在研究中间网络层的高阶表示类型方面实现了创新。 然而,这些高阶表示的转换需要计算成本高昂的系数或近似值。 此外,在实践中,对于许多类型的数据,输入和输出仅限于标量值(例如温度或能量,在文献中称为 type-0)和 3d 矢量(例如速度或动量,在文献中称为 type-1)。

            这篇paper提出了一种新的架构,它是平移、旋转和反射等变 (E(n)),以及关于输入点集的置换等变模型比以前的方法更简单,同时模型中的等变性不限于 3 维空间,并且可以扩展到更大的维空间,而不会显着增加计算量。

    2 背景知识

    2.1 等变性

    定义:

            

    通俗地说,先平移/旋转/排列再映射,和先映射再平移/旋转/排列 效果是一样的

    2.2 GNN

    GNN笔记:消息传播模型_UQI-LIUWJ的博客-CSDN博客

    3 EGNN

    • 考虑一张图\mathcal{G}=(\mathcal{V,E}),其中v_i \in \mathcal{V}, e_{ij} \in \mathcal{E},
    • 每一个点的特征embedding是h_i \in R^{nf} (和2.2的GNN一样)[这个nf指的是node feature,并不是n乘f]【不带方向的物理信息,标量】
    • 但在此基础上,EGNN对每个点加了一个n维的坐标x_i \in R^n【带方向的几何信息,矢量】

    GNN将保持与这些坐标 xi 旋转和平移的等变性,并且它还将以与 GNN 相同的方式保持与节点集 V 上排列的等变性。

     用公式表示第l层EGNN,Equivariant Graph Convolutional Layer (EGCL)有:h^{l+1},x^{l+1}=EGCL[h^l,x^l,\mathcal{E}]

    和传统GNN不一样的地方用绿色框框画出来了

    • 在等式3中,EGNN增加了两个坐标之间的距离||x_i^l-x_j^l||^2作为参数
    • 在等式 4 中,按照论文的意思,xi的位置更新为径向的矢量场,由所有(x_i-x_i)_{\forall j}共同决定【这里我不是很理解,为什么会是径向的,因为不同的xi,它的方向是不一样的,(x_i-x_i)_{\forall j}作为向量减法,不一定沿着径向呀】
      • 等式4每一项的加权系数是通过函数\phi_x:R^{nf} \rightarrow R^1 计算的
      • 这里的C=1/(M-1)
    • ——>等式3&4可以保证等变性
    • ——>与此同时,另外一个区别是,这边考虑了所有(i,j)对,而不仅仅是邻居点之间的pair,也就是说,embedding  mij可以包含全图的信息

     

     

     3.1 平移等变性

    g是一个平移向量,x(type-1向量)是平移等变性(equivariant),h(type-0向量)是平移不变性(invariant)

     ——>不难发现,EGCL的组合也是具有等变性的

    3.2 拓展EGNN

    这里对前面的EGNN进行轻微修改,以便我们明确地跟踪粒子的动量。

    这不仅可以用于获得粒子在每一层的速度估计值,还可以将动量引入进来

    用公式表示,就是将

     表示成

     h^{l+1},x^{l+1},v^{l+1}=EGCL[h^l,x^l,v^{init},\mathcal{E}]'

    如果v^{init}为0,那么等式4和等式7表达的是一个意思

    3.3 得到点的信息

    在某些情况下,我们可能并不总是得到一个邻接矩阵。 在这些情况下,我们可以假设一个全连接图,其中所有节点相互交换消息。

    这种全连接方法可能无法很好地扩展到大图,我们希望只需考虑邻居节点N(i)的点之间的交互。

    论文这里使用如下的方式

    其中如果(i,j)有连边,那么eij为1,否则为0

    论文通过一个函数来近似eij :\phi_{inf}:R^{nf} \rightarrow [0,1]^1(线性层+sigmoid激活函数,输入边embedding,输出边value的soft estimation)

     

  • 相关阅读:
    qt响应全局热键
    .gitignore文件不起作用
    007: vue中修改el-select选中颜色不生效的办法
    动态SQL---P22,P23,P24
    Linux基础知识及常见指令
    TS装饰器bindThis优雅实现React类组件中this绑定
    西米支付”:在游戏SDK中,提供了哪些支付渠道?SDK的用处?
    为什么 ArrayList的 初始容量为10?每次扩容1.5倍?
    一文彻底搞懂Mybatis系列(十二)之MyBatis多对一映射延迟加载(association和lazyLoadingEnabled)
    Vu3中样式穿透不生效处理
  • 原文地址:https://blog.csdn.net/qq_40206371/article/details/125514951