数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 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
- 并发
七、WALKLETS [2016]
社交网络本质上是分层
hierarchical
的。例如,在人类社交网络中,每个人都是若干个社区community
的成员,这些社区从小型(例如家庭、朋友)到中型(例如学校、企业)到大型(例如民族、国家)。随着这些关系的尺度scale
发生变化,关系的拓扑结构也会发生变化。例如,考虑社交网络上某个大学的一名大学生(如下图所示):Friends
尺寸:他可能与朋友或直系亲属非常紧密地联系在一起,并与这些人(朋友或直系亲属)形成紧密的图结构。Classmates
尺寸:然而,他与同一座大学内的其它学生的关系更加松散。事实上,他与大多数学生没有直接的社交关系。Society
尺度:最后,他与本国其他人的联系相对较少,但是由于共同的文化,他仍将与本国其他人共享很多属性。
尺度在预测任务中也起着重要作用,因为这些任务也从与特定的用户属性相关(如用户的电影兴趣)到与用户所属社区的、更通用的属性相关(如用户所属的学校)。
在搜广推领域,尺度在刻画
user/item
特征上也是很重要的。大多数关于
network representation learning
的先前工作都使用 “一刀切” 的方法来处理这个问题,其中每个用户都使用单个network representation
来进行预测,因此无法显式捕获节点在网络中具有的多尺度关 系multiscale relationship
。在论文《Don’t Walk, Skip! Online Learning of Multi-scale Network Embeddings》
的作者看来,最好有一组representation
从而捕获用户的、所有尺度的社区成员关系。在论文
《Don’t Walk, Skip! Online Learning of Multi-scale Network Embeddings》
中,作者研究了大型图中node embedding
问题,其中该embedding
捕获了节点所属的所有社区的潜在层次结构latent hierarchy
。这些潜在的multiscale representation
对于社交网络中的预测任务很有用。在预测时,可以利用(单独的、或者组合的)representation
来提供更全面的、用户的隶属关系affiliation
。下面的左图和右图说明了不同尺度上representation
相似性之间的差异。中心的红色顶点表示源点,顶点颜色代表该顶点和源点的距离:距离越近颜色越红,距离越远颜色越蓝。- 左图给出了细粒度
representation
相似度的结果。在这一尺度下,只有源点的直系邻居才是相似的。 - 右图给出了粗粒度
representation
相似度的结果。在这一尺度下,源点附近的很多顶点都是相似的。
最近,人们对社交网络
representation learning
的兴趣激增,主要是基于神经矩阵分解neural matrix factorization
。这些方法在半监督网络分类问题上展示了强大的任务性能。尽管它们在任务中的表现很强,但是作者发现这些方法还有很多不足之处。首先,最初的工作只是间接地解决了在多个尺度上学习
representation
的问题,或者作为学习过程的产物(《Deepwalk: Online learning of social representations》
)、或者通过不同目标函数的不直观的组合(《Line: Largescale information network embedding》
)。最近,
《GraRep: Learning graph representations with global structural information》
提出了一种学习多尺度representation
的方法,但是它的计算复杂度使得它对于大多数真实世界的图而言都难以处理。其次,这些方法中的大多数都依赖于
network representation learning
的“一刀切”方法,它掩盖了图的每个单独尺度上存在的细微差别的信息。
论文
《Don’t Walk, Skip! Online Learning of Multi-scale Network Embeddings》
提出了一种用于学习网络中顶点的、多尺度multiscale
的representation
的新方法:WALKLETS
。这是一种用于学习社交representation
的在线算法,它的representation
以一种可推导derivable
的方式显式编码多尺度的顶点关系。与现有工作不同,WALKLETS
的维度具有意义,允许进行信息网络分类informed network classification
以及被捕获关系的可视化。该方法本身是可扩展的,并且可以在具有数百万个顶点的图上运行。WALKLETS
通过在图的顶点上对短的随机游走short random walk
进行子采样subsampling
来生成这些多尺度关系multiscale relationship
。通过在每个随机游走中跳过某些step
,论文的方法生成了一个由顶点pair
组成的语料库,其中这些顶点pair
可以通过固定长度的路径到达。然后可以使用该语料库来学习一系列潜在representation
,每个潜在representation
都从邻接矩阵中捕获更高阶的关系。具体而言,论文的贡献如下:
- 多尺度
representation learning
:论文提出了一种graph embedding
方法,它显式地捕获了多尺度关系multiple scale relationship
。 - 评估:论文在多个社交网络(如
BlogCatalog, DBLP, Flickr, YouTube, Arxiv
)上广泛评估WALKLETS
的representation
在多标签分类任务上的表现。在Micro-F1
指标上,WALKLETS
比DeepWalk
等几个具有挑战性的baseline
要高出多达5%
。 - 可视化和分析:
WALKLETS
保留了潜在representation
的多个尺度,作者用它来分析大型图中存在的多尺度效应multiscale effect
。
最后,
WALKLETS
是一种在线算法,可以轻松扩展到具有数百万个顶点和边的graph
。相关工作:相关工作分为三类:无监督
feature learning
、多尺度graph clustering
、graph kernel
。无监督
feature learning
:最近提出的社交representation learning
(DeepWalk, LINE, node2vec, Graph Likelihood
)使用Word2Vec
提出的神经网络损失来学习representation
从而编码顶点相似性vertex similarity
。与我们的工作不同,这些方法没有显式保留网络中发生的多尺度效应。与我们最接近的相关工作
GraRep
是通过随机游走转移矩阵random walk transition matrix
上的SVD
来显式建模网络中的多尺度效应。我们的工作使用采样sampling
和在线学习来操作更大规模的语料库。此外,我们的工作保留了多个尺度的representation
,这可以提供更好的任务性能的modeling insight
。人们还提出了分布式
representation
来对不同领域的结构关系进行建模,如计算机视觉、语音识别、自然语言处理。多尺度社区检测:人们已经提出了很多用于检测图中多尺度离散社区的技术。一般而言,与我们的方法不同,这些方法试图返回一个描述图中社交层级结构的硬聚类
hard clustering
。Graph Kernel
:Graph Kernel
是一种方法,它使用关系数据作为分类程序的一部分,但是通常速度很慢。最近的工作已经应用神经网络来学习graph kernel
的子图相似性subgraph similarity
。
7.1 模型
7.1.1 基础知识
基本概念:定义网络 $ G=(V,E) $ ,其中 $ V=\{v_i\} $ 为网络的成员集合, $ E $ 表示成员之间的链接集合,其中 $ E\sube (V\times V) $ 。我们将 $ G $ 的邻接矩阵称作 $ \mathbf A\in \mathbb R^{|V|\times |V|} $ ,当且仅当存在边 $ (v_i,v_j)\in E $ 时,元素 $ A_{i,j} $ 是非零的。给定具有邻接矩阵 $ \mathbf A $ 的图 $ G $ ,我们将其在尺度 $ k $ 处的视图
view
定义为由 $ \mathbf A^k $ 定义的图。我们将
representation
定义为映射 $ \Phi: V\rightarrow \mathbb R^{|V|\times d} $ ,它将每个顶点 $ v\in V $ 映射到低维空间 $ \mathbb R^{d} $ 中的 $ d $ 维向量。在实践中,我们以参数矩阵 $ \mathbf X\in \mathbb R^{|V|\times d} $ 来表示映射 $ \Phi(\cdot) $ ,该矩阵通常从数据中估计。最后,令 $ G_L = (G,\mathbf X,\mathbf Y) $ 表示部分标记
partially labeled
的社交网络,其中特征为 $ \mathbf X\in \mathbb R^{|V|\times d} $ ,标记为 $ \mathbf Y\in \mathbb R^{|V|\times |\mathcal Y|} $ , $ d $ 为特征空间的维度, $ \mathcal Y $ 为标签集合。多尺度
Representation Learning
:给定网络 $ G=(V,E) $ ,多尺度学习的目标是学习一组 $ k $ 个逐渐粗化coarser
的社交representation
$ \mathbf X_1,\mathbf X_2,\cdots,\mathbf X_k $ ,其中 $ \mathbf X_k\in \mathbb R^{|V|\times d} $ 捕获了 $ G $ 在尺度 $ k $ 处的视图view
。直观而言,每个
representation
都编码了不同视图的社交相似性social similarity
,对应于不同尺度的潜在社区的成员关系membership
。预测性学习任务
predictive learning task
:给定一个representation
或一组representation
$ \mathbf X $ ,任务的目标是学习将 $ \mathbf X $ 映射到标签集合label set
$ \mathcal Y $ 的假设hypothesis
$ H(\cdot) $ 。这将允许泛化generalization
,即推断 $ G $ 中无标签顶点的标签。Representation Learning
:representation learning
的目标是学习一个映射函数 $ \Phi: V\rightarrow \mathbb R^{|V|\times d} $ ,它将图中每个顶点 $ v\in V $ 映射到相关的潜在社交representation
。在实践中,我们用自由参数free parameter
的矩阵 $ \mathbf X\in \mathbb R^{|V|\times d} $ 来表示映射 $ \Phi(\cdot) $ 。
$ \text{Pr}\left(v_i\mid \left(\Phi(v_1),\Phi(v_2),\cdots,\Phi(v_{i-1})\right)\right)=\text{Pr}\left(v_i\mid \left(\mathbf{\vec x}_1,\mathbf{\vec x}_2,\cdots,\mathbf{\vec x}_{i-1}\right)\right) $DeepWalk
引入了一个概念:将顶点建模为截断随机游走truncated random walk
中节点共现node co-occurrence
的函数。这些截断随机游走序列捕获了图中每个每个顶点周围的扩散过程diffusion process
,并对局部社区结构local community structure
进行了编码。因此,DeepWalk
的目标是估计顶点 $ v_i $ 与其局部邻域local neighborhood
共现co-occurring
的可能性:其中 $ \mathbf{\vec x} = \Phi(v) $ 为顶点 $ v $ 的
representation
。然而,随着随机游走序列长度的增加,计算这个条件概率变得不可行。为解决这个问题,人们提出通过忽略相邻顶点的顺序来放松
$ \min_{\mathbf X} = -\log \text{Pr}\left(\{v_{i-w},\cdots,v_{i+w}\}-\{v_i\}\mid \mathbf{\vec x}_i\right) $relax
这个问题:不是使用上下文context
来预测目标顶点,而是使用目标顶点来预测其局部结构。就vertex representation
建模而言,这得到了最优化问题:有趣的是,这个优化目标直接等价于学习邻接矩阵 $ \mathbf A $ 的低秩近似
low-rank approximation
。神经矩阵分解
$ \text{Pr}(v_j\mid v_i) = \frac{\exp\left(\mathbf{\vec x}_i\cdot \mathbf{\vec c}_j\right)}{\sum_{j^\prime\in V}\exp\left(\mathbf{\vec x}_i\cdot \mathbf{\vec c}_{j^\prime}\right)} $Neural Matrix Factorization
:一种常用的方法建模节点 $ v_i $ 和 $ v_j $ 共现的概率是,使用softmax
将pairwise similarity
映射到概率空间,即:其中: $ \mathbf{\vec x}_i $ 为节点 $ v_i $ 的
input representation
, $ \mathbf{\vec c}_j $ 为节点 $ v_j $ 的output representation
。不幸的是,上式分母的计算量很大。为此,人们提出了噪声对比估计
$ \text{Pr}((v_i,v_j)) = \sigma\left(\mathbf{\vec x}_i\cdot \mathbf{\vec c}_j\right) = \frac{1}{1 + \exp\left(-\mathbf{\vec x}_i\cdot \mathbf{\vec c}_j\right)} $noise-contrastive estimation: NCE
作为上式的松弛relaxation
。NCE
将节点共现pair
$ (v_i,v_j) $ 的概率建模为:可以看出,这两个概率模型都对应于隐式分解邻接矩阵的某种变换
transformation
。为了启发我们的方法,我们简要讨论一些矩阵,先前关于学习社交
representation
的工作就是隐式分解了这些矩阵。具体而言,我们讨论了我们最接近的相关工作DeepWalk
。如《GraRep: Learning graph representations with global structural information》
、《Comprehend deepwalk as matrix factorization》
所述,描述由DeepWalk
执行的隐式矩阵分解的闭式解是可能的。他们推导出了一个带Hierarchical Softmax
的DeepWalk
(DeepWalk with Hierarchical Softmax: DWHS
) 公式,表明DeepWalk
正在分解一个矩阵 $ \mathbf M $ ,该矩阵包含高达 $ t $ 阶的随机游走转移矩阵random walk transition matrix
。换句话讲,元素 $ M_{i,j} $ 是从节点 $ v_i $ 到节点 $ v_j $ 的、长度不超过 $ t $ 的路径的数量的期望。
$ M_{i,j} = \log \frac{\#(v_i,v_j)}{\#(v_i)} = \log \frac{\left[\mathbf{\vec e}_i \left(\mathbf A + \mathbf A^2 + \cdots+\mathbf A^t\right)\right]_j}{t} $注:这意味着邻接矩阵 $ \mathbf A $ 为
0-1
矩阵,即图 $ G $ 为无权图。其中:
- $ \#(v_i,v_j) $ 是计数函数,它统计随机游走中 $ (v_i,v_j) $ 的共现次数; $ \#(v_i) $ 统计随机游走中 $ v_i $ 的出现次数。
- $ \mathbf{\vec e}_i\in \mathbb R^{|V|} $ 为一个
one-hot
的行向量,它的第 $ i $ 个元素为1
、其它元素都为0
。 - $ []_j $ 表示选择向量的第 $ j $ 个元素。
7.1.2 多尺度神经矩阵分解
这里我们介绍用于创建多尺度
network representation
的算法。我们首先描述我们用于捕获不同尺度的representation
的模型。我们接着讨论一些重点,如搜索策略和优化optimization
。最后,我们对一个小型的、真实世界的引文网络进行了案例研究,说明了通过我们方法捕获不同尺度的network representation
。这里我们在
Neural Matrix Factorization
的基础上,正式扩展了先前在社交representation learning
中的方法,从而显式地建模现实世界网络中表现出的多尺度效应。如等式 $ M_{i,j} = \log \frac{\left[\mathbf{\vec e}_i \left(\mathbf A + \mathbf A^2 + \cdots+\mathbf A^k\right)\right]_j}{k} $ 所示,
DeepWalk
隐式分解一个矩阵,该矩阵的元素包含 $ \mathbf A,\mathbf A^2, \cdots,\mathbf A^k $ ,其中 $ k $ 为随机游走的窗口大小。 $ \mathbf A $ 的每个幂次 $ \mathbf A^k $ 都代表不同尺度的网络结构。回想一下, $ A_{i,j}^k $ 表示节点 $ v_i $ 和 $ v_j $ 之间的、路径长度为 $ k $ 的路径数量。有趣的是,
DeepWalk
已经隐式地对多尺度的依赖关系进行了建模。这表明学到的representation
能够捕获社交网络中节点之间的短距离依赖关系和长距离依赖关系。尽管DeepWalk
的表达能力足以捕获这些representation
,但是它的多尺度属性有局限性:不保证多尺度:多尺度
representation
不一定被DeepWalk
捕获,因为多尺度没有被目标函数显式地保留。事实上,由于DeepWalk
来自 $ \mathbf A $ 的条目entry
总是比来自 $ \mathbf A^k $ ( $ k\gt 1 $ )的条目更多,因此它倾向于保持最小尺度(即 $ \mathbf A $ 的最低幂次)的representation
。为看清这一点,注意观察给定任何长度为 $ L $ 的随机游走序列,来自 $ \mathbf A $ 的条目数量最多为 $ L-1 $ ,而来自 $ \mathbf A^k $ 的条目最多为 $ (L-1)/k $ 。当大尺度(即高阶幂次)是网络上机器学习任务的适当
representation
时,这种小尺度bias
是一个根本性的弱点。例如,当对大尺度的图结构相关的特征进行分类时(例如,社交网络上的语言检测),与保留单个edge
的、更细粒度的representation
相比,更粗粒度的representation
可以提供更好的性能。仅全局
representation
:DeepWalk
学习了一种全局representation
,它融合了所有可能尺度的网络关系。因此,不同尺度的representation
是不可能独立地访问的。这是不可取的,因为每个单独的学习任务都需要从全局representation
中解码相关尺度的相似度信息similarity information
。实际上,社交关系的理想representation
将跨越多个尺度,每个尺度依次捕获更大范围的潜在社区成员关系community membership
。然后,每个学习任务都能够利用最佳level
的社交关系来完成该任务。正如我们将在实验部分中展示的那样,可以通过不同尺度的社交representation
来最大化每个学习任务的性能。比如线性组合或者非线性组合多个尺度的
representation
,从而最优化目标任务的性能。
多尺度随机游走
WALKLETS
:基于迄今为止讨论的观察结果,我们提出扩展DeepWalk
引入的模型从而显式地建模多尺度依赖关系multiscale dependency
。我们的方法通过分解邻接矩阵 $ \mathbf A $ 的幂来操作,使用最近提出的算法来学习representation
。与
DeepWalk
类似,我们通过从每个节点开始的一系列截断的随机游走truncated random walk
从而对网络进行建模。正如DeepWalk
中所讨论的,这些截断的随机游走中两个顶点的共现可以建模网络中的扩散速度diffusion rate
。然而,我们对采样程序进行了更关键的修改。具体而言,我们选择跳过随机游走中的一些节点。通过这种方式,我们形成了一组关系relationship
,这些关系是从 $ \mathbf A $ 的连续的、更高的幂次中采样到的。我们用 $ \text{WALKLETS}(\mathbf A^1,\cdots,\mathbf A^k) $ 来表示从邻接矩阵的幂次 $ \mathbf A^1,\cdots,\mathbf A^k $ 导出的WALKLETS
。$ \mathbf A $ 的每个不同幂次都构成了一个语料库,这一系列 $ k $ 个语料库分别对网络中的特定距离依赖性
specific distance dependency
进行建模。采样过程如下图所示,其中不同颜色代表不同的 $ k $ 值采样的edge
(意味着原始图中距离为 $ k $ 的路径)。在根据尺度采样的关系进行分区之后,我们对观察样本顶点 $ v_i $ 和顶点 $ v_j $ 之间的概率进行建模。这意味着以下目标函数可以学习每个节点 $ v_i\in V $ 的
$ \mathcal J = -\sum_{(v_i,v_j)\in \mathcal C_k} \log \text{Pr}(v_j\mid v_i) $representation
:其中 $ \mathcal C_k $ 为尺度 $ k $ 生成的随机游走
pair
构成的语料库。$ \mathcal J $ 寻求最大化 $ v_i $ 和上下文节点 $ v_j $ 共现的对数似然。这个目标通常称作
SkipGram
,在《Efficient estimation of word representations in vector space》
中首次被提出从而用于语言建模,并在DeepWalk
中首次扩展到network representation learning
。损失函数优化:我们使用具有随机梯度下降的标准反向传播算法优化上述损失函数。除非另有说明,我们使用默认的学习率
0.025
、默认的embedding size
$ d=128 $ 。这可以很容易地扩展到加权图(通过调整与权重成比例的梯度),边采样技术(在
LINE
中被提出)也可以适用于我们的方法。隐式矩阵分解的视角:通过以这种方式采样,我们可以表明我们学习了不同尺度的
representation
。在skipped random walk
上使用DeepWalk
,其中skip factor
设置为 $ k $ (我们对彼此距离为 $ k $ 的节点进行采样),我们隐式地考虑了从 $ \mathbf A^k $ 派生的矩阵。WALKLETS
必须预先计算每个顶点 $ v $ 的、距离为 $ k $ 的顶点集合。论文的方法是:在常规的随机游走过程中,连续跳过 $ k $ 个随机游走。另一种简单的方法是计算 $ \mathbf A^k $ ,但是计算复杂度太高。观察到在
skip factor
为 $ k $ 的skipped random walk
中,每个连续的node pair
$ v_i $ 和 $ v_{i+1} $ 都可以通过长度刚好为 $ k $ 的路径到达,因此它代表从 $ \mathbf A^k $ 采样的边。当我们为DeepWalk
提供的随机游走中,当前后节点之间的距离为 $ k $ 时,在 $ M_{i,j} = \log \frac{\left[\mathbf{\vec e}_i \left(\mathbf A + \mathbf A^2 + \cdots+\mathbf A^k\right)\right]_j}{k} $ 中仅有 $ \mathbf A^k $ 对应的项存在。因此,我们隐式地分解从 $ \mathbf A^k $ 派生的矩阵。搜索策略:
DeepWalk
、LINE
、node2vec
分别提出不同的搜索策略,从而根据图中的边生成不同的社交关系。广度优先策略从源节点依次扩展并检查其所有邻居,这对于局部邻居而言效果很好,但是随着更高level
的扩展(即邻居的邻居)而面临状态空间爆炸state space explosion
。深度优先策略使用随机游走,它编码更远距离的信息,可能更适合学习更高阶的network representation
。我们的方法通过随机游走采样
random walk sampling
来观察多尺度关系,我们认为这将更具有可扩展性。值得一提的是,由于node2vec
引入了一种有偏的随机游走方案,可以视为是对DeepWalk
的扩展,我们的skipping
算法也可以应用于node2vec
生成的随机游走。另一种搜索策略(可能适用于较小的图)是直接计算 $ \mathbf A^k $ (即任何一对节点之间的路径距离为 $ k $ ),并使用它来采样节点
pair
。
案例研究
Cora
:为了说明network representation
在多尺度上的影响,我们可视化了一个小的引用网络Cora
,它有2708
个节点、5429
条边。下图展示了从特定节点( $ v_{35} $ ) 到每个其它节点的社交representation
的距离的直方图。当我们依次检查更深层的社交representation
时,我们看到随着尺度的加大,越来越多的节点(如箭头标识)靠近 $ v_{35} $ 。这些节点是 $ v_{35} $ 所属的、更大的论文社区的一部分,具体而言是遗传算法领域。如果我们在Cora
中进行分类任务,网络结构的这种清晰可分离clear separation
可以导致更容易的泛化。下图也说明了这种现象,该图展示了覆盖在原始网络结构上的、到节点 $ v_{35} $ (如箭头标识)距离的热力图(经过
t-SNE
二维可视化)。距离越近颜色越红、距离越远颜色越蓝。注意不同尺度的网络representation
的距离如何编码连续的、更大社区的成员关系。
7.2 实验
这里我们将我们的方法应用于几个在线社交网络,从而实验性地分析我们的方法。具体而言,我们的实验有两个主要目标:首先,我们试图描述不同现实世界社交网络中表现出的各种多尺度效应。其次,我们评估了我们的方法在捕获底层网络结构方面的效果。
数据集:
BlogCatalog
:该数据集包含BlogCatalog
网站上博主之间的社交关系,标签代表通过元数据推断出来的博主兴趣类别。网络包含10312
个顶点、333983
条边、39
种不同标签。DBLP Network
:该数据集包含学者之间的论文合作关系。每个顶点代表一个作者,边代表一个作者对另一位作者的引用次数,标签代表学者的研究领域。网络包含29199
个顶点、133664
条边、4
种不同标签。Flickr
数据集:Flickr
网站用户之间的关系网络。标签代表用户的兴趣组,如“黑白照片”。网络包含80513
个顶点、58999882
条边、195
种不同标签。YouTube
数据集:YouTube
网站用户之间的社交网络。标签代表用户的视频兴趣组,如“动漫、摔跤”。网络包含1138499
个顶点、2990443
条边、47
种不同标签。
由于我们的方法以无监督的方式学习社交网络中节点的潜在
representation
,因此这些representation
通常应该作为各种学习任务的有用特征。因此,我们在社交网络的多标签分类multi-label classification
任务上评估我们的方法。这项任务的动机是:观察到网络中的节点隶属于多个社区成员。例如,社交网络中的人是多个圈子(家庭、学校、公司、共同爱好)的成员。对这些不同的社区成员进行建模和预测,不仅对于理解现实世界的网络至关重要,而且还有几个重要的商业应用(例如更有效的广告targeting
)。baseline
方法:我们考虑三个最近提出的、代表state-of-the-art
的社交representation learning
模型。DeepWalk
:该方法使用截断的随机游走序列来学习顶点的representation
,学到的representation
捕获了多尺度社区成员关系的线性组合。LINE
:类似于DeepWalk
,该方法使用SkipGram
目标函数学习节点representation
。但是这里我们仅仅LINE 1st
方法,它只考虑 $ \mathbf A^1 $ 。GraRep
:该方法通过显式的计算 $ \mathbf A^1,\cdots,\mathbf A^k $ 并执行SVD
分解来产生多尺度的representation
。本质上该方法和WALKLET
是类似的,但是它不是在线学习方法,且无法扩展到大型网络。
任务配置:我们使用
DeepWalk
中描述的相同实验程序来评估我们的方法。我们随机抽取标记节点的 $ T_f $ 比例,并将它们作为训练数据,剩余部分作为测试数据。这个过程重复10
次,然后报告平均MICRO-F1
得分。我们不包括其它评估指标(如准确率和MACRO-F1
)的结果,因为这些指标都遵循相同的趋势。这使得我们能够轻松地将我们的方法和其它相关baseline
进行比较。在所有情况下,我们都会学习一个逻辑回归分类模型(基于
one vs rest
策略)。我们使用 $ C=1 $ 的默认L2
正则化系数,并使用由Liblinear
实现的优化算法。对于
WALKLETS
,我们仅使用尺度为{1, 2, 3}
的随机游走生成的representation
。在所有情况下,每个节点开始的随机游走数量为
1000
,每条随机游走序列的长度为11
。在所有情况下,embedding size
为 $ d=128 $ 。这些设置也用于baseline
。在多尺度
representation
的情况下,我们拼接所有多个尺度的特征并使用PCA
将它们投影到128
维。PCA
本质上是线性映射,因此这里是将多尺度representation
进行线性组合。
通过这些方法,我们可以控制训练数据大小的差异、以及超参数的差异,这些超参数控制了
representation
的容量capacity
。这允许我们与其它方法和baseline
进行可解释的比较。实验结果:下表显示了我们算法的性能相对于其它两种
baseline
(即DeepWalk
和LINE
)的增益。我们没有比较GraRep
,因为它不是在线算法,也无法扩展到大型图(如Flickr
和Youtube
)。BlogCatalog
:下表显示了BlogCatalog
上多标签分类的结果。我们观察到使用 $ \mathbf A^2 $ 特征的WALKLETS
在Micro-F1
上优于所有baseline
。当标记数据稀疏时(仅10%
的节点被标记),Micro-F1
的差异在0.001
水平上具有统计意义(比DeepWalk
提升8.9%
,比LINE
提升58.4%
)。我们在10
次不同运行上使用paired t-test
来得到统计显著性statistical significance
。DBLP
:DBLP
的实验结果如下表所示。我们注意到,与DeepWalk
和LINE
相比, $ \mathbf A^3 $ 的representation
在Micro-F1
上提供了统计上的显著提升。在标记节点为1%
的情况下,WALKLETS
( $ \mathbf A^3 $ ) 相对于DeepWalk
和LINE
的增益分别为10.1%
和34.3%
。这些更粗的representation
为作者发表的主题领域提供了更好的编码。然而,我们注意到,在这项任务中
WALKLETS
未能超越GraRep
学到的多尺度representation
。我们将此归因于DBLP
表现良好的事实。- 首先,它表现出高度同质化的行为,因为
co-authorship
保证了相似的属性(两位作者之间的共同出版物必须在同一个研究领域)。 - 其次,图中的
co-authorship
边表明高度相似性(更难创建虚假的边)。
当这些条件成立时,
GraRep
对随机游走转移矩阵的直接计算可以产生很高的性能增益。然而,我们注意到GraRep
的技术需要处理一个稠密矩阵,这本质上是不可扩展unscalable
的。- 首先,它表现出高度同质化的行为,因为
Flickr
:下表显示了Flickr
数据集的结果。在这个数据集上,我们看到 $ \mathbf A^2 $ 派生的特征在Micro-F1
指标上提供了最佳性能,显著优于所有baseline
。具体而言,我们观察到,当只有1%
数据被标记为训练数据时,WALKLETS
在Micro-F1
分数上比DeepWalk
高4.1%
、比LINE
高29.6%
。我们注意到,最具竞争力的
baseline
GraRep
由于内存不足而无法在该数据集(仅80513
个顶点)上运行。相反,我们的方法可以轻易地处理如此大型的网络,同时产生有竞争力的结果。YouTube
:YouTube
的结果如下表所示。再一次地,我们的方法优于所有baseline
方法。有趣的是,组合的representation
$ \text{WALKLETS}(\mathbf A^2, \mathbf A^3) $ 提供了最佳性能,在p=0.05
水平上显著优于DeepWalk
和LINE
。YouTube
包含更多的顶点,因此GraRep
再次耗尽内存也就不足为奇了。我们注意到WALKLETS
的在线设置允许学习具有数百万个顶点的图的representation
。
分类任务中的多尺度效应:前面的实验结果表明,没有哪个单一尺度的
representation
在所有任务上都取得最佳性能。我们可以显式地提供各尺度的representation
,从而解决其它baseline
方法未能在多个尺度上显式编码信息的共同限制。在
Micro-F1
指标上, $ \mathbf A^2 $ 的特征在两个图(BlogCatalog, Flickr
)上的所有训练数据变体(包括不同训练集比例)中表现最好。这表明长度为2
的路径是合适的社交依赖性,从而建模共享的用户兴趣。在 $ \mathbf A^2 $ 中捕获的neighbor-of-neighbor
信息对于处理缺失信息missing information
的网络而言特别有用。发生这种情况的一个重要case
是冷启动问题,其中一个节点刚刚加入网络并且还没有机会进行所有的连接。有趣的是,从 $ \mathbf A^3 $ 和 $ (\mathbf A^2, \mathbf A^3) $ 派生的
representation
分别在DBLP
和YouTube
上提供了最佳的任务性能。在这些图上,分类性能随着representation
尺度的增加而单调增加。我们可以推测:这些图中的分类任务确实表现出层次结构hierarchical structure
,并且通过我们的方法创建的 、distinct
的高阶representation
允许利用图的层次结构和任务标签之间的相关性。我们在此强调:
WALKLETS
显式地对社交网络中存在的多尺度效应进行建模,从而能够全面分析哪些尺度能够对给定学习任务提供最多的信息。而这是其它的一些方法无法实现的,例如DeepWalk
和LINE
使用全局的representation
。GraRep
也能够分析各个尺度,但是它无法扩展到大型图。可扩展性:
WALKLETS
是一种在线算法,它对从图中以不同依赖性水平dependency level
采样的顶点进行操作。这种在线方法使用采样sampling
来逼近高阶的转移矩阵ransition matrix
,这允许扩展到具有数百万个顶点的大型图。这和最接近的相关方法GraRep
形成鲜明对比,GraRep
需要操作稠密矩阵(如果图是连通的并且edge
分布遵从幂律分布,那么随着 $ k $ 的增加, $ \mathbf A^k $ 会迅速失去稀疏性)。GraRep
需要计算转移矩阵的连续幂,并且进一步需要显式计算SVD
,这些都无法扩展到大型网络。采样分析:这里我们通过将我们的方法和
GraRep
进行的显式和精确计算进行比较,从而分析我们提出的随机游走采样程序的有效性。给定一个图 $ G $ ,我们使用GraRep
显式计算它分解的矩阵 $ \mathbf M_{\text{GR}} $ 。然后,我们使用WALKLETS
用到的随机游走来估计WALKLETS
要分解的矩阵 $ \mathbf M_\text{W} $ 。我们通过 $ \text{Err} = \text{abs}(\mathbf M_{\text{GR}} - \mathbf M_{\text{W}}) $ 来估计我们的近似值和精确值之间的接近程度。随机游走的超参数如前所述。我们在
DBLP
和BlogCatlog
数据集上评估了Err
的平均误差,结果表明:两个图上的多尺度随机游走足以逼近显式计算的转移矩阵。我们观察到我们的近似值在各个尺度上的平均误差和标准差都很低,这表明我们的方法捕获了随机游走转移矩阵的合理近似值。增加sample size
(通过增加更多的随机游走)将导致越来越好的近似值。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论