最近在做一些图神经网络相关的课题,做了些调研,简单记录一下想法和收获。
图神经网络简介
图(Graph)这种数据结构在很多场景下都有大量应用和表现。各节点通过边建立关系,图神经网络是借助神经网络的知识,将图中的每个节点embedding为向量,每个节点向量化后,就可以做很多下游任务了,比如节点的分类、节点间链路预测、节点相关性预测等等。
应用场景
有了节点的embedding表示,其实就可以有很多很多的应用场景。比如:
- 商品推荐:有user和item,可以用item作为节点(节点包含自身原始的属性特征),用户的点击行为,可以刻画item之间的连接关系。这样就建立了Graph。然后用两个item的内积衡量相似性,损失函数优化相似性,就可以得到各item的embedding。推断时,来了新item,通过额外信息可建立与其他item的关系,从而得到embedding,然后计算与某些其他item的相似程度,进行推荐。
- 用户分类:有user和各类与user有关的信息,通过这些信息建立user之间的连接关系,完成构图。损失函数选择交叉熵,从而可对embedding再经过mlp、softmax进行类别的预测概率,从而完成训练。
- 交通流量预测:路口的流量看作节点,可与其他节点建立连接关系。
- 其他经典数据集:如论文引用数据集、分子结构等等。