李宏毅机器学习课程笔记-8.1图神经网络入门

GNN的用处

分类(Classification)

比如,有很多不同的化学分子,将其表示成图作为输入,用GNN判断其是否会导致突变,这就是一个有监督分类问题。

生成(Generation)

比如,我们需要开发针对新冠病毒的新药,我们可以训练出一个可以生成我们想要的分子(输出形式为图)的GNN,然后用这个GNN生成可以对抗病毒的某种化学分子。

GraphVAE

为什么要用GNN

上面列举的分类、生成的例子中输入或输出都是图,所以要用GNN。图不仅包含了各个结点的信息,更重要的是它包含了各个结点之间的关系

使用GNN时可能遇到的问题

  • 如何通过结点间的信息帮助模型
  • 图中可能包含大量结点,数据集非常大
  • 大量结点都是没有label的

GNN的两种思路

很直观地可以想到,一个结点和它的相邻结点肯定有某些特定的关系,比如说相似(近朱者赤近墨者黑)、相反、合作等等。在多数情况下,数据集unlabeled node都是远多于labeled node的,我们想要得到一个较好的模型,那我们要如何利用仅有的少量labeled node以及它和邻居间的关系呢?结合CNN,我们要如何将卷积这个操作推广到GNN模型中,用卷积将结点嵌入到某个特征空间中呢?有两种方法

  • Spatial-based Convolution

    Generalize the concept of convolution(corelation) to graph.

  • Spectral-based Convolution

    Back to the definition of convolution in signal processing.

GNN导图

img

任务和数据集

常见任务

  • Classification
  • Regression
  • Graph Classification
  • Graph Representation Learning
  • Link Prediction

常用数据集

  • CORA: citation network, 2.7k nodes and 5.4k links
  • TU-MUTAG: 188 molecules with 18 nodes on average

其它

https://www.dgl.ai/


Github(github.com):@chouxianyu

Github Pages(github.io):@臭咸鱼

知乎(zhihu.com):@臭咸鱼

博客园(cnblogs.com):@臭咸鱼

B站(bilibili.com):@绝版臭咸鱼

微信公众号:@臭咸鱼

转载请注明出处,欢迎讨论和交流!