GRAPH ATTENTION NETWORKS
ICLR2018
利用masked self-attentional layers来解决基于图卷积或其近似的先前方法的缺点。通过堆叠节点能够参加邻域特征的层,隐式的向邻域中不同节点指定不同权重,不需要任何类型的高耗的矩阵操作(例如反转)或者取决于了解图表结构前期。同时解决了spectral-based的GNN的几个关键挑战,并使GAT容易地适用于归纳以及转换问题。
GAT ARCHITECTURE
GRAPH ATTENTIONAL LAYER
层的输入:一组节点特征,
h
=
{
h
⃗
1
,
h
⃗
2
,
.
.
.
,
h
⃗
N
}
,
h
⃗
i
∈
R
F
{\bf h}=\{{\vec{h}_1},{\vec{h}_2},...,{\vec{h}_N}\},{\vec{h}_i}\in{\Bbb R}^F
h={h
1,h
2,...,h
N},h
i∈RF,N是节点数,F是每个节点的特征数。层产生一组新的节点特征,输出:
h
′
=
{
h
⃗
1
′
,
h
⃗
2
′
,
.
.
.
,
h
⃗
N
′
}
,
h
⃗
i
′
∈
R
F
′
{\bf h'}=\{{\vec{h}_1'},{\vec{h}_2'},...,{\vec{h}_N'}\},{\vec{h}_i'}\in{\Bbb R}^{F'}
h′={h
1′,h
2′,...,h
N′},h
i′∈RF′。
为了获得足够的来将输入特征转换为更高级别的特征,至少需要一种学习的线性变换,作为初始步骤,每个节点共享线性变换,由权重矩阵
W
∈
R
F
′
×
F
{\bf W}\in{\Bbb R}^{F'\times F}
W∈RF′×F参数化,然后对节点self-attention——一个共享注意力机制
a
:
R
F
′
×
R
F
→
R
a: {\Bbb R}^{F'}\times{\Bbb R}^{F}\rightarrow {\Bbb R}
a:RF′×RF→R,计算注意系数
e
i
j
=
a
(
W
h
⃗
i
,
W
h
⃗
j
)
e_{ij}=a({\bf W}{\vec{h}_i},{\bf W}{\vec{h}_j})
eij=a(Wh
i,Wh
j)。
表明j特征对i节点的重要性。softmax标准化:
α
i
j
=
s
o
f
t
m
a
x
j
(
e
i
j
)
=
e
x
p
(
e
i
j
)
∑
k
∈
N
i
e
x
p
(
e
i
k
)
\alpha_{ij}={\rm softmax}_j(e_{ij})=\frac{{\rm exp}(e_{ij})}{\sum_{k\in{\mathcal N}_i} {\rm exp}(e_{ik})}
αij=softmaxj(eij)=∑k∈Niexp(eik)exp(eij)。
注意力机制a是一个单层前馈神经网络,,由权重向量
a
⃗
∈
R
2
F
′
\vec{a}\in{\Bbb R}^{2F'}
a
∈R2F′,应用LeakyRelu非线性(
α
=
0.2
\alpha=0.2
α=0.2),
α
i
j
=
e
x
p
(
L
e
a
k
y
R
e
L
U
(
a
⃗
T
[
W
h
⃗
i
]
[
W
h
⃗
j
]
)
)
∑
k
∈
N
i
e
x
p
(
L
e
a
k
y
R
e
L
U
(
a
⃗
T
[
W
h
⃗
i
]
[
W
h
⃗
k
]
)
)
\alpha_{ij}=\frac{{\rm exp}({\rm LeakyReLU}(\vec{a}^T[{\bf W}{\vec{h}_i}][{\bf W}{\vec{h}_j}]))}{\sum_{k\in{\mathcal N}_i}{\rm exp}({\rm LeakyReLU}(\vec{a}^T[{\bf W}{\vec{h}_i}][{\bf W}{\vec{h}_k}]))}
αij=∑k∈Niexp(LeakyReLU(a
T[Wh
i][Wh
k]))exp(LeakyReLU(a
T[Wh
i][Wh
j]))。归一化的注意系数用于计算与他们对应的特征的线性组合,以作为每个节点的最终输出特征。
h
⃗
i
′
=
σ
(
∑
j
∈
N
i
α
i
j
W
h
⃗
j
)
{\vec h}_i'=\sigma(\sum_{j\in{\mathcal N}_i}\alpha_{ij}{\bf W}{\vec h}_j)
h
i′=σ(∑j∈NiαijWh
j),为了稳定self-attention学习过程,延长机制以便采用多头注意力。具体说,K独立的注意力机制执行上式转换,然后他们的功能被连接,从而导致一下输出特征表示:
h
⃗
i
′
=
∣
∣
k
=
1
K
σ
(
∑
j
∈
N
i
α
i
j
k
W
k
h
⃗
j
)
{\vec h}_i'=||^K_{k=1} \sigma(\sum_{j\in{\mathcal N}_i}\alpha_{ij}^k{\bf W}^k{\vec h}_j)
h
i′=∣∣k=1Kσ(∑j∈NiαijkWkh
j),其中||代表串联,
α
i
j
k
\alpha_{ij}^k
αijk表示第k注意力机制(
a
k
a^k
ak)的归一化关注系数,
W
k
{\bf W}^k
Wk是相应输入线性变换的权重矩阵。在此设置中,最终返回的输出
h
′
{\bf h}'
h′将由每个节点包含的
K
F
′
KF'
KF′特征,而不是
F
′
F'
F′特征。
特别的,如果在网络的最终预测层上执行多头注意力,连接不再是明智的,而是使用平均化,并且延迟应用最终非线性(通常是softmax或者sigmoid来进行分类)——
h
⃗
i
′
=
σ
(
1
K
∑
k
=
1
K
∑
j
∈
N
i
α
i
j
k
W
k
h
⃗
j
)
{\vec h}_i'=\sigma(\frac{1}{K}\sum_{k=1}^K\sum_{j\in{\mathcal N}_i}\alpha^k_{ij}{\bf W}^k{\vec h}_j)
h
i′=σ(K1∑k=1K∑j∈NiαijkWkh
j)