论文笔记:IJCAI 2020 Bilinear Graph Neural Network with Neighbor Interactions

前言

经典的 GCN 方法选择在当前节点的邻域节点中进行频域的卷积操作,将卷积得到后的特征表示通过 weighted sum 的形式汇聚到当前节点。作者认为这种计算方式需要基于以下条件才能有效:领域节点之间没有联系。这显然不符合真实情况,同时这种粗暴的信息聚合方式忽略了邻域节点集中可能的特征交互。作者举了一个简单的例子来说明:
在这里插入图片描述
可以看出两种不同的信息聚合方式所产生的结果相差巨大。

因此,本文中着重讨论了在 GNN 中建模邻域节点之间交互关系的重要性。并且提出了一种新的卷积操作加强邻域节点之间的特征交互。该框架可以适用于不同的邻域节点信息提取操作,具有代表性的分别是 GCN 和 GAT。(其实就是优化邻域信息提取后的聚合函数)。该框架被称为 Bilinear Graph Neural Network (BGNN)。可以细分为 BGCN 和 BGAT。

论文链接:https://www.ijcai.org/Proceedings/2020/0202.pdf
github:https://github.com/zhuhm1996/bgnn

1. BGNN

直接切入主题,前面没什么好介绍的。

1.1 Bilinear Aggregator

双线性聚合器被定义为如下形式:
B A ( { h i } i ∈ N ~ ( v ) ) = 1 b v ∑ i ∈ N ~ ( v ) ∑ j ∈ N ~ ( v ) & i < j h i W ⊙ h j W BA(\{\mathbf{h}_i\}_{i \in\widetilde{\mathcal{N}}(v)})=\frac{1}{b_v}\sum_{i\in\widetilde{\mathcal{N}}(v)}\sum_{j \in \widetilde{\mathcal{N}}(v)\&i < j}\mathbf{h}_i\mathbf{W}\odot\mathbf{h}_j\mathbf{W} BA({hi}iN (v))=bv1iN (v)jN (v)&i<jhiWhjW
这里的不等式符号有两个作用:

  1. 避免无意义的自我特征交互
  2. 避免重复的计算

如果对推荐系统熟悉的话,可以发现作者的 idea 来自 FM 思想。

双线性聚合器的矩阵形式:
B A ( H , A ) = 1 2 B − 1 ( ( A ~ H W ) 2 − A ~ ( H W ) 2 ) BA(\mathbf{H,A})=\frac{1}{2}\mathbf{B}^{-1}((\widetilde{\mathbf{A}}\mathbf{HW})^2-\widetilde{\mathbf{A}}(\mathbf{HW})^2) BA(H,A)=21B1((A HW)2A (HW)2)

推导方式可以参考论文

1.2 Proof of Permutation Invariant

本文总共提到了两种信息汇聚方法分别是:Sum 和 Bilinear Aggregator。理所当然 Sum 操作具有排列不变性,也就是该操作的变量顺序进行任意变换后,结果不变。同时在文中,作者也证明双线性解码器也满足此性质,因此可以对该操作进行集成。

2. BGNN Model

作者结合传统的 Sum 操作和双线性解码器提出了一种新的图卷积框架,写作:
H ( k ) = B G N N ( H ( k − 1 ) , A ) = ( 1 − α ) ⋅ A G G ( H ( k − 1 ) , A ) + α ⋅ B A ( H ( k − 1 ) , A ) \mathbf{H}^{(k)}=BGNN(\mathbf{H}^{(k-1)},\mathbf{A})\\=(1-\alpha)\cdot AGG(\mathbf{H}^{(k-1)},\mathbf{A})+\alpha \cdot BA(\mathbf{H}^{(k-1)},\mathbf{A}) H(k)=BGNN(H(k1),A)=(1α)AGG(H(k1),A)+αBA(H(k1),A)

操作图示如下:
在这里插入图片描述
接着定义一个 K K K 层的 BGNN 框架为
B G N N K ( X , A ) = ( 1 − α ) ⋅ G N N K ( X , A ) + α ⋅ ( ∑ k = 1 K β k ⋅ B A ( X , A ( k ) ) ) , s . t . , ∑ k = 1 K β k = 1 BGNN_K(\mathbf{X,A})=(1-\alpha)\cdot GNN_K(\mathbf{X,A})\\+\alpha\cdot(\sum_{k=1}^K\beta_k \cdot BA(\mathbf{X},\mathbf{A}^{(k)})),s.t.,\sum_{k=1}^K\beta_k=1 BGNNK(X,A)=(1α)GNNK(X,A)+α(k=1KβkBA(X,A(k))),s.t.,k=1Kβk=1

总结一下:由于 BGNN 框架结合了 Sum 操作和受 FM 启发的双线性解码器,因此可以与现有的 GNN 方法相结合,并且双线性解码器的基础元素是基于 GNN 信息传播框架所得到的结果。因此具有较好的扩展性。

3. Experiments

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值