论文标题:Advanced graph and sequence neural networks for molecular property prediction and drug discovery
代码:https://github.com/divelab/MoleculeX
1、Notations and problem definitions
旨在通过基于图和基于序列的机器学习模型对分子的某些属性进行精确预测。
Graph:G(V,E) ,V是点集合,E是边集合
SMILES:字符串,其中每个字符表示一个化学原子或键、环等结构的指示符
AdvProp由四个模块组成
ML-MPNN, Weisfeiler–Lehman subtree (WL-subtree) kernel, contrastive-BERT and subsequence kernel
2、Multi-level message passing neural network
ML-MPNN的特点是能够从分子图的所有层次聚合信息,包括节点、边、子图和整个图
Multi-level representations. 设边为e,结点为v,则edge-level,node-level分别表示为w(e)、x(v)。ML-MPNN利用junction tree获取子图并初始化subgraph-level representations。连接树将分子图表示为树,树中的每个节点对应原始分子图中的一个子图。经过ML-MPNN,得到的最终图级表示用于预测分子性质。给定图G,graph-level representations为z(G)
ML-MPNN. 典型GNN架构。
Step 1: Update the edge-level representations.
通过聚合来自source node and target node的node-level表示以及graph-level表示的信息来更新edge-level表示。具体地说,将这些表示与前面的edge-level表示连接起来,作为多层感知器(MLP)的输入,以更新edge-level表示:
Step 2: Update the node-level representations
传入边的更新的edge-level表示和对应源节点的node-level表示来计算。然后用消息和graph-level表示更新节点级表示:
Step 3: Update subgraph-level representations.
更新subgraph-level表示的消息来自分配给subgraph和相邻subgraph的node:
Step 4: Update the graph-level representation.
最后,graph-level表示来自每个级别的更新表示的消息后进行更新。
Step 5: Normalization for multi-level representations.
添加BatchNorm 可以稳定训练过程,通常可以获得更好的性能。然而,由于图的大小不同,图将导致在不同的尺度上表示。因此,必须应用特定的尺寸归一化方法EdgeSizeNorm, NodeSizeNorm和SubgraphSizeNorm:
3、Contrastive-BERT(最大的亮点在于与原始embedding矩阵的对比发现最佳预测)
与原始的BERT类似,Contrastive-BERT的网络架构主要遵循Transformer:
Masked embedding recovery task.包括一个自我监督的预训练阶段和一个监督的微调阶段。在SMILES序列中,15%的角色是随机mask的。对于每个被选择被屏蔽的字符,它有80%的概率被一个特殊的令牌替换,10%的概率被另一个随机字符替换,10%的概率保持不变。
oi没有ground truth,这意味着不能使用一个共同的监督目标。为了完成预训练,我们的对比- bert通过对比学习设计了一个自我监督的目标。对于masked token,强制预测的oi与hi相似,因为它们对应相同的字符。相比之下,oi需要不那么类似于hj; 注意,虽然hi从网络的输入中被替换,但它仍然可以从embedding矩阵中检索出来。给定一个度量相似性的函数,可以使用一个对比损失来实现预训练:
在预训练阶段之后微调。具体来说,换一个预测head来预测分子性质。微调是一个端到端训练过程,有监督损失。在这两个训练阶段,使用了一种基于SMILES序列特征的数据增强技术。也就是说,一个分子可以由多个不同的SMILES序列表示,尽管每个SMILES序列只对应一个特定的分子。
在测试时,使用规范化算法为每个分子生成唯一的规范化SMILES序列。
MoleculeNet:(看效果还可以)
看论文时强烈建议看supplementary!!