【斯坦福cs224w-图机器学习】7-Graph-Representation-Learning


无监督学习方法——Node Embedding

原始网络 嵌入空间
度量标准 $similarity(u,v)$ $z_{v}^{T}z_{u}$

Embedding-lookup

其实就是一个哈希表,key为节点,value为节点的embedding。

今天的课程都是这种look-up性质的Embedding,它是静态的,在之后的downstream任务中是不会改变的。

Step 1:定义Similarity

Random Walk Approaches to Node Embedding

本小节讲解的是下面两篇论文:

Random Walk

  • random walk是一个名词,它是图上的一个节点序列
  • random walk的长度是一个自定义的参数,需要根据不同的应用场景进行选择;

你可能会想,我明明在学习Node Embedding,为什么要给我讲Random Walk呢?难道Random Walk可以帮助我们来设计学习Node Embedding的算法?

修改random walk的类型,那么我们就能定义不同的相似性,比如neighborhood,structural role等等。

基于random-walk的embedding的思想是:

  • 为什么固定为dot product为$cos(\theta)$呢?

    因为概率的大小是介于[0,1]之间的。

选择random walks作为similarity的原因

  1. 表达性:采用不同的random walk机制,能够获取到局部和全局的信息。

  2. 高效性:Node Embedding算法要优化是$z_{v}^{T}z_{u}$,如果考虑所有的$(src,dst)$对,那么计算量将会是巨大的。在random walk中,我们只考虑出现在同一random walk中的$(v,u)$对,这无疑减少了计算量。(Scalable)

    这一点在图变得越来越大的时候,尤其的重要!

对于基于Random Walk的Node Embedding算法来说,random walk的采集策略是非常重要的,可以说绝大部分的算法都是在对这个策略进行创新。不同的策略将会产生不同的$N_{R}(u)$。

  • 这个式子有点极大似然估计的味道;
  • ==为什么要使用Log-likelihood作为目标函数?==
    • 对于概率$P(N_R(u)|z_u)$,我们知道它是一个介于[0,1]之间的数字,是非常小的。老师说小的数字将会在训练过程中引发numerical instability;
    • 而且,使用它并不会改变我们的直观感受。

算法流程

$P(N_R(u)|z_u)$依然很抽象,我们没有定义它的计算方式,接下来我们定义一下:

同时,我们书写出我们的loss function:

需要注意的是这里计算了$V$中的所有顶点$v$!!!

我们的Loss Function的时间复杂度在$O(|V^2|)$,这是非常大的。

需要解决这些问题,我们就需要来拆解$O(|V^2|)$,首先对于第一个$V$,我们无法减小,因为我们一定需要对于每一个节点都要求和的。所以我们要从第二个$V$减小,或者说是approximate it。

解决的办法就是Negative Sampling——

Negative Sampling

noise contrastive estimation

噪声对比评估

  • quadratic
  • linear

关于负采样中需要采集的样本数$k$,它需要正比于节点的度。(没听懂)

node2vec

DeepWalk的similarity的定义方式太狭隘了,它只是考虑了连接。但是如果我们想要抽取structure role这样的相似性,那么它就显然不适用了,因此需要修改。

node2vec实现了local和global的一个平衡。

DeepWalk做的工作一直是local,现在我们考虑一下global的。

interpolating:插值

为什么称为是2nd-order,因为我们保留了prev_node。

p,q是超参数,需要进行学习。将BFS的概率设置为1,是为了减少参数的数量。

How to Use Embeddings?

既然要结合$z_i$和$z_j$就需要结合函数,有以下几种:

根据不同的任务使用不同的embedding方法

Translating Embeddings for Modeling Multi-relational Data

在知识图谱上我们经常做一个KG Completion的任务

还要知道link的type是什么?

两个蓝色节点应该越来越近,两个蓝色节点都有the genre edge指向fantasy,那么这两个蓝色节点应该越来越近才是。

translate:平移


文章作者: CarlYoung
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 CarlYoung !
 上一篇
【斯坦福cs224w-图机器学习】8-Graph Neural Networks 【斯坦福cs224w-图机器学习】8-Graph Neural Networks
讲解GNN中重要的四种模型:GCN,GraphSAGE,GAT以及PinSAGE
2020-11-26
下一篇 
【斯坦福cs224w-图机器学习】7,8,9-Graph Representation Learning 【斯坦福cs224w-图机器学习】7,8,9-Graph Representation Learning
在前面几周的学习中,我们学习了motifs,graphlets等等来表示一个图,本质上,它们就是图的一种特征表示(representation),接下来我们介绍自动的方法: 第七八两节介绍的都是关于图表示学习的,所谓万物皆可embeddin
2020-11-25
  目录