数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 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
- 并发
二十一、HAN [2019]
现实世界中的数据很多包含图结构,如社交网络、引文网络、万维网。图神经网络
GNN
作为一种强大的图结构数据的深度representation learning
方法,在图数据分析中表现出卓越的性能,并引起广泛的研究。例如,一些工作(《A new model for learning in graph domains》、《Gated graph sequence neural networks》、《The graph neural network model》
)利用神经网络来学习基于节点特征和图结构的node representation
。一些工作(《Convolutional neural networks on graphs with fast localized spectral filtering》
、GraphSAGE
、GCN
)通过将卷积推广到图来提出图卷积网络。深度学习的最新研究趋势是注意力机制,该机制可以处理可变大小的数据,并鼓励模型更关注于数据中最重要的部分。注意力机制已被证明在深度神经网络框架中的有效性,并广泛应用于各个领域,如文本分析、知识图谱、图像处理。
Graph Attention Network: GAT
是一种新颖的卷积式图神经网络,它利用注意力机制来处理仅包含一种类型的节点或边的同质图。尽管注意力机制在深度学习中取得成功,但是目前的异质图神经网络架构尚未考虑注意力机制。事实上,现实世界中的图通常带有多种类型的节点和边,这通常被称作异质信息网络
heterogeneous information network: HIN
或异质图heterogeneous graph
。异质图包含更全面的信息和更丰富的语义,因此被广泛应用于许多数据挖掘任务中。由于异质图的复杂性,传统的GNN
模型无法直接应用于异质图。metapath
表示了不同类型对象之间的关系,它是一种广泛用于捕获语义的结构。以电影数据集IMDB
为例,它包含三种类型的节点:电影Movie
、演员Actor
、导演Director
。metapath
“电影-演员-电影”MAM
表示两部电影之间的共同演员关系。metapath
“电影-导演-电影”MDM
表示两部电影之间的共同导演关系。
可以看到:采用不同的
metapath
,异质图中节点之间的关系可以具有不同的语义。由于异质图的复杂性,传统的图神经网络无法直接应用于异质图。
基于以上分析,在为异质图设计具有注意力机制的神经网络体系结构时,需要满足以下需求:
图的异质性:异质性
heterogeneity
是异质图的固有属性,即图中包含各种类型的节点和边。例如,不同类型的节点具有不同的特征,它们的特征可能位于不同的特征空间。如何同时处理如此复杂的异质图结构信息,同时保持多样化的特征信息是需要解决的问题。semantic-level
注意力:异质图涉及不同的有意义和复杂的语义信息,这些语义信息通常以metapath
来刻画。因此,异质图中不同的metapath
可以抽取不同的语义信息。如何选择最有意义的metapath
,并为task-specific
融合语义信息是需要解决的问题。semantic-level
注意力旨在了解每个metapath
的重要性,并为其分配适当的权重。如,电影 “《终结者》” 可以通过Movie-Actor-Movie
连接到 “《终结者2》” (都是由施瓦辛格主演),也可以通过Movie-Year-Movie
连接到 “《Birdy》
” (都是在1984
年拍摄)。但是在影片分类任务中,MAM
通常要比MYM
更重要。因此,均匀对待所有
metapath
是不切实际的,这会削弱某些有用的metapath
提供的语义信息。node-level
注意力:在异质图中,节点可以通过各种类型的关系来连接。给定一个metapath
,每个节点多有很多基于该metapath
的邻居。我们需要知道如何区分邻居之间的重要性,并选择一些信息丰富的邻居。对于每个节点,node-level
注意力旨在了解metapath-based
邻居的重要性,并为他们分配不同的注意力值。
为解决这些问题,论文
《Heterogeneous Graph Attention Network》
提出了一个新的异质图注意力网络Heterogeneous graph Attention Network
,简称HAN
。HAN
同时考虑了 同时考虑了node-level
注意力和semantic-level
注意力。具体而言,给定节点特征作为输入:- 首先,
HAN
使用type-specific
转换矩阵将不同类型节点的特征投影到相同的特征空间。 - 然后,
HAN
使用node-level
注意力机制来获得节点及其metapath-based
邻居之间的注意力得分。 - 然后,
HAN
使用semantic-level
注意力机制来获得各metapath
针对具体任务的注意力得分。
基于这两个级别学到的注意力得分,
HAN
可以通过分层hierarchical
的方式获得邻居和多个metapath
的最佳组合,使得学到的node embedding
可以更好地捕获异质图中复杂的结构信息和丰富的语义信息。之后,可以通过端到端的反向传播来优化整个模型。论文的主要贡献:
- 据作者所知,这是研究基于注意力机制的异质图神经网络的首次尝试。论文的工作使图神经网络能够直接应用于异质图,并进一步促进了基于异质图的应用。
- 论文提出了一种新颖的异质图注意力网络
heterogeneous graph attention network: HAN
,它同时包含node-level attention
和semantic-level attention
。受益于这种分层的注意力机制,所提出的HAN
可以同时考虑节点重要性和metapath
重要性。此外,HAN
模型效率高效,其复杂度是metapath-based
节点pair
对的数量的线性复杂度,因此可以应用于大规模异质图。 - 论文进行了广泛的实验来评估所提出模型的性能。通过与
state-of-the-art
模型进行比较,结果表明了HAN
的优越性。更重要的是,通过分析分层注意力机制,HAN
展示了它对于异质图分析的潜在的量向好可解释性。
相关工作:
GNN
:《new model for learning in graph domains》
和《The graph neural network model》
中介绍了旨在扩展深度神经网络以处理任意图结构数据的图神经网络GNN
。《Gated graph sequence neural networks》
提出了一种传播模型,该模型可以融合gated recurrent unit: GRU
从而在所有节点上传播信息。
最近很多工作在图结构数据上推广卷积运算。图卷积神经网络的工作一般分为两类,即谱域
spectral domain
卷积和非谱域non-spectral domain
卷积。一方面,谱域卷积利用图的
spectral representation
来工作。《Spectral networks and locally connected networks on graphs》
通过找到图的傅里叶基Fourier basis
从而将卷积推广到一般的图。《Convolutional neural networks on graphs with fast localized spectral filtering》
利用 $ K $ 阶切比雪夫多项式在谱域中近似approximate
平滑的滤波器。《Semi-Supervised Classification with Graph Convolutional Networks》
提出了一种谱方法,称作图卷积网络Graph Convolutional Network: GCN
。该方法通过普卷积的局部一阶近似来设计图卷积网络。
另一方面,非谱域卷积直接在图上定义卷积。
《Inductive Representation Learning on Large Graphs》
提出了GraphSAGE
,它在固定大小的节点邻域上执行基于神经网络的聚合器。它可以通过聚合来自节点局部邻域的特征来学习一个函数,该函数用于生成node embedding
。
注意力机制(如
self-attention
和soft-attention
)已经成为深度学习中最有影响力的机制之一。先前的一些工作提出了用于图的注意力机制,如《Aspect-Level Deep Collaborative Filtering via Heterogeneous Information Network》
、《Leveraging Meta-path based Context for Top-N Recommendation with A Neural Co-AttentionModel》
。受到注意力机制的启发,人们提出Graph Attention Network: GAT
来学习节点与其邻居之间的重要性,并融合fuse
邻居进行节点分类。但是,上述图神经网络无法处理多种类型的节点和边,它们仅能处理同质图。
Network Embedding
:network embedding
,即network representation learning: NRL
,用于将网络嵌入到低维空间中并同时保留网络结构和属性,以便将学到的embedding
应用于下游网络任务。如,基于随机游走的方法(node2vec, Deepwalk
)、基于深度神经网络的方法(《Structural deep network embedding》
)、基于矩阵分解的方法(《Asymmetric transitivity preserving graph embedding》,《Community Preserving Network Embedding》
)、以及其它方法(LINE
)。然而,所有这些算法都是针对同质图提出的。异质图嵌入主要聚焦于保留
metapath-based
的结构信息。ESim
接受用户定义的metapath
作为指导,在用户偏好user-preferred
的embedding
空间中学习node embedding
从而进行相似性搜索。即使ESim
可以利用多个metapath
,它也无法了解metapath
的重要性。为了达到最佳性能,ESim
需要进行网格搜索从而找到所有的metapath
的最佳权重。metapath2vec
设计了一种metapath-based
随机游走,并利用skip-gram
来执行异质图嵌入。但是,metapath2vec
只能使用一个metapath
,可能会忽略一些有用的信息。- 与
metapath2vec
类似,HERec
提出了一种类型约束策略type constraint strategy
来过滤节点序列并捕获异质图中反应的复杂语义。 HIN2Vec
执行多个预测的训练任务,同时学习节点和metapath
的潜在向量。《PME: Projected Metric Embedding on Heterogeneous Networksfor Link Prediction》
提出了一个叫做PME
的投影度量嵌入模型projected metric embedding model
,该模型可以通过欧式距离来保持节点邻近性。PME
将不同类型的节点投影到同一个关系空间relation space
中,进行异质链接的预测。- 为了研究如何全面地描述异质图,
《Easing Embedding Learning by Comprehensive Transcription of Heterogeneous InformationNetworks》
提出了hEER
,它可以通过edge representation
来嵌入异质图。 《Gotcha-sly malware!: Scorpion a metagraph2vec based malware detection system》
提出了一个嵌入模型metapath2vec
,其中网络结构和语义都被最大限度地保留从而用于恶意软件检测。《Joint embedding of meta-path and meta-graph for heterogeneous information networks》
提出了metapath-based
的network embedding
模型,该模型同时考虑了meta-graph
的所有meta
信息的隐藏关系hidden relation
。
综上所述,上述所有算法都没有考虑异质图
representation learning
中的注意力机制。
21.1 模型
异质图是一种特殊类型的信息网络,包含多种类型的节点或多种类型的边。
定义异质网络
$ \mathcal G = (\mathcal V, \mathcal E) $ ,其中 $ \mathcal V $ 为节点集合, $ \mathcal E $ 为边的集合。- 节点有多种类型,节点类型集合为
$ \mathcal A $ 。节点 $ v\in \mathcal V $ 的类型为 $ \phi(v)\in \mathcal A $ 。 - 边有多种类型,边类型集合为
$ \mathcal R $ 。边 $ e\in \mathcal E $ 的类型为 $ \psi(e)\in \mathcal R $ 。
对于异质网络,有
$ |\mathcal A| + |\mathcal R| \gt 2 $ 。- 节点有多种类型,节点类型集合为
定义
metapath
$ \Phi $ 为路径: $ A_1\stackrel{R_1}{\longrightarrow} A_2\stackrel{R_2}{\longrightarrow}\cdots \stackrel{R_l}{\longrightarrow} A_{l+1} $ ,简称 $ A_1A_2\cdots A_{l+1} $ ,其中 $ A_i\in \mathcal A, R_i\in \mathcal R $ 。metapath
定义了 $ A_1 $ 到 $ A_{l+1} $ 之间一个关系 $ R = R_1\circ R_2\circ\cdots\circ R_l $ ,其中 $ \circ $ 表示关系的组合composition
。metapath
表示不同对象之间的语义路径semantic path
。定义
metapath-based
邻居:给定一个metapath
$ \Phi $ 以及异质图中一个节点 $ v $ ,则节点 $ v $ 的metapath-based
邻居 $ \mathcal N_v^\Phi $ 定义为节点 $ v $ 通过metapath
$ \Phi $ 连接的邻居节点。注意:这里的邻居包含节点自身。如下图所示,我们构建了
IMDB
的一个异质图,它包含多种类型的节点(演员Actor:A
,电影Movie:M
,导演Director:D
),以及多种类型的关系。- 两个电影可以通过多种
metapath
连接,如MAM, MDM
。 - 不同的
metapath
通常表示不同的语义,如:MAM
表示两部电影是同一个演员参演的;MDM
表示两部电影是同一个导演主导的。 - 图
d
中,给定metapath MAM
的情况下, $ m_1 $ 的metapath-based
邻居包含 $ m_1,m_2,m_3 $ (其中包含 $ m_1 $ 自身);给定metapath MDM
的情况下, $ m_1 $ 的metapath-based
邻居包含 $ m_1,m_2 $ (其中包含 $ m_1 $ 自身)。
- 两个电影可以通过多种
现有的图神经网络可以处理任意图结构数据,但是它们都是针对同质网络来设计。由于
metapath
和metapath-based
邻居是异质图的两个基本结构,因此我们为异质图设计一种新的半监督图神经网络HAN
。HAN
采用hierarchical attention
结构:node-level
注意力机制、semantic-level
注意力机制。下图给出了HAN
的整体框架:- 首先我们提出
node-level
注意力,从而获取metapath-based
邻居的权重,并在特定语义下(每个metapath
对应一个语义)聚合这些邻居从而得到节点的embedding
。 - 然后我们提出
semantic-level
注意力,从而区分metapath
的权重。从而最终结合了node-level
注意力和semantic-level
注意力来获取node embedding
的最佳加权组合。
- 首先我们提出
21.1.1 node-level attention
每个节点的
metapath-based
邻居扮演了不同的角色,并且在task-specific node embedding
学习中表现出不同的重要性。因此,我们考虑node-level
注意力,它能够学习异质图中每个节点的metapath-based
邻居的重要性,并聚合这些重要的邻居embedding
从而生成node embedding
。由于节点的异质性,不同类型节点具有不同的特征空间。因此,对于类型为
$ \phi_i\in \mathcal A $ 的节点,我们设计type-specific
转换矩阵 $ \mathbf M_{\phi_i} $ ,从而将不同类型节点的特征投影到相同的特征空间。注意:这里的转换矩阵是基于节点类型,而不是连接类型。节点特征的投影过程为:
其中:
$ \mathbf{\vec x}_i $ 为节点 $ v_i $ 的原始特征, $ \mathbf{\vec x}_i^\prime $ 为节点 $ v_i $ 转换后的特征。通过
type-specific
特征投影过程,node-level
注意力可以处理任意类型的节点。然后,我们利用
self-attention
机制来学习metapath-based
邻居之间的重要性。给定一对节点
$ (v_i,v_j) $ ,假设它们通过metapath
$ \Phi $ 连接,定义node-level
注意力 $ e_{i,j}^{\Phi} $ 为:对于节点 $ v_i $ 而言,节点 $ v_j $ 的重要性。基于
metapath
的节点pair
对 $ (v_i,v_j) $ 的重要性可以表示为:其中:
$ \text{att}_{\text{node}} $ 表示执行node-level
注意力的深度神经网络。给定
metapath
$ \Phi $ , $ \text{att}_{\text{node}} $ 在所有metapath-based
节点pair
对之间共享,这是因为在metapath
$ \Phi $ 下存在一些类似的连接模式。metapath
节点重要性是非对称的,即 $ e_{i,j}^\Phi \ne e_{j,i}^\Phi $ 。这表明node-level
注意力可以保留异质图的不对称性,而这种不对称性是异质图的关键特性。即使
$ e_{i,j}^\Phi = e_{j,i}^\Phi $ ,由于不同节点具有不同的邻居集合,因此归一化之后的 $ \alpha_{i,j}^\Phi\ne \alpha_{j,i}^\Phi $ 。给定
metapath
$ \Phi $ ,metapath-based
节点pair
对 $ (v_i.v_j) $ 的权重取决于它们的特征。
通常我们选择
$ \text{att}_{\text{node}} (\cdot) $ 函数为:其中:
$ \mathbf{\vec a}_\Phi $ 为metapath
$ \Phi $ 的node-level
注意力向量attention vector
,它是metapath-specific
的。 $ \sigma(\cdot) $ 为非线性激活函数。 $ [\cdot||\cdot] $ 为向量拼接操作。
然后,我们通过
masked attention
将结构信息注入到模型,这意味着我们计算 $ e_{i,j}^\Phi $ 时仅考虑节点 $ j\in \mathcal N_i^\Phi $ ,其中 $ \mathcal N_i^\Phi $ 表示节点 $ v_i $ 的metapath-based
邻居(包括其自身)。在获得
metapath-based
节点pair
对的重要性之后,我们通过softmax
函数对其进行归一化,从而获得权重系数 $ \alpha_{i,j}^\Phi $ :可以看到:
- 权重系数
$ \alpha_{i,j}^\Phi $ 依赖于节点 $ v_i,v_j $ 的特征向量。 - 权重系数
$ \alpha_{i,j}^\Phi $ 是非对称的,即 $ \alpha_{i,j}^\Phi\ne \alpha_{j,i}^\Phi $ 。这种不对称性不仅因为分子中的向量拼接顺序不同,还因为分母中归一化项有很大差异(不同节点具有不同的邻居集合)。 - 由于权重系数
$ \alpha_{i,j}^\Phi $ 是针对单个metapath
生成的,因此它是semantic-specific
的,并且能够捕获一种语义信息。
- 权重系数
最后,节点
$ v_i $ 的metapath-based embedding
可以通过邻居的投影后的特征和相应的权重系数进行聚合:其中
$ \mathbf{\vec z}_i^\Phi $ 为节点 $ v_i $ 针对metapath
$ \Phi $ 学到的embedding
。为更好地理解
node-level
聚合过程,我们以下图(a)
为例进行简要说明。每个节点的embedding
均由其metapath-based
邻居的特征聚合而来。由于注意力权重 $ \alpha_{i,j}^\Phi $ 是为单个metapath
而生成的,因此它是semantic-specific
并且能够捕获一种语义信息。由于异质图的数据规模可大可小,其规模的方差很大。为使得
HAN
能够应用到各种规模的异质图,我们将node-level
注意力扩展为multi-head
注意力,从而使得训练过程更为稳定。具体而言,我们重复
node-level
注意力 $ K $ 次,并将学到的embedding
拼接,从而作为最终的semantic-specific embedding
:其中
$ \alpha_{i,j}^{\Phi,k} $ 为第 $ k $ 个head
学到的权重系数。给定
metapath
集合 $ \{\Phi_0,\Phi_1,\cdots,\Phi_P\} $ ,经过node-level
注意力机制之后,我们可以获得 $ P $ 组semantic-specific node embedding
,记作 $ \{\mathbf Z_{\Phi_0},\mathbf Z_{\Phi_1},\cdots, \mathbf Z_{\Phi_P}\} $ 。其中每组semantic-specific node embedding
包含了图中所有的节点。如何确定这个
metapath
集合,论文并未给出任何答案或方向。
21.1.2 semantic-level attention
通常异质图中每个节点都包含多种类型的语义信息,并且
smantic-specific node embedding
仅能反映节点某个方面的语义。为学到更全面的节点embedding
,我们需要融合各种类型语义。为解决多种类型语义融合的挑战,我们提出一种新的
semantic-level attention
机制,可以自动学习task-specific
下不同metapath
的重要性,从而融合多种类型的语义。考虑
node-level
注意力下学到的 $ P $ 组semantic-specific node embedding
$ \{\mathbf Z_{\Phi_0},\mathbf Z_{\Phi_1},\cdots, \mathbf Z_{\Phi_P}\} $ ,令每个metapath
的重要性为 $ \{\beta_{\Phi_0},\cdots, \beta_{\Phi_P}\} $ ,则有:其中
$ \text{att}_{\text{sem}} $ 表示执行semantic-level
注意力的深度神经网络。为学习
metapath
的重要性:- 我们首先通过非线性变换(如单层
MLP
)来转换semantic-specifc node embedding
。 - 然后,我们将转后的
embedding
和一个semantic-level
注意力向量attention vector
$ \mathbf{\vec q} $ 计算相似性从而得到重要性。 - 最后我们聚合所有
semantic-specific node embedding
的重要性,从而得到每个metapath
的重要性。
记
metapath
$ \Phi_i $ 的重要性为 $ w_{\Phi_i} $ ,则有:其中:
$ \mathbf W $ 为权重向量, $ \mathbf{\vec b} $ 为偏置向量。 $ \mathbf{\vec q} $ 为semantic-level
的注意力向量。
注意:为进行有意义的比较,所有的
metapath
和semantic-specific node embedding
都共享相同的 $ \left\{\mathbf W, \mathbf{\vec b},\mathbf{\vec q} \right\} $ 。上式重写为:
$ w_{\Phi_i} = \mathbf{\vec q}\cdot\left[\frac{1}{|\mathcal V|} \sum_{v_i\in \mathcal V} \tanh\left(\mathbf W \mathbf{\vec z}_i^\Phi + \mathbf{\vec b}\right)\right] $ 。因此是对metapath
$ \Phi $ 计算metapath-level
的embedding
$ \frac{1}{|\mathcal V|} \sum_{v_i\in \mathcal V} \tanh\left(\mathbf W \mathbf{\vec z}_i^\Phi + \mathbf{\vec b}\right) $ ,然后和 $ \mathbf{\vec q} $ 计算内积。这里对不同
metapath
共享相同的投影矩阵 $ \mathbf W $ 而没有采用不同的投影矩阵 $ \mathbf W_\phi $ ,因为这里 $ \mathbf{\vec z}_i^\phi $ 已经被投影到相同的特征空间了。在得到每个
metapath
重要性之后,我们通过softmax
函数对其进行归一化。metapath
$ \Phi_i $ 的权重为 $ \beta_{\Phi_i} $ 为: $ \beta_{\Phi_i} $ 可以解释具体任务下metapath
$ \Phi_i $ 的贡献,显然 $ \beta_{\Phi_i} $ 越大则metapath
$ \Phi_i $ 越重要。注意:对于不同的任务,metapath
$ \Phi_i $ 可以具有不同的权重。使用学到的权重作为系数,我们可以融合这些
semantic-specifc node embedding
,从而得到最终的embedding
为:- 我们首先通过非线性变换(如单层
为更好地理解
sementic-level
聚合过程,我们在下图的(b)
中进行简要说明。最终的embedding
由所有semantic-specific node embedding
进行聚合。对于不同的任务,我们可以设计不同的损失函数。对于半监督节点分类任务,我们可以使用交叉熵损失函数:
其中:
$ \mathcal V_Y $ 为所有的标记节点集合。 $ \mathbf{\vec y}_v $ 为节点 $ v $ 的真实label
的one-hot
向量。 $ \mathbf{\vec z}_v $ 为节点 $ v $ 的embedding
向量。 $ \vec\theta_c $ 为分类器的参数。
在标记数据的指导下,我们可以通过反向传播优化
HAN
模型,并学习node embedding
。HAN
算法:输入:
- 异质图
$ \mathcal G = (\mathcal V, \mathcal E) $ - 所有节点的特征
$ \left\{\mathbf{\vec x}_i,v_i\in\mathcal V\right \} $ metapath
集合 $ \{\Phi_0,\Phi_1,\cdots,\Phi_P\} $multi-head
数量 $ K $
- 异质图
输出:
- 最终的
node embedding
矩阵 $ \mathbf Z $ node-level
每个head
的注意力权重 $ \left\{\alpha_{i,j}^{\Phi_p,k}\right\} $semantic-level
的注意力权重 $ \{\beta_{\Phi_p}\} $
- 最终的
算法步骤:
迭代
metapath
: $ \Phi \in \{\Phi_0,\Phi_1,\cdots,\Phi_P\} $ ,迭代过程为:迭代多头
$ k=1,\cdots,K $ ,迭代过程为:进行
type-specific
转换: $ \mathbf{\vec x}_i^\prime \leftarrow \mathbf M_{\Phi } \mathbf{\vec x}_i $遍历所有节点
$ v_i\in \mathcal V $ :找到
metapath-based
邻域集合 $ \mathcal N_i^\Phi $对于
$ v_j\in \mathcal N_i^\Phi $ ,计算 $ \alpha_{i,j}^\Phi $ :计算
semantic-specific
节点embedding
:
拼接多头学到的
semantic-specific
节点embedding
:
计算
metapath
$ \Phi_i $ 的注意力权重 $ \beta_{\Phi_i} $ :融合
semantic-specific node embedding
: $ \mathbf Z \leftarrow \sum_{i=1}^P \beta_{\Phi_i} \mathbf Z_{\Phi_i} $计算交叉熵损失:
$ \mathcal L = -\sum_{v\in \mathcal V_Y} \mathbf{\vec y}_v\cdot \ln\left(\vec\theta_c\cdot\mathbf{\vec z_v}\right) $反向传播并更新参数
返回
$ \mathbf Z $ , $ \left\{\alpha_{i,j}^{\Phi_p,k}\right\} $ , $ \{\beta_{\Phi_p}\} $
21.1.3 分析
HAN
可以处理异质图中各种类型的节点和各种类型的关系,并融合了丰富的语义信息。信息可以通过多种关系从一种类型的节点传播到另一种类型的节点。得益于这种异质的图注意力网络,不同类型节点的embedding
能够不断相互促进提升。HAN
是高效的,可以轻松并行化。每个节点的注意力可以独立地并行化,每条metapath
的注意力也可以独立地计算。给定一个
metapath
$ \Phi $ ,node-level
注意力的时间复杂度为 $ O(|\mathcal V_\Phi| F_1F_2 K + |\mathcal E_\Phi| F_1 K) $ ,其中: $ |\mathcal V_\Phi| $ 为属于metapath
$ \Phi $ 的节点数量, $ |\mathcal E_\Phi| $ 为属于metapath
$ \Phi $ 的 节点pair
对的数量。 $ K $ 为multi-head
的数量。 $ F_1, F_2 $ 分别为 $ \mathbf M_{\Phi} $ 的行数和列数。
总体复杂度和
metapath
中节点数量成线性,和metapath
中节点pair
对的数量成线性。分层注意力的参数在整个异质图上共享,这意味着
HAN
的参数规模不依赖于异质图的大小,并且HAN
可以应用于inductive learning
。HAN
对于学到的node embedding
具有潜在的良好解释性,这对于异质图的分析是一个很大的优势。有了节点重要性和
metapath
重要性,HAN
可以在具体任务下更关注于一些有意义的节点或metapath
,并给异质图一个更全面的描述。根据注意力值,我们可以检查哪些节点或
metapath
为任务做出了更多(或更少)的贡献,这有助于分析和解释我们预测的结果。
21.2 实验
数据集:
DBLP
:我们提取了DBLP
的子集,其中包含14328
篇论文(paper:P
)、4057
位作者(author:A
)、20
个会议(conference:C
)、8789
个术语 (term:T
) 。作者分为四个领域:数据库database
、数据挖掘data mining
、机器学习machine learning
、信息检索information retrieval
。我们根据作者提交的会议来标记每个作者的研究领域。作者的特征是他们发表文档的关键词的
bag-of-word
。这里我们使用metapath
集合 $ \{\text{APA},\text{APCPA},\text{APTPA}\} $ 进行实验。ACM
:我们提取在KDD, SIGMOD, SIGCOMM, MobiCOMM, VLDB
中发表的论文,并将论文分为三个类别:数据库database
、无线通信wireless commmunication
、数据挖掘data mining
。然后我们构建一个包含3025
篇论文(paper:P
)、5835
名作者(auther:A
)、56
个主题(subject:S
)的异质图,论文标签为它被发表的会议。论文的特征为关键词的
bag-of-word
。这里我们使用metapath
集合 $ \{\text{PAP},\text{PSP}\} $ 进行实验。IMDB
:我们提取IMDB
的子集,其中包含4780
部电影(movie:M
)、5841
名演员(actor:A
)、2269
位导演(director:D
)。电影根据类型分为三个类别:动作片Action
、喜剧Comedy
、戏剧Drama
。电影的特征为电影情节的
bag-of-word
。这里我们使用metapath
集合 $ \{\text{MAM},\text{MDM}\} $ 进行实验。
数据集的统计结果如下所示:
baseline
方法:我们和一些最新的baseline
方法比较,其中包括:同质网络embedding
、异质网络embedding
、基于图神经网络的方法。为分别验证node-level
注意力和semantic-level
注意力,我们还测试了HAN
的两个变体。DeepWalk
:一种基于随机游走的网络embedding
方法,仅用于同质图。这里我们忽略节点的异质性,并在整个异质图上执行DeepWalk
。ESim
:一种异质图的embedding
方法,可以从多个metapath
捕获语义信息。由于难以搜索一组
metapath
的权重,因此我们将HAN
学到的metapath
权重分配给ESim
。metapath2vec
:一种异质图embedding
方法,该方法执行metapath-based
随机游走,并利用skip-gram
嵌入异质图。这里我们测试
metapath2vec
的所有metapath
并报告最佳性能。HERec
:一种异质图embedding
方法,该方法设计了一种类型约束策略来过滤节点序列,并利用skip-gram
来嵌入异质图。这里我们测试了
HERec
的所有metapath
并报告了最佳性能。GCN
:用于同质图的半监督图神经网络。这里我们测试了
GCN
的所有metapath
,并报告了最佳性能。GAT
:用于同质图的半监督神经网络,它考虑了图上的注意力机制。这里我们测试了
GAT
的所有metapath
,并报告了最佳性能。 $ \text{HAN}_{\text{nd}} $ :HAN
的一个变体,它移除了node-level
注意力机制,并给节点的每个邻域赋予相同的权重。 $ \text{HAN}_{\text{sem}} $ :HAN
的一个变体,它移除了semantic-level
注意力机制,并给每个metapath
赋予相同的权重。HAN
:我们提出的半监督图神经网络,它同时采用了node-level
注意力和semantic-level
注意力。
这里有些
baseline
是无监督的、有些是半监督的。将半监督方法和无监督方法进行比较是不公平的,因为半监督方法可以获得部分的label
信息,因此半监督方法通常都会比无监督方法更好。实验配置:
HAN
:- 随机初始化参数并使用
Adam
优化器,学习率为0.005
,正则化参数为0.001
。 semantic-level
注意力向量 $ \mathbf{\vec q} $ 的维度为128
,multi-head
数量 $ K=8 $attention dropout
比例为dropout rate = 0.6
- 执行早停策略,早停的
patience = 100
。即:如果100
个连续的epoch
中,验证集损失没有降低则停止训练。
- 随机初始化参数并使用
对于
GCN,GAT
,我们使用验证集来调优其超参数。对于
GCN,GAT,HAN
等半监督图神经网络,我们使用完全相同的训练集、验证集、测试集,从而确保公平性。对于
DeepWalk, ESim, metapath2vec, HERec
等基于随机游走的方法,我们将每个节点开始的随机游走数量设为40
,每个随机游走序列长度为100
,上下文窗口大小为5
,负样本的采样数量为5
。为公平起见,我们将上述所有方法的
embedding
维度设为64
。
21.2.1 分类任务
我们使用
$ k=5 $ 的KNN
分类器对节点进行分类,分类器的输入为模型学到的node embedding
。由于图结构数据的方差可能很大,因此我们重复该过程10
次,并报告平均的Macro-F1
和Micro-F1
。HAN
在所有数据集中超越了其它baseline
。- 对于传统的异质图
embedding
方法,能够利用多个metapath
的ESim
比metapath2vec
表现更好。 - 通常结合了图结构信息性和节点特征信息的图神经网络(如
GCN,GAT
)要优于异质图embedding
方法。 - 相较于
GCN
和 $ \text{HAN}_{\text{nd}} $ 这些考虑节点邻居的均匀权重,GAT
和HAN
可以对邻居进行适当地加权,从而提高了学到的embedding
的性能。 - 和
GAT
相比,为异质图设计的HAN
能够成功地捕获丰富的语义信息并展示其优越性。 - 在没有
node-level
注意力 ( $ \text{HAN}_{\text{nd}} $ ) 、或者没有semantic-level
注意力 ( $ \text{HAN}_{\text{sem}} $ ) 的情况下,二者性能会比HAN
更差。这表明node-level
注意力建模和semantic-level
注意力建模的重要性。 - 相比
DBLP
,HAN
在ACM,IMDB
数据集的效果提升更明显,这是因为在DBLP
中,metapath APCPA
比其它的metapath
重要得多,因此仅针对该metapath
的HERec/GCN/GAT
已经能够取得很好的效果。。我们在下文通过分析semantic-level
注意力来解释该现象。
因此,结论证明了在异质图中捕获
node-level
和semantic-level
的重要性非常重要。
21.2.2 聚类
我们还对学到的
node embedding
执行聚类,从而评估embedding
的聚类效果。这里我们使用KMeans
聚类算法,聚类数量设为节点的类别数量。我们使用节点的真实类别为真实的聚类类别,并使用NMI
和ARI
来评估聚类结果的质量。归一化互信息
NMI
:其中:
$ H(X) = -\sum_{i}p(x_i)\log p(x_i) $ 为熵; $ I(X,Y) = \sum_x\sum_y p(x,y)\log \frac{p(x,y)}{p(x)p(y)} $ 为互信息。ADjusted Rand index:ARI
:其中:
$ C_2^n $ 为所有标记节点对的组合, $ n $ 为标记节点数量。 $ a $ 为真实类别相同的一对节点、且聚类类别也相同的节点对的数量; $ b $ 为真实类别不同的一对节点、且聚类类别也不同的节点对的数量。 $ \max(\text{RI}) $ 为所有情况下RI
指标的最大值; $ \mathbb E[\text{RI}] $ 为随机拆分的RI
指标的期望。这是为了使得随机聚类的情况下该指标为零。
由于
KMeans
的性能受到初始质心的影响,因此我们将该过程随机重复执行10
次,并报告平均结果。结论:
HAN
在所有数据集上始终优于其它baseline
。- 基于图神经网络的算法通常可以获得更好的性能。
- 由于不区分节点和
metapath
的重要性,因此metapath2vec
和GCN
的聚类效果较差。 - 在多个
metapath
的指导下,HAN
的性能明显优于GCN/GAT
。 - 如果没有
node-level
注意力 ( $ \text{HAN}_{\text{nd}} $ ) 、或者没有semantic-level
注意力 ( $ \text{HAN}_{\text{sem}} $ ) ,则HAN
的性能会退化。这表明node-level
注意力建模和semantic-level
注意力建模的重要性。
基于上述分析,我们发现
HAN
可以对异质图进行全面描述,并取得显著改善。
21.2.3 分层 attention
HAN
的一个显著特性是结合了分层attention
机制,从而在学习embedding
时同时考虑了节点邻居的重要性和metapath
的重要性。为了更好地理解邻居重要性和metapath
重要性,我们对分层注意力机制进行详细的分析。node-level
注意力:如前所述,HAN
可以学到metapath
中节点及其邻居之间的注意力值。对于具体的任务,重要的邻居往往具有更大的注意力值。这里我们以
ACM
数据集中的论文P831
为例。给定一个描述不同论文的author
关系的metapath Paper-Author-Paper
,我们枚举了论文P831
的metapath-based
邻居,其注意力值如下图所示。不同颜色表示不同的类别,如绿色表示数据挖掘、蓝色表示数据库、橙色表示无线通信。从图
a
中可以看到:P831
链接到P699
和P133
,它们都属于数据挖掘。P831
链接到P2384
和P2328
,它们都属于数据集。P831
和P1973
相连,它们都属于无线通信。
从图
b
中可以看到:P831
从node-level
注意力中获得最大的注意力值,这意味着P831
自身在学习其embedding
中起着最重要的作用。这是合理的,因为通常节点类别主要由其本身的特性决定,而邻居信息仅作为一种补充。
P699
和P133
在node-level
注意力种获得第二、第三大的注意力值。这是因为P699
和P133
也属于数据挖掘,它们为识别P831
的类别做出重大贡献。其余邻居的注意力较小,无法为识别
P831
的类别做出重要贡献。
根据以上分析,我们可以看到
node-level
注意力可以区分邻居之间的差别,并为某些有意义的邻居分配更大的权重。semantic-level
注意力:如前所述,HAN
可以学到metapath
对特定任务的重要性。为验证semantic-level
注意力的能力,我们以DBLP
和ACM
为例,给出了单个metapath
聚类结果(NMI
),以及对应注意力值。显然,单个
metapath
的性能和它的注意力权重之间存在正相关。对于
DBLP
,HAN
赋予APCPA
更大的权重,这意味着HAN
认为APCPA
是确定作者研究领域的最关键的metapath
。这是有道理的,因为作者的研究领域和他们提交的会议是高度相关的。如,一些NLP
研究人员主要将其论文提交给ACL
或EMNLP
;另一些数据挖掘研究人员可能将其论文提交给KDD
或WWW
。另外,
APA
很难准确地确定作者的研究领域。因此,如果我们平等地对待这些metapath
(如 $ \text{HAN}_{\text{sem}} $ ) , 则模型性能大大下降。根据每个
metapath
的注意力值,我们发现metapath APCPA
比APA, APTPA
有用的多。因此,即使HAN
将这些metapath
聚合在一起,APCPA
在确定作者研究领域方面仍然起着主导作用。这也是为什么在
DBLP
中,HAN
性能可能不如ACM
和IMDB
中提升得那么多。对于
ACM
,我们也得出类似得结论。对于ACM
,PAP
的权重更高。由于
PAP
的性能略好于PSP
,因此 $ \text{HAN}_{\text{sem}} $ 可以通过简单的平均操作获得良好的性能。
21.2.4 可视化
为直观地进行比较,我们执行可视化任务,从而在低维空间中可视化异质图。具体而言,我们基于模型学习节点
embedding
,并将学到的embedding
映射到二维空间。这里,我们使用t-SNE
来可视化DBLP
的author
节点,并根据节点类别来进行染色。结论:
为同质图设计的
GCN
和GAT
效果不佳,属于不同研究领域的作者彼此混杂。metapath2vec
的性能比上述同质图的神经网络效果好得多,它表明适当的metapath
(如APCPA
) 对异质图分析做出重要贡献。但是,由于
metapath2vec
仅考虑一条metapath
,因此不同类别节点之间的边界仍然模糊。HAN
的可视化效果最好。在多种metapath
指导下,HAN
学到的embedding
具有高度的簇内相似性,并将具有不同研究领域学者的边界的区分开来。
21.2.5 参数敏感性
这里我们研究参数敏感性,并报告了不同参数下,
ACM
数据集上的聚类NMI
结果。最终
embedding
$ \mathbf Z $ 的维度:可以看到,随着embedding
维度的增加,HAN
性能先提高后下降。原因是:
HAN
需要一个合适的维度来编码语义信息,但是维度过大之后可能会引入额外的冗余(即,过拟合)。semantic-level
注意力向量维度:可以看到,HAN
的性能首先随着semantic-level
注意力向量 $ \mathbf{\vec q} $ 维度的增加而增加,当维度为128
时达到最佳性能;然后随着维度的增加而下降,这可能是因为过拟合导致。multi-head
数量 $ K $ :可以看到, $ K $ 越大则HAN
性能越好。但是随着 $ K $ 的增加,HAN
的性能略有改善(改善幅度不大)。同时,我们还发现multi-head attention
可以使得训练过程更为稳定。注意:当
$ K=1 $ 时,multi-head
退化为单头。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论