文章目录
- 1.前言
- 2.消息传递机制
- 1.RecGNN
- 2.ConvGNNs
- 3.GAT
1.前言
相比较于神经网络最基本的网络结构全连接层(MLP),特征矩阵乘以权重矩阵,图神经网络多了一个邻接矩阵。计算形式很简单,三个矩阵相乘再加上一个非线性变换。
因此一个比较常见的图神经网络的应用模式如下图,输入是一个图,经过多层图卷积等各种操作以及激活函数,最终得到各个节点的表示,以便于进行节点分类、链接预测、图与子图的生成等等任务。
消息传递机制(属性向量优化的方法叫做消息传递机制)是目前GNN的主流研究方向,以下面这个无向图举例说明各类别网络的消息传递机制的不同
2.消息传递机制
1.RecGNN
[
h
1
′
h
2
′
h
3
′
h
4
′
h
5
′
]
=
[
0
1
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
]
∗
[
h
1
h
2
h
3
h
4
h
5
]
\begin{bmatrix} h_1^{'}\\h_2^{'}\\h_3^{'}\\h_4^{'}\\h_5^{'} \end{bmatrix} = \begin{bmatrix} 0&1&1&0&1\\1&0&0&1&0\\1&0&0&1&0\\0&1&1&0&0\\1&0&0&0&0 \end{bmatrix} * \begin{bmatrix} h_1\\h_2\\h_3\\h_4\\h_5 \end{bmatrix}
h1′h2′h3′h4′h5′
=
0110110010100100110010000
∗
h1h2h3h4h5
最原始的GNN是SUM求和传递机制, 可以看出
h
1
′
=
h
2
+
h
3
+
h
5
h_1^{'} = h_2 + h_3 + h_5
h1′=h2+h3+h5
2.ConvGNNs
图卷积网络(GCN)就考虑到了节点的度,度越大,权重越小,使用了加权的SUM
[
h
1
′
h
2
′
h
3
′
h
4
′
h
5
′
]
=
[
0
1
3
2
1
3
2
0
1
3
1
⋮
⋮
⋮
⋮
⋮
]
∗
[
h
1
h
2
h
3
h
4
h
5
]
\begin{bmatrix} h_1^{'}\\h_2^{'}\\h_3^{'}\\h_4^{'}\\h_5^{'} \end{bmatrix} = \begin{bmatrix} 0&\frac{1}{\sqrt{3}\sqrt{2}}&\frac{1}{\sqrt{3}\sqrt{2}}&0&\frac{1}{\sqrt{3}\sqrt{1}}\\\vdots&\vdots&\vdots&\vdots&\vdots \end{bmatrix} * \begin{bmatrix} h_1\\h_2\\h_3\\h_4\\h_5 \end{bmatrix}
h1′h2′h3′h4′h5′
=[0⋮321⋮321⋮0⋮311⋮]∗
h1h2h3h4h5
可以看出,
h
1
′
=
1
3
2
h
2
+
1
3
2
h
3
+
1
3
1
h
5
h_1^{'} = \frac{1}{\sqrt{3}\sqrt{2}}h_2 + \frac{1}{\sqrt{3}\sqrt{2}}h_3 + \frac{1}{\sqrt{3}\sqrt{1}}h_5
h1′=321h2+321h3+311h5
3.GAT
再到后面发展为图注意力网络GAT,在消息传递过程中引入了注意力机制: