An effective self-supervised framework for learning expressive molecular global representations to drug discovery
基本信息
博客创建者
秦明
博客贡献人
秦明:主要内容介绍
作者
Pengyong Li, Jun Wang, Yixuan Qiao, Hao Chen, Yihuan Yu, Xiaojun Yao, Peng Gao, Guotong Xie and Sen Song
摘要
在人工智能驱动的药物发现中,如何产生表达性的分子表征是一个基本挑战。图形神经网络(GNN)已成为一种强大的分子数据建模技术。然而,以前的监督方法通常受到标记数据稀缺和泛化能力差的影响。在这里,我们提出了一种新的基于分子预训练图的深度学习框架,名为MPG,它从大规模未标记分子中学习分子表示。在MPG中,我们提出了一种用于建模分子图的强大GNN MolGNet,并设计了一种有效的自我监督策略,用于在节点和图级别对模型进行预训练。在对1100万个未标记分子进行预训练后,我们发现MolGNet可以捕获有价值的化学见解,以产生可解释的表示。预处理的MolGNet可以通过一个额外的输出层进行微调,以在14个基准数据集上为广泛的药物发现任务创建最先进的模型,包括分子财产预测、药物相互作用和药物靶点相互作用。MPG中预先训练的MolGNet有可能成为药物发现管道中的高级分子编码器。
方法
方法描述
实现MPG框架的关键有两个方面:
- 1.是设计一个能够从分子结构中获取有价值信息的强大模型;
- 2.是提出一种有效的自我监督策略来预训练模型。我们将在MPG中介绍MolGNet模型和预训练策略(参见图)
MPG框架概述
左下子图(B)说明了MPG框架的工作流程,MPG框架包括两个关键组件——MolGNet和自我监督策略;MolGNet的架构如右下子图©所示;顶部子图(A)说明了我们的自我监督策略的方案,包括我们提出的PHD和用于预训练模型的AttrMasking
- MolGNet 如图1©所示,MolGNet由N=5个相同块的堆叠而成;每个层重复执行T=3次的共享消息传递操作(即时间步为3的序列网络),以使用更少的参数实现更大的接受域。每个时间步t的消息传递操作包含消息计算函数M和顶点更新函数U,其中M聚集邻居的信息并且U使用聚集的信息来更新节点的状态。形式上,这两个组件根据消息传递机制依次工作以更新每个节点的隐藏状态:
m i t = M ( x i t − 1 , x j t − 1 , e i j , j ∈ N i ) m_{i}^{t}=M({x_{i}^{t-1},x_{j}^{t-1},e_{ij}},j\in N_{i}) mit=M(xit−1,xjt−1,eij,j∈Ni)
x i t = U ( h i t − 1 , m i t ) x_{i}^{t}=U(h_{i}^{t-1},m_{i}^{t}) xit=U(hit−1,mit)
其中, N i N_{i} Ni表示节点i的邻居, e i j e_{ij} eij表示节点ij之间的边,节点更新函数U是一个门控循环单元(GRU)网络。
PHD预训练策略
化学中的大多数任务(例如,分子性质预测)依赖于固有的全局分子特征。然而,就我们所知,目前针对大规模分子图的预训练策略主要集中在节点层面的表示学习。在这里,我们提出了一种自监督的预训练策略,称为PHD,它在图层面显式地预训练GNN。受对比学习的启发,成对半图判别法(Pairwise Half-graph Discrimination, PHD)策略的关键思想如图(A)所示,是学习比较两个半图(每个半图从一个图样本中分解),并区分它们是否来自相同的来源(二进制分类)。如果我们假设来自同一来源的两个半图可以组合成一个有效的分子,而来自不同来源的两个半图不能,那么PHD就是通过组合两个半图来识别分子的有效性,这可能会教会网络捕捉一些分子的固有模式。特别是,在GNN的消息传递的基础上,我们采用了一个称为集合节点的虚拟节点来整合两个半图的信息。集合节点的表示作为给定的两个半图的全局表示,学习通过最大似然估计来预测两个半图是否来自同一来源。为了更好地执行PHD任务,需要学习的集合节点表示对能够区分半图对之间的相似性和差异性的全局信息进行编码。此外,我们将我们的PHD策略与最近提出的节点级策略AttrMasking相结合进行联合预训练,以充分利用结构图信息并避免负迁移。简而言之,AttrMasking用于预测被掩蔽的节点的类型,如图(A)所示。
- 图的分解和负采样
我们将图分解成两个半图,作为正样本的半图对,其中一个半图有0.5的概率被替换以产生负样本。如图2所示,给定一个图G=(V,E),其中V代表节点,E代表边。使用采样节点v3作为边界节点,将G分成两个半图Gs,1和Gs,2,其中Gs,1包含节点v0,v1,v2,Gs,2包含节点v3,v4,v5,v6,v7。这两个半图中的边分别对应于邻接矩阵的左上方子矩阵和右下方子矩阵。为了产生大小不同且均衡的半图,在总节点数的1/3到2/3范围内随机抽样边界节点索引。
对于负抽样,我们随机抽样数据集中的另一个图,并使用上述方法将其分离为两个半图,并用这两个半图中的一个替换Gs,2以生成负样本。如何生成负样本可能会对学习嵌入的质量产生很大影响。它可以驱动模型来估计这两个图是否可以合并成有效的图。通过这种方式,该模型可以从下游任务所必需的节点和边中学习图的有价值的图级特征。
- 虚拟集合节点
通过上述方法得到的半图对是两个相互独立且没有任何联系的图。我们将这两个半图连接成一个完整的图,并引入一个虚拟集合节点,通过聚合每个节点的信息来获得全局图级表示。集合节点通过虚拟有向边与所有其他节点链接,从其他节点指向集合节点。在GNN的消息传递过程中,集合节点从所有其他节点学习其表示,但不影响它们的特征更新过程。因此,收集节点的特征可以掌握半图对的全局表示,并输入前馈神经网络进行最终预测。
- 输入表示
输入表示由特征嵌入和分段嵌入两部分组成。图一般由一组节点特征和边特征来描述。除了特征嵌入,我们还在每一个节点和每条边上增加了一个可学习的分段嵌入,以指示它属于哪个半图。最终的输入表示是将分段嵌入和特征嵌入相加得到的。通过这种方式,该模型可以区分来自不同分段的节点和边,从而可以同时输入两个图,如图所示。
实验
实验设置
数据集
为了在MPG中预训练MolGNet,构建了一个大规模数据集,其中包含来自ZINC和ChEMBL数据集的1100万个分子。
- ZINC
- ChEMBL
对比方法
对比的基线包括
-
Mol2Vec 分子嵌入
-
N-Gram 是一种基于统计语言模型的算法
-
SMILES-BERT 基于bert的smiles嵌入模型(预训练)
-
GROVER 基于图transformer的预训练模型 (预训练)
实验结果及分析
评估指标
ROC曲线下面积(AUROC
- 可视化实验
消融实验
加入与训练效果还是有十分明显的提升,节点和图两个级别的与训练策略还是很有效果的。
相关知识链接
下载
源代码论文
MPG
总结
亮点
- 提出了一种新的预训练策略,模型的更新不再是传统的transformer,加入了边的信息,并运用了GRU门控时续网络。
[启发]
- 可以将边的信息加入到transformer中
- 图级别的预训练策略还可以使用分割匹配的方式
BibTex
@article{10.1093/bib/bbab109,
author = {Li, Pengyong and Wang, Jun and Qiao, Yixuan and Chen, Hao and Yu, Yihuan and Yao, Xiaojun and Gao, Peng and Xie, Guotong and Song, Sen},
title = "{An effective self-supervised framework for learning expressive molecular global representations to drug discovery}",
journal = {Briefings in Bioinformatics},
volume = {22},
number = {6},
year = {2021},
month = {05},
issn = {1477-4054},
doi = {10.1093/bib/bbab109},
url = {https://doi.org/10.1093/bib/bbab109},
note = {bbab109},
eprint = {https://academic.oup.com/bib/article-pdf/22/6/bbab109/41087439/si\_bbab109.pdf},
}