登录
原创

图卷积神经网络介绍

发布于 2020-11-11 阅读 96
  • 人工智能
原创

GCN概述

GCN(图卷积网络)是一种基于图的神经网络, 它可以借助神经网络的特性描述图上节点在高维的拓扑关系。假设有一批图数据,其中有N个节点,每个节点都有自己的特征,假设这些节点的特征组成一个N×D维的矩阵X,然后各个节点之间的关系也会形成一个N×N维的矩阵A,也称为邻接矩阵。X和A便是我们模型的输入:

在这里插入图片描述
这个公式中:

  • A波浪=A+I,I是单位矩阵
  • D波浪是A波浪的度矩阵(degree matrix),公式为
    在这里插入图片描述
  • H是每一层的特征,对于输入层的话,H就是X
  • σ是非线性激活函数我们先不用考虑为什么要这样去设计一个公式。
    image.png

每个node的特征从X变成了Z,但是,无论中间有多少层,node之间的连接关系,即A都是共享的

假设我们构造一个两层的GCN,激活函数分别采用ReLU和Softmax,则整体的正向传播的公式为:
在这里插入图片描述
image.png
最后,我们针对所有带标签的节点计算cross entropy损失函数:
在这里插入图片描述
就可以训练一个node classification的模型了。由于即使只有很少的node有标签也能训练,作者称他们的方法为半监督分类。

3 GCN的由来

GCN的输入都是邻接矩阵A和node的特征H,那么直接做一个内积,再乘一个参数矩阵W,然后激活一下,就相当于一个简单的神经网络层:
在这里插入图片描述
这个简单模型有几个局限性:

  • 只使用A的话,由于A的对角线上都是0,所以在和特征矩阵H相乘的时候,只会计算一个node的所有邻居的特征的加权和,该node自己的特征却被忽略了。因此,我们可以做一个小小的改动,给A加上一个单位矩阵 I ,这样就让对角线元素变成1了。
  • A是没有经过归一化的矩阵,这样与特征矩阵相乘会改变特征原本的分布,产生一些不可预测的问题。所以我们对A做一个标准化处理。首先让A的每一行加起来为1,我们可以乘以一个D的逆,D就是度矩阵。我们可以进一步把D的拆开与A相乘,得到一个对称且归一化的矩阵 :
    通过对上面两个局限的改进,得到最终的层特征传播公式:
    -

4 GCN的作用

原文(链接:http://tkipf.github.io/graph-convolutional-networks/)中作者做了一个实验,使用一个俱乐部会员的关系网络,使用随机初始化的GCN进行特征提取,得到各个node的embedding,然后可视化:
image.png)

可视化效果在原数据中同类别的node,经过GCN的提取出的embedding,已经在空间上自动聚类了。而这种聚类结果,可以媲美DeepWalk、node2vec这种经过复杂训练得到的node embedding的效果:

image.png

个人的一些想法:

  • 我觉得GCN就是利用节点之间在图上的拓扑关系来为每个节点构造Embedding,而传统的Embedding是通过节点的id来进行One-hot编码。
  • 对于没有节点特征或者额外信息的图,依然可以通过GCN完成节点Embedding,作者在原文中也验证了这一点。
  • GCN网络的层数作者认为不宜太多,大概在2-3层就可以了。层数太多不仅不能优化最终的结果,反倒会增加模型学习的复杂度,因此以2-3层图卷积网络是一个比较常用的结构
  • GCN与传统CNN其实并没有太多的关联,GCN更像是一种ANN(全连接网络),通过前向+反向传播更新参数的方式完成参数的更新。
  • GCN由于其在生成图Embedding上超强的能力,在推荐系统上得到了很好的运用,这里也附上一些近年来利用GCN完成推荐的顶级会议和期刊论文,大家有兴趣可以自己看看:
  1. (KDD2018)Graph Convolutional Matrix Completion
  2. (MM2019)MMGCN: Multi-modal Graph Convolution Network for Personalized Recommendation of Micro-video
  3. (TKDE2019)Heterogeneous Information Network Embedding for Recommendation
  4. (SIGIR2019)SocialGCN An Efficient Graph Convolutional Network
  5. (SIGIR2019)Neural Graph Collaborative Filtering
  6. (IJCAI2019)Deep Adversarial Social Recommendation
  7. (TKDE2020)A 2-GCN: An Attribute-aware Attentive GCN Model for Recommendation

评论区

哎嘿

1

0

0