前言
经典的 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}i∈N
(v))=bv1i∈N
(v)∑j∈N
(v)&i<j∑hiW⊙hjW
这里的不等式符号有两个作用:
- 避免无意义的自我特征交互
- 避免重复的计算
如果对推荐系统熟悉的话,可以发现作者的 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)=21B−1((A
HW)2−A
(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(k−1),A)=(1−α)⋅AGG(H(k−1),A)+α⋅BA(H(k−1),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=1∑Kβk⋅BA(X,A(k))),s.t.,k=1∑Kβk=1
总结一下:由于 BGNN 框架结合了 Sum 操作和受 FM 启发的双线性解码器,因此可以与现有的 GNN 方法相结合,并且双线性解码器的基础元素是基于 GNN 信息传播框架所得到的结果。因此具有较好的扩展性。
3. Experiments