Justin Gilmer, Samuel S. Schoenholz, Patrick F. Riley, Oriol Vinyals, George E. Dahl. Neural Message Passing for Quantum Chemistry. Proceedings of the 34th International Conference on Machine Learning, PMLR 70:1263-1272, 2017.
https://arxiv.org/abs/1704.01212
文章提出了一个框架MPNN,整合那些使用信息传递算法和聚合过程来计算以拓扑图作为输入的函数的拓扑图模型,这个框架可以很好的预测分子和材料的性质。
MPNN框架
对一个具有节点特征xv和边特征evw的无向图G,MPNN的前向传播有两个阶段:消息传递阶段(message passing phase)和读出阶段(readout phase)。
- 消息传递阶段运行T个时间步,用消息函数
和顶点更新函数
定义。在该阶段,根据消息
更新图中各节点的隐藏状态
,其中
表示v在G中的邻节点:
- 读出阶段根据某个读出函数R计算整个图的特征向量
注意,也可以通过引入图中所有边的隐藏状态,并将它们像消息传递阶段一样地更新,来学习MPNN中的边特征。
消息函数,向量更新函数
和读出函数
都是可微函数。
作用于节点的状态集合,同时对节点的排列不敏感,这样才能保证 MPNN 对图同构保持不变。在之前提出的不同MPNN模型中,
,
和
有着不同的具体实现形式。
QM9上的MPNN
用表示图中每个节点的内部隐藏表示的维数,用
表示图中节点的数量。我们对MPNNs的实现是在有向图上操作,在这种情况下,传入消息
是
和
的拼接。将此应用于无向的化学图时,我们将图视为有向的,其中每条原始边都变成了带有相同的标签的输入边和输出边。
我们的MPNN模型的输入是一组图的节点的特征向量,和一个带有向量值条目的邻接矩阵a,以表示分子中的不同键以及两个原子之间的成对空间距离。初始隐藏状态
被设置为原子输入特征向量
,并被填充到维度
。
为了兼容边特征,新的消息函数如下,其中是将边向量
映射到
维矩阵的神经网络。
理论上来说,如果节点消息同时依赖于源节点和目标节点
的话,网络的消息通道将会得到更有效的利用。所以也可以尝试去使用一种消息函数的变种,其中,
为神经网络。
另外,文章探索了两种不同的方法来更改消息在整个模型中的传递方式。最简单的修改是为未连接的节点对添加单独的“虚拟”边。这可以作为数据预处理步骤实现,并允许信息在传播阶段进行长距离传输。还可以使用一个潜在的“主”节点,它以特殊的边类型连接到图中的每个输入节点。主节点充当全局暂存空间,每个节点在消息传递的每个步骤中都从暂存空间读取和写入。目的同样是为了在传播阶段传播较长的距离。
最后,文章同样尝试了两种读出函数。首先是 GG-NN 中的读出函数:
此外也考虑set2set模型,模型首先对元组做线性映射,并将投影元组的集合作为输入
,然后经过
步计算后,set2set模型会生成一个与节点顺序无关的embeedding向量,从而得到输出向量。
同之前的模型和表征比较,文章模型在QM9的各项性质预测上都取得了最小的MAE值。

文章还发现完整的边特征向量(包括键类型和空间距离)和处理氢原子作为显式节点是非常重要的。
网友评论