笔记

图神经网络学习

图神经网络学习

图基本性质

假设存在这么一个无向图,我们已经定义了每一个节点的编号

v2v3v1v4v5

我们定义:

邻接矩阵(Adjacency Matrix)

Ai,j={1, if (vi,vj)E0, otherwiseA_{i,j} = \left \{ \begin{aligned} & 1,\ \text{if}\ (v_i,v_j)\in E \\ & 0,\ \text{otherwise} \end{aligned} \right.

则有邻接矩阵Ai,jA_{i,j}:

Ai,j=(0101110100010101010110010)A_{i,j} = \left ( \begin{matrix} 0 & 1 & 0 & 1 & 1 \\ 1 & 0 & 1 & 0 & 0 \\ 0 & 1 & 0 & 1 & 0 \\ 1 & 0 & 1 & 0 & 1 \\ 1 & 0 & 0 & 1 & 0 \end{matrix} \right)

注意到:此时边的权重等价,如果带有权重,则元素不局限于0和1

有权重时会发生什么:

​ 当带有权重的时候,最直观的感觉是有些边的重要性会下降,当图很大的时候,引入权重,且带有惩罚项,可以降低维度,但与此同时也带来了信息熵(Information Entropy)增大,即不确定性(Uncertainty)的增高。但Transformer可以更好的保留信息进行训练。

边是有向的时候会发生什么:

​ 考虑到DAG,会让人觉得这一方面与因果推断所相关。但机器学习与因果推断的结合会出现解释难度增高,尤其是神经网络,需要更加谨慎。

对角矩阵均为0:

​ 我的理解是在邻接矩阵构建时,并没有考虑到节点本身的连接。翻阅一些文献的时候,其在GNN训练的时候一般会加一个单位对焦矩阵InI_{n}。出于实际意义,这样的操作保留了节点自身的信息,在下一次更新的时候,就不会完全被邻近信息所完全覆盖。处于数学角度来看,这个操作对于节点i而言,它的自身特征和邻近特征会一起加权平均,取决于训练的权重。这个证明相当简单:

A~=A+ID~ii=jA~ijH(l+1)=σ(D~1/2A~D~1/2H(l)W(l))\begin{aligned} \tilde{A} &= A + I \\ \tilde{D}_{ii} &= \sum_j \tilde{A}_{ij} \\ H^{(l+1)} &= σ(\tilde{D}^{-1/2} \tilde{A}\tilde{D}^{-1/2} H^{(l)} W^{(l)}) \end{aligned}

度矩阵(Degree Matrix)

Di,j={d(vi), if i=j0, otherwiseD_{i,j} = \left \{ \begin{aligned} & d(v_i),\ \text{if}\ i=j \\ & 0,\ \text{otherwise} \end{aligned} \right.

则有度矩阵Di,jD_{i,j}:

Di,j=(3000002000002000003000002)D_{i,j} = \left ( \begin{matrix} 3 & 0 & 0 & 0 & 0 \\ 0 & 2 & 0 & 0 & 0 \\ 0 & 0 & 2 & 0 & 0 \\ 0 & 0 & 0 & 3 & 0 \\ 0 & 0 & 0 & 0 & 2 \end{matrix} \right)

拉普拉斯矩阵(Laplacian Matrix)

怎么又是你拉普拉斯

拉普拉斯矩阵定义很简单,度矩阵减邻接矩阵即可

L=DAL = D- A

做归一化:

Lsym=D1/2LD1/2L^{sym} = D^{-1/2} L D^{-1/2}

代入拉普拉斯公式:

Lsym=D1/2(DA)D1/2=D1/2DD1/2D1/2AD1/2=ID1/2AD1/2\begin{aligned} L^{sym}&=D^{-1/2}(D - A)D^{-1/2} \\ &=D^{-1/2}DD^{-1/2}-D^{-1/2}AD^{-1/2}\\ &= I - D^{-1/2}AD^{-1/2} \end{aligned}

随机游走归一化(基础GNN网络)

Lrw=ID1AL^{rw}=I-D^{-1}A

但显然,此时

D1A(D1A)TD^{-1}A \neq (D^{-1}A)^T

对称矩阵有更好的数学性质,其特征值为实数。

归一化的拉普拉斯可以被分解为

Lsym=UΛUTL^{sym} = U\Lambda U^T

此时对阵矩阵的优势就出来了,由于Λ\Lambda是对角矩阵,则UU为特征向量构成的一个横矩阵。(GCN网络)

U=[u0,u1,...un1]Rn×nU = [u_0, u_1, ... u_{n-1}] \in R^{n \times n}

图卷积网络GCN

与卷积网络相结合,构造两层GCN,激活函数使用ReLUSoftmax.

Z=f(X,A)=softmax(LsymReLU(LsymXW(0)First Layer)W(1))Z=f(X,A)=softmax(L^{sym}\overbrace{ReLU(L^{sym}XW (0)}^{\text{First Layer}})W(1))

缺点:

  • 不能处理大图
  • 训练时需要知道整个图的结构信息(包括预测结点)我认为或许可以和先验分布进行结合,但先验分布的选取和需要检验先验分布的合理性

后记

随后的图神经网络发展也结合了LSTM,来解决了训练时需要知道整个图的结构信息缺点还有占用内存过大的问题,但对于过长的记忆仍然面对挑战,为了保留更重要的信息,后面也与注意力机制相结合分配权重(GAT框架)。