8 Network Representation
网络表示学习的目的是将网络中的顶点嵌入到低维密集表示中,其中网络中相似的顶点应该具有“接近”表示(通常通过其表示的余弦相似度或欧氏距离来衡量)。这些表示法可以作为顶点的特征,并应用于许多网络研究任务。在本章中,我们将介绍过去十年来的网络表示学习算法。然后,我们将讨论它们在应用于各种现实世界的网络时的扩展。最后,我们将介绍一些常见的网络表示学习评估任务和相关数据集。
作为一种表示对象及其关系的自然方式,该网络在我们的日常生活中无处不在。Facebook和推特等社交网络的快速发展鼓励研究人员在网络结构上设计有效的算法。网络信息的正确表示是网络研究的一个关键问题。传统的网络表示通常是高维和稀疏的,这在人们将统计学习应用于网络时成为了一个弱点。随着机器学习的发展,网络中顶点的特征学习正成为一项新兴的任务。因此,网络表示学习算法将网络信息转化为低维密集的实值向量,可以作为现有机器学习算法的输入。例如,顶点的表示可以被提供给一个分类器,如支持向量机(SVM),用于顶点分类任务。此外,通过将这些表示作为欧几里得空间中的点,这些表示也可以用于可视化。在本节中,我们将形式化网络表示学习问题。
Denote a network as G = ( V , E ) G=(V,E) G=(V,E) where V is the vertex set and E’ is the edge set
An edge e = ( ν i , ν j ) ∈ E e=(\nu_{i},\nu_{j})\in E e=(νi,νj)∈E where v i , v j ∈ V v_{i},v_{j}\in V vi,vj∈V is a directed edge from vertex V; to Vj The outdegree of vertex v; is defined as deg O ( v i ) = ∣ { v j ∣ ( v i , v j ) ∈ E } ∣ \deg_{O}(v_{i})=|\{v_{j}|(v_{i},v_{j})\in E\}| degO(vi)=∣{vj∣(vi,vj)∈E}∣ . Similarly the indegree of vertex v i v_{i} vi is deg, (v;)= |{v;|(Vj,V;)∈ E}|. For undirected network we have deg(v:) = dego(v;)= deg (V;). Taking social network as an example, a vertex represents a user and an edge represents the friendship between two users The indegree and outdegree represent the number of followers and followees of a user, respectively.
因此,人们提出了学习网络中顶点的低维密集表示的想法。形式上,网络表示学习的目标是学习顶点v∈V的实值向量v∈Rd,其中维数d远小于顶点|和|的数量|。其思想是,相似的顶点应该具有如图8.1所示的密切表示。网络表示学习可以是无监督的或半监督的。这些表示在没有特征工程的情况下自动学习,一旦学习,可以进一步用于特定的任务,如分类。这些表示是低维的,这使得有效的算法可以设计在表示上而不考虑网络结构本身。我们将在本章稍后讨论关于网络表示评估的更多细节。
8.2 Network Representation
在本节中,我们将详细介绍几种网络表示学习算法。
8.2.1 Spectral Clustering Based Methods
基于谱聚类的方法是一组计算亲和矩阵的前k个特征向量或奇异向量的算法,如网络的邻接矩阵或拉普拉斯矩阵。这些方法在很大程度上依赖于亲和矩阵的构造。不同亲和矩阵的评价结果差异很大。一般来说,基于谱聚类的方法具有较高的复杂度,因为特征向量和奇异向量的计算具有非线性的时间复杂度。另一方面,基于光谱聚类的方法在计算过程中需要在内存中保存一个亲和矩阵。因此,空间的复杂性也不能被忽视。这些缺点限制了这些方法的大规模和在线泛化。现在,我们将提出几种基于光谱聚类的算法。
局部线性嵌入(LLE)[98]假设顶点的表示是从一个流形中采样的。更具体地说,LLE假设一个顶点及其邻居的表示位于流形的局部线性块中。也就是说,一个顶点的表示可以用它的邻居的表示的线性组合来近似。LLE利用邻居的线性组合来重建中心顶点。在形式上,所有顶点的重构误差都可以表示为
L
(
W
,
V
)
=
∑
i
=
1
∣
V
∣
∥
v
i
−
∑
j
=
1
∣
V
∣
W
i
j
v
j
∥
2
,
\mathscr{L}(\mathbf{W},\mathbf{V})=\sum_{i=1}^{|V|}\left\|\mathbf{v}_i-\sum_{j=1}^{|V|}\mathbf{W}_{ij}\mathbf{v}_j\right\|^2,
L(W,V)=i=1∑∣V∣
vi−j=1∑∣V∣Wijvj
2,
(8.1)
where
V
∈
R
∣
V
∣
×
d
\mathbf{V}\in\mathbb{R}^{|V|\times d}
V∈R∣V∣×d is the vertex embedding matrix and
W
i
j
\mathbf{W}_{ij}
Wij is the contribution coef-ficient of vertex V;to V;. LLE enforces
W
i
j
=
0
\mathbf{W}_{ij}=0
Wij=0 if
V
i
V_{i}
Vi and vjare not connected,i.e.,
(
ν
i
,
ν
j
)
∉
E
(\nu_{i},\nu_{j})\notin E
(νi,νj)∈/E. Further, the summation of a row of matrix W is set to 1, i.e.
∑
j
=
1
∣
V
∣
W
i
j
=
1.
\sum_{j=1}^{|V|}\mathbf{W}_{ij}=1.
j=1∑∣V∣Wij=1.
方程8.1通过交替优化权重矩阵W和表示v来求解,对W的优化可以作为一个最小二乘问题来求解。对表示V的优化导致了以下优化问题:
L ( W , V ) = ∑ i = 1 ∣ V ∣ ∥ v i − ∑ j = 1 ∣ V ∣ W i j v j ∥ 2 , ( 8.2 ) \mathscr{L}(\mathbf{W},\mathbf{V})=\sum_{i=1}^{|V|}\left\|\mathbf{v}_i-\sum_{j=1}^{|V|}\mathbf{W}_{ij}\mathbf{v}_j\right\|^2,\quad(8.2) L(W,V)=∑i=1∣V∣ vi−∑j=1∣V∣Wijvj 2,(8.2)
s . t . ∑ i = 1 ∣ V ∣ v i = 0 , ( 8.3 ) s.t.\sum_{i=1}^{|V|}\mathbf{v}_i=\mathbf{0},\quad(8.3) s.t.∑i=1∣V∣vi=0,(8.3)
and ∣ V ∣ − 1 ∑ i = 1 ∣ V ∣ v i ⊤ v i = I d , \text{and}|V|^{-1}\sum_{i=1}^{|V|}\mathbf{v}_i^{\top}\mathbf{v}_i=\mathbf{I}_d, and∣V∣−1∑i=1∣V∣vi⊤vi=Id,
其中Id表示d×d单位矩阵条件方程式8.3和8.4确保了解决方案的唯一性。第一个条件强制将所有顶点嵌入的中心设为零点,第二个条件保证不同的坐标具有相同的尺度,即对重构误差的贡献相等。
The optimization problem can be formulated as the computation of eigenvectors
of matrix ( I ∣ V ∣ − W ⊤ ) ( I ∣ V ∣ − W ) (\mathbf{I}_{|V|}-\mathbf{W}^{\top})(\mathbf{I}_{|V|}-\mathbf{W}) (I∣V∣−W⊤)(I∣V∣−W) , which is an easily solvable eigenvalue problem More details can be found in the note [22]
拉普拉斯特征映射[8]算法简单地遵循两个连通顶点的表示应该接近的思想。具体来说,“接近度”是用欧几里得距离的平方来衡量的。我们用D表示对角度矩阵,其中D是|V|×|V|对角矩阵,对角条目Dii是顶点vi的度。图的拉普拉斯矩阵L定义为对角矩阵D与邻接矩阵a的差值,即L = D−A。
拉普拉斯特征映射算法希望最小化以下代价函数:
L ( V ) = ∑ { i , j ∣ ( ν i , ν j ) ∈ E } ∥ v i − v j ∥ 2 , ( 8.5 ) s . t . V ⊤ D V = I d . ( 8.6 ) \begin{aligned} {\mathcal{L}}(\mathbf{V})& =\sum_{\{i,j|(\nu_{i},\nu_{j})\in E\}}\|\mathbf{v}_{i}-\mathbf{v}_{j}\|^{2}, && (8.5) \\ &{}_{s.t.}\mathbf{V}^{\top}D\mathbf{V}=\mathbf{I}_{d}.&& (8.6) \end{aligned} L(V)={i,j∣(νi,νj)∈E}∑∥vi−vj∥2,s.t.V⊤DV=Id.(8.5)(8.6)
代价函数是所有连通顶点对的平方损失的和,该条件防止了任意尺度引起的平凡全零解。公式8.5可用矩阵形式重新表示为
V ∗ = arg min V ⊤ D V = I d tr ( V ⊤ L V ) . ( 8.7 ) \mathbf{V}^{*}=\arg\min_{\mathbf{V}^{\top}D\mathbf{V}=\mathbf{I}_{d}}\operatorname{tr}(\mathbf{V}^{\top}L\mathbf{V}).\quad(8.7) V∗=argminV⊤DV=Idtr(V⊤LV).(8.7)
代数知识告诉我们,等式的最优解V为∗请注意,拉普拉斯特征映射算法可以很容易地推广到加权图中。
LLE和拉普拉斯特征映射都有一个对称的代价函数,这表明这两种算法都不能应用于有向图。提出了有向图嵌入(DGE)[17]来推广拉普拉斯特征映射。
8.2.2 DeepWalk
DeepWalk [93]提出了一种新的方法,首次将深度学习技术引入网络表示学习。建模截断的随机游动而不是邻接矩阵的好处是双重的:首先,随机游动只需要局部信息,从而实现离散和在线算法,而邻接矩阵建模可能需要存储在内存中,从而消耗空间;其次,建模随机游动可以减轻建模原始二进制邻接矩阵的方差和不确定性。我们将在下一小节中深入了解深度行走技术。
无监督表示学习算法在自然语言处理领域得到了广泛的研究和应用。作者表明,短随机游动中的顶点频率也像文献中的单词一样遵循幂律。展示了顶点与单词之间的联系,作者采用了一个著名的单词表示学习算法word2vec[80]到顶点表示学习。现在,我们将详细介绍深度行走的算法。
基于独立假设,损失函数可以重写为 min v ∑ k = − w , k ≠ 0 w − log P ( v i + k ∣ v i ) . \min_{\mathbf{v}}\sum_{k=-w,k\neq0}^{w}-\log P(v_{i+k}|\mathbf{v}_{i}). minv∑k=−w,k=0w−logP(vi+k∣vi).
总体损失函数可以通过对每个随机游走中的每个顶点进行相加得到。
现在我们讨论如何预测一个单个顶点vj给定的中心顶点vi。在DeepWalk中,每个顶点vi都有两个具有相同维数的表示:顶点表示vi∈Rd和上下文表示ci∈Rd。预测P的概率(v j|vi)由所有顶点上的softmax函数定义: P ( ν j ∣ v i ) = exp ( v i c j ⊤ ) ∑ k = 1 ∣ V ∣ exp ( v i c k ⊤ ) . ( 8.21 ) P(\nu_j|\mathbf{v}_i)=\frac{\exp(\mathbf{v}_i\mathbf{c}_j^\top)}{\sum_{k=1}^{|V|}\exp(\mathbf{v}_i\mathbf{c}_k^\top)}.\quad\quad\quad\quad(8.21) P(νj∣vi)=∑k=1∣V∣exp(vick⊤)exp(vicj⊤).(8.21)
where RandomWalk(G, ν i , l ) \nu_{i},l) νi,l)generates a random walk rooted at v; with lengthl and Skip-gram(V, ℓ ν i , \ell_{\nu_{i}}, ℓνi,w) function is defined in Algorithm 8.2, where α is the learning rate of stochastic gradient descent
Note that the parameter updating rule V = V − α l ∂ J ∂ V \mathbf{V}=\mathbf{V}-\alpha_{l}\frac{\partial J}{\partial\mathbf{V}} V=V−αl∂V∂J in Skip-gram has a com-
plexity of O(|V|) because in the computation of the gradient of P(vk|v;)(as shown in Eq.8.21), the denominator has ∣ V ∣ \left|V\right| ∣V∣ terms to compute. This complexity is unac ceptable for large-scale networks
为了解决这个问题,人们提出了分层的Softmax作为原始Softmax函数的变体。其核心思想是将顶点映射到一个平衡的二叉树,其中每个顶点对应于树的一个叶子。然后对一个顶点的预测转向对从根到相应叶子的路径的预测。假设从根到顶点vk的路径用一个树节点b1,b2…,blog|V|的序列表示,然后我们有逻辑函数可以很容易地在树节点上实现二进制决策。因此,时间复杂度从O(|V|)降低到O(log |V|)。我们可以通过使用霍夫曼编码将频繁的顶点映射到靠近根的树节点来加速算法。我们也可以使用负抽样,在word2vec中使用来代替层次softmax加速。
到目前为止,我们已经完成了深度行走算法的介绍。DeepWalk将有效的深度学习技术引入到网络嵌入学习中。表8.2给出了深度行走和Word2vec之间的类比。DeepWalk在网络分类任务上优于传统的网络表示学习方法,在大规模网络中也很有效。此外,随机游动的产生也可以推广到非随机游动,如信息传播流。
8.2.3 Matrix Factorization Based Methods
8.2.3.1 LINE
Tang等人[111]提出了一种名为LINE的网络嵌入模型。LINE算法可以处理具有任意类型的大规模网络:(un)有向的或加权的。为了建模顶点之间的相互作用,LINE建模了一阶接近,它由观察到的链接表示,二阶接近,它由共享的邻居决定,而不是顶点之间的链接。
在我们介绍算法的细节之前,我们可以后退一步,看看这个想法是如何工作的。一阶接近度的建模,即观察到的链接,是邻接矩阵的建模。正如我们在最后一节中所说的,邻接矩阵通常过于稀疏。因此,二阶接近度的建模,即具有共享邻居的顶点,可以作为补充信息,以丰富邻接矩阵,使其更密集。对所有具有共同邻居的顶点对进行枚举是非常耗时的。因此,有必要设计一个采样阶段来处理大规模的网络。采样阶段就像蒙特卡罗模拟来近似理想矩阵。
现在我们只有两个问题:如何定义一阶和二阶接近性,以及如何定义损失函数。换句话说,它等于如何定义M和损失函数。
顶点u和v之间的一阶接近度定义为边缘上的权重 w u v w_{uv} wuv。如果顶点u和v之间没有边,那么它们之间的一阶接近度为0。
顶点u和v之间的二阶接近度定义为它们的邻域网络之间的相似性。设pu =(wu,1,…,wu,|V |)表示顶点u与所有其他顶点之间的一阶接近度。然后将u和v之间的二阶接近度定义为pu和pv的相似性。如果它们没有共享的邻居,那么二阶接近度为零。
然后我们可以更具体地引入LINE模型。vi和vj之间的联合概率为: p 1 ( v i , v j ) = 1 1 + exp ( − v i ⋅ v j ) , ( 8.34 ) p_1(v_i,v_j)=\frac{1}{1+\exp(-\mathbf{v}_i\cdot\mathbf{v}_j)},\quad\quad\quad(8.34) p1(vi,vj)=1+exp(−vi⋅vj)1,(8.34)
其中vi和vj是d维行向量,表示顶点vi和vj的表示。
To supervise the prbies emirical pobility dfined a p ^ 1 ( i , j ) = w i j W \hat{p}_{1}(i,j)=\frac{w_{ij}}{W} p^1(i,j)=Wwij
where
W
=
∑
(
ν
i
,
ν
j
)
∈
E
W
i
j
W=\sum_{(\nu_{i},\nu_{j})\in E}W_{ij}
W=∑(νi,νj)∈EWij .Thsourgal isto find vertex embeddings toapproximate
w
i
j
W
\frac{w_{ij}}{W}
Wwijwin
1
1
+
exp
(
−
v
i
⋅
v
j
)
.
\frac1{1+\exp(-\mathbf{v}_i\cdot\mathbf{v}_j)}.
1+exp(−vi⋅vj)1. roiwu neiea nscscui is uonoay
v
i
⋅
v
j
=
M
i
j
=
−
log
(
W
w
i
j
−
1
)
.
\mathbf{v}_{i}\cdot\mathbf{v}_{j}=\mathbf{M}_{ij}=-\log(\frac{W}{w_{ij}}-1).
vi⋅vj=Mij=−log(wijW−1).
The loss function between joint probability
p
1
p_{1}
p1 and its empirical
p100abllity P1 1S
L 1 = D K L ( p ^ 1 ∣ ∣ p 1 ) , \mathcal{L}_{1}=D_{\mathrm{KL}}(\hat{p}_{1}\mid\mid p_{1}), L1=DKL(p^1∣∣p1),
(8.35)
where Dy(.|·)is KL-divergence of two probability distributions
我们分别训练了一阶和二阶的接近嵌入,并在训练阶段结束后将这些嵌入连接在一起作为顶点表示。
8.2.4 Structural Deep Network Methods
与以往使用浅层神经网络模型来表征网络表示的方法不同,结构深度网络嵌入(SDNE)[125]采用了更深层次的神经模型来建模顶点嵌入之间的非线性。如图8.2所示,整个模型可分为两部分: (1)第一部分由拉普拉斯特征映射监督,建模一阶接近;(2)第二部分是无监督深度神经自编码器,表征二阶接近。最后,该算法以有监督部分的中间层作为网络表示。
首先,我们将简要介绍深度神经自动编码器。神经自动编码器要求输出向量应该与输入向量相似。一般来说,输出不能与输入向量相同,因为自动编码器的中间层的维数比输入层和输出层的维数要小得多。也就是说,一个深度自动编码器首先将输入压缩成一个低维的中间向量,然后尝试从一个低维的中间向量中重建原始的输入向量。一旦深度自动编码器被训练好,我们就可以说中间层是原始输入的一个极好的低维表示,因为我们可以从它中恢复输入向量。
更正式地说,我们假设输入向量是xi。然后将每一层的隐藏表示定义为
y i ( 1 ) = S i g m o i d ( W ( 1 ) x i + b ( 1 ) ) , ( 8.38 ) y i ( k ) = S i g m o i d ( W ( k ) y i ( k − 1 ) + b ( k ) ) , k = 2 , 3 … , \begin{aligned} &\mathbf{y}_{i}^{(1)} =\mathrm{Sigmoid}(\mathbf{W}^{(1)}\mathbf{x}_{i}+\mathbf{b}^{(1)}), \\ &&(8.38) \\ &\mathbf{y}_{i}^{(k)} =\mathrm{Sigmoid}(\mathbf{W}^{(k)}\mathbf{y}_{i}^{(k-1)}+\mathbf{b}^{(k)}),k=2,3\ldots, \end{aligned} yi(1)=Sigmoid(W(1)xi+b(1)),yi(k)=Sigmoid(W(k)yi(k−1)+b(k)),k=2,3…,(8.38)
式中,W (k)和b (k)为第k层的加权矩阵和偏差向量。我们假设Kth层的隐藏表示具有最小的维数。在得到yi (K)后,我们可以通过反转计算过程得到输出xˆi。那么自动编码器的优化目标是使输入向量xi和输出向量xˆi之间的差值最小:
L ( W , b ) = ∑ i = 1 n ∥ x ^ i − x i ∥ 2 , ( 8.39 ) \mathscr{L}(\mathbf{W},\mathbf{b})=\sum_{i=1}^n\|\hat{\mathbf{x}}_i-\mathbf{x}_i\|^2,\quad(8.39) L(W,b)=∑i=1n∥x^i−xi∥2,(8.39)
回到网络表示问题上,SDNE将自动编码器应用于每个顶点。每个顶点vi的输入向量xi定义如下:如果顶点vi和vj连接,则第j个条目xi j > 0,否则为xi j = 0。对于未称重的图,如果顶点(vi,v j)∈E,xi j = 1。然后中间层y (K) i可以看作是顶点vi的低维表示。还要注意的是,由于真实网络的稀疏性,输入向量中的零项比正项多得多。因此,应该强调正条目的丢失。因此,二次接近建模的最终优化目标可以写为
我们介绍了由深度自动编码器建模的无监督部分。现在我们转到监督部分。监督部分只是要求连通顶点的表示应该彼此接近。因此,这部分的损失函数为 L 1 s t = ∑ i , j = 1 ∣ V ∣ x i j ∥ y i ( K ) − y j ( K ) ∥ 2 . \mathscr{L}_{1st}=\sum_{i,j=1}^{|V|}\mathbf{x}_{ij}\|\mathbf{y}_i^{(K)}-\mathbf{y}_j^{(K)}\|^2. L1st=∑i,j=1∣V∣xij∥yi(K)−yj(K)∥2.
最后,总体损失函数包括正则化项为 L = L 2 n d + α L 1 s t + λ L r e g , \mathscr{L}=\mathscr{L}_{2nd}+\alpha\mathscr{L}_{1st}+\lambda\mathscr{L}_{reg}, L=L2nd+αL1st+λLreg,
8.2.6 Applications
8.2.6.1 Multi-label Classification
多标签分类任务是应用最广泛的网络表示学习评估任务。顶点的表示被认为是顶点特征,并应用于分类器来预测顶点标签。更正式地说,我们假设总共有K个标签。顶点-标签关系可以表示为二进制矩阵M∈{0,1}|V|×K,其中Mi j = 1表示顶点vi有第j个标签,否则表示Mi j = 0。具体来说,对于多类分类问题,每个顶点都有一个标签,这意味着矩阵m的每一行只有一个“1”。对于评估任务,我们设置一个训练比率,表示顶点观察标签的百分比。然后,我们的目标是预测测试集中的顶点的标签。
对于无监督网络表示学习算法,训练集的标签不用于嵌入学习。网络表示被输入到分类器,如SVM或逻辑回归。每个标签都将有它的分类标识符。对于半监督学习方法,他们在表示学习期间考虑到观察到的顶点标签。这些算法将有其特定的分类器来进行标签预测。
8.2.6.2 Link Prediction
为了给定顶点表示进行链接预测,我们首先需要评估一对顶点的强度。通过计算两个顶点表示之间的相似性,来计算两个顶点之间的强度。这种相似度通常由余弦相似度、内积或平方损失来计算,这取决于算法。例如,如果一个算法在其目标函数中使用了Vi−Cj2 2,那么应该使用平方损失来度量顶点表示之间的相似性。然后,在我们得到所有未观察到的链接的相似性后,我们可以对它们进行排序,以进行链接预测。对于链路预测有两个重要的指标:接收机工作特征曲线下的面积(AUC)和精度。
AUC。AUC值是一个随机选择的缺失链接比一个随机选择的不存在的链接得分更高的概率。为了实现,我们随机选择一个缺失的链接和一个不存在的链接,并比较它们的相似性得分。假设在n个独立比较中有n个1倍的缺失环节有更高的分数,n个2个他们有相同的分数。那么AUC值为 AUC = n 1 + 0.5 n 2 n . ( 8.71 ) \text{AUC}=\frac{n_1+0.5n_2}n.\quad\quad\quad\quad\quad\quad(8.71) AUC=nn1+0.5n2.(8.71)
注意,对于随机网络表示,AUC值应该为0.5。准确率给定所有未观察到的链接的排名,我们预测具有顶部-l得分最高的链接作为预测的链接。假设存在缺少Lr的链接,则精度定义为Lr /L。
8.2.6.3 Information Diffusion Prediction
信息扩散预测是研究信息项目如何在用户之间传播的重要任务。信息扩散的预测,也称为级联预测,已经被广泛应用,如产品采用[67]、流行病学[124]、社交网络[63]、新闻和观点的传播[68]。
如图8.9所示,微观扩散预测的目的是猜测下一个被感染的用户,而宏观扩散预测的目的是估计扩散过程中被感染用户的总数。此外,当信息扩散发生在社交网络服务上时,用户之间的潜在社交图谱将可用。社会图将被认为是扩散预测的额外结构输入。
森林[139]是第一个同时解决微观和宏观预测的工作。如图8.10所示,森林提出了一个结构性的上下文最初引入的加速图卷积网络[41]的结构算法,以建立基于RNN的微观级联模型。对于每个用户v,我们首先从v及其邻居N (v)中抽取Z用户{u1,u2 …,u Z }。然后通过聚合邻域特征来更新其特征向量。更新后的用户特征向量通过聚合来自v的一阶邻居的特征来编码结构信息。该操作也可以递归处理,以探索用户v的更大邻域。根据经验,两步邻域探索是时间有效的,并且足以给出有希望的结果。
森林进一步整合了宏观预测的能力,即通过强化学习来估计级联的最终大小到模型中。该方法可分为四个步骤: (a)通过微观级联模型对观察到的K个用户进行编码;(b)使微观级联模型能够通过级联模拟预测级联的大小;©使用均方对数变换误差(MSLE)作为宏观预测的监督信号;(d)采用强化学习框架,通过策略梯度算法更新参数。总体工作流程如图8.11所示。
8.3 Graph Neural Networks
在本节中,我们将介绍另一种用于网络表示学习的方法,它被称为图神经网络(GNNs)[101]。这些方法的目的是利用神经网络来建模图数据,并在许多应用中显示了其强大的能力。
8.3.1 Motivations
近年来,CNNs [65]在各个机器学习领域都取得了突破,特别是在计算机视觉领域,并开启了深度学习[64]的革命。cnn能够提取多尺度局部特征,这些特征用于生成更具表现性的表示。随着我们更深入研究cnn和图表,我们发现了cnn的关键字:局部连接、共享权值和多层[64]的使用。这些也是非常重要的解决图域的问题,因为(1)图是最典型的局部连接结构,(2)共享权重减少计算成本与传统的光谱图理论[23]相比,和(3)多层结构是处理层次模式的关键,捕捉各种大小的特点。然而,cnn只能操作常规的欧几里得数据,如图像(二维网格)和文本(一维序列),而这些数据结构可以被视为图的实例。因此,认为要找到cnn对图的推广是很简单的。如图8.12所示,很难定义局部卷积滤波器和池化算子,这阻碍了CNN从欧几里得域到非欧几里得域的转换。
另一个动机来自于网络嵌入的[12,24,37,42,149]。在图分析领域,传统的机器学习方法通常依赖于手工设计的特征,并受到其缺乏灵活性和高成本的限制。遵循表示学习的思想和单词嵌入[81]的成功,DeepWalk [93]被认为是第一个基于图嵌入的方法表示学习,对生成的随机游动应用跳格模型[81]。类似的方法,如node2vec [38]、LINE [111]和TADW [136]也取得了突破。然而,这些方法有两个严重的缺点,[42]。首先,编码器中的节点之间不共享参数,这导致了计算效率低下,因为这意味着参数的数量随节点的数量呈线性增长。其次,直接嵌入方法缺乏泛化的能力,这意味着它们不能处理动态图,也不能推广到新的图。基于网络神经网络和网络嵌入,提出了图神经网络(GNNs)来集体聚合图结构中的信息。因此,它们可以对由元素及其依赖性组成的输入和/或输出进行建模。此外,图神经网络可以同时用RNN核建模图上的扩散过程。在本节的其余部分中,我们将首先介绍几种典型的图神经网络的变体,如图卷积网络(GCNs)、图注意网络(GATs)和图递归网络(GRNs)。然后,我们将介绍对原始模型的几个扩展,最后,我们将给出一些利用图神经网络的应用程序的例子。
8.3.2 Graph Convolutional Networks
图卷积网络(GCNs)的目的是将卷积推广到图域。在这个方向上的进展通常被归类为光谱方法和空间(非光谱)方法。
8.3.2.1 Spectral Approaches
8.3.2.2 Spatial Approaches
在上面提到的所有光谱方法中,学习到的滤波器都依赖于拉普拉斯特征基,该特征基依赖于图的结构,即在特定结构上训练的模型不能直接应用于具有不同结构的图。
空间方法直接在图上定义卷积,在空间近邻上操作。空间方法的主要挑战是定义不同大小邻域的卷积操作和保持cnn的局部不变性。
神经FPs。Duvenaud等人,[31]对不同程度的节点使用不同的权重矩阵
x ( t ) = h ν ( t − 1 ) + ∑ i = 1 ∣ N ν ∣ h i ( t − 1 ) , ( 8.83 ) h ν ( t ) = f ( W ∣ N ν ∣ ( t ) x ( t ) ) , \begin{aligned} &\mathbf{x}^{(t)} =\mathbf{h}_{\nu}^{(t-1)}+\sum_{i=1}^{|N_{\nu}|}\mathbf{h}_{i}^{(t-1)}, & (8.83) \\ &\mathbf{h}_{\nu}^{(t)} =f(\mathbf{W}_{|N_{\nu}|}^{(t)}\mathbf{x}^{(t)}), \end{aligned} x(t)=hν(t−1)+i=1∑∣Nν∣hi(t−1),hν(t)=f(W∣Nν∣(t)x(t)),(8.83)
式中,W (t) |Nv |为t层|Nv |度节点的权重矩阵。而该方法的主要缺点是不能应用于节点度较多的大尺度图。
在下面对其他模型的描述中,我们使用h(v t)来表示节点v在t层的隐藏状态。Nv表示节点v的邻域集,|Nv|表示集合的大小。
DCNNAtwood和Towsley [4]提出了扩散-卷积神经网络(DCNNs)。转移矩阵用于定义DCNN中节点的邻域。对于节点分类,它有
H = f ( W c ⊙ P ⃗ X ) , ( 8.84 ) \mathbf{H}=f\left(\mathbf{W}^c\odot\vec{\mathbf{P}}\mathbf{X}\right),\quad(8.84) H=f(Wc⊙PX),(8.84)
DGCN。Zhuang和Ma [158]提出了对偶图卷积网络(DGCN)来共同考虑图的局部一致性和全局一致性。它使用两个卷积网络来捕获局部/全局一致性,并采用无监督损失来对它们进行集成。第一个卷积网络与等式相同8.80.第二个网络用正点间互信息(PPMI)矩阵代替邻接矩阵:
H
(
t
)
=
f
(
D
P
−
1
2
X
P
D
P
−
1
2
H
(
t
−
1
)
W
)
,
\mathbf{H}^{(t)}=f(D_{P}^{-\frac{1}{2}}X_{P}D_{P}^{-\frac{1}{2}}H^{(t-1)}\mathbf{W}),
H(t)=f(DP−21XPDP−21H(t−1)W),
(8.85)
where X P X_{P} XP is the PPMI matrix and D P D_{P} DP is the diagonal degree matrix of X P X_{P} XP
图形。汉密尔顿等人的[41]提出了GraphSAGE,一个通用的归纳框架。该框架通过从节点的局部邻域中采样和聚合特征来生成嵌入。
h N ν ( t ) = A G G R E G A T E ( t ) ( { h u ( t − 1 ) , ∀ u ∈ N ν } ) , ( 8.86 ) h ν ( t ) = f ( W ( t ) [ h ν ( t − 1 ) ; h N ν ( t ) ] ) . \begin{aligned} &\mathbf{h}_{N_{\nu}}^{(t)} =\mathrm{AGGREGATE}^{(t)}(\{\mathbf{h}_{u}^{(t-1)},\forall u\in N_{\nu}\}), \\ &&(8.86) \\ &\mathbf{h}_{\nu}^{(t)} =f(\mathbf{W}^{(t)}[\mathbf{h}_{\nu}^{(t-1)};\mathbf{h}_{N_{\nu}}^{(t)}]). \end{aligned} hNν(t)=AGGREGATE(t)({hu(t−1),∀u∈Nν}),hν(t)=f(W(t)[hν(t−1);hNν(t)]).(8.86)
然而,[41]并没有利用等式中的全部邻居集8.86,但通过均匀抽样的固定大小的邻居集合。[41]提出了三个聚合器函数。
平均聚合器。它可以看作是来自转换GCN框架[59]的卷积操作的近似值,因此GCN变体的归纳版本可以通过 h ν ( t ) = f ( W ⋅ M EAN ( { h ν ( t − 1 ) } ∪ { h u ( t − 1 ) ∣ ∀ u ∈ N ν } ) ) . ( 8.87 ) \mathbf{h}_{\nu}^{(t)}=f\left(\mathbf{W}\cdot\mathbf{M}\text{EAN}\left(\{\mathbf{h}_{\nu}^{(t-1)}\}\cup\{\mathbf{h}_{u}^{(t-1)}|\forall u\in N_{\nu}\}\right)\right).\quad(8.87) hν(t)=f(W⋅MEAN({hν(t−1)}∪{hu(t−1)∣∀u∈Nν})).(8.87)
平均聚合器不同于其他聚合器,因为它不执行在等式中连接ht−1v和ht Nv的连接操作8.86.它可以看作是“跳过连接”[46]的一种形式,可以获得更好的性能。
LSTM聚合器。汉密尔顿等人的[41]也使用了一个基于LSTM的聚合器,它具有更大的表达能力。然而,lstm以顺序的方式处理输入,因此它们不是排列不变的。汉密尔顿等人[41]通过排列节点的邻居来适应lstm操作无序集。
池聚合器。在池化聚合器中,每个邻居的隐藏状态通过一个完全连接的层被输入,然后对节点的邻居集应用最大池化操作。
h N v ( t ) = max ( { f ( W p o o d h u ( t − 1 ) + b ) , ∀ u ∈ N ν } ) . ( 8.88 ) \mathbf{h}_{N_{v}}^{(t)}=\max(\{f\left(\mathbf{W}_{pood}\mathbf{h}_{u}^{(t-1)}+\mathbf{b}\right),\forall u\in N_{\nu}\}).\quad(8.88) hNv(t)=max({f(Wpoodhu(t−1)+b),∀u∈Nν}).(8.88)
请注意,这里可以使用任何对称函数来代替最大池化操作。
8.3.3 Graph Attention Networks
注意机制已成功地应用于许多基于序列的任务中,如机器翻译[5,36,121]、机器阅读[19]等。许多工作都集中于将注意机制推广到图域。
气体浓度。[122]等人提出了一种图注意网络(GAT),它将注意机制纳入到传播步骤中。具体来说,它使用了自注意策略,每个节点的隐藏状态都是通过关注其相邻节点来计算的。
[122]等人定义了单个图的注意层,并通过叠加该层构建了任意的图的注意网络。该层通过以下方法计算节点对(i、j)的注意机制中的系数:
α i j = exp ( LeakyReLU ( a ⊤ [ W h i ( t − 1 ) ; W h j ( t − 1 ) ] ) ) ∑ k ∈ N i exp ( LeakyReLU ( a ⊤ [ W h i ( t − 1 ) ; W h k ( t − 1 ) ] ) ) , ( 8.89 ) \alpha_{ij}=\frac{\exp\left(\text{LeakyReLU}\left(\mathbf{a}^\top[\mathbf{Wh}_i^{(t-1)};\mathbf{Wh}_j^{(t-1)}]\right)\right)}{\sum_{k\in N_i}\exp\left(\text{LeakyReLU}\left(\mathbf{a}^\top[\mathbf{Wh}_i^{(t-1)};\mathbf{Wh}_k^{(t-1)}]\right)\right)},\quad\quad(8.89) αij=∑k∈Niexp(LeakyReLU(a⊤[Whi(t−1);Whk(t−1)]))exp(LeakyReLU(a⊤[Whi(t−1);Whj(t−1)])),(8.89)
式中,αi j为节点j对节点i的注意系数。W∈RF×F是一个应用于每个节点的共享线性变换的权重矩阵,一个a∈R2F是权重向量。它通过一个softmax函数进行归一化,并应用了LeakyReLU非线性(负输入斜度为0.2)。
然后通过(应用非线性f后)得到每个节点的最终输出特征: h i ( t ) = f ( ∑ j ∈ N i α i j W h j ( t − 1 ) ) . ( 8.90 ) \mathbf{h}_i^{(t)}=f\left(\sum_{j\in N_i}\alpha_{ij}\mathbf{W}\mathbf{h}_j^{(t-1)}\right).\quad\quad\quad\quad\quad(8.90) hi(t)=f(∑j∈NiαijWhj(t−1)).(8.90)
此外,该层利用类似于[121]的多头注意来稳定学习过程。它应用K个独立的注意机制来计算隐藏状态,然后连接它们的特征(或计算平均值),从而产生以下两种输出表示: h i ( t ) = ∥ k = 1 K f ( ∑ j ∈ N i α i j k W k h j ( t − 1 ) ) , h i ( t ) = f ( 1 K ∑ k = 1 K ∑ j ∈ N i α i j k W k h j ( t − 1 ) ) , \begin{aligned}\mathbf{h}_i^{(t)}&=\|_{k=1}^Kf\left(\sum_{j\in N_i}\alpha_{ij}^k\mathbf{W}^k\mathbf{h}_j^{(t-1)}\right),\\\\\mathbf{h}_i^{(t)}&=f\left(\frac{1}{K}\sum_{k=1}^K\sum_{j\in N_i}\alpha_{ij}^k\mathbf{W}^k\mathbf{h}_j^{(t-1)}\right),\end{aligned} hi(t)hi(t)=∥k=1Kf j∈Ni∑αijkWkhj(t−1) ,=f K1k=1∑Kj∈Ni∑αijkWkhj(t−1) ,
[122]中的注意结构有几个特性: (1)节点-邻居对的计算是并行的,因此操作是有效的;(2)通过给相邻节点分配合理的权值来处理不同程度的节点;(3)可以很容易地应用于归纳学习问题。
加安。除GAT外,门控注意网络(GAAN)[150]也采用了多头注意机制。然而,它使用一种自我注意机制,从不同的头部收集信息,以取代GAT的平均操作。
8.3.4 Graph Recurrent Networks
一些工作正在尝试在传播步骤中使用GRU [20]或LSTM [48]等门机制,以释放由普通GNN架构所引起的限制,并提高信息在图中长期传播的有效性。我们称这些方法为图递归网络(GRNs),我们将在本小节中介绍grn的一些变体。
GGNNLi等人[72]提出了门控图神经网络(GGNN),它在传播步骤中使用了门控循环单元(GRU)。它遵循递归神经网络对固定数量的L步长的计算步长,然后通过时间反向传播来计算梯度。具体来说,传播模型的基本递归性是
a ν ( t ) = A ν ⊤ [ h 1 ( t − 1 ) … h N ( t − 1 ) ] ⊤ + b , z ν ( t ) = = S i g m o i d ( W z a ν ( t ) + U z h ν ( t − 1 ) ) , r v ( t ) = S i g m o i d ( W r a ν ( t ) + U r h ν ( t − 1 ) ) , h ~ ν ( t ) = tanh ( W a ν ( t ) + U ( r ν ( t ) ⊙ h ν ( t − 1 ) ) ) , h ν ( t ) = ( 1 − z ν ( t ) ) ⊙ h ν ( t − 1 ) + z ν ( t ) ⊙ h ~ ν ( t ) . \begin{aligned} &\mathbf{a}_{\nu}^{(t)}=&& A_{\nu}^{\top}[\mathbf{h}_{1}^{(t-1)}\ldots\mathbf{h}_{N}^{(t-1)}]^{\top}+\mathbf{b}, \\ &\text{z} _{\nu}^{(t)}= && =\mathrm{Sigmoid}\left(\mathbf{W}^{z}\mathbf{a}_{\nu}^{(t)}+\mathbf{U}^{z}\mathbf{h}_{\nu}^{(t-1)}\right), \\ &\mathbf{r}_{v}^{(t)}&& =\mathrm{Sigmoid}\left(\mathbf{W}^r\mathbf{a}_\nu^{(t)}+\mathbf{U}^r\mathbf{h}_\nu^{(t-1)}\right), \\ &\widetilde{\mathbf{h}}_{\nu}^{(t)}&& =\tanh\left(\mathbf{W}\mathbf{a}_\nu^{(t)}+\mathbf{U}\left(\mathbf{r}_\nu^{(t)}\odot\mathbf{h}_\nu^{(t-1)}\right)\right), \\ &\mathbf{h}_{\nu}^{(t)}&& =\left(1-\mathbf{z}_{\nu}^{(t)}\right)\odot\mathbf{h}_{\nu}^{(t-1)}+\mathbf{z}_{\nu}^{(t)}\odot\mathbf{\widetilde{h}}_{\nu}^{(t)}. \end{aligned} aν(t)=zν(t)=rv(t)h ν(t)hν(t)Aν⊤[h1(t−1)…hN(t−1)]⊤+b,=Sigmoid(Wzaν(t)+Uzhν(t−1)),=Sigmoid(Wraν(t)+Urhν(t−1)),=tanh(Waν(t)+U(rν(t)⊙hν(t−1))),=(1−zν(t))⊙hν(t−1)+zν(t)⊙h ν(t).
节点v首先聚合来自其邻居的消息,其中Av是图邻接矩阵A的子矩阵,表示节点v与其相邻节点的连接。然后,在类gru函数的作用下,利用节点邻居的信息和前一个时间步的隐藏状态来更新节点的隐藏状态。a收集节点v、z和r的邻域信息,分别为更新门和重置门。
通过基于树或图的传播过程,lstm也类似于GRU被使用。
图LSTM。这两种类型的树-lstm可以很容易地适应于图。[148]中的图结构的LSTM是N-ary Tree-LSTM应用的一个例子到图。然而,它是一个简化的版本,因为图中的每个节点最多有2条传入的边(来自它的父节点和兄弟姐妹的前身)。Peng等人[92]提出了基于关系提取任务的图LSTM的另一种变体。图和树之间的主要区别是图的边都有它们的标签,而[92]利用不同的权重矩阵来表示不同的标签。
i 1 t , = S i g m o i d ( W i x ν t + ∑ k ∈ N ν U m ( ν , k ) i h k t − 1 + b i ) , f ν k t = S i g m o i d ( W f x ν t + U m ( ν , k ) f h k t − 1 + b f ) , o ν t = S i g m o i d ( W o x ν t + ∑ k ∈ N ν U m ( ν , k ) o h k t − 1 + b o ) , u ν t = tanh ( W u x ν t + ∑ k ∈ N ν U m ( ν , k ) u h k t − 1 + b u ) , c ν t = i ν t ⊙ u ν t + ∑ k ∈ N ν f ν k t ⊙ c k t − 1 , h ν t = o ν t ⊙ tanh ( c ν t ) , \begin{aligned} \mathbf{i}_{1}^{t}& \text{,} =\mathrm{Sigmoid}\left(\mathbf{W}^i\mathbf{x}_{\nu}^t+\sum_{k\in N_{\nu}}\mathbf{U}_{m(\nu,k)}^i\mathbf{h}_{k}^{t-1}+\mathbf{b}^i\right), \\ \mathbf{f}_{\nu k}^{t}& =\mathrm{Sigmoid}\left(\mathbf{W}^{f}\mathbf{x}_{\nu}^{t}+\mathbf{U}_{m(\nu,k)}^{f}\mathbf{h}_{k}^{t-1}+\mathbf{b}^{f}\right), \\ \mathbf{o}_{\nu}^{t}& =\mathrm{Sigmoid}\left(\mathbf{W}^o\mathbf{x}_{\nu}^t+\sum_{k\in N_{\nu}}\mathbf{U}_{m(\nu,k)}^o\mathbf{h}_{k}^{t-1}+\mathbf{b}^o\right), \\ \mathbf{u}_{\nu}^{t}& =\tanh\left(\mathbf{W}^u\mathbf{x}_{\nu}^t+\sum_{k\in N_{\nu}}\mathbf{U}_{m(\nu,k)}^u\mathbf{h}_{k}^{t-1}+\mathbf{b}^u\right), \\ c_{\nu}^{t}& =\mathbf{i}_{\nu}^{t}\odot\mathbf{u}_{\nu}^{t}+\sum_{k\in N_{\nu}}\mathbf{f}_{\nu k}^{t}\odot\mathbf{c}_{k}^{t-1}, \\ \mathbf{h}_{\nu}^{t}& =\mathbf{o}_{\nu}^{t}\odot\tanh(\mathbf{c}_{\nu}^{t}), \end{aligned} i1tfνktoνtuνtcνthνt,=Sigmoid(Wixνt+k∈Nν∑Um(ν,k)ihkt−1+bi),=Sigmoid(Wfxνt+Um(ν,k)fhkt−1+bf),=Sigmoid(Woxνt+k∈Nν∑Um(ν,k)ohkt−1+bo),=tanh(Wuxνt+k∈Nν∑Um(ν,k)uhkt−1+bu),=iνt⊙uνt+k∈Nν∑fνkt⊙ckt−1,=oνt⊙tanh(cνt),
其中,m(v、k)表示节点v和k之间的边标签。此外,[74]还提出了一个Graph LSTM网络来处理语义对象解析任务。采用置信驱动方案自适应地选择起始节点并确定节点更新序列。它遵循了将现有的lstm推广到图结构数据的相同想法,但有一个特定的更新序列,而我们上面提到的方法对节点的顺序是不可知的。
句子LSTM。Zhang等人[152]提出了句子LSTM(S-LSTM)来改进文本编码。它将文本转换为一个图,并利用图LSTM来学习表示。S-LSTM在许多自然语言处理问题中表现出了很强的表示能力。
####8.3.5 Extensions
8.3.5.1 Skip Connection
许多应用程序展开或堆叠图神经网络层,目的是获得更好的结果,因为更多的层(即k个层)使每个节点从相邻的k个跳点中聚合更多的信息。然而,在许多实验中已经观察到,更深的模型不能提高性能,而更深的模型甚至可以执行更糟糕的[59]。这主要是因为更多的层也可以传播来自呈指数增长的扩展邻域成员的噪声信息。
一种直接的方法,残差网络[45],可以从计算机视觉社区找到。然而,即使有剩余的连接,具有更多层的GCN在许多数据集[59]上的性能也不如2层GCN。
公路网络。Rahimi等人[96]借鉴了高速公路网络[159]的想法,并使用分层闸门建造了高速公路GCN。每一层的输入值乘以门控权值,然后用输出值求和:
T ( h ( t ) ) = Sigmoid ( W ( t ) h ( t ) + b ( t ) ) , h ( t + 1 ) = h ( t + 1 ) ⊙ T ( h ( t ) ) + h ( t ) ⊙ ( 1 − T ( h ( t ) ) ) . \begin{aligned}T(\mathbf{h}^{(t)})&=\text{Sigmoid}\left(\mathbf{W}^{(t)}\mathbf{h}^{(t)}+\mathbf{b}^{(t)}\right),\\\mathbf{h}^{(t+1)}&=\mathbf{h}^{(t+1)}\odot T(\mathbf{h}^{(t)})+\mathbf{h}^{(t)}\odot(1-T(\mathbf{h}^{(t)})).\end{aligned} T(h(t))h(t+1)=Sigmoid(W(t)h(t)+b(t)),=h(t+1)⊙T(h(t))+h(t)⊙(1−T(h(t))).
通过添加高速公路闸门,在[96]中讨论的一个特定问题中,性能在四层达到峰值。在[94]中提出的列网(CLN)也利用了高速公路网。然而,它的计算门控权值的函数却有所不同。
跳跃知识网络。Xu等人的[134]研究了邻域聚合方案的性质和由此产生的局限性。提出了一种可以学习自适应、结构感知表示的跳跃知识网络。跳转知识网络从最后一层的每个节点的所有中间表示(其中“跳转”到最后一层)中进行选择,这使模型能够为每个节点选择有效的邻域信息。Xu等人的[134]在实验中使用了三种连接、最大池化和LSTM-注意的方法来聚合信息。跳跃知识网络在社会、生物信息学和引文网络的实验中表现良好。它还可以与图卷积网络、GraphSAGE和图注意网络等模型相结合,以提高它们的性能。
8.3.5.2 Hierarchical Pooling
在计算机视觉领域,一个卷积层之后通常是一个池化层,以获得更一般的特征。与这些池化层类似,许多工作都集中在设计图上的分层池化层上。复杂和大规模的图通常具有丰富的层次结构,这对于节点级和图级的分类任务具有重要意义。
为了探索这些内部特征,边缘条件卷积(ECC)[106]设计了其具有递归降采样操作的池化模块。降采样方法是基于用拉普拉斯算子的最大特征向量的符号将图分解为两个分量。
扩散池[144]提出了一个可学习的层次聚类模块,通过在每一层训练一个分配矩阵:
S
(
l
)
=
S
o
f
t
m
a
x
(
G
N
N
l
,
p
o
o
l
(
A
(
l
)
,
V
(
l
)
)
)
,
\mathbf{S}^{(l)}=\mathrm{Softmax}(\mathrm{GNN}_{l,pool}(A^{(l)},\mathbf{V}^{(l)})),
S(l)=Softmax(GNNl,pool(A(l),V(l))),
(8.98)
where V ( l ) \mathbf{V}(l) V(l) is node features and A ( l ) A^{(l)} A(l) is coarsened adjacency matrix of layer l.
8.3.5.3 Neighborhood Sampling
原始的图卷积神经网络有几个缺点。具体来说,GCN需要完整的图拉普拉斯量,这对于大型图来说是计算消耗的。此外,一个节点在L层的嵌入是通过其所有邻居在L−1层的嵌入递归计算的。因此,单个节点的接受域相对于层数呈指数级增长,因此计算单个节点的梯度代价很大。最后,GCN独立训练一个固定图,缺乏归纳学习能力。
GraphSAGE [41]是对原始GCN的全面改进。为了解决上述问题,GraphSAGE用可学习的聚合函数替换了全图拉普拉斯函数,这些函数对于执行消息传递和推广到不可见的节点至关重要。如等式中所示8.86,它们首先聚合邻域嵌入,与目标节点的嵌入连接起来,然后传播到下一层。通过学习到的聚合和传播函数,GraphSAGE可以为不可见的节点生成嵌入。此外,GraphSAGE使用邻居采样来缓解感受野的扩张。
PinSage [143]提出了基于重要性的抽样方法。通过模拟从目标节点开始的随机游走,选择归一化访问数最高的顶部T节点。
FastGCN [16]进一步改进了采样算法。FastGCN直接对每个节点的邻居进行采样,而不是对每个节点的接受域进行采样。FastGCN采用重要抽样
适应。与上述固定采样方法相比,[51]引入了一个参数化的可训练采样器,以前一层为条件进行分层采样。此外,该自适应采样器可以找到最优的采样重要性,并同时减少方差
8.3.5.4 Various Graph Types
在原始的GNN [101]中,输入图由具有标签信息的节点和无向边组成,这是最简单的图格式。然而,世界上有许多图的变体。在下面,我们将介绍一些设计用于建模不同类型的图的方法。
定向图形。该图的第一个变体是有向图。无向边可以被视为两条有向边,这表明两个节点之间存在着一种关系。然而,有向边比无向边能带来更多的信息。例如,在一个知识图中,边从头实体开始,到尾实体结束,头实体是尾实体的父类,这表明我们应该以不同的方式对待来自父类和子类的信息传播过程。DGP [55]使用两种权重矩阵,Wp和Wc,来合并更精确的结构信息。传播规则如下:
异构图形。图的第二种变体是异构图,其中有几种节点。处理异构图的最简单的方法是将每个节点的类型转换为一个与原始特征连接的一个热的特征向量。更重要的是,图的初始空间[151]将元路径的概念引入到异构图上的传播中。使用元路径,我们可以根据邻居的节点类型和距离对其进行分组。对于每个邻组,图初始化将其视为齐次图中的子图来进行传播,并将来自不同齐次图的传播结果连接起来,以进行集体节点表示。最近,[128]提出了一种利用节点级和语义级注意的异构图注意网络(HAN)。该模型能够同时考虑节点的重要性和元路径
带边缘信息的图形。在图的另一种变体中,每条边都有附加的信息,比如边的权重或类型。我们列出了两种处理这类图的方法:
首先,我们可以将该图转换为一个二部图,其中原始边也成为节点,一条原始边被分割成两条新边,这意味着在边节点和开始/结束节点之间有两条新边。G2S [7]的编码器对邻居使用以下聚合函数:
h
ν
(
t
)
=
f
(
1
∣
N
ν
∣
∑
u
∈
N
ν
W
r
(
r
ν
(
t
)
⊙
h
u
(
t
−
1
)
)
+
b
r
)
,
\mathbf{h}_{\nu}^{(t)}=f\left(\frac{1}{|N_{\nu}|}\sum_{u\in N_{\nu}}\mathbf{W}_{r}\left(\mathbf{r}_{\nu}^{(t)}\odot\mathbf{h}_{u}^{(t-1)}\right)+\mathbf{b}_{r}\right),
hν(t)=f(∣Nν∣1u∈Nν∑Wr(rν(t)⊙hu(t−1))+br),
(8.101)
where W, and b, are the propagation parameters for different types of edges
(relations).
其次,我们可以适应不同的权值矩阵来适应不同类型的边的传播。当关系的数量很大时,r-GCN [102]引入两种正则化来减少建模关系数量的参数数量:基对角分解和块对角分解。通过基分解,每个Wr的定义如下: W r = ∑ b = 1 B α r b M b . ( 8.102 ) \mathbf{W}_r=\sum\limits_{b=1}^B\alpha_{rb}\mathbf{M}_b.\quad\quad\quad\quad\quad(8.102) Wr=b=1∑BαrbMb.(8.102)
这里每个Wr是基变换的线性组合Mb∈Rdin×,系数αr b。在块对角分解中,r-GCN通过对一组低维矩阵的直接和来定义每个Wr,这需要比第一个矩阵更多的参数。
动态图形。该图的另一种变体是动态图,它具有静态图结构和动态输入信号。为了捕获这两种信息,DCRNN [71]和STGCN [147]首先通过gnn收集空间信息,然后将输出输入序列模型,如序列到序列模型或cnn。不同的是,Ctapil-RNN[53]和ST-GCN [135]同时收集时空信息。它们扩展了具有时间连接的静态图结构,从而可以将传统的gnn应用到扩展的图上。
###8.4 Summary
在本章中,我们介绍了网络表示学习,它将网络结构信息转化为连续的向量空间,并使深度学习技术在网络数据上成为可能。无监督网络表示学习是NRL发展过程中的首要任务。光谱聚类、DeepWalk、LINE、GraRep等方法都利用网络结构进行顶点嵌入学习。然后,TADW在矩阵分解的框架下,将文本信息整合到NRL中。然后,NEU算法向前推进了一步,提出了一种提高任何学习网络嵌入质量的通用方法。其他无监督方法也考虑保留网络拓扑的特定属性,例如,社区和不对称。
1]和STGCN [147]首先通过gnn收集空间信息,然后将输出输入序列模型,如序列到序列模型或cnn。不同的是,Ctapil-RNN[53]和ST-GCN [135]同时收集时空信息。它们扩展了具有时间连接的静态图结构,从而可以将传统的gnn应用到扩展的图上。
8.4 Summary
在本章中,我们介绍了网络表示学习,它将网络结构信息转化为连续的向量空间,并使深度学习技术在网络数据上成为可能。无监督网络表示学习是NRL发展过程中的首要任务。光谱聚类、DeepWalk、LINE、GraRep等方法都利用网络结构进行顶点嵌入学习。然后,TADW在矩阵分解的框架下,将文本信息整合到NRL中。然后,NEU算法向前推进了一步,提出了一种提高任何学习网络嵌入质量的通用方法。其他无监督方法也考虑保留网络拓扑的特定属性,例如,社区和不对称。
近年来,半监督NRL算法引起了广泛的关注。这种方法侧重于一个特定的任务,如分类和使用训练集的标签来提高网络嵌入的质量。为此,我们提出了节点2vec、MMDW和许多其他方法,包括图神经网络(GNNs)家族。半监督算法可以获得更好的结果,因为它们可以利用特定任务中的更多信息。