数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 MCMC 采样
- 机器学习方法概论
统计学习
深度学习
- 深度学习简介
- 深度前馈网络
- 反向传播算法
- 正则化
- 深度学习中的最优化问题
- 卷积神经网络
- CNN:图像分类
- 循环神经网络 RNN
- Transformer
- 一、Transformer [2017]
- 二、Universal Transformer [2018]
- 三、Transformer-XL [2019]
- 四、GPT1 [2018]
- 五、GPT2 [2019]
- 六、GPT3 [2020]
- 七、OPT [2022]
- 八、BERT [2018]
- 九、XLNet [2019]
- 十、RoBERTa [2019]
- 十一、ERNIE 1.0 [2019]
- 十二、ERNIE 2.0 [2019]
- 十三、ERNIE 3.0 [2021]
- 十四、ERNIE-Huawei [2019]
- 十五、MT-DNN [2019]
- 十六、BART [2019]
- 十七、mBART [2020]
- 十八、SpanBERT [2019]
- 十九、ALBERT [2019]
- 二十、UniLM [2019]
- 二十一、MASS [2019]
- 二十二、MacBERT [2019]
- 二十三、Fine-Tuning Language Models from Human Preferences [2019]
- 二十四 Learning to summarize from human feedback [2020]
- 二十五、InstructGPT [2022]
- 二十六、T5 [2020]
- 二十七、mT5 [2020]
- 二十八、ExT5 [2021]
- 二十九、Muppet [2021]
- 三十、Self-Attention with Relative Position Representations [2018]
- 三十一、USE [2018]
- 三十二、Sentence-BERT [2019]
- 三十三、SimCSE [2021]
- 三十四、BERT-Flow [2020]
- 三十五、BERT-Whitening [2021]
- 三十六、Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings [2019]
- 三十七、CERT [2020]
- 三十八、DeCLUTR [2020]
- 三十九、CLEAR [2020]
- 四十、ConSERT [2021]
- 四十一、Sentence-T5 [2021]
- 四十二、ULMFiT [2018]
- 四十三、Scaling Laws for Neural Language Models [2020]
- 四十四、Chinchilla [2022]
- 四十七、GLM-130B [2022]
- 四十八、GPT-NeoX-20B [2022]
- 四十九、Bloom [2022]
- 五十、PaLM [2022] (粗读)
- 五十一、PaLM2 [2023](粗读)
- 五十二、Self-Instruct [2022]
- 句子向量
- 词向量
- 传统CTR 预估模型
- CTR 预估模型
- 一、DSSM [2013]
- 二、FNN [2016]
- 三、PNN [2016]
- 四、DeepCrossing [2016]
- 五、Wide 和 Deep [2016]
- 六、DCN [2017]
- 七、DeepFM [2017]
- 八、NFM [2017]
- 九、AFM [2017]
- 十、xDeepFM [2018]
- 十一、ESMM [2018]
- 十二、DIN [2017]
- 十三、DIEN [2019]
- 十四、DSIN [2019]
- 十五、DICM [2017]
- 十六、DeepMCP [2019]
- 十七、MIMN [2019]
- 十八、DMR [2020]
- 十九、MiNet [2020]
- 二十、DSTN [2019]
- 二十一、BST [2019]
- 二十二、SIM [2020]
- 二十三、ESM2 [2019]
- 二十四、MV-DNN [2015]
- 二十五、CAN [2020]
- 二十六、AutoInt [2018]
- 二十七、Fi-GNN [2019]
- 二十八、FwFM [2018]
- 二十九、FM2 [2021]
- 三十、FiBiNET [2019]
- 三十一、AutoFIS [2020]
- 三十三、AFN [2020]
- 三十四、FGCNN [2019]
- 三十五、AutoCross [2019]
- 三十六、InterHAt [2020]
- 三十七、xDeepInt [2023]
- 三十九、AutoDis [2021]
- 四十、MDE [2020]
- 四十一、NIS [2020]
- 四十二、AutoEmb [2020]
- 四十三、AutoDim [2021]
- 四十四、PEP [2021]
- 四十五、DeepLight [2021]
- 图的表达
- 一、DeepWalk [2014]
- 二、LINE [2015]
- 三、GraRep [2015]
- 四、TADW [2015]
- 五、DNGR [2016]
- 六、Node2Vec [2016]
- 七、WALKLETS [2016]
- 八、SDNE [2016]
- 九、CANE [2017]
- 十、EOE [2017]
- 十一、metapath2vec [2017]
- 十二、GraphGAN [2018]
- 十三、struc2vec [2017]
- 十四、GraphWave [2018]
- 十五、NetMF [2017]
- 十六、NetSMF [2019]
- 十七、PTE [2015]
- 十八、HNE [2015]
- 十九、AANE [2017]
- 二十、LANE [2017]
- 二十一、MVE [2017]
- 二十二、PMNE [2017]
- 二十三、ANRL [2018]
- 二十四、DANE [2018]
- 二十五、HERec [2018]
- 二十六、GATNE [2019]
- 二十七、MNE [2018]
- 二十八、MVN2VEC [2018]
- 二十九、SNE [2018]
- 三十、ProNE [2019]
- Graph Embedding 综述
- 图神经网络
- 一、GNN [2009]
- 二、Spectral Networks 和 Deep Locally Connected Networks [2013]
- 三、Fast Localized Spectral Filtering On Graph [2016]
- 四、GCN [2016]
- 五、神经图指纹 [2015]
- 六、GGS-NN [2016]
- 七、PATCHY-SAN [2016]
- 八、GraphSAGE [2017]
- 九、GAT [2017]
- 十、R-GCN [2017]
- 十一、 AGCN [2018]
- 十二、FastGCN [2018]
- 十三、PinSage [2018]
- 十四、GCMC [2017]
- 十五、JK-Net [2018]
- 十六、PPNP [2018]
- 十七、VRGCN [2017]
- 十八、ClusterGCN [2019]
- 十九、LDS-GNN [2019]
- 二十、DIAL-GNN [2019]
- 二十一、HAN [2019]
- 二十二、HetGNN [2019]
- 二十三、HGT [2020]
- 二十四、GPT-GNN [2020]
- 二十五、Geom-GCN [2020]
- 二十六、Graph Network [2018]
- 二十七、GIN [2019]
- 二十八、MPNN [2017]
- 二十九、UniMP [2020]
- 三十、Correct and Smooth [2020]
- 三十一、LGCN [2018]
- 三十二、DGCNN [2018]
- 三十三、AS-GCN
- 三十四、DGI [2018]
- 三十五、DIFFPOLL [2018]
- 三十六、DCNN [2016]
- 三十七、IN [2016]
- 图神经网络 2
- 图神经网络 3
- 推荐算法(传统方法)
- 一、Tapestry [1992]
- 二、GroupLens [1994]
- 三、ItemBased CF [2001]
- 四、Amazon I-2-I CF [2003]
- 五、Slope One Rating-Based CF [2005]
- 六、Bipartite Network Projection [2007]
- 七、Implicit Feedback CF [2008]
- 八、PMF [2008]
- 九、SVD++ [2008]
- 十、MMMF 扩展 [2008]
- 十一、OCCF [2008]
- 十二、BPR [2009]
- 十三、MF for RS [2009]
- 十四、 Netflix BellKor Solution [2009]
- 推荐算法(神经网络方法 1)
- 一、MIND [2019](用于召回)
- 二、DNN For YouTube [2016]
- 三、Recommending What Video to Watch Next [2019]
- 四、ESAM [2020]
- 五、Facebook Embedding Based Retrieval [2020](用于检索)
- 六、Airbnb Search Ranking [2018]
- 七、MOBIUS [2019](用于召回)
- 八、TDM [2018](用于检索)
- 九、DR [2020](用于检索)
- 十、JTM [2019](用于检索)
- 十一、Pinterest Recommender System [2017]
- 十二、DLRM [2019]
- 十三、Applying Deep Learning To Airbnb Search [2018]
- 十四、Improving Deep Learning For Airbnb Search [2020]
- 十五、HOP-Rec [2018]
- 十六、NCF [2017]
- 十七、NGCF [2019]
- 十八、LightGCN [2020]
- 十九、Sampling-Bias-Corrected Neural Modeling [2019](检索)
- 二十、EGES [2018](Matching 阶段)
- 二十一、SDM [2019](Matching 阶段)
- 二十二、COLD [2020 ] (Pre-Ranking 模型)
- 二十三、ComiRec [2020](https://www.wenjiangs.com/doc/0b4e1736-ac78)
- 二十四、EdgeRec [2020]
- 二十五、DPSR [2020](检索)
- 二十六、PDN [2021](mathcing)
- 二十七、时空周期兴趣学习网络ST-PIL [2021]
- 推荐算法之序列推荐
- 一、FPMC [2010]
- 二、GRU4Rec [2015]
- 三、HRM [2015]
- 四、DREAM [2016]
- 五、Improved GRU4Rec [2016]
- 六、NARM [2017]
- 七、HRNN [2017]
- 八、RRN [2017]
- 九、Caser [2018]
- 十、p-RNN [2016]
- 十一、GRU4Rec Top-k Gains [2018]
- 十二、SASRec [2018]
- 十三、RUM [2018]
- 十四、SHAN [2018]
- 十五、Phased LSTM [2016]
- 十六、Time-LSTM [2017]
- 十七、STAMP [2018]
- 十八、Latent Cross [2018]
- 十九、CSRM [2019]
- 二十、SR-GNN [2019]
- 二十一、GC-SAN [2019]
- 二十二、BERT4Rec [2019]
- 二十三、MCPRN [2019]
- 二十四、RepeatNet [2019]
- 二十五、LINet(2019)
- 二十六、NextItNet [2019]
- 二十七、GCE-GNN [2020]
- 二十八、LESSR [2020]
- 二十九、HyperRec [2020]
- 三十、DHCN [2021]
- 三十一、TiSASRec [2020]
- 推荐算法(综述)
- 多任务学习
- 系统架构
- 实践方法论
- 深度强化学习 1
- 自动代码生成
工具
- CRF
- lightgbm
- xgboost
- scikit-learn
- spark
- numpy
- matplotlib
- pandas
- huggingface_transformer
- 一、Tokenizer
- 二、Datasets
- 三、Model
- 四、Trainer
- 五、Evaluator
- 六、Pipeline
- 七、Accelerate
- 八、Autoclass
- 九、应用
- 十、Gradio
Scala
- 环境搭建
- 基础知识
- 函数
- 类
- 样例类和模式匹配
- 测试和注解
- 集合 collection(一)
- 集合collection(二)
- 集成 Java
- 并发
二十五、Geom-GCN [2020]
消息传递神经网络
Message-Passing Neural Networks:MPNN
(如GNN, ChebNet, GG-NN, GCN
)已经成功地应用于各种实际应用中的图表示学习graph representation learning
。在MPNN
的每一层网络中,每个节点向邻域内的其它节点发送该节点的representation
作为消息message
,然后通过聚合从邻域内收到的所有消息来更新它的representation
。其中,邻域通常定义为图中相邻节点的集合。通过采用排列不变permutation-invariant
的聚合函数(如sum, max, mean
聚合函数),MPNN
能够学到同构图isomorphic graph
(即,拓扑结构相同的图)的不变的representation
。虽然现有的
MPNN
已经成功应用于各种场景,但是MPNN
聚合器aggregator
的两个基本缺陷限制了它们表示图结构数据的能力:首先,聚合器丢失了邻域的结构信息。
排列不变性
permutation invariance
是任何图学习方法的基本要求。为满足这一要求现有的MPNN
采用了排列不变的聚合函数,这些聚合函数将来自邻域的所有消息视为一个集合。例如,GCN
只是对所有一阶邻居的归一化消息求和。这种聚合会丢失邻域节点的结构信息,因为它无法区分不同节点的消息。因此,在聚合之后,我们也就无法知晓哪个节点对最终的聚合输出做出了贡献。如果不对邻域结构进行建模,现有的
MPNN
将无法区分某些非同构图non-isomorphic graph
。在这些非同构图中,MPNN
可能将不同的邻域结构映射为相同的feature representation
,这显然不适合graph representation learning
。与MPNN
不同,经典的CNN
通过特殊的聚合器(即,滤波器)来避免这个问题从而能够区分每个input unit
,其中这些聚合器具有结构化的感受野receiving filed
并定义在网格grid
上。正如论文
《GEOM-GCN: GEOMETRIC GRAPH CONVOLUTIONAL NETWORKS》
的实验所示,这些邻域结构信息通常包含图中拓扑模式topology pattern
的线索,因此应该提取并被应用于学习图的更有区分度的rerepenstation
。其次,聚合器缺乏捕获异配图
disassortative graph
(指的是相似的节点没有聚合在一起的图)中长程依赖long-range dependency
的能力。在
MPNN
中,邻域被定义为 $ k $ 阶邻居的集合, $ k\ge 1 $ 。换句话讲,聚合器只会聚合来自附近节点的消息。这种聚合方式的MPNN
倾向于对图中相近的节点学到相似的representation
。这意味这些MPNN
可能是同配图assortative graph
(如引文网络、社区网络)representation learning
的理想方法。在这些同配图中,节点的同质性homophily
成立,即相似的节点更可能在图中相近,图中相近的节点更可能相似。而对于节点同质性不成立的异配图,此时有些高度相似的节点在图中距离较远。这种情况下
MPNN
的表示能力可能会受到严重限制,因为它们无法从距离遥远、但是包含丰富信息的相似节点中捕获重要特征。解决这个限制的简单策略是使用多层架构,以便从远程节点接收消息。例如,虽然经典
CNN
中的卷积滤波器只能捕获局部数据,其单层卷积层的表示能力受限,但是通过堆叠多层卷积层,CNN
可以学到复杂的全局表示。和
CNN
不同,多层MPNN
很难学到异配图的良好representation
,这里有两个原因:- 一方面,在多层
MPNN
中,来自远程节点的相关信息和来自近端节点的大量无关信息无差别地混合在一起,意味着相关信息被冲洗掉washed out
,无法有效地提取。 - 另一方面,在多层
MPNN
中,不同节点的representation
将变得非常相似,因为每个节点的representation
实际上承载了关于整个图的信息,即over-smooth
。
- 一方面,在多层
在论文
《GEOM-GCN: GEOMETRIC GRAPH CONVOLUTIONAL NETWORKS》
中,作者从两个基本观察出发,克服了图神经网络的上述缺陷:由于连续空间
continuous space
的平稳性stationarity
、局部性locality
、组合性compositionality
,经典的神经网络有效地解决了类似的局限。网络几何
network geometry
有效地弥补了连续空间和和图空间之间的gap
。网络几何的目的是通过揭示潜在的连续空间来理解网络,它假设节点是从潜在的连续空间中离散地采样,并根据节点之间的距离来构建边。在潜在空间中,图中复杂的拓扑模式(如子图、社区、层次结构)可以保留下来,并以直观的几何方式呈现。
受这两个观察结果的启发,作者对图神经网络中的聚合方案提出了一个启发性问题:图上的聚合方案能否受益于连续的潜在空间?例如使用连续的潜在空间中的几何结构来构建邻域,从而捕获图中的长程依赖?
为回答上述问题,作者提出了一种新的图神经网络聚合
scheme
,称作几何聚合方案geometric aggregation scheme
。在该方案中,作者通过node embedding
将一个图映射到一个连续的潜在空间,然后利用潜在空间中定义的几何关系来构建邻域从而进行聚合。同时,作者还设计了一个基于结构邻域的bi-level
聚合器来更新节点的representation
,保证了图结构数据的排列不变性。和现有的MPNN
相比,该方法提取了更多的图结构信息,并通过连续空间中定义的邻域来聚合远程节点的feature representation
。然后,作者提出了几何聚合方案在图卷积网络上的实现,称作
Geom-GCN
,从而在图上执行transductive learning
、node classification
。作者设计了特定的几何关系来分别从欧式空间和hyperbolic embedding
空间中构建结构邻域structural neighborhood
。作者选择不同的embedding
方法将图映射到适合不同application
的潜在空间,在该潜在空间中保留了适当的图拓扑模式。最后,作者在大量公开的图数据集上对
Geom-GCN
进行了实验,证明了Geom-GCN
达到了state-of-the-art
效果。总之,论文的主要贡献如下:
- 作者提出了一种新的几何聚合方案用于图神经网络,它同时在图空间和潜在空间中运行,从而克服上述两个局限性。
- 作者提出了该方案的一个实现,即
Geom-GCN
,用于图中的transductive learning
。 - 作者通过在几个具有挑战性的
benchmark
上与state-of-the-art
方法进行广泛的比较来验证和分析Geom-GCN
。
相关工作:
25.1 几何聚合方案
- 这里首先介绍几何聚合方案,然后概述它和现有工作相比的优点和缺点。
25.1.1 基础模块
如下图所示,几何聚合方案由三个模块组成:
node embedding
(A1
和A2
)、结构邻域(B1
和B2
)、bi-level
聚合(C
)。图中:A1-A2
:原始图(A1
)被映射到一个潜在的连续空间(A2
)。B1-B2
:结构邻域(B2
)。为可视化,我们放大了中心节点(红色)周围的邻域。关系算子 $ \tau $ 由彩色的3x3
网格表示,每个单元格代表了和红色目标节点的几何关系(即几何位置是左上、左下、右上、右下等等)。C
:在结构邻域上的bi-level
聚合。虚线和实线箭头分别表示low-level
聚合和high-level
聚合。蓝色箭头和绿色箭头分别表示图上的聚合以及潜在空间上的聚合。
node embedding
:这是一个基础组件,它将图中的节点映射到潜在的连续空间latent continuous space
。令图
$ \mathcal G=(\mathcal V, \mathcal E) $ ,其中 $ \mathcal V = \{v_1,v_2,\cdots,v_n\} $ 为节点集合, $ \mathcal E $ 为边集合。每个节点 $ v\in \mathcal V $ 关联一个特征向量 $ \mathbf{\vec x}_v\in \mathbb R^{d_f} $ ,其中 $ d_f $ 为特征向量维度。令
$ f:v\rightarrow \mathbf{\vec z}_v \in \mathbb R^d $ 为一个映射函数,它将节点 $ v $ 映射到representation
向量 $ \mathbf{\vec z}_v $ ,其中 $ d $ 为representation
向量的维度。这可以理解为将节点 $ v $ 映射到潜在的连续的 $ d $ 维空间, $ \mathbf{\vec z}_v $ 为节点 $ v $ 在这个连续空间中的位置。在映射过程中,图的结构和属性将被保留,并显示为潜在空间中的几何结构geometry
。这里可以使用各种embedding
方法来得到不同的潜在连续空间(《A comprehensive survey of graph embedding: Problems, techniques, and applications》
、《A united approach to learning sparse attributed network embedding》
)。结构邻域
structural neighborhood
:基于离散的图空间和连续的潜在空间,我们构建一个结构邻域 $ \mathcal N_v = (\{\mathcal N_g(v), \mathcal N_s(v)\},\tau) $ ,它由一组邻域 $ \{\mathcal N_g(v),\mathcal N_s(v)\} $ 以及一个邻域上的关系算子 $ \tau $ 组成。 $ \mathcal N_g(v) $ 为节点 $ v $ 在图上的相邻节点集合 $ \mathcal N_g(v)=\{u\mid u\in \mathcal V, (u,v)\in \mathcal E\} $ 。 $ \mathcal N_s(v) $ 为节点 $ v $ 在潜在空间中相邻节点集合 $ \mathcal N_s(v) = \{u\mid u\in \mathcal V,\text{dist}(\mathbf{\vec z}_u,\mathbf{\vec z}_v)\lt \rho\} $ ,其中 $ \text{dist}(\cdot,\cdot) $ 为潜在空间中的距离函数, $ \rho $ 为提前给定的距离参数。因此 $ \mathcal N_s(v) $ 给出了在潜在空间中和节点 $ v $ 距离小于 $ \rho $ 的节点集合。和
$ \mathcal N_g(v) $ 相比, $ \mathcal N_s(v) $ 可能包含那些和节点 $ v $ 相似、但是在图上远离节点 $ v $ 的其它节点。因为映射函数 $ f $ 可以保持这种相似性,因此这些节点在潜在空间中都被映射到节点 $ v $ 的附近。通过聚合 $ \mathcal N_s(v) $ 上的邻域节点,我们可以捕获到异配图上的长程依赖。关系算子
$ \tau $ 是定义在潜在空间上的函数。给定节点 $ v $ 和 $ u $ 的一个有序的representation pair
对 $ (\mathbf{\vec z}_v,\mathbf{\vec z}_u) $ 作为 $ \tau $ 的输入,其输出为一个离散的变量 $ r $ ,该变量指示潜在空间中从 $ v $ 到 $ u $ 的几何关系geometric relationship
:其中
$ \mathcal R $ 为几何关系的集合。例如在上图的B2
中, $ \mathcal R $ 包含九种关系:{左上、中上、右上、左中、相同、右中、左下、中下、右下 }
。根据不同的潜在空间和不同的应用,
$ \mathcal R $ 可以选择任意的关系集合。唯一的要求是:给定一对有序的representation pair
对,它们的关系应该是唯一的。
bi-level
聚合:借助结构邻域 $ \mathcal N_v $ ,我们为图神经网络提出了一种新颖的bi-level
聚合方案来更新节点的hidden feature
。bi-level
聚合方案由两个聚合函数组成,它可以有效地提取邻域节点的结构信息,并保持图的排列不变性。令
$ \mathbf{\vec h}_v^{(l)} $ 为节点 $ v $ 在第 $ l $ 层的hidden feature
,其中 $ \mathbf{\vec h}_v^{(0)} = \mathbf{\vec x}_v $ 为节点特征。则节点 $ v $ 在第 $ l+1 $ 层的hidden feature
$ \mathbf{\vec h}_v^{(l+1)} $ 为的更新为:注意:节点
$ v $ 有两种representation
: $ \mathbf{\vec z}_v $ 为node embedding
用于构建结构邻域(通常具有较小的维度)、 $ \mathbf{\vec h}_v^{(l)} $ 为node representation
用于具体的任务(图,节点分类)。low-level
聚合:在
low-level
聚合,处于相同类型的邻域 $ i $ 且具有相同集合关系 $ r $ 的节点的hidden feature
通过聚合函数 $ p $ 聚合到虚拟节点。- 这个虚拟节点的特征是
$ \mathbf{\vec e}_{(i,r)}^{(v,l+1)} $ ,并且这个虚拟节点由 $ (i,r) $ 索引,该索引对应于邻域 $ i $ 和关系 $ r $ 的组合。 $ p $ 要求使用排列不变函数,如 $ L_p $ 范数, $ p=1,2,\infty $ 分别对应于average pooling, enerage pooling, max pooling
。
low-level
聚合如上图C1
的虚线箭头所示。- 这个虚拟节点的特征是
high-level
聚合:在
high-level
,虚拟节点由函数 $ q $ 进一步聚合。函数 $ q $ 的输入既包含了虚拟节点的特征 $ \mathbf{\vec e}_{i,r}^{v,l+1} $ ,也包含了虚拟节点的索引 $ (i,r) $ (用于识别虚拟节点的身份)。即 $ q $ 可以将有序对象作为输入(如拼接),从而区分不同虚拟节点,从而显式提取邻域中的结构信息。这里聚合了图空间邻域和潜在空间邻域,共两种类型的邻域。也可以构建
$ N $ 个潜在空间邻域,从而得到 $ N+1 $ 中类型的邻域。非线性映射:
high-level
聚合的输出是向量 $ \mathbf{\vec m}_v^{l+1} $ ,然后通过非线性变换可以得到节点 $ v $ 的新的hidden feature
$ \mathbf{\vec h}_v^{l+1} $ 。其中: $ \mathbf W_l $ 为待学习的、所有节点共享的、在网络第 $ l $ 层的权重矩阵。 $ \sigma(\cdot) $ 为非线性激活函数,如ReLU
。
25.1.2 排列不变性
排列不变性
permutation invariance
是图神经网络中聚合器的基本要求,随后我们将证明我们提出的bi-level
聚合公式能够保证邻域节点的任何排列都不变。图的排列不变映射的定义:给定一个双射函数
$ \psi: \mathcal V\rightarrow \mathcal V $ 为节点的一个排列,它将节点 $ v\in\mathcal V $ 映射为 $ \psi(v)\in \mathcal V $ 。 令 $ \mathcal V^\prime, \mathcal E^\prime $ 为经过 $ \psi $ 映射后的节点集合和边集合。对于图的映射 $ \phi(\mathcal G) $ ,如果对任意给定的 $ \psi $ 都有 $ \phi(\mathcal G) = \phi(\mathcal G^\prime) $ ,其中 $ \mathcal G^\prime = (\mathcal V^\prime, \mathcal E^\prime) $ ,则我们称图的映射 $ \phi(\mathcal G) $ 是排列不变的。引理:对于组合函数
$ \phi_1\circ\phi_2(\mathcal G) $ ,如果 $ \phi_2(\mathcal G) $ 是排列不变的,则整个组合函数 $ \phi_1\circ\phi_2 $ 为排列不变的。证明:令
$ \mathcal G^\prime $ 为图 $ \mathcal G $ 经过排列函数 $ \psi $ 之后的同构图isomorphic graph
,如果 $ \phi_2(\mathcal G) $ 是排列不变的,则有 $ \phi_2(\mathcal G) = \phi_2(\mathcal G^\prime) $ 。因此,整个组合函数 $ \phi_1\circ\phi_2(\mathcal G) $ 是排列不变的,因为有 $ \phi_1\circ\phi_2(\mathcal G) = \phi_1\circ\phi_2(\mathcal G^\prime) $ 。 $ \phi_1\circ\phi_2(\mathcal G) $ 的含义是: $ \phi_1(\phi_2(\mathcal G)) $ 。定理:给定图
$ \mathcal G = (\mathcal V, \mathcal E) $ 及其结构邻域 $ \mathcal N_v $ ,则bi-level
聚合是排列不变的映射。证明:
bi-level
聚合是一个组合函数,其中low-level
聚合是high-level
聚合的输入。因此,如果能够证明low-level
聚合是排列不变的,则bi-level
聚合是排列不变的。现在我们来证明
low-level
聚合是排列不变的。low-level
聚合由 $ 2\times |\mathcal R| $ 个子聚合组成,每个子聚合对应于节点 $ v $ 的一个邻域类型 $ i $ 和关系类型 $ r $ 。- 首先,每个子聚合的输入都是排列不变的,因为
$ i\in \{g,s\} $ 和 $ r\in \mathcal R $ 都是由给定的结构邻域 $ \mathcal N_v $ 决定的,而这个结构邻域对于任何排列而言都是恒定的。 - 其次,子聚合采用了排列不变的聚合函数
$ p $ ,因此low-level
聚合是排列不变的。
- 首先,每个子聚合的输入都是排列不变的,因为
25.1.3 与相关工作的比较
这里讨论我们提出的几何聚合方案如何克服之前提到的两个缺点,即:如何有效地对邻域结构进行建模、如何捕获长程依赖。
为了克服
MPNN
的第一个缺点,即丢失邻域中节点的结构信息,几何聚合方案利用潜在空间中节点之间的几何关系,然后使用bi-level
聚合有效地提取信息,从而对结构信息进行显式建模。相反,现有的一些方法试图学习一些隐式的、类似于结构的信息,从而在聚合时区分不同的邻居。如
GAT
(《Graph attention networks》
)、LGCL
(《Large-scale learnable graph convolutional networks》
)、GG-NN
(《Gated graph sequence neural networks》
)等通过使用注意力机制以及节点/边的属性来学习来自不同邻居消息的权重。CCN
利用协方差架构来学习structure-aware representation
(《Covariant compositional networks for learning graphs》
)。这些工作和我们之间的主要区别在于:我们利用潜在空间的几何信息提供了一种显式的、可解释的方式来建模节点邻域的结构信息。另外,我们的方法和现有的这些方法是正交的,因此可以容易地和现有方法融合从而进一步改善性能。具体而言,我们从图拓扑的角度利用几何关系,而其它方法更关注
feature representation
,这两个方面是互补的。为了克服
MPNN
的第二个缺点,即缺乏捕获远程依赖的能力,几何聚合方案以两种不同的方式对异配图中的远程关系进行建模:- 首先,可以将图中相似但是相距很远的节点映射到目标节点在潜在空间的邻域中,然后聚合这些邻域节点的
representation
。这种方式取决于保留节点相似性的适当的embedding
方法。 - 其次,结构信息使得该方法能够区分图中邻域中的不同节点。
informative node
和目标节点可能具有某些特殊的几何关系(如特定的角度、特定的距离)。因此相比uninformative node
,informative node
的相关的特征将以更高的权重传递给目标节点。
最终通过整个消息传递过程间接捕获了长程依赖关系。
此外,
《Representation learning on graphs with jumping knowledge networks》
中提出了一种方法JK-Nets
通过在特征聚合期间skip connection
来捕获长程依赖关系。- 首先,可以将图中相似但是相距很远的节点映射到目标节点在潜在空间的邻域中,然后聚合这些邻域节点的
有些文献构造了一些非同构
non-isomorphic
图(《Covariantcompositional networks for learning graphs》
、《How powerful are graph neural networks? 》
),它们无法被现有的MPNN
聚合器(如均值、最大值)很好地区分。这里我们给出两个示例,它们来自于《How powerful are graph neural networks?》
。如下左图所示,每个节点都具有相同的特征
$ a $ ,经过映射 $ f(\cdot) $ 之后每个节点仍然保持相同。映射之后再经过常规的聚合器(如均值、最大值、最小值),仍然是 $ f(a) $ 。因此左图的两个graph
中,节点 $ V_1 $ 的final representation
都是相同的。即,均值聚合器和最大值聚合器无法区分这两个不同的图。相反,如果在聚合过程中应用结构邻域,则这两个图可以很容易地区分。应用结构邻域之后,其它节点和
$ V_1 $ 之间具有不同的几何关系,如右图所示。以 $ V_1 $ 的聚合为例:- 对于
$ V_1 $ 的邻居节点,我们可以对不同的几何关系 $ r $ 采用不同的映射函数 $ f_r,r\in \mathcal R $ 。 - 然后,两个图中的聚合器具有不同的输入,左边的输入为
$ \{f_2(a), f_8(a)\} $ 、右边的输入为 $ \{f_2(a),f_7(a),f_9(a)\} $ 。 - 最终在两个图中,聚合器(平均值或最大值)对节点
$ V_1 $ 输出不同的表示形式,从而区分两个图之间的拓扑差异。
- 对于
25.2 Geom-GCN
这里我们介绍
Geom-GCN
,它是几何聚合方案在GCN
上的具体实现,主要用于图的transductive learning
。为实现几何聚合方案,需要给出其中的三个模块:
node embedding
、结构邻域、bi-level
聚合。node embedding
:如我们实验所示,仅保留图中的边以及距离模式的常见embedding
方法已经可以使几何聚合方案受益。对于特定的应用,可以指定特定的
embedding
方法来建立合适的、保留特定拓扑结构(如层次结构)的潜在空间。我们使用了三种embedding
方法,即:Isomap
、Poincare Embedding
、Struc2vec
,这导致了三种Geom-GCN
变体:Geom-GCN-I、Geom-GCN-P、Geom-GCN-S
。Isomap
是一种广泛应用的isometry embedding
方法,在该方法中,距离模式(最短路径的长度)被显式地保留在潜在空间中。Poincare Embedding
和Struc2vec
能够创建特定的潜在空间,分别保留图中的层次结构和局部结构。
为了便于说明,我们的
embedding
空间维度为2
(即 $ \mathbf{\vec z}_v\in \mathbb R^2 $ ) 。结构邻域:节点
$ v $ 的结构邻域 $ \mathcal N_v = (\{\mathcal N_g(v), \mathcal N_s(v)\},\tau) $ 同时包含图空间的邻域和潜在空间中的邻域。图空间邻域
$ \mathcal N_g(v) $ 由图中 $ v $ 的相邻节点组成,潜在空间中的邻域 $ \mathcal N_s(v) $ 由潜在空间中与 $ v $ 距离小于 $ \rho $ 的节点组成。这里我们将 $ \rho $ 从零逐渐增加,直到对于所有节点 $ v $ , $ \mathcal N_s(v) $ 的平均邻域大小等于 $ \mathcal N_g(v) $ 的平均邻域大小。最终两个邻域平均大小相等的 $ \rho $ 就是我们需要的。另外对于不同的潜在空间我们使用不同的距离:在欧式空间中我们使用欧式距离;在双曲空间
hyperbolic space
中,我们通过两个节点在局部切平面上的欧式距离来近似测地线距离。我们简单地将几何算子
$ \tau $ 实现为二维欧式空间或双曲空间中两个节点之间相对位置的四种关系。即,关系集合 $ \mathcal R = \{\text{upper left},\text{upper right},\text{lower left},\text{lower right }\} $ ,并且 $ \tau(\mathbf{\vec z}_v, \mathbf{\vec z}_u) $ 如下表所示。注意:我们在欧式空间中使用直角坐标系,在双曲空间中使用角坐标系。因为
embedding size = 2
,所以划分为四种关系。也可以设计更复杂的几何算子
$ \tau $ ,如利用流形几何中的描述符结构,从而在邻域中保留更多、更丰富的结构信息。bi-level
聚合:我们采用和GCN
相同的归一化hidden feature
聚合作为low-level
聚合函数 $ p $ :其中
$ \text{deg}(v) $ 为节点 $ v $ 的degree
。聚合时仅考虑和节点 $ v $ 的关系为 $ r $ 的那些节点。对于最后一层我们使用均值聚合作为
high-level
聚合函数 $ q $ , 除最后一层之外我们使用向量拼接作为聚合函数 $ q $ :其中:
$ \mathbf W_l $ 为待学习的权重矩阵; $ \sigma(\cdot) $ 为非线性激活函数,这里我们使用ReLU
。
25.3 实验
这里我们比较了
Geom-GCN
和GCN, GAT
的性能,从而验证Geom-GCN
的效果。数据集:我们使用
9
个图数据集:引文网络:
Cora, Citeseer, Pubmed
是标准的引文网络benchmark
数据集。在这些网络中,节点表示论文,边表示论文被另一篇论文引用,节点特征是论文的
bag-of-word
表示,节点标签是论文的学术主题。WebkB
数据集:WebKB
由卡内基梅隆大学从各大学的计算机科学系收集的网页数据集,我们使用它的三个子集:Cornell, Texas, Wisconsin
。在这些网络中,节点代表网页,边代表网页之间的超链接,节点的特征是网页的
bag-of-word
表示。网页被人工分为五个类别:student, project, course, staff, faculty
。Actor co-occurrence
数据集:该数据集是film-directoractor-writer
网络导出的仅包含演员的子图。在该网络中,节点代表演员,边表示同一个维基百科上两个演员的共现,节点特征为该演员的维基百科页面上的关键词。根据演员的维基百科的词汇,我们将节点分为五类。
这些数据集的统计信息如下表所示:
实验配置:我们使用三种
embedding
方法,即Isomap
、Poincare embedding
、struc2vec
,从而构建三种Geom-GCN
变体,即Geom-GCN-I、Geom-GCN-P、Geom-GCN-S
。所有
Geom-GCN
的embedding
空间维度为2
,并使用前面介绍的关系算子 $ \tau $ 。low-level
聚合函数 $ p $ 为均值聚合,high-level
聚合函数 $ q $ 为向量拼接。即
$ \mathbf {\vec z}_v\in \mathbb R^2 $ 。所有模型的网络层数固定为
2
,采用Adam
优化器。对于Geom-GCN
我们采用ReLU
作为激活函数,对于GAT
我们采用GAT
作为激活函数。我们使用验证集来搜索超参数,这些超参数包括:隐层维度、初始学习率、权重
decay
、dropout
。为确保公平,每个模型的超参数搜索空间都是相同的。最终得到的超参数配置为:dropout rate = 0.5
、初始化学习率0.05
、早停的patience
为100
个epoch
。对于
WebKB
数据集,weight decay
为 $ 5\times 10^{-6} $ ;对于其它数据集,weight decay
为 $ 5\times 10^{-5} $ 。对于
GCN
模型,隐层维度为:Cora
数据集16
、Citeseer
数据集16
、Pubmed
数据集64
、WebKB
数据集32
、Wikipedia
数据集48
、Actor
数据集32
。对于
Geom-GCN
模型,隐层维度是GCN
的8
倍,因为Geom-GCN
有8
个虚拟节点。即
$ \mathbf {\vec h}_v^{(l)}\in \mathbb R^2 $ 。对于
GAT
模型的每个attention head
,隐层维度为Citation
网络为8
、WebKB
数据集为32
、Wikipedia
数据集为48
、Actor
数据集为32
。对于
GAT
模型,第一层具有8
个head
;Pubmed
数据集的第二层具有8
个head
,其它数据集的第二层只有1
个head
。
对于所有数据集,我们将每个类别的节点随机拆分为
60%, 20%, 20%
来分别作为训练集、验证集、测试集。我们随机拆分
10
次并报告模型在测试集上的平均性能。
所有模型在所有数据集上的评估结果如下表所示,其中评估指标为平均分类准确率(以百分比表示)。最佳结果突出显式。
结论:
Geom-GCN
可以实现state-of-the-art
性能。- 仅保留图中边和距离模式的
Isomap Embedding (Geom-GCN-I)
已经可以使得几何聚合方案受益。 - 可以指定一种
embedding
方法从而为特定应用构建合适的潜在空间,从而显著提升性能(如Geom-GCN-P
)。
Geom-GCN
聚合了来自两个邻域的消息,这两个邻域分别在图空间和潜在空间中定义。这里我们通过构建仅有一个邻域的Geom-GCN
变体来进行消融研究,从而评估每种邻域的贡献。- 对于仅具有图空间邻域的变体,我们用
g
后缀来区分(如Geom-GCN-Ig
)。 - 对于仅具有潜在空间邻域的变体,我们用
s
后缀来区分(如Geom-GCN-Is
)。
我们将
GCN
设为baseline
,从而评估这些变体相对GCN
的性能提升。比较结果见下表所示,其中正向提升用向上箭头表示,负向衰减用向下箭头表示。评估指标为测试集的平均准确率。我们定义了指标
$ \beta $ 来衡量图的同质性homophily
:同质性以节点标签来衡量,其中相似的节点倾向于相互连接。较大的
$ \beta $ 值表示图的同质性很强。从下表可以看出,同配图assortative graph
(如引文网络)具有比异配图disassortative graph
(如WebKB
网络)大得多的 $ \beta $ 值。结论:
大多数情况下,图空间邻域和潜在空间邻域都有利于聚合。
潜在空间邻域在异配图(更小的
$ \beta $ 值)上的提升要比同配图上的提升大得多。这意味着潜在空间邻域可以有效地捕获远程节点的相关信息。问题是:图空间邻域在异配图(更小的
$ \beta $ 值)上的提升,也是要比同配图上的提升大得多。因此图空间也可以有效捕获远程节点的相关信息?因此这里的结论不成立。
令人惊讶的是,只有一个邻域的几种变体(下表)要比具有两个邻域的变体(上表)具有更好的性能。我们认为,原因是两个邻域的
Geom-GCN
相比单个邻域的Geom-GCN
聚合了更多无关的消息,并且这些无关消息对于性能产生了不利的影响。我们认为注意力机制可以有效缓解这个问题,并留待以后工作进行研究。
- 对于仅具有图空间邻域的变体,我们用
Geom-GCN
的结构邻域非常灵活,可以组合任意的embedding
空间。为了研究哪种embedding
空间是理想的,我们通过采用由不同embedding
空间构建的结构邻域来创建新的Geom-GCN
变体。对于采用Isomap
构建图空间邻域、采用Poincare Embedding
构建潜在空间邻域的变体,我们用Geom-GCN-IP
来表示。其它组合的命名规则依此类推。这里构建了两种潜在空间,从而得到
3
种类型的结构邻域(一个来自图控件,两个来自潜在空间)。下表给出了所有变体的性能,评估指标为测试集的平均准确率。
结论:有一些组合的性能要优于标准的
Geom-GCN
,有一些组合的性能更差。因此,如何设计自动选择合适的embedding
空间的端到端框架是未来的重要方向。这里我们首先介绍
Geom-GCN
的理论时间复杂度,然后比较GCN, GAT, Geom-GCN
的实际运行时间。Geom-GCN
更新一个节点的representation
的时间复杂度为 $ O(n\times d_h\times 2|\mathcal R|) $ ,其中 $ n $ 为节点数量, $ d_h $ 为隐单元维度, $ 2|\mathcal R| $ 为虚拟节点数量。相比之下GCN
更新一个节点representation
的时间复杂度为 $ O(n\times d_h) $ 。我们给出所有数据集上
GCN, GAT, Geom-GCN
的实际运行时间(500
个epoch
)进行比较,结果如下图所示。 $ y $ 轴表示对数时间(秒)。结论:
GCN
训练速度最快,GAT
和Geom-GCN
处于同一水平。未来的一个重要方向是开发Geom-GCN
的加速技术,从而解决Geom-GCN
的可扩展性。为研究
Geom-GCN
在节点feature representation
中学到的模式,我们可视化了Cora
数据集在Geom-GCN-P
模型最后一层得到的feature representation
。我们通过t-SNE
将该特征表示映射到二维空间中,如下图所示。节点的不同颜色代表不同的类别。可以看到:
- 具有相同类别的节点表现出空间聚类
spatial clustering
,这可以显示Geom-GCN
的判别能力。 - 图中所有节点均呈现放射状分布,这表明通过
Poincare Embedding
提出的Geom-GCN
学到了图的层次结构。
- 具有相同类别的节点表现出空间聚类
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论