Paper | Graph Attention Networks

Intro

精读Graph Attention Networks 论文

GAT Architecture

网络输入node集合的feature h, 输出h’
$$
h={h_1, h_2, …, h_N}
$$

$$
h’={h_1’, h_2’, …, h_N’}
$$

节点j对节点i的相关系数
$$
e_{ij}=a(Wh_i,Wh_j)
$$
代表着节点j的特征对于节点i的重要性

其中W是一个线性变化的权重矩阵, 并且同时应用在i和j节点.

其中a是注意力机制, 也是共享在每一个节点.

对e展开
$$
e_{ij} = LeakyReLU(\overrightarrow{a^T}[W\overrightarrow{h_i}\Vert W\overrightarrow{h_j}])
$$
||是拼接

然后对节点i的所有邻居节点j进行归一化
$$
\alpha_{ij}=softmax_j(e_{ij})
$$
拿到了归一化后的注意力相关性信息就可以应用在获取节点i的所有特征了.

计算节点i的alpha

引入多头注意力机制

注意力后的特征
$$
\overrightarrow h_j’ = \sigma(\sum_{j\in{N_i}}\alpha_{ij}W\overrightarrow h_j)
$$

$$
\overrightarrow h_j’ = \Vert_{k=1}^K \sigma(\sum_{j\in{N_i}}\alpha_{ij}^kW^k\overrightarrow h_j)
$$

如果是在最后一层, 多头注意力就不能简单的拼接起来了, 要使用一个平均, 最后再来一个归一化.
$$
\overrightarrow h_j’ = \sigma({1\over K}\sum_{k=1}^K\sum_{j\in{N_i}}\alpha_{ij}^kW^k\overrightarrow h_j)
$$

通过mask来注入图的结构


Reference

Veličković, Petar, et al. “Graph attention networks.” arXiv preprint arXiv:1710.10903 (2017).