图卷积神经网络介绍(GCNs)

之前承诺要写一个关于graph network的介绍,因为随着deep learning的发展达到一个很高的水平,reasoning(推理)能力的具备变得异常迫切。而knowledge graph则是实现reasoning的重要途径之一,如何从复杂的graph中学习到潜在的知识是一项非常challenging的任务,图作为knowledge的存储媒介,deep learning作为信息抽取的重要工具,二者的结合可谓是必然趋势。下面我将结合之前看过的一篇国外的博客,为大家入门graph neural network抛一块砖。

在开始之前,多说几句,关于graph和deep learning结合的工作,想必大家都能猜到名字该怎么取,无非是这几个关键词的组合:Graph,Neural,Network,Convolution…所以,许多工作从paper名字来看并没有多大的区分性。

前言

现实世界许多数据都是以graph的形式存储的,比如social networks(社交网络), knowledge graphs(知识图谱), protein-interaction networks(蛋白质相互作用网络), the World Wide Web(万维网),最近有一些研究者把目光投向建立一种通用的神经网络模型来处理graph数据。在此之前,该领域的主流方法是一些基于kernel的方法或基于graph的正则化技术,不过从deep learning的角度来讲,这些已经属于“传统方法”了,不是我们要讨论的主题,不了解也没有关系。

GCNs:定义

由于大家的思想普遍是如何将CNN等神经网络的思想迁移到graph上,所以往往设计出来的结构都有一定的共性,使用类似convolution权重共享的思想,我们可以把这类网络暂且都称作Graph Convolutional Networks(GCNs)。这类网络从数学上来看,是想学习 G = ( V , E ) G=(V, E) G=(V,E)上的一个函数,该函数的输入是:

  • 每一个节点的的特征表示 v i v_i vi,如果节点数为 N N N,特征维度为 D D D维,则所有节点的特征可组成一个 N × D N×D N×D的矩阵
  • 图结构的表达,往往使用图的邻接关系矩阵 A A A表示

该函数产生一个node-level的输出 Z Z Z(是一个 N × F N×F N×F的矩阵, N N N代表节点数量,每一行代表一个节点, F F F代表节点特征向量的维度)。如果想要得到graph-level的特征表达,只需要将每一个node的表达综合起来再经过一个映射操作即可。

和卷积神经网络一样,对于graph的特征提取我们同样可以使用多层神经网络结构,对于每一层,我们可以使用如下的映射函数来计算:

f ( H ( l ) , A ) = f ( H ( l ) , A ) f(H^{(l)},A)=f(H^{(l)},A) f(H(l),A)=f(H

  • 17
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值