GNN

知识嵌入消息传递神经网络KEMPNN 实验实现

接前文 1. 环境 查询cuda版本 >> nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2019 NVIDIA Corporation Built on Sun_Jul_28_19:12:52_Pacific_Daylight_Time_2019 Cuda compilation tools, release 10.1, V10.1.243 安装环境和包 conda create –name GNN python=3.8 conda activate GNN pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html conda remove -n GNN –all 在如下环境中测试通过。 Python 3.9, torch 1.9.1, cuda11.1 Python 3.8, torch 1.7.1, cuda10.1 2...

知识嵌入消息传递神经网络Knowledge-Embedded Message-Passing Neural Networks(KEMPNN)学习笔记

近期我在进行点分类问题研究时,尝试基于图神经网络(GNN)提高预测精度。点分类问题对应于GNN中的节点预测。 我尝试使用知识嵌入消息传递神经网络KEMPNN进行试验,如下是我以分子特性预测为例做的学习笔记,建议可以直接去看原文。 背景 GNN通过聚合节点(node)和边(edge)的特征向量实现属性预测。 最亮眼的工作就是分子特性预测,基于 GNN 的方法,例如消息传递神经网络 (MPNN)或更新的 D-MPNN和FP在几乎所有任务中都优于基于描述符的方法。 GNN 的一个缺点是,为了获得足够的准确度,预测性能需要大型数据集,而且此类数据集的准备成本很高,小型预测任务或小型研究项目难以采用最新的深度学习方法。一种解决方案是利用迁移学习或多任务学习。一些研究表明,迁移学习可以提高小数据集任务的预测准确性,甚至对于大型数据集任务亦可。但是,要应用迁移学习,在分子特性预测任务中,必须有另一个与目标属性相关的分子属性数据集。 GNN 的另一个缺点是,由于分子表示是通过黑盒计算自动学习的,因此很难解释分子的哪个特征负责预测。同时,与基于描述符的方法不同,基本上不可能将我们的意图或知识直接反映到分子表示中,因为表示仅是从训练数据中学习...