目录

  • Ⅰ 论文信息
  • Ⅱ 论文框架
    • 1 Introduction
    • 2 The Challenges of Computation on Graphs
    • 3 Problem Setting and Notation
    • 4 Extending Convolutions to Graphs
    • 5 Polynomial Filters on Graphs
      • 5.1 The Graph Laplacian
      • 5.2 Polynomials of the Laplacian
      • 5.3 ChebNet
      • 5.4 Polynomial Filters are Node-Order Equivariant(节点顺序等价)
      • 5.5 Embedding Computation
    • 6 Modern Graph Neural Networks
      • 6.1 Embedding Computation
      • 6.2 Thoughts
    • 7 Interactive Graph Neural Networks
    • 8 From Local to Global Convolutions
      • 8.1 Spectral Convolutions
      • 8.2 Spectral Representations of Natural Images
      • 8.3 Embedding Computation
      • 8.4 Spectral Convolutions are Node-Order Equivariant
      • 8.5 Global Propagation via Graph Embeddings
    • 9 Learning GNN Parameters
    • 10 Conclusion and Further Reading

Ⅰ 论文信息

本文链接:Understanding Convolutions on Graphs

本文是2021年9月发表在distill上的有关图卷积神经网络的文章,它的介绍图神经网络的姊妹篇A Gentle Introduction to Graph Neural Networks已经在B站听沐神讲过了,决定再看看这篇介绍图卷积的加深对图的认识。

Ⅱ 论文框架

1 Introduction

2 The Challenges of Computation on Graphs

3 Problem Setting and Notation

4 Extending Convolutions to Graphs

5 Polynomial Filters on Graphs

5.1 The Graph Laplacian

  • The graph Laplacian LLL is the square n×nn×nn×n matrix defined as: L=D−AL = D - AL=DA.

    • 其中DDD为diagonal degree matrix,Dv=∑uAvuD_v=\sum_{u}A_{vu}Dv=uAvuAAA为0-1领接矩阵
    • Laplacian LLL 仅与图的结构有关,与节点特征无关
  • graph Laplacian具有很多有趣的性质,出现在许多与图有关的数学问题中,在后面的章节中会有所介绍

5.2 Polynomials of the Laplacian

  • polynomials of the Laplacian: pw(L)=w0In+w1L+w2L2+...+wdLd=∑i=0dwiLip_w(L) = w_0I_n+w_1L+w_2L^2+...+w_dL^d=\sum_{i=0}^dw_iL^ipw(L)=w0In+w1L+w2L2+...+wdLd=i=0dwiLi

    • 每个此形式的多项式都可以用一组系数向量表示 w=[w0,w1,...,wd]w=[w_0,w_1,...,w_d]w=[w0,w1,...,wd]
  • These polynomials can be thought of as the equivalent of ‘filters’ in CNNs, and the coefficients www as the weights of the ‘filters’.

  • Once we have constructed the feature vector xxx, we can define its convolution with a polynomial filter pwp_wpw as: x′=pw(L)xx^′=p_w(L)xx=pw(L)x

  • 根据推导,当仅有w1=1w1=1w1=1,其余均为0时

    Q:为什么LvxL_vxLvx就直接推到第二行邻居uuu了呢,xux_uxu怎么跑出来了呢
    A:第二行的uuu是图中所有节点,是经过第三行的计算之后,由于DDDAAA的特性才推导至第四行的uuuvvv的邻居节点

  • 每个节点vvv的特征都是与它的邻居uuu们的特征有关(combination)

    • 邻居与节点的最大距离代表 the degree of localization,由 ddd 表示

5.3 ChebNet

ChebNet中对 polynomial filters进行了重定义:
pw(L)=∑i=1dwiTi(L~)p_w(L) = \sum_{i=1}^dw_iT_i(\widetilde{L})pw(L)=i=1dwiTi(L

)

  • TiT_iTi 是 degree-i Chebyshev polynomial of the first kind
  • L~\widetilde{L}L 是 normalized Laplacian : L~=2Lλmax(L)−In\widetilde{L}=\frac{2L}{\lambda_{max}(L)-I_n}L

    =
    λmax(L)In2L

这样进行重定义的意义:

  1. LLL是半正定的,L~\widetilde{L}L

    LLLscale-down versionL~\widetilde{L}L

    的值在-1到1之间,从而防止L~\widetilde{L}L

    的幂的输入爆炸
  2. Chebyshev polynomials 具有一些有趣的性质,使插值在数值上更加稳定

5.4 Polynomial Filters are Node-Order Equivariant(节点顺序等价)

  • The polynomial filters we considered here are actually independent of the ordering of the nodes. 这些多项式filters与图中节点的顺序是无关的。
  • A similar proof follows for higher degree polynomials: the entries in the powers of LL are equivariant to the ordering of the nodes.

5.5 Embedding Computation

现在可以像CNN一样将 ChebNet 层堆叠起来,中间加入非线性层。

在这个网络中,对每个结点使用的filter weights都是相同的、共享的,这点也和CNN中的卷积核权重共享一样。

6 Modern Graph Neural Networks

如5.2中的公式图所示,我们可以认为这卷积由两步组成:

  1. Aggregating over immediate neighbour features xux_uxu
  2. Combining with the node’s own feature xvx_vxv

KEY IDEA: What if we consider different kinds of ‘aggregation’ and ‘combination’ steps, beyond what are possible using polynomial filters?

这些卷积可以被认为是相邻节点之间的 meassage-passing :每一步之后,每个阶段都会收到来自邻居们的一些信息。

6.1 Embedding Computation

Message-passing 构成了如今许多GNN结构的脊柱,我们在此描述几种常用的GNN框架:

  • Graph Convoluntional Networks (GCN)
  • Graph Attention Networks (GAT)
  • Graph Sample and Aggregate (GraphSAGE)
  • Graph Isomorphism Network (GIN)
  1. GCN

    每一步kkk的时候,可学习参数W,BW,BW,B以及函数fff对所有节点都是共享的。这样使得GCN模型能够 scale well,因为参数的数量和图的size无关。

  2. GAT

    每一步kkk的时候,可学习参数W,BW,BW,B以及函数fff对所有节点都是共享的。这样使得GAT模型能够 scale well,因为参数的数量和图的size无关。

这里我们只用了单头注意力机制,多头注意力机制也是类似的。

3. GraphSAGE

原GraphSAGE论文中AGGu∈Nv(hu(k−1)){AGG}_{u\in{\mathcal{N}}_v}({h_u^{(k-1)}})AGGuNv(hu(k1))有三种choices:

  • mean (与GCN相似)
  • dimension-wise Maximum
  • LSTM(在给邻居们排序之后)

在此,我们决定使用 RNN aggregator,因为它比LSTM更易于解释但是两者理念相似。

此外,原论文中还是用了 ‘neighbourhood sampling’ :无论一个节点的neighbourhood有多大,都从中进行固定大小的随机采样。这样可以增大映射的多样性,同时使得算法可以在大图上使用。

可学习参数对于所有节点共享。这样使得GraphSAGE模型能够 scale well,因为参数的数量和图的size无关。

4. GIN

可学习参数对于所有节点共享。这样使得GIN模型能够 scale well,因为参数的数量和图的size无关。

6.2 Thoughts

评估不同的 aggregation functions是很有趣的事情,论文How Powerful are Graph Neural Networks中通过他们怎样保留邻居节点的特征进行了比较。

我们只讨论了只在节点上进行运算的GNN,现在还要新的也在边上进行计算的GNN,但message passing的概念是相同的。

7 Interactive Graph Neural Networks

8 From Local to Global Convolutions

目前我们所讲到的方法都进行的是 ‘local’ convolutions:每个节点的特征都是用它 local neighbors 的特征的函数来更新的。

尽管经过足够步数的meassage-passing能够最终保证图中所有节点的信息都能被传递,但我们想要更直接的进行 ‘global’ convolutions 的方法。

8.1 Spectral Convolutions

KEY IDEA:Given a feature vector xxx, the Laplacian LLL allows us to quantify how smooth xxx is, with respect to GGG.

8.2 Spectral Representations of Natural Images

These visualizations should convince you that the first eigenvectors are indeed smooth, and the smoothness correspondingly decreases as we consider later eigenvectors.

For any image xxx, we can think of the initial entries of the spectral representation x^\hat{x}x^ as capturing ‘global’ image-wide trends, which are the low-frequency components, while the later entries as capturing ‘local’ details, which are the high-frequency components.

8.3 Embedding Computation

convolution in the spectral domain 需要的参数比 direct convolution in the natural domain 要少挺多。
此外,由于图中拉普拉斯特征向量的平滑度,使用光谱表示(spectral representation)会自动对相邻节点强制执行归纳偏差(inductive bias)以获得相似的表示。

Spectral Convolution 的执行过程:

8.4 Spectral Convolutions are Node-Order Equivariant

与拉普拉斯多项式filters相似,Spectral Convolutions 也是与节点顺序无关的。

Spectral Convolutions的缺点:

  • 必须要从LLL中计算特征矩阵UmU_mUm,这对于大图而言是不可行的
  • 即使算出了UmU_mUm,计算效率也是很低的,因为UmU_mUmUmTU_m^TUmT的重复乘法
  • 学习到的filters是针对于所输入的图的,这意味着对于新的结构不同的图,它们并不适用

8.5 Global Propagation via Graph Embeddings

一个更简单的结合graph-level信息的方法是:compute embeddings of the entire graph by pooling node (and possibly edge) embeddings, and then using the graph embedding to update node embeddings, following an iterative scheme。但是这种方法忽略了图中潜在的拓扑。

9 Learning GNN Parameters

我们所讨论的embedding computations不论是spectral还是spatial的都是完全可微分的,这允许GNN以端到端的方式进行训练,只要设置一个合适的损失函数L\mathcal{L}L

  1. Node Classification
    传统的categorical cross-entropy:

    GNN也适用于半监督的设置,可以只计算有标记的节点的loss:

  2. Graph Classification
    通过聚合点的表征,可以为整个图构建一个向量表征。这种图表征可被用于做包括分类在内的各种graph-level task。

  3. Link Prediction
    从相邻和不相邻的节点中采样节点对,并用这些节点对作为输入预测边是否存在。采用类似logistic regression的损失函数:

  4. Node Clustering
    仅仅把学习到的节点表征进行聚类。

另一种self-supervised方法是强制相邻的节点得到相似的embeddings,模仿random-walk方法如node2vec和DeepWalk:

10 Conclusion and Further Reading

推荐两篇图神经网络的综述:[29] [30]

  1. GNNs in Practice
    GCN中提出将update公式改为这种形式,一边在GPU上有效进行GNN的向量化实现:

    Regularization技术如Dropout等也可以直接用于GNN中,此外还有图专用的正则化技术如DropEdge。

  2. Different Kinds of Graphs
    本文关注的是无向图,但是还有一些spatial convolution的简单变体可以用于有向图、时序图、异构图。

  3. Pooling
    为了graph-level task,pooling可用于学习图表征。
    简单的方式就是将最后的节点表征聚合起来通过一个predict函数:
    此外,还有医学更有力的POOLING的方式:SortPool,DiffPool,SAGPool。

【论文笔记(2)】图卷积网络介绍 Understanding Convolutions on Graphs相关推荐

  1. GCN图卷积网络 | 介绍

    目录 0 前言 1 基于空间域的GCN[2] 2 基于谱域的GCN 2.1拉普拉斯矩阵 2.2为什么GCN要用拉普拉斯矩阵? 2.3 拉普拉斯矩阵的谱分解(特征分解) 2.4卷积的定义 2.5傅里叶变 ...

  2. 论文阅读笔记:《一种改进的图卷积网络半监督节点分类》

    论文阅读笔记:<一种改进的图卷积网络半监督节点分类> 文章目录 论文阅读笔记:<一种改进的图卷积网络半监督节点分类> 摘要: 引言 非欧几里得数据 1 深度池化对偶图神经网络 ...

  3. 【论文笔记】Revisiting graph based collaborative Filtering:一种线性残差图图卷积网络方法

    Revisiting Graph based Collaborative Filtering:A Linear Residual Graph Convolutional Network Approac ...

  4. 【CV论文解读】AAAI2021 | 在图卷积网络中超越低频信息

    论文解读者:北邮 GAMMA Lab 博士生  薄德瑜 题目: 在图卷积网络中超越低频信息 会议: AAAI 2021 论文链接: https://arxiv.org/abs/2101.00797 图 ...

  5. 178页,四年图神经网络研究精华,图卷积网络作者Thomas Kipf博士论文公布

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习>手 ...

  6. 图卷积网络(Graph Convolutional Networks, GCN)详细介绍

    本文翻译自博客. 在这篇博文中会为大家详细地介绍目前使用广泛的图神经网络--图卷积网络(Graph Convolutional Networks, GCN)的相关知识.首先将带领大家直觉上感受其工作原 ...

  7. 【图神经网络研究精华】图卷积网络作者Thomas Kipf博士论文公布

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 转载自:机器之心 对于普通人来说,将自己的学位论文公布到社交媒体可能需要点勇气.但 ...

  8. 图卷积网络进行骨骼识别代码_【骨骼行为识别】2s-AGCN论文理解

    Two-Stream Adaptive Graph Convolutional Networks for Skeleton-Based Action Recognition 论文链接: https:/ ...

  9. 直播 | WWW 2021论文解读:论解耦图卷积网络和标签传播的等价性

    「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...

  10. 论文浅尝 | 基于图卷积网络的跨语言图谱实体对齐

    论文笔记整理:谭亦鸣,东南大学博士生,研究兴趣:知识图谱问答 本文提出了一种基于图卷积网络的跨语言实体对齐方法,通过设计一种属性 embedding 用于 GCN 的训练,发现GCN能同时学习到特征 ...

最新文章

  1. 新浪微博中的周期性爆发流量
  2. 企业靠这些 云端数据就能得到企业级的安全守护
  3. 特斯拉化身电影院,马斯克:车自动开,你来看电影
  4. sdn专线架构是怎样的?如何工作?——Vecloud
  5. 深信服:输入一个字符串,帮忙统计字符串里面的每个单词出现的次数,以及非法单词的次数。非法单词的定义为:包含数字(0-9)的单词
  6. 有关logistic(sigmoid)函数回归
  7. 史上最全Vim快捷键键位图(入门到进阶)
  8. mockito手动注入依赖_依赖注入–手动方式
  9. hls二次加密 m3u8_将视频转换为m3u8,使用AES-128的方式加密HLS真的有效吗?
  10. OpenSSL学习(二十二):基础-指令sess_id
  11. 190113每日一句
  12. 怎样使用思维导图做计划?分享5个思维导图做计划的模板
  13. 直接创建和使用struct函数
  14. PCB的ESD防护设计
  15. 前端处理emoji表情的编码解码
  16. Java操作excel文件插入数据
  17. 云原生边缘计算:探索与展望
  18. 键盘记录器(有发送到指定qq邮箱的功能。附源代码及使用教程,免费下载)
  19. 北理网课 - Python语言程序设计 - 9.2 实例15:“霍兰德人格分析” (初学,冰山一角)
  20. 微信修改文件路径后任务栏图标显示错误

热门文章

  1. 解读用巨象指纹浏览器进行引流的4种操作手法
  2. 饱和和非饱和激活函数
  3. vue-cli在webpack环境下怎样生成开发环境模板(适合初学者)
  4. excel表格打印每页都有表头_教你一招Excel打印技巧:每页有表头标题,阅读起来是真方便...
  5. 关于AndEngine显示全屏问题
  6. 美通企业周刊 | 中国全球化品牌50强榜单发布;酩帝诗威士忌拍出近21万美元天价...
  7. Java之网络编程(一)
  8. 关于NS3中各个WifiRemoteStationManager(二)
  9. 【总结】1268- 几个前端代码部署的灵魂拷问
  10. 鸟瞰Atlassian认证