深度学习框架,深度学习基础教程
这里写目录标题 来源:对于GCN的改进注意力机制GCN局限区别目的GAT特点 基本思想过程模型比较案例:论文coraGCN-dgl数据展示结果 GAT-dgl结果
原论文
详细解释:E:\组会汇报\2021.11.5汇报-GAT\20211105稿子
可参考:详细介绍gac及改进过程
深度学习中的注意力机制从本质上讲和人类的选择性视觉注意力机制类似,核心目标也是从众多信息中选择出对当前任务目标更关键的信息。
GCN局限 难分配不同的权重给不同的neighbor.这一点限制了模型对于空间信息的相关性的捕捉能力,这也是在很多任务上不如GAT的根本原因。
在GAT中,图中的每个节点可以根据邻节点的特征,为其分配不同的权值
GCN结合临近节点特征的方式和图的结构相关这局限了训练所得模型在其他图结构上的泛化能力。
GCN局限有: 难处理动态图; 难分配不同的权重给不同的neighbor.其实GAT是GNN的改进, 与GCN类似, 只是它是基于self-attention的图模型.
区别核心区别在于如何收集并累和距离为1的邻居节点的特征表示。
图注意力模型GAT用注意力机制替代了GCN中固定的标准化操作。
本质上,GAT只是将原本GCN的标准化函数替换为使用注意力权重的邻居节点特征聚合函数。
GAT与GCN同样也是一个特征提取器,针对的是N个节点,按照其输入的节点特征预测输出新的节点的特征。
GAT特点 1图中的每个节点可以根据邻节点的特征,为其分配不同的权值2只与相邻节点有关,即共享边的节点有关,无需得到整张图的信息:(1)该图不需要是无向的(如果边缘j → i不存在,我们可以简单地省略计算α i j;
(2)它使我们的技术直接适用于inductive learning——包括在训练期间完全看不见的图形上的评估模型的任务。 基本思想
根据每个节点在其邻节点上的attention,来对节点表示进行更新。
过程本文: 对不同的相邻节点学习分配相应的权重, multi-head多头的Attention结构, 计算注意力系数
对于顶点i , 逐个计算它的邻居和i 之间的相似系数:
即先用共享参数W 对顶点进行增维, 后拼接(concatenate)两个特征, 通过映射函数g(.) 将高维特征映射到一个Attention实数上.
通过对 i 的邻居进行softmax, 就可以得到(学习出)节点间的关系系数:
加权求和 aggregate
一般来说,聚合方式一般将邻居传来特征进行加权求和, 即可更新本节点的特征:
本文中增强了集合的方式, 采用 K 个注意力机制, 即用了K种邻居加权方式, 来更新本节点特征. 即Attention中的multi-head思想:
代码位置:E:\项目例程\GCN\论文\代码位置
数据展示 结果
官网:
代码:E:\项目例程\GCN\论文\gcn_dgl_官网
代码:
结果