总结:
1、学习了基本图论知识、了解了pyg包
2、学习了图的消息传递原理,并通过继承MessagePassing
基类来构造自己的图神经网络类
3、学习实现多层图神经网络的方法,并以节点分类任务为例,学习训练图神经网络的一般过程。以PubMed
数据集为例子,对MLP和GCN, GAT(两个知名度很高的图神经网络)三类神经网络在节点分类任务中的表现进行比较分析,以此来展现图神经网络的强大和论证图神经网络强于普通深度神经网络的原因。
4、使用pyg中不同的卷积层、不同层数、每层不同的神经元对节点进行预测
5、学习Cluster-GCN网络,以解决如下两个主要问题:随着图神经网络层数增加,计算成本呈指数增长,保存整个图的信息和每一层每个节点的表征到内存(显存)而消耗巨大内存(显存)空间
6、图表征学习要求在输入节点属性、边和边的属性(如果有的话)得到一个向量作为图的表征,基于图表征进一步的我们可以做图的预测。通过学习一个经典的同构网络GIN来实践。
7、在一些应用场景中,数据集规模超级大,我们很难有足够大的内存完全存下所有数据。因此需要一个按需加载样本到内存的数据集类。学习为一个包含上千万个图样本的数据集构建一个数据集类。最后基于GIN的图表示学习神经网络,和之前我们自己定义的数据集来实现分子图的量子性质预测任务。
未来计划:复习之前所学知识,进一步了解背后理论原理,深入学习
感谢datawhale优质的开源课程
课程链接