第八课.TPAMI2021年多篇GNN相关工作
目录
- Topology-Aware Graph Pooling Networks
- Graph Neural Networks with Convolutional ARMA Filters
- Learning Graph Convolutional Networks for Multi-Label Recognition and Applications
- 补充内容
- DeepWalk(KDD2014)
- GraphSAGE(nips2017)
本次内容选择了多篇TPAMI关于GNN的工作:
- Topology-Aware Graph Pooling Networks
- Graph Neural Networks with Convolutional ARMA Filters
- Learning Graph Convolutional Networks for Multi-Label Recognition and Applications
Topology-Aware Graph Pooling Networks
pooling操作已经在视觉和语言处理任务中显示出效果。由于图上没有很好的定义局部性,在图数据上执行pooling操作是一个具有挑战性的任务。在这个工作中,作者提出了Topology-Aware Pooling层(TAP),该层明确考虑了图的拓扑。TAP层是一个两阶段投票的过程(local voting,global voting),用于选择图中的更重要的节点。
local voting
- 提出的local投票说明。此图包含四个节点,每个节点有2维特征。给定输入图,我们首先计算每对有连接节点之间的相似度得分。在图b中,我们通过其两端节点的相似性得分来标记每条边。然后,我们通过平均每个节点与其相邻节点的相似性得分来计算每个节点的局部投票得分(以灰色节点为例, ( 0.30 + 0.20 ) / 2 = 0.25 (0.30+0.20)/2=0.25 (0.30+0.20)/2=0.25)。在图c中,我们通过每个节点的局部投票分数来标记每个节点,节点越大表示得分越高。
global voting
直观地说,局部投票显示节点在其邻居中的重要性,而全局投票显示其邻居区域(包括自身)在整个图中的重要性。通常,可以将节点的相邻区域视为一个子图,该子图的中心是节点本身。这样的子图也可能包含重要信息。例如,在表示蛋白质的图中,原子是节点,键是边。然后一个子图包含一个原子及其相邻原子。某些子图可以表示生命单位,并指示整个蛋白质的功能。因此,应该在图pooling中捕获此类信息。作者提出全局投票来衡量整个图中不同子图的重要性。正式而言,全局投票明确表示为:
- 我们首先聚集每个节点的邻居信息,通过邻居信息,节点的新特征表示其子图的信息。
- 然后对聚合后的特征矩阵投影,得到得分向量。
在进行pooling时,将局部得分和全局得分相加,并排序,选择前k个节点,并保留这k个节点的拓扑结构得到输出新的graph。
GCN+TAP
- topology-aware pooling network的示例。 ⊕ \oplus ⊕ 表示特征向量的concat操作。输入图中的每个节点都包含3维特征。我们使用GCN层将特征向量转换为低维表示。我们堆叠两个块,每个块由一个GCN层和一个TAP层组成。对第一个GCN层和TAP层的输出应用诸如max pooling的全局缩减操作。将得到的特征向量串联并馈送到最终的多层感知器中进行预测。
Graph Neural Networks with Convolutional ARMA Filters
论文提出一种新的图卷积层,该图卷积层受到 “auto-regressive moving average(ARMA)滤波器” 的启发(ARMA回顾其他算法-ARIMA时序分析),ARMA图卷积提供了更灵活的频率响应,对噪声更鲁棒,并且可以更好地捕获全局图结构。
论文提出的ARMA filter神经网络通过图卷积跳跃(GCS)层实现: X ˉ ( t + 1 ) = σ ( L ~ X ˉ ( t ) W + X V ) \bar{X}^{(t+1)}=\sigma(\tilde{L}\bar{X}^{(t)}W+XV) Xˉ(t+1)=σ(L~Xˉ(t)W+XV)其中, σ \sigma σ是非线性激活,比如ReLU, X ∈ R M × F X\in R^{M\times F} X∈RM×F是初始节点特征, W ∈ R F o u t × F o u t W\in R^{F_{out}\times F_{out}} W∈RFout×Fout和 V ∈ R F i n × F i n V\in R^{F_{in}\times F_{in}} V∈RFin×Fin是可学习的参数。其中,设图的邻接矩阵 A ∈ R M × M A\in R^{M\times M} A∈RM×M,则有 L = I M − D − 1 / 2 A D − 1 / 2 L=I_{M}-D^{-1/2}AD^{-1/2} L=IM−D−1/2AD−1/2称为图的对称归一化拉普拉斯算子。修正的拉普拉斯矩阵 L ~ = I − L \tilde{L}=I-L L~=I−L。
ARMA卷积层如下,相同的颜色代表权重共享:
ARMA layer使用较少的参数就能捕获全局图结构(因为直接考虑了邻接矩阵)。
Learning Graph Convolutional Networks for Multi-Label Recognition and Applications
多标签图像识别(Multi-Label Recognition)的任务是预测图像中存在的一组对象标签。由于多个对象通常同时出现在图像中,因此需要对标签依赖性进行建模以提高识别性能。为了捕获和探索此类重要信息,本文提出了基于图卷积网络(GCN)的多标签图像识别模型,其在类别上构造有向图,并在类别之间传播信息,以学习相互依存的class-level表示。遵循这个想法,论文设计了两个特殊的模型,它们从不同的角度进行多标签分类。
在第一个模型中,有关类别依赖的先验知识被集成到分类器中。具体而言,论文提出了Classifier Learning GCN(C-GCN),以将类级别的语义表示(例如,word embedding)映射到基于 inter-class 拓扑结构的分类器中。
在第二个模型中,论文将图像的视觉表示分解为一组标签感知的特征,并提出了Prediction Learning GCN(P-GCN),以将特征编码为相互依赖的图像级预测分数。此外,还提出了一种有效的相关矩阵构造方法,以捕获类之间的关系,从而指导类之间的信息传播。通用多标签图像识别的实验结果表明,这两个模型优于其他state of the arts。此外,所提出的方法在一些与多标签分类有关的应用中也具有不错的效果。
- 所提出模型的标签依赖关系说明。在这个图中,"label A"到"label B"是指当label A出现时,label B很可能出现,但反过来不一定是真的。
- C-GCN的整体架构。对象的标签用word embedding Z ∈ R C × d Z\in R^{C\times d} Z∈RC×d表示。 C C C是类别的数量, d d d是word embedding的维数。有向图构建在这些标签表示之上,其中每个节点表示一个标签。通过label graph学习堆叠的GCN,将这些标签表示映射到一组相互依赖的对象分类器 W ∈ R C × D W\in R^{C\times D} W∈RC×D中,标签表示可以与通过卷积网络从输入图像中提取的图像表示相结合(Dot product)得到多标签的存在概率。
- P-GCN的整体架构。该模型主要由三个模块组成:表征学习(representation learning)、标签感知调制(label-aware modulation)和基于GCN的预测分数学习(GCN based prediction score learning)。标签感知调制模块将从图像中提取的表示分解为一组标签相关特征,并采用叠加的GCN将这些特征映射为相互依赖的预测分数。
补充内容
DeepWalk(KDD2014)
DeepWalk是第一个提出以无监督方式学习节点embedding的算法。在NLP任务中,word2vec是一种常用的word embedding方法,word2vec通过语料库中的句子序列来描述词与词的共现关系,进而学习到词语的向量表示。DeepWalk的思想类似word2vec,使用图中节点与节点的共现关系来学习节点的向量表示。
那么关键的问题就是如何来描述节点与节点的共现关系,DeepWalk给出的方法是使用随机游走(RandomWalk)的方式在图中进行节点采样。
RandomWalk是一种可重复访问已访问节点的深度优先遍历算法。给定当前访问起始节点,从其邻居中随机采样节点作为下一个访问节点,重复此过程,直到访问序列长度满足预设条件。获取足够数量的节点访问序列后,使用skip-gram model 进行向量学习。
所以算法包括两个步骤:
- 在图中的节点上执行随机漫步以生成节点序列;
- 根据步骤1生成的节点序列,运行skip-gram,学习每个节点的embedding;
GraphSAGE(nips2017)
GCN是一种在图中结合拓扑结构和顶点属性信息学习顶点的embedding表示的方法。然而GCN要求在一个确定的图中去学习顶点的embedding,无法直接泛化到在训练过程没有出现过的顶点,即属于一种直推式(transductive)的学习。
在GraphSAGE之前,图卷积的计算是基于邻接矩阵,度矩阵和特征矩阵,用矩阵乘法方式计算的。
准确来说,GraphSAGE开启了Message Passing的范式,使得消息传递成为了图表征学习的baseline。
目前,图卷积常用的模型有三类:GCN,GAT,GraphSAGE。
GraphSAGE既可以无监督学习embedding,也可以用MP机制做有监督学习,MP机制的优点在于方便inductive setting。
GraphSAGE的流程如下:
- 对图中每个节点的邻居采样;
- 根据聚合函数聚合邻居节点的信息;
- 得到图中各个节点的向量表示以供下游任务使用。
第八课.TPAMI2021年多篇GNN相关工作相关推荐
- 计算机工程说课稿,人教版数学说课稿集合五篇
人教版数学说课稿集合五篇 在教学工作者实际的教学活动中,时常需要用到说课稿,编写说课稿助于积累教学经验,不断提高教学质量.如何把说课稿做到重点突出呢?下面是小编为大家整理的人教版数学说课稿5篇,欢迎大 ...
- 一堂难忘的计算机课作文,一堂难忘的课小学生作文4篇
一堂难忘的课小学生作文4篇 一堂难忘的课小学生作文1 一天晚上,我去上文捷优作文课.刚好那天是节活动课,我听说有好玩的游戏时,高兴地一蹦三尺高.老师终于在同学们迫不及待的目光中,宣布:"这节 ...
- 第八课 k8s源码学习和二次开发原理篇-KubeBuilder使用和Controller-runtime原理
第八课 k8s源码学习和二次开发原理篇-KubeBuilder使用和Controller-runtime原理 tags: k8s 源码学习 categories: 源码学习 二次开发 文章目录 第八课 ...
- NeHe OpenGL第二十八课:贝塞尔曲面
NeHe OpenGL第二十八课:贝塞尔曲面 贝塞尔曲面: 这是一课关于数学运算的,没有别的内容了.来,有信心就看看它吧. 贝塞尔曲面 作者: David Nikdel ( ogapo@ithink. ...
- 计算机系统的组成观评课报告,观课报告 精选(15篇)
<观课报告 精选(15篇)>由会员分享,可在线阅读,更多相关<观课报告 精选(15篇)(40页珍藏版)>请在人人文库网上搜索. 1.观课报告 精选(15篇) 观课报告 精选(1 ...
- 生命的形成《基督教与科学》第十八课
黄牧师 一.生命的奇妙 从罗1:19-21,宇宙与地球都是精密的设计,才能有人和哺乳动物等高等动物的存在,生命的形成更为奇妙. 二.进化论的基本理论 1.传统学校教的进化论是:从无生物变成简单的生物, ...
- C语言学习第八课(EasyX图形库)
第八课[注意:该图形库只能在c++文件下运行] 1,窗口函数 ·initgraph(int width,int height,int flag =NULL);//创建窗口 //width 指定窗口宽度 ...
- TurboLinux入门教程:第八课进入与退出系统(转)
TurboLinux入门教程:第八课进入与退出系统(转) 第八课 进入与退出系统 TurboLinux是一个多用户的操作系统,用户要使用该系统,首先必须登录系统,使用完系统后,必须退出系统.本章主要讨 ...
- 打印循环换行_科学向日葵在线课堂 ——张老师讲Python 第八课 周而复始为循环2...
点击蓝字关注我们 张老师讲编程--和爸爸妈妈一起学Python Python 的编辑器有很多,例如 PyCharm.Spyder.Notepad++等等,大家根据需要选择一个就好,初期程序代码量不大, ...
最新文章
- php history.back,js history.back(); 后表单数据没有保持 的问题
- matlab私有函数,MATLAB 嵌套函数,子函数,私有函数,重载函数
- java Object解析
- PS教程第十九课:移动工具
- b站前端大佬_知乎大佬强烈热推的5个自学网站,看了几个月,月薪三千涨三万...
- 基于阿里云服务器使用宝塔面板搭建 Typecho 博客
- 专访普渡科技:深耕餐饮业务,充分发掘送餐机器人的商业价值
- php x不能转移,[PHP] 从 PHP 5.3.X 迁移到 PHP 5.6.X不兼容点
- 测试开发工程师的简历和面试准备
- 怎么计算机械需要的电机,比方说一个90kw的电机它的最大电流应该是多少?应该用多少平方的铜线?怎么计算呀?...
- SQL Server 端口映射访问方法
- 【3】计算机原理-显卡工作模型
- android+仿友盟更新,android友盟增量更新
- 3D变电站vr建模三维展示可视化管理系统
- 安卓手机的证书信任设置在哪_如何在Android设备上安装受信任的CA证书?
- mac的防火墙工具pf
- influxdb遇到时间点存储不了
- Android判断当前系统使用的语言
- 联想p720装系统_“多达112个框”:Lenovo 联想 推出 ThinkStation P920/P720系列 工作站...
- readb(), readw(), readl(),writeb(), writew(), writel() 宏函数