目录


通过node feature 计算两个node 间的关系

用来做加权平均需要转换一下参数

(这个系数 α 就是每次卷积时,用来进行加权求和的系数)
本文采取的计算attention coefficient的函数a是一个单层的前馈网络,LeakyReLU 处理得

( || 表示串联/ 连接,一旦获得,归一化的相互注意系数用来计算对应特征的线性组合,以用作每个节点的最终输出特征)

左图:
在模型中应用相互注意机制a(Whi,Whj),通过权重向量 a 参数化,应用 LeakyReLU 激活
右图:
节点1在邻域中具有多端注意机制,不同的箭头样式表示独立的注意力计算,通过连接或平均每个头部获取 h1`
2.3. multi-head attention机制
不只用一个函数a进行attention coefficient的计算,而是设置K个函数,每一个函数都能计算出一组attention coefficient,并能计算出一组加权求和用的系数,每一个卷积层中,K个attention机制独立的工作,分别计算出自己的结果后连接在一起,得到卷积的结果,即

假如有 k 个独立的相互注意机制同时计算,则集中其特征,可得到特征表示

对于最后一个卷积层,如果还是使用multi-head attention机制,那么就不采取连接的方式合并不同的attention机制的结果了,而是采用求平均的方式进行处理,即

3. 对比
- 计算很高效,attention机制在所有边上的计算是可以并行的,输出的feature的计算在所有节点上也可以并行
- 和GCN不同,本文的模型可以对同一个 neighborhood 的node分配不同的重要性,使得模型的容量(自由度)大增。
- 分析这些学到的attentional weights有利于可解释性(可能是分析一下模型在分配不同的权重的时候是从哪些角度着手的)
- attention机制是对于所有edge共享的,不需要依赖graph全局的结构以及所有node的特征
- 2017年Hamilton提出的inductive method 对于neighborhood的模式处理固定,不灵活
4. 实验

- transductive learning
- inductive learning
4.1. transductive learning
- 两层 GAT
- 在Cora 数据集上优化网络结构的超参数,应用到Citeseer 数据集
- 第一层 8 head, F`=8 ELU 作为非线性函数
- 第二层为分类层,一个 attention head 特征数C,后跟 softmax 函数
- 为了应对小训练集,正则化(L2)
- 两层都采用 0.6 的dropout
- 相当于计算每个node位置的卷积时都是随机的选取了一部分近邻节点参与卷积
4.2. inductive learning
- 三层GAT 模型
- 前两层 K=4, F1=256 ELU作为非线性函数
- 最后一层用来分类 K=6, F`=121 后跟logistics sigmoid 激活函数
- 该任务中,训练集足够大不需要使用 正则化 和 dropout
两个任务都是用Glorot初始化初始的,并且是用Adam SGD来最小化交叉熵进行优化
4.3. 实验结果

50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率
