又回来补DL的坑了,这次是关于一个相对较新的方向——图神经网络。之前想做melody/chord generation时听Computer Music方向的大佬Gus Xia教授随口提了一句可以用图神经网络。最近暑期跟Finance相关的研究又跟Knowledge Graph扯到一起,于是开始了解一点GNN~
为什么要在graph的基础上跑neural networks?目的其实就是为了考虑entities之间的关系。李宏毅教授(的助教)的课中举的一个很贴切的例子:给定一部悬疑片的人物信息,需要预测凶手是谁。直接考虑每个人物的信息可能无法推出凶手,于是需要考虑人物关系网中人物之间的关系(姐弟,同事,师生等)。
GNN有两种类型:①Spatial-based convolution ②Spectral-based convolution。
下面讲一下相对简单的spatial-based GNN:(图片源网页:https://www.youtube.com/watch?v=eybCCtNKwzA)

这一类GNN基本思路为不断进行aggregate,最后根据task类型来readout。Aggregation是指对于每个节点,用自己以及相邻(有边连接)的节点的信息来update下一层中自己的状态。具体实现方式有很多,比如取平均值、加权和等,也可以自己用距离不超过d的其他节点(若只考虑相邻节点那么d=1),而且这个距离也可以自己定义,甚至可以对相邻节点做attention(Graph Attention Networks)。
值得注意的是,aggregation中sum的效果一般比mean pooling或max pooling好,原因是取mean或max无法分辨出一些图的差比。它们对于一些不同

1287

被折叠的 条评论
为什么被折叠?



