论文翻译GCN-Semi-Supervised Classification with Graph Convolutional Networks(ICLR)
Posted 奇跡の山
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文翻译GCN-Semi-Supervised Classification with Graph Convolutional Networks(ICLR)相关的知识,希望对你有一定的参考价值。
学习总结
- 传统深度学习模型如 LSTM 和 CNN在欧式空间中表现不俗,却无法直接应用在非欧式数据上。因此大佬们通过引入图论中抽象意义上的“图”来表示非欧式空间中的结构化数据,并通过图卷积网络来提取(graph)的拓扑结构,以挖掘蕴藏在图结构数据中的深层次信息。
- GCN的本质:图中的每个结点无时无刻不因为邻居和更远的点的影响而在改变着自己的状态直到最终的平衡,关系越亲近的邻居影响越大。
- K i p f Kipf Kipf 大佬并非拍脑子就想出所有的算法和公式,先是图信号分析和图谱论搭建谱图卷积网络,然后Deferrard等人为了解决前者求图拉普拉斯矩阵的特征向量、每次向前传递的矩阵运算等的时间复杂度较高,提出切比雪夫网络(用了 C h e b S h e v ChebShev ChebShev 多项式展开近似);而本次的主角一作Kipf为了进一步简化 C h e b N e t ChebNet ChebNet,即将其中的多项式卷积核限定为1阶(只使用一阶 C h e b S h e v ChebShev ChebShev 多项式),将图卷积近似成一个关于 D ~ \\tilde{D} D~ 的线性函数,于是有了下面的故事。
- 论文的附录WL理论可以回顾【GNN】task6-基于图神经网络的图表征学习方法,论文中的附录部分的实验还没细看。
文章目录
论文:GCN - Semi-Supervised Classification with Graph Convolutional Networks
题目中文:用图卷积进行半监督节点分类
论文作者:Thomas N. Kipf, Peter Bloem, Rianne van den Berg, Ivan Titov, Max Welling
论文来源:ICLR 2017
论文链接:https://arxiv.org/abs/1609.02907
一作代码pytorch版:https://github.com/tkipf/pygcn
一作代码tensorflow版:https://github.com/tkipf/gcn
零、Abstract
本文提出一种具有可扩展性的用于图数据结构的半监督学习的方法。我们通过谱图卷积(spectral graph convolution)的局部一阶近似(localized first-order approximation),方便确定选择我们的卷积结构。GCN模型的规模会随着图中边的数量的增长而线性增长。GCN能够学习编码局部图结构和节点特征的隐藏层表示。在引文数据集和知识图数据集上的多次实验表明,本文的方法明显优于该领域的相关方法。
一、Introduction
基于图的半监督学习:给定的图结构的数据中,只有少部分节点是有标记(label)的,任务就是预测出未标记节点的label。
1.1 经典的分类方法
(1)Standard Approach
基于平滑正则(假设相邻的节点具有相似的label)
论文:[Zhu et al., 2003]
L
=
L
0
+
λ
L
reg
,
\\mathcal{L}=\\mathcal{L}_{0}+\\lambda \\mathcal{L}_{\\text {reg }},
L=L0+λLreg ,
with
L
reg
=
∑
i
,
j
A
i
j
∥
f
(
X
i
)
−
f
(
X
j
)
∥
2
=
f
(
X
)
⊤
Δ
f
(
X
)
.
\\text { with } \\quad \\mathcal{L}_{\\text {reg }}=\\sum_{i, j} A_{i j}\\left\\|f\\left(X_{i}\\right)-f\\left(X_{j}\\right)\\right\\|^{2}=f(X)^{\\top} \\Delta f(X) \\text {. }
with Lreg =i,j∑Aij∥f(Xi)−f(Xj)∥2=f(X)⊤Δf(X). 第一项是fitting error,即在有label的数据上的误差;
第二项是平滑正则项,两个节点的
A
i
j
A_{ij}
Aij越大,表明越相关,即标记应该越接近。
平滑性假设限制了模型的表达能力(因为节点相连不一定都是相似,会包含附加条件)。
(2)Embedding-based Approach
1)学习每个节点的embedding
2)学的embedding上训练一个分类器
- DeepWalk –[Perozzi et al., 2014]
- node2vec –[Grover & Leskovec, 2016]
1.2 本文的工作
- 作者对Defferrard的工作进一步简化,每个卷积层仅处理一阶邻居特征,通过分层传播规则(聚合函数)叠加一个个卷积层达到多阶邻居特征传播。
- 演示了GCN如何应用与图中节点的快速和扩展的半监督分类任务。将GCN在多个数据集上实验表明,模型在分类进度和效率(以wall-clock衡量)方面都优于当前优秀的半监督学习方法。
1.3 数学符号说明:
-
G = ( V , E ) \\mathcal{G}=(\\mathcal{V},\\mathcal{E}) G=(V,E)表示一个图, V \\mathcal{V} V、 E \\mathcal{E} E分别表示点集与边集, u , v ∈ V u, v \\in \\mathcal{V} u,v∈V表示图中的节点, ( u , v ) ∈ E (u, v) \\in \\mathcal{E} (u,v)∈E表示图中的边。
-
A A A为图中的邻接矩阵(adjacency matrix)
-
D D D为图中的度矩阵(degree matrix), D i D_{i} Di表示节点 i i i 的度,显然度矩阵是一个对角矩阵。
-
L L L为图中的拉普拉斯矩阵(Laplacian matrix), L \\mathcal{L} L为图中的归一化的拉普拉斯矩阵: L s y s = D − 1 / 2 L D − 1 / 2 = I − D − 1 / 2 A D − 1 / 2 L^{s y s}=D^{-1 / 2} L D^{-1 / 2}=I-D^{-1 / 2} A D^{-1 / 2} Lsys=D−1/2LD−1/2=I−D−1/2AD−1/2
二、Fast approximate convolutions on graphs
经过作者的一系列推导(下文会讲过程),得到了图卷积神经网络的(单层)最终形式:
H
(
l
+
1
)
=
f
(
H
l
,
A
)
=
σ
(
D
~
−
1
/
2
A
~
D
~
−
1
/
2
H
(
l
)
W
(
l
)
)
(
6
)
H^{(l+1)}=f\\left(H^{l}, A\\right)=\\sigma\\left(\\tilde{D}^{-1 / 2} \\tilde{A} \\tilde{D}^{-1 / 2} H^{(l)} W^{(l)}\\right) \\qquad (6)
H(l+1)=f(Hl,A)=σ(D~−1/2A~D~−1/2H(l)W(l))(6) 其中:
- 第 l l l 层网络的输入为 H ( l ) ∈ R N × D H^{(l)} \\in \\mathbb{R}^{N \\times D} H(l)∈RN×D (初始输入为 H ( 0 ) = X H^{(0)}=X H(0)=X), N N N 为图中的节点数量,每个节点使用 D D D 维的特征向量进行表示。
- A ~ = A + I N \\tilde{A}=A+I_{N} A~=A+IN为添加了自连接的邻接矩阵, D ~ \\tilde{D} D~ 为度矩阵, D ~ i i = Σ j A ~ i j \\tilde{D}_{i i}=\\Sigma_{j} \\tilde{A}_{i j} D~ii=ΣjA~ij。
- W ( l ) ∈ R D × D W^{(l)} \\in \\mathbb{R}^{D \\times D} W(l)∈RD×D为待训练的参数
- σ \\sigma σ 为相应的激活函数,例如 R e L U ( ⋅ ) = m a x ( 0 , ⋅ ) ReLU(·)=max(0, ·) ReLU(⋅)=max(0,⋅)
2.1 Spectral graph convolutions
(1)谱图卷积网络
一开始我们考虑信号 x ∈ R N x∈\\mathbb{R}^N x∈R「任性」的 C 语言之父:因拒付论文装订费错失博士学位,论文 52 年后重见天日