数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 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
- 并发
二十三、ANRL [2018]
网络是对现实世界中复杂系统进行探索和建模的通用数据结构,包括社交网络、学术网络、万维网等等。在大数据时代,网络已经成为一个重要媒介,用于有效地存储、访问交互实体的关系知识
relational knowledge
。在网络中挖掘知识已经引起了学术界和工业界的持续关注,例如在线广告targeting
、推荐系统。大多数的这些任务都需要精心设计的模型,并且需要大量专家努力进行特征工程,而representation learning
是自动化的feature representation
方案。采用representation learning
之后,可以通过在低维向量空间中学习从而极大地提升网络中的知识挖掘任务,如聚类、链接预测、分类等任务。network representation learning
中的相关工作可以追溯到基于图的降维方法,例如局部线性嵌入Locally Linear Embedding: LLE
、Laplacian Eigenmap: LE
。LLE
和LE
都通过构建最近邻图nearest neighbor graph
来维护数据空间中的局部结构local structure
。为了使相互连接的节点在representation
空间中彼此更接近,人们计算亲和图affinity graph
的相应eigenvector
作为节点的representation
。这些方法的一个主要问题是:由于计算eigenvector
的计算复杂度太高,它们很难扩展到大型网络。受到
word2vec
模型最近成功的启发,人们已经提出了许多基于网络结构的representation learning
方法,并在各种application
中显示出良好的性能。然而,节点属性信息没有受到太多关注,实际上这些节点属性信息可能在许多application
中发挥重要作用。我们经常在现实世界的网络中观察到带各种属性的节点,这种网络被称作属性信息网络attributed information network
。例如,在Facebook
社交网络中,用户节点通常关联了个性化的用户画像,包括年龄、性别、教育、以及发帖内容。最近的一些努力通过整合网络拓扑信息和节点属性信息来探索属性信息网络,从而学到更好的representation
。属性信息网络中的
representation learning
仍然处于早期阶段,能力相当有限,原因是:- 网络拓扑和节点属性是两个异质的信息源,因此很难在公共向量空间中保存它们的属性。
- 观察到的网络数据往往是不完整
attributed information network
的,甚至是噪音noisy
的,这使得更加难以获取有信息量的representation
。
为了解决上述挑战,论文
《ANRL: Attributed Network Representation Learning via Deep Neural Networks》
提出了一个统一的框架,称作ANRL
。该框架通过联合地集成网络结构信息和节点属性信息来学习属性信息网络中的、鲁棒的representation
。更具体而言,论文利用深度神经网络的强大表达能力来捕获两个信息源的、复杂的相关性,这两个信息源由邻域增强自编码器neighbor enhancement autoencoder
、以及属性感知attribute-aware
的SkipGram
模型组成。总而言之,论文的主要贡献如下:- 论文提出了一个统一的框架
ANRL
,它将网络结构邻近性proximity
和节点属性亲和性affinity
无缝集成到低维representation
空间中。更具体而言,论文设计了一个邻域增强自编码器,它可以在representation
空间中更好地保持数据样本之间的相似性。论文还提出了一个属性感知的SkipGram
模型来捕获结构相关性。这两个组件与一个共享的编码器相连,其中这个共享编码器捕获了节点属性信息以及网络结构信息。 - 论文通过两个任务(链接预测任务、节点分类任务)对六个数据集进行了广泛的实验,并通过实验证明了所提出模型的有效性。
相关工作:一些早期的工作和其它谱方法
spectral method
旨在保留数据的局部几何结构,并在低维空间表达数据。这些方法是降维技术的一部分,可以被视为graph embedding
的先驱。最近,
network representation learning
在网络分析中越来越受欢迎。network representation learning
专注于嵌入当前的网络而不是构建亲和图affinity graph
。其中:DeepWalk
执行截断的随机游走从而生成节点序列,并将节点序列视为sentence
并输入到SkipGram
模型从而学习representation
。Node2vec
通过采用广度优先breadth-first: BFS
和深度优先depth-first: DFS
的图搜索策略来探索不同的邻域,从而扩展了DeepWalk
。LINE
不是执行随机游走,而是优化一阶邻近性和二阶邻近性。GraRep
提出为graph representation
捕获k
阶关系信息relational information
。SDNE
将图结构整合到深度自编码器deep autoencoder
中,从而保持高度非线性的一阶邻近性和二阶邻近性。
属性信息网络在许多领域中无处不在。通过同时使用网络结构信息和节点属性信息来实现更好的
representation
,这是很有前景的。一些现有的算法已经研究了将这两个信息源联合地嵌入到一个统一空间中的可能性。例如:TADW
将DeepWalk
和相关的文本特征整合到矩阵分解框架中。PTE
利用label
信息和不同level
的单词共现信息来生成predictive text representation
。TriDNR
使用来自三方的信息(包括节点结构、节点内容、节点label
)来联合学习node representation
。
尽管上述方法确实将节点属性信息融合到
representation
中,但它们是专门为文本数据设计的,不适用于许多其他类型的特征(如连续数值特征)。最近,人们已经提出了几种特征类型无关的
representation learning
算法,以通过无监督或半监督的方式进一步提高性能。这些算法可以处理各种特征类型,并捕获结构邻近性structural proximity
以及属性亲和性attribute affinity
。AANE
是一种分布式embedding
方法,它通过分解属性亲和矩阵,并使用network lasso
正则化来惩罚互相连接的节点之间的embedding difference
,从而联合地学习node representation
。Planetoid
同时开发了transductive
方法和inductive
方法来联合预测图中的class label
和邻域上下文。SNE
通过利用端到端神经网络模型来捕获网络结构信息和节点属性信息之间复杂的相互关系,从而生成embedding
。- 另一个半监督学习框架
SEANO
采用输入样本属性、以及它平均邻域属性聚合的方式,从而缓解异常值在representation leraning
过程中的负面影响。
也有一些工作在探索异质信息网络中的
representation learning
。metapath2vec
利用基于metapath
的随机游走来生成异质节点序列,并采用异质SkipGram
模型来学习node representation
。《Attributed network embedding for learning in a dynamic environment》
提出了一种模型,该模型可以在动态环境而不是静态网络中处理representation learning
。《Attributed signed network embedding》
研究了有符号信息网络中的representation learning
问题。
我们将这些可能的扩展保留为未来的工作。
23.1 模型
令
$ \mathcal G=(\mathcal V,\mathcal E,\mathbf X) $ 为一个属性信息网络,其中 $ \mathcal V=\{v_1,\cdots,v_n\} $ 为节点集合, $ \mathcal E=\{e_{i,j}\} $ 为边的集合。 $ \mathbf X\in \mathbb R^{n\times m} $ 为节点的属性集合, $ \mathbf{\vec x}_i\in \mathbb R^m $ 为 $ \mathbf X $ 的第 $ i $ 行,表示节点 $ v_i $ 的特征向量。属性信息网络的
representation learning
任务的目标是:学习一个映射函数 $ f: v_i\rightarrow \mathbf{\vec y}_i \in \mathbb R^d $ ,其中 $ d\ll n $ ,它将每个节点 $ v_i $ 映射到一个低维向量 $ \mathbf{\vec y}_i $ ,并在映射过程中保持网络结构邻近性network structure proximity
、节点属性邻近关系node attribute proximity
。
23.1.1 邻域增强自编码器
为了编码节点的属性信息,我们设计了一个邻域增强自编码器模型。该自编码器由编码器和解码器组成,旨在重建目标节点的邻域而不是目标节点本身。值得注意的是,当我们的目标邻域是输入节点本身时,该自编码器退化为传统的自编码器。
具体而言,对于节点
$ v_i $ 假设属性特征向量为 $ \mathbf{\vec x}_i $ 。假设目标邻域target neighbor
的聚合函数为 $ T(\cdot) $ 。由于自编码器只能重建一个变量,无法重建所有邻居,因此这里采用聚合函数来聚合目标节点的邻域,并重建聚合后的结果。定义每一层的隐向量为:
其中:
$ K $ 为编码器和解码器的层数, $ \sigma(\cdot) $ 为激活函数(如ReLU
), $ \mathbf W^{(k)},\mathbf{\vec b}^{(k)} $ 为第 $ k $ 层的模型参数。我们的目标是最小化自编码器的损失:
其中:
$ \hat{\mathbf{\vec x}}_i $ 为解码器的重建输出, $ T(v_i) $ 为节点 $ v_i $ 的目标邻域。函数
$ T(\cdot) $ 定义了目标节点的邻域的聚合方式,可以采用以下形式:邻域加权平均
Weighted Average Neighbor
:其中:
$ \mathcal N(i) $ 为节点 $ v_i $ 的邻域节点集合, $ w_{i,j} $ 为节点 $ v_i $ 和 $ v_j $ 的边的权重。对于无权图,则 $ w_{i,j} = 1 $ 。邻域的逐元素中位数
Elementwise Median Neighbor
:其中
$ \tilde x_k $ 为所有邻域节点的特征向量在第 $ k $ 维的中位数(带权重):中位数指的是排序之后位于正中间的那个数。
与传统的自编码器相比,我们的邻域增强自编码器在保持节点之间的邻近性方面效果更好。因为邻域增强自编码器迫使节点重建相似的目标邻域,从而使得位置相近的节点具有相似的
representation
。因此,它捕获了节点属性信息和局部网络结构信息。另外,重建的目标综合了多个邻域节点的信息,这比传统的重建单个节点(目标节点自身)更为鲁棒。因为单个节点的波动更大。
最后,我们提出的邻域增强自编码器是一个通用框架,可用于各种自编码器的变体,如降噪自编码器、变分自编码器。
23.1.2 属性感知 SkipGram 模型
属性感知
SkipGram
模型将属性信息融合到SkipGram
模型。具体而言,在SkipGram
的目标函数中为随机游走上下文提供当前节点的属性信息:其中:
$ v_j $ 为随机游走序列中当前节点 $ v_i $ 的上下文。 $ \mathbb C_i $ 为当前节点 $ v_i $ 的上下文集合。 $ p(v_j\mid \mathbf{\vec x}_i) $ 为给定当前节点 $ v_i $ 及其节点属性的条件下,上下文节点为 $ v_{j} $ 的概率。我们定义该条件概率为:其中:
$ \mathbf{\vec x}_i $ 为节点 $ v_i $ 的属性信息。 $ f(\cdot) $ 为任意的属性编码器,如针对图片数据的CNN
编码器、针对序列数据的RNN
编码器。这里我们使用邻域增强自编码器(见小面的小节)。 $ \mathbf{\vec c}_j $ 为节点 $ v_j $ 作为上下文时的上下文representation
。
因此,
$ p(v_j\mid \mathbf{\vec x}_i) $ 不仅对节点属性进行建模,还对网络结构进行建模。
直接优化
$ p(v_j\mid \mathbf{\vec x}_i) $ 的计算代价太大,因为分母需要对所有节点进行求和。同样地,我们使用负采样技巧:其中:
$ \sigma(x) = 1/(1+\exp(-x)) $ 为sigmoid
函数。 $ S $ 为每个正样本的负采样数量。 $ P_n(v) $ 为负采样的概率分布。这里我们使用 $ P_n(v)\propto d_v^{3/4} $ ,其中 $ d_v $ 为节点 $ v $ 的degree
。
23.1.3 ANRL 模型
ARNL
模型同时利用了网络结构和节点属性信息。如下图所示,ANRL
模型由两个耦合的模块组成:邻域增强自编码器模块、属性感知SkipGram
模块。编码器将输入的属性信息映射到低维向量空间,并扩展出两路输出:
- 左路输出为邻域增强自编码器的解码器部分。
- 右路输出用于预测属性感知
SkipGram
的节点上下文。
邻域增强自编码器、属性感知
SkipGram
共享网络的前几层(编码器部分),因此这两个模块相互耦合。通过这种方式,ARNL
学到的节点 $ v_i $ 的representation
$ \mathbf{\vec y}_i^{(K)} $ 同时捕获了节点属性信息、网络结构信息。ANRL
可以视为多任务模型,包括:基于邻域增强自编码器的邻域属性重建任务、基于属性感知SkipGram
的上下文预测任务。二者共享节点的representation
。ANRL
模型通过联合学习邻域增强自编码器模块、属性感知SkipGram
模块两个模块,其目标函数为:其中:
$ \alpha,\beta $ 分别为邻域增强自编码器模块、正则化的权重。 $ \mathbb C_i $ 为节点 $ v_i $ 随机游走的上下文节点集合, $ \mathbf{\vec c}_j $ 为节点 $ v_j $ 作为上下文时的上下文representation
。 $ \mathbf{\vec y}_i $ 为编码器模块的输出,即 $ f(\mathbf{\vec x}_i) = \mathbf{\vec y}_i = \mathbf{\vec y}_i^{(K)} $ 。 $ \mathbf W^{(k)} $ 和 $ \mathbf{\hat W}^{(k)} $ 分别表示第 $ k $ 层编码器和第 $ k $ 层解码器的权重矩阵。
通过这种方式,
ANRL
将节点属性、局部网络结构、全局网络结构保留在一个统一的框架中。通过邻域增强自编码器模块捕获网络局部结构信息,通过属性感知的
SkipGram
模块捕获网络全局结构信息,通过这两个模块同时捕获节点属性信息。值得注意的是:属性感知的
SkipGram
模块的函数 $ f(\cdot) $ 正是自编码器模块的编码器部分,它将节点属性信息转换为representation
$ \mathbf{\vec y}_i^{(K)} $ 。因此,网络结构信息和节点属性信息将共同影响 $ \mathbf{\vec y}_i^{(K)} $ 。此外,为简单起见,我们使用单个非线性层来捕获图的上下文信息,并可以轻松地扩展到多个非线性层。
我们使用随机梯度算法来优化
$ \mathcal L $ 。我们迭代优化这两个耦合的模块,直到模型收敛。ANRL
训练算法:输入:
- 属性信息网络
$ \mathcal G=(\mathcal V,\mathcal E,\mathbf X) $ - 每个节点开始的随机游走序列数量
$ \gamma $ - 随机游走序列长度
$ t $ - 上下文窗口大小
$ b $ embedding
维度 $ d $- 损失函数平衡系数
$ \alpha,\beta $
- 属性信息网络
输出:节点的
representation
矩阵 $ \mathbf Y\in \mathbb R^{|V|\times d} $算法步骤:
对每个节点执行
$ \gamma $ 次随机游走,游走序列长度为 $ t $ 。从随机游走序列中构建每个节点的上下文集合
$ \mathbb C $ 。根据函数
$ T(\cdot) $ 构建每个节点的目标邻域。随机初始化所有的参数
$ \Theta $ 。迭代直到模型收敛,迭代步骤为:
- 随机采样一个
mini-batch
的节点及其上下文。 - 计算梯度
$ \nabla_{\Theta} \mathcal L_{ae} $ ,并更新自编码器模块的参数。 - 计算梯度
$ \nabla_{\Theta}\mathcal L_{sg} $ ,并更新SkipGram
模块的参数。
- 随机采样一个
返回
$ \mathbf Y = \mathbf Y^{(K)} $ 作为节点的embedding
矩阵。
23.2 实验
数据集:
社交网络数据集:
Facebook
和UNC
数据集是两个典型的社交网络数据集,节点代表用户,边代表用户的好友关系。引文网络数据集:
Citeseer
和Pubmed
是典型的引文网络数据集,节点代表论文或出版物,边代表它们之间的引用关系。Citeseer
中的论文分为六种类别:Agents,AI,DB,IR,ML,HCI
。Pubmed
中的论文分别三种类别:Diabetes Mellitus Experimental
、Diabetes Mellitus Type 1
(I
型糖尿病)、Diabetes Mellitus Type 2
(II
型糖尿病)。
用户行为网络数据集:
UniID
和Fraud Detection
是阿里巴巴提供的两个真实的用户行为数据集。UniID
网络中的节点表示物理设备的ID
,边表示在同一个用户的行为记录中观察到两个ID
同时出现。Fraud Detection
网络中存在两种类型的节点:cookie
节点(代表买家)、seller
节点(代表卖家)。cookie
节点包含了带属性的cookie
信息。为了获得同质
cookie
网络,我们采用如下方法将二部图映射为仅包含cookie
节点的图:当且仅当两个cookie
之间存在至少五个共同的seller
节点时,连接这两个cookie
节点。我们的目标是鉴别哪些cookie
是可疑的。
Baseline
模型:我们将当前state-of-the-art
的network representation learning
方法划分为以下几组:- 仅属性的方法
Attribute-only
:仅考虑节点属性信息。这里我们选择SVM
和自编码器作为baseline
模型。 - 仅结构的方法
Structure-only
:仅考虑网络结构信息。这里我们选择DeepWalk, node2vec, LINE, SDNE
作为baseline
模型。 - 属性和结构的方法
Attribute + Structure
:同时考虑节点属性信息和网络结构信息。这里我们选择AANE, SNE, Planetoid-T,TriDNR, SEANO
作为baseline
模型。
最后我们还给出
ANRL
的几个变体:ANRL-WAN
:使用Weighted Averate Neighbor
来构造目标邻域。ANRL-EMN
:使用Elementwise Media Neighbor
来构造目标邻域。ANRL-OWN
:采用传统的自编码器来重建节点自己,而不是重建目标邻域。
- 仅属性的方法
模型配置:
对于
baseline
模型,我们使用原始作者发布的实现版本,并且baseline
模型的参数已经调整为最优。在
Fraud Detection
数据集中,我们选择将embedding
维度设置为 $ d=64 $ ,其它数据集 $ d=128 $ 。对于
LINE
模型,我们将一阶representation
和二阶representation
拼接起来作为最终representation
。对于
ANRL
,我们选择随机游走序列长度为80
、每个节点开始的随机游走序列数量为10
、负采样比例为5
、窗口大小为10
。另外,
ANRL
左路输出(包括了编码器和解码器)的层数和尺寸如下图所示,而右路输出仅使用单层神经网络。
链接预测任务:我们通过链接预测任务来评估各种算法学到的
embedding
的链接预测能力。我们随机移除图中
50%
的链接,然后在移除后的图上训练节点embedding
。一旦获得了节点embedding
,我们将被移除的链接作为正样本,然后随机选择相同数量的、并不存在的链接作为负样本,从而构造测试集。我们在测试集上评估embedding
的链接预测能力,具体做法是:根据余弦相似度对正样本和负样本进行排序。我们采用AUC
来评估排序的质量,较高的AUC
表示更好的性能。在三个无标签的数据集(
Facebook,UNC,UniID
)上进行链接预测任务的效果如下图所示。结论:ANRL
在所有数据集上都显著超越了baseline
。由于
DeepWalk,node2vec,LINE,SDNE
仅利用网络结构信息,因此当网络极为稀疏时(如UniID
数据集),它们的性能相对较差。有趣的是,在这一组四个模型中,
node2vec
取得了最好的结果。主要是因为node2vec
可以通过有偏的随机游走探索各种网络结构信息。与之前的研究结果一致:我们观察到结合节点属性和网络结构信息可以提高链接预测性能,这反映了属性信息的价值。
其中,
AANE,TriDNR
仅利用一阶网络结构信息,它们无法捕获足够的信息来进行链接预测。而该组其余算法通过在网络上执行随机游走从而捕获更高阶的网络邻近信息从而获得更好的性能。ARNL
同时利用了节点属性信息(通过邻域增强自编码器和属性感知SkipGram
模型)、全局结构信息(通过属性感知SkipGram
模型)、局部结构信息(通过邻域增强自编码器)。我们认为性能提升的主要原因之一是ANRL
同时考虑了局部结构信息和全局结构信息。
节点分类:我们通过分类预测任务来评估各种算法学到的
embedding
的分类预测能力。我们从每个类别中随机选择
20
个样本,并将它们作为标记数据(剩余所有节点在训练embedding
过程中label
信息不可用)来训练半监督baseline
。在学到节点embedding
之后,我们随机选择30%
的节点来训练SVM
分类器,剩余节点作为测试集用于评估性能。我们重复该过程10
次,并报告测试集上的平均Macro-F1
和平均Micro-F1
。实验结果如下。结论:ANRL-WAN
在所有数据集中超越了所有baseline
方法,其它基于属性和结构的方法紧随其后,然后是基于结构的方法。这证明了属性信息的价值,对节点属性进行适当的建模可以带来更好的representation
,并显著提高性能。attribute-only
方法优于大多数structure-only
方法。因为和节点属性相比,单纯的网络结构为分类任务提供的信息非常有限。另外,我们发现自编码器比
SVM
稍差,这表明降维的过程中可能会丢失一部分有用的信息。SEANO
通过在representation learning
阶段聚合邻域的属性信息,超越了其它几种最新的Attribute + Structure
方法。AANE
在该组的表现不佳,原因是AANE
涉及到亲和矩阵affinity matrix
的分解操作。由于我们通常不知道每对节点之间的相似性,因此需要根据特定的相似性度量进行计算。这大大降低了AANE
的性能。ANRL-WAN
和ANRL-EMN
的性能优于ANRL-OWN
以及大多数其它baseline
方法。ANRL-WAN
明显优于ANRL-OWN
,这证明了我们提出的邻域增强自编码器的有效性。此外,我们的属性感知SkipGram
模块和邻域增强自编码器模块使得潜在representation
更加平滑和鲁棒,这对于很多任务而言也是很重要的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论