论文笔记 Graph Attention Networks

2023-11-15

2018 ICLR

1 intro

1.1. GCN的不足

  • 无法完成inductive任务
    • inductive任务是指:
      • 训练阶段与测试阶段需要处理的graph不同。
      • 通常是训练阶段只是在子图上进行,测试阶段需要处理未知的顶点。
    • GGN 的参数依赖于邻接矩阵A/拉普拉斯矩阵L,所以换了一张图,就会有不同的A和L
  • 处理有向图的瓶颈,不容易实现分配不同的学习权重给不同的邻居

1.2 本文思路

  • 引入masked self-attentional layers 来改进前面图卷积的缺点
    • 对不同的相邻节点分配相应的权重,既不需要矩阵运算,也不需要事先知道图结构
    • attention为每个节点分配不同权重,关注那些作用比较大的节点,而忽视一些作用较小的节点

2 GAT

  • 和一般注意力机制一样,GAT的计算也分为两步
    • 计算注意力系数
    • 加权求和

2.1 输入 输出

2.1.1 输入

单个 graph attentional layer的输入是一个节点特征向量集合

  • N是节点数量
  • F是每个节点特征维度

2.1.2 输出

新的节点特征集合

 

 2.2 计算注意力系数

2.2.1 全局attention的弊端

  • self-attention是一种Global graph attention,会将注意力分配到图中所有的节点上,但是这样会存在以下问题
    • 1,丢失结构信息
      • 基于空间相似假设,一个样本与一定范围内的样本关系较密切
    • 2,样本较多的时候,计算量非常大

2.2.2 masked self-attention

  • 为了解决这一问题,作者使用了一种 masked attention 的方法
    • 对于一个样本来说只利用邻域内的样本计算注意力系数和新的表示
    • 即仅将注意力分配到节点的一阶邻居节点集上
  • 针对每个节点执行 self-attention机制
      • eij就是i点和其邻居j点的注意力相关系数
      • 为一个映射函数(这边计算eij的时候漏了一个激活函数,论文中使用的是LeakyReLU)
      • hi,hi是点i和点j的特征向量 
  • 计算完点i和所有邻居的注意力相关系数后,引入softmax对所有相邻节点进行正则化
    • || 表示拼接(concat)操作

2.2.3 加权求和

  • 得到归一化的注意力系数后,使用归一化的值计算对应特征的线性组合,作为每个顶点这一层最后的输出特征

     

2.2.4 多头自注意力

  • 使用K个独立的 attention 机制,然后他们的特征拼接在一起

     

    • 这样每一层输出的维度为KF‘
  • 对于最后一个卷积层,不采用拼接的方式合并不同的attention机制的结果了,而是采用求平均的方式进行处理

     

3 实验

3.1 数据集

 3.2 实验结果

3.2.1 transductive learning

训练和测试在一张图上

 3.2.2 inductive learning

训练和测试不在一张图上

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

论文笔记 Graph Attention Networks 的相关文章

随机推荐

  • mysql使用sql语句根据时间段查询数据

    1 sql语句 SELECT 字段 from 表名 where 时间字段 BETWEEN 2019 05 22 AND 2019 06 21 注 此种方法查到的是5 22到6 20之间数据 不包括6 21当天的数据 2 在mybatis中m
  • MySQL如何查看,删除用户

    1 查看所有用户 需要在root用户下进行 select host user password from mysql user 2 删除用户 mysql gt Delete FROM user Where User 用户名 and Host
  • LU矩阵分解

    LU分解 Pseudocode LU matrix decompose matrix for j 0 1 n L 为单位下三角矩阵 L j j 1 0 上三角矩阵的行列索引关系 j rows gt i columns for i 0 1 j
  • php socket 错误处理,PHP Socket or TCP 连接错误信息显示乱码问题处理

    错误说明 在项目中编码都是使用UTF 8编码 当用到Socket或者TCP连接的时候出现错误 错误信息不是UTF 8的编码 所以输出看到的是乱码且在输出json格式输出的时候是空白 比如在本地位win7系统 错误信息提示 Can not c
  • 多智能体强化学习与博弈论-博弈论基础3

    多智能体强化学习与博弈论 博弈论基础3 之前主要介绍了如何判断博弈中是否到达了纳什均衡 在这篇文章中将主要介绍如何计算纳什均衡 本文主要介绍下列几种情况下的纳什均衡 两个智能体 每个智能体有两个动作 两个智能体 每个智能体有多个动作 零和博
  • MySql Windows安装教程

    找到下载 gt 拉到最下面找到社区版下载 gt 下载 下面是我下载好的 度盘链接 提取码 sws3 解压到指定目录 Mysql国内镜像 Index of mysql MySQL 8 0 此时解压后的文件中没有data目录和ini文件 然后做
  • 帆软大屏开发手册

    1 需求调研 模块 输出 业务需求调研 业务需求调研报告 硬件调研 大屏采购硬件清单 数据调研 数据质量调研报告 关键性技术预研 技术预研报告 1 1 业务需求调研 1 1 1 根据业务场景抽取关键指标 关键指标是一些概括性词语 是对一组或
  • 使用Python,Keras和TensorFlow训练第一个CNN

    使用Python Keras和TensorFlow训练第一个CNN 这篇博客将介绍如何使用Python和Keras训练第一个卷积神经网络架构 ShallowNet 并在动物和CIFAR 10数据集上对其进行了训练 ShallowNet对动物
  • python+PyCharm+OpenCV配置

    文章目录 一 python的配置 二 PyCharm的安装 三 OpenCV的配置 一 python的配置 第一步 下载python安装包 从python的官网 python下载地址 中找到最新版本的python安装包 点击进行下载即可 需
  • python实现——处理Excel表格(超详细)

    目录 xls和xlsx 基本操作 1 用openpyxl模块打开Excel文档 查看所有sheet表 2 1 通过sheet名称获取表格 2 2 获取活动表 3 1 获取表格的尺寸 4 1 获取单元格中的数据 4 2 获取单元格的行 列 坐
  • 睿智的目标检测56——Pytorch搭建YoloV5目标检测平台

    睿智的目标检测56 Pytorch搭建YoloV5目标检测平台 学习前言 源码下载 YoloV5改进的部分 不完全 YoloV5实现思路 一 整体结构解析 二 网络结构解析 1 主干网络Backbone介绍 2 构建FPN特征金字塔进行加强
  • Arria 10上进行DDR3管脚分配

    本文介绍下DDR3的管脚分配 其它系列的DDR管脚分配也基本一样的 FPGA型号 10AX027H4F34I3SG DDR3型号 MT41J128M16JT 125 QuartusI Prime18 0 首先介绍下A10器件能支持的DDR系
  • 图像处理和图像识别中常用的matlab函数

    下面仅给出函数的大概意思 详细用法见 help 函数名 或 matlab help 1 imread read image from graphics file 2 imshow display image in Handle Graphi
  • MySQL高性能及性能优化技巧---更适合开发人员

    更新次数 更新时间 首发 2021 10 25 第一次更新 2021 10 26 1 删除了书中大量不必要的存储引擎类型 2 摘要完毕Mysql架构与历史部分 第二次更新 2021 10 29 1 摘要基准测试内容 2 删除了大量对概念的举
  • hdu 6208 The Dominator of Strings

    Problem acm hdu edu cn showproblem php pid 6208 Meaning 有 n 个字符串 问是否能找到其中一串 使得其它串都是它的子串 Analysis 如果存在这个串 那它一定是 n 个中的最长串
  • LeetCode刷题记录 字节跳动题库

    1 两数之和 哈希 一遍遍历 3 无重复字符的最长子串 哈希 流动窗口 双指针 因为右端点的位置一定不会朝左边走 建议再看看同类型的题目 2 两数相加 题 42 接雨水 单调递减栈 核心思想 对于每个点找其左边和右边第一个大于或等于它的点
  • 程序员最美的情人节玫瑰花,JAVA代码实现的3D玫瑰噢

    用纯javascript脚本编写的神奇3D圣诞树 令人印象深刻 2月14日情人节就要来临了 还是Roman Cortes 这次他又带来了用javascript脚本编写的红色玫瑰花 用代码做出的玫瑰花 这才是牛逼程序员送给女友的最好情人节礼物
  • idea自动去除导入但未使用的包

    使用idea开发过程中通常我们可能会引入某个包使用但是在后续更改中这个包就不需要了 一个个去除很麻烦 他每个java文件去除的快捷键是ctrl shift o 如果想要更智能的方法我们可以做如下配置 1 使用ctrl alt s进入sett
  • 【机器学习-分类】决策树预测

    我用一些机器学习的算法对数据进行一个分类 下面是一些需要用到的基础代码 以决策树为例 并不包括针对项目的模型处理和修改 留作记忆学习 对于数据划分训练集直接省略 def Tree score depth 3 criterion entrop
  • 论文笔记 Graph Attention Networks

    2018 ICLR 1 intro 1 1 GCN的不足 无法完成inductive任务 inductive任务是指 训练阶段与测试阶段需要处理的graph不同 通常是训练阶段只是在子图上进行 测试阶段需要处理未知的顶点 GGN 的参数依赖