[ 深度学习 ] —— 图卷积神经网络 GCN
1、图卷积要干什么?
图卷积神经网络主要要完成的就是这件事,给定一个图网络,把节点(node)(又称顶点(vertex))与 边(edge)输入进一个函数,希望得到一个各个节点的feature信息,利用这个feature去实现各种任务(比如分类)。如图1所示。
其中,
表示输入特征矩阵,形状为 (是节点的个数,是每个节点的特征向量维度);
表示输出特征矩阵,形状为 (是节点的个数,是每个节点的特征向量维度);
2、图卷积神经网络的结构是什么?
图卷积神经网络最核心的就是下面这个公式。
在这个公式中可以看到,输入与输出是分别由、 和 构成,那么他们是什么呢?与图1中的 和 有什么关系呢?
实际上是图卷积神经网络的隐藏层, 表示隐藏层的层数。当 , 把这个公 时,公式1就变成图1的特例就变成了 。实际上图卷积神经网络就是在输入 与输出 之间插入了大量隐藏层 构成。如图2所示。
是图网络中的邻接矩阵。
到这里就明白了图卷积神经网络的前向传播
3、节点的前向传播
我们用一个最简单的 函数来具体说明图卷积神经网络中具体每个节点是如何前向传播的。同时,还要说明图卷积神经网络要更新的 学习参数 是什么?
公式2中, 是非线性函数比如ReLU; 是第 层的学习参数。
将公式2代入到公式1中,并将 分开看,就是具体每个节点的传播方法。下面是关键公式。
其中, 指的是图中第 i 个节点; 表示归一化系数。 这个公式最大的特点是说,图中每个节点的特征是在其他节点特征的共同作用下更新的。即:
参考文献汇总
1、GCN作者官方教程。