图神经网络与图注意力网络相关知识概述
#图神经网络# #图注意力网络#
随着计算机行业和互联网时代的不断发展与进步,图神经网络已经成为人工智能和大数据的重要研究领域。图神经网络是对相邻节点间信息的传播和聚合的重要技术,可以有效地将深度学习的理念应用于非欧几里德空间的数据上。本期推送围绕图神经网络与图注意力网络相关知识进行概述。
1.什么是图
1.1 定义
图表示的是一系列实体(节点)之间的关系(边)。
- V:节点信息(节点标识、节点邻居数)
- E:边信息(边标识、边权重)
- U:全局信息(节点数、最长路径)
1.2 embedding
为了深入表示每个节点、边和整个图,可以使用如下存储方式:
把节点信息、边信息和全局信息做embedding,通俗说即把这些信息存储为向量的形式。例如上图用向量来表示节点,形成一个长度为6的向量,表示节点的6个信息,高矮代表了值的大小。
1.3 将多种类型的数据表示成图
(1)images as graphs(将图片表示为图)
- 把每个像素作为一个点,存在邻接关系则形成一条边
(2)text as graphs(将文本表示为图)
- 把词表示为顶点,词与词存在有向边
(3)将现实生活中的关系表示成图
- 分子结构(原子之间的关系)、社交网络(人物交互图)、引用(文章引用关系)
- 例如下图为话剧《奥赛罗》中的人物交互图,通过将同时出现在一个场景里的人物连上一条边,将人物关系表示成图。
1.4 在图上面可以定义哪些类型的问题
(1) 图层面的任务
- 比如,给定一张图,对该图进行分类。
如上图,预测出哪些分子是具有两个环的。这个例子比较简单,可以用图的遍历来完成,当图非常复杂的时候,图神经网络可以发挥巨大作用。
(2)节点层面的任务
- 比如,将节点分类到不同的阵营。
上图是空手道俱乐部数据集,将学员分类到两个老师的队伍中。
(3)边层面的任务
- 比如,已知节点,学习节点之间的边的信息。
在这个例子中,边的预测是通过语义分割把人物、背景拿出来,然后分析实体间的关系。也就是给出节点之间的图,对边上的属性进行预测。比如黄衣服的人在踢绿衣服的人,他们都站在地毯上。
1.5 在图上使用神经网络的挑战是什么
图上有节点属性、边的属性、全局信息、连接性四种类型的信息。
前面三个比较容易与神经网络兼容,因为其可以表示成向量的形式。在利用连接性这种类型的信息时,通常会使用邻接矩阵——但是存在图太大无法存储、交换行列本质不变但矩阵变化的情况。于是很多情况下会使用邻接列表表示图上的连接性关系。
如上图,这张图有8个顶点,7条边。邻接列表的长度与边数相同,第i项表示第i条边连接的哪两个节点。
2.图神经网络
图神经网络的基本思想就是:
- 基于节点的局部邻居信息对节点进行embedding。直观来讲,就是通过神经网络来聚合每个节点及其周围节点的信息。
对于这个图来说,要计算节点A的Embedding,有以下的两条想法:
- 节点A的Embedding,是它的邻接节点B、C、D的Embedding传播的结果
- 而节点B、C、D的Embedding,又是由它们各自的邻接节点的Embedding传播的结果。
为了避免无穷无尽,以下图为例,做两层,可以构造该图的传播关系。
第0层即输入层,为每个节点的初始向量,称为初始Embedding。
第1层:
- 节点B的Embedding来自它的邻接点A、C的Embedding的传播。
- 节点C的Embedding来自它的邻接点A、B、E、F的Embedding的传播。
- 节点D的Embedding来自它的邻接点A的Embedding的传播。
第2层:
- 节点A的Embedding来自它的邻接点B、C、D的Embedding的传播。
但是,目前我们还不知道传播到底是什么,图中的小方块在做什么,下面就对传播机制进行介绍。
小方块主要就做了两件事情:
收集(Aggregation)
对上一层的所有邻接节点的Embedding,如何进行汇总,获得一个Embedding,供本层进行更新。更新(Update)
对本层已“收集完毕”的邻接点数据,是否添加自身节点的上一层Embedding,如果是,如何添加、如何激活等等,最终输出本层的Embedding。
下面使用公式介绍一个具体例子:
符号解释: h h h表示节点的 e m b e d d i n g embedding embedding,下标 v v v或 u u u表示节点的索引,上标 k k k表示第几层, σ σ σ表示激活函数, W k W_k Wk或 B k B_k Bk表示矩阵, N ( v ) N(v) N(v)表示节点 v v v的邻接点集合。
公式解释:使用节点的输入特征向量来初始化第 0 0 0层节点的 e m b e d d i n g embedding embedding。为了计算第 k k k层节点 v v v的 e m b e d d i n g embedding embedding,需要用到上一层中节点 v v v本身的 e m b e d d i n g embedding embedding、节点 v v v的邻居节点在 k k k-1层中的 e m b e d d i n g embedding embedding平均值。
操作步骤:
- 收集——对上一层邻居节点的Embedding求平均。
- 更新——收集完毕的Embedding与本节点上一层的Embedding进行加权和,然后再激活。
3.图注意力网络
3.1 基本思想
- 根据每个节点在其邻节点上的attention,来对节点表示进行更新。
3.2 改进
- GCN无法允许为邻居中的不同节点指定不同的权重,GAT和GCN的核心区别在于如何收集并累和距离为1的邻居节点的特征表示。
- 图注意力网络GAT用注意力机制替代了GCN中固定的标准化操作。
3.3 优点
- 在GAT中,图中的每个节点可以根据邻节点的特征,为其分配不同的权值。
- 引入注意力机制之后,只与相邻节点有关,即共享边的节点有关,无需得到整张图的信息。
3.4 GAT架构
图注意力层的输入: N N N个节点特征的集合 h h h
h = { h → 1 , h → 2 , . . . , h → N } , h → i ∈ R F h=\{\overrightarrow{h}_1,\overrightarrow{h}_2,...,\overrightarrow{h}_N\},\overrightarrow{h}_i\in\mathbb{R}^F h={h
图注意力层的输出:经过学习之后的 N N N个节点的特征向量 h ′ h' h′
h ′ = { h → 1 ′ , h → 2 ′ , . . . , h → N ′ } , h → i ′ ∈ R F ′ h'=\{\overrightarrow{h}^{'}_1,\overrightarrow{h}^{'}_2,...,\overrightarrow{h}^{'}_N\},\overrightarrow{h}^{'}_i\in\mathbb{R}^{F'} h′={h
特征增强:为了使得节点特征表达得更清晰,首先对每一个节点进行一个线性变换,即乘上一个权重向量。【 W W W维度为
图神经网络与图注意力网络相关知识概述相关推荐
- 图神经网络之图卷积网络——GCN
图卷积网络--GCN 一.前置基础知识回顾 图的基本概念 构造图神经网络的目的 训练方式 二.回顾卷积神经网络在图像及文本上的发展 图像上的卷积网络 文本上的卷积网络 图卷积网络的必要性 三.图卷积网 ...
- 当图网络遇上计算机视觉!计算机视觉中基于图神经网络和图Transformer的方法和最新进展...
点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> CV 微信技术交流群 可能是目前最全面的<当图网络遇上计算机视觉>综述!近四 ...
- 图神经网络的图网络学习(上)
图神经网络的图网络学习(上) 原文:Learning the Network of Graphs for Graph Neural Networks 摘要 图神经网络 (GNN) 在许多使用图结构数据 ...
- 图神经网络的图网络学习(下)
原文:Learning the Network of Graphs for Graph Neural Networks 1. 文章信息 作者 Yixiang Shan, Jielong Yang, X ...
- [图神经网络]ViG(Vision GNN)网络代码实现
论文解读: [图神经网络]视觉图神经网络ViG(Vision GNN)--论文阅读https://blog.csdn.net/weixin_37878740/article/details/13012 ...
- 图神经网络 | (2) 图神经网络(Graph Neural Networks,GNN)综述
原文地址 本篇文章是对论文"Wu Z , Pan S , Chen F , et al. A Comprehensive Survey on Graph Neural Networks[J] ...
- 「图神经网络复杂图挖掘」 的研究进展
来源:专知 图神经网络对非欧式空间数据建立了深度学习框架,相比传统网络表示学习模型,它对图结构能够实施更加深层的信息聚合操作.近年来,图神经网络完成了向复杂图结构的迁移,诞生了一系列基于复杂图的图神经 ...
- VMware虚拟网络相关知识
VMware虚拟网络相关知识 虚拟网桥 通过虚拟网桥把虚拟机的虚拟网卡连接到宿主机的物理网卡上.通过它可以将虚拟机连接到宿主机所在的外部网络.如果宿主机上不止是一个物理网卡时,采用定制 ...
- 移动通信网络相关知识
移动通信网络相关知识 b站链接 一.通信发展历程 搭配这篇文章使用 二.3GPP,如图 4G,LTE(Long Term Evolution,长期演进)分为: FDD:频分双工,国际主流 上传下载工作 ...
最新文章
- 计算机网络技术问题解决,计算机网络故障常见问题汇总,掌握了这些,你离女神又会更进一步...
- ABAP OO的八大理由(四)
- WebHelper类
- python程序生成exe_使用Python程序生成QR代码的Python程序
- 【JAVA学习】09.创建BootstrapTale列表页
- Myeclipse学习总结(11)——Eclipse中设置Java/Css/Html/Jsp换行长度
- JAVA Eclipse如何安装Swing
- oracle+基础常用命令,oracle 常用命令(适合菜鸟)
- css黄金色渐变值,金色的rgb值是多少
- thinkpad电源管理解决办法 win2019
- Visio里如何画树状图?
- 软考:嵌入式系统设计师
- 知识图谱(关系网络)概念及常用算法
- matlab三相电路基波图形,非正弦稳态对称三相电路如图a所示。A相电源电压为,其中基波角频率为ω1=1rad/s。负载参数为R=...
- matlab半小提琴图,【ggplot2】不同方法画half -小提琴图
- 数据库安全那些事儿 访安华金和CEO
- Jacoco 入门使用
- 顺序表(一篇带你掌握顺序表)
- 如何访问kubernetes API?
- 分享一个可以下载网页上视频软件(IDM 6.33.2)下载器
热门文章
- uniapp之adbWIFI调试
- Magento2.1x常见报错处理
- java中实现的十进制转换成二进制的简单代码
- mysql 5.6.21 winx64_mysql-advanced-5.6.21-winx64部署及使用
- Android屏幕适配全攻略3-和产品经理聊聊
- AMD机器:Android Studio启动模拟器提示“HAXM is not installed”的解决办法
- 机器学习之逻辑回归(对数几率回归)
- -2岁的产品经理学习日记2020/2/15
- python中三次方_python中计算三次方怎么表示
- 马云最新撰文:公司假口号越多 员工士气越低落