MPNN:消息传递神经网络

作者&投稿:闳胡 (若有异议请与网页底部的电邮联系)
~ 近年来,随着量子化学计算和分子动力学模拟等实验的展开产生了巨大的数据量,大多数经典的机器学习技术都无法有效利用目前的数据。而原子系统的对称性表明,能够应用于网络图中的神经网络也能够应用于分子模型。所以,找到一个更加强大的模型来解决目前的化学任务可以等价于找到一个适用于网络图的模型。

本文的目标是证明:能够应用于化学预测任务的模型可以直接从分子图中学习到分子的特征,并且不受到图同构的影响。本文提出的MPNN是一种用于图上监督学习的框架,能够概括之前一些文献提出的一些方法,并且能够按照这个框架提出一些新的架构。本文提出的新的MPNN变种基于实际的应用场景:预测有机小分子的量子力学性质。并且,作者希望以后提出的新的MPNN变种能够从实际的应用出发,从实际应用中获得启发。

本文以QM9作为benchmark数据集,这个数据集由130k个分子组成,每个分子有13个性质,这些性质是通过一种计算昂贵的量子力学模拟方法(DFT)近似生成的,相当于13个回归任务。这些任务似乎代表了许多重要的化学预测问题,并且目前对许多现有方法来说是困难的。

本文提出的模型的性能度量采用两种形式:
①DFT近似的平均估计误差;
②化学界已经确立的目标误差,称为“化学精度”。

本文介绍了能够应用MPNN框架的8篇文献,为了简便起见,以处理无向图 为例,无向图 包含节点特征 和边的特征 ,将这种形式推广到有向重图是不重要的。MPNN前向传播的过程包含两个阶段,即消息传递阶段(message passing phase)和读出阶段(readout phase)。消息传递阶段运行 个时间步并且依赖消息函数 以及节点更新函数 。在消息传递阶段,每个节点的隐状态 都会根据消息 进行更新,具体过程是:

代表节点 的邻居节点集合。读出阶段使用某种读出函数 来为整个图计算一个特征向量:

都是用来学习的可微函数。 作用于节点状态集合,并且必须对节点状态的排列保持不变,以使MPNN对图同构保持不变。注意MPNN也可以学习边的特征,这可以通过为每条边引入隐状态 并应用前面的两个过程来实现。接下来,我们通过指定所使用的消息函数 、顶点更新函数 和读出函数 来定义以前文献中的模型。

本文提出的模型采用的消息函数是:

代表拼接。节点更新函数是:

是节点 的度, 对应于时间步 以及节点度 的学习矩阵。读出函数将之前所有隐状态 进行连接:

是一个神经网络, 是时间步 的一个学习矩阵。

这样的消息传递的方法可能有问题,因为最终得到的消息向量为 ,这是边和节点状态向量的加和,缺乏边和节点状态向量的交互。

消息函数为:

是特定于边的标签的学习矩阵(这个模型假设边有离散的标签)。更新函数如下:

GRU就是门控循环单元,一种循环神经网络,对于每个时间步进行权重共享,也就是说每个时间步共用同一个更新函数。最后,读出函数:

代表神经网络, 代表哈达玛积。

这个模型考虑了两种情况,一种是每个节点都有自己的目标,另一种是有一个graph level的目标。它还考虑了在每个时间步骤中存在node level影响的情况,在这种情况下,更新函数将 连接作为输入,其中 是一个外部向量,表示顶点 受到的外部影响。消息函数 是一个神经网络,使用拼接向量 作为输入,节点更新函数 也是一个神经网络,使用 作为输入。最终读出函数得到一个graph level的输出: ,这里 是一个神经网络。注意,这个模型只定义了 的情况。

这个模型与之前的MPNNs稍微有一些不同,是因为它引入了边的表示 ,并且会在消息传递阶段进行更新。消息函数为:

节点更新函数为:

同样的 代表拼接, 代表ReLU激活函数, 是学习权重矩阵。边状态更新的方式是:

都是学习矩阵。

消息函数为:

是矩阵, 是偏置向量。更新函数为:

读出函数使用单个隐层神经网络独立地通过每个节点,并对输出进行求和:

8篇文献中有3篇属于这一类。其中两篇采用消息函数:

矩阵 通过拉普拉斯矩阵的特征向量和模型的学习参数来参数化。更新函数为:

代表非线性函数,比如ReLU激活函数。

另一篇文献采用消息函数:

这里 。节点更新函数为:

本文以前述GG-NN作为baseline进行改进,提出一种新的MPNN变种。下文中以 代表节点特征的维度,以 代表图的节点的数量。这一变种适用于有向图,这意味着入边和出边有分别的信息通道,那么信息 由 和 拼接而成,当我们将模型应用无向图时,就把无向图的边看做两条边,包含一条入边,一条出边,有相同的标签,这样处理的方式意味着信息通道的大小是 而不是 。

模型的输入是每个节点的特征向量 以及邻接矩阵 ,邻接矩阵 具有向量分量,表示分子中的不同化学键以及两个原子之间的成对空间距离。初始状态 是原子输入特征集合 ,并且需要padding到维度 。在实验中的每个时间步 都要进行权重共享,并且更新函数采用GRU。

GG-NN原本采用的消息函数,采用矩阵相乘的方式(注意原来的GG-NN的边有离散的标签,而现在我们假设的边有一个特征向量 ):

是特定于边的标签的学习矩阵。为了兼容边特征,本文提出了新的消息函数:

是一个神经网络,将边的特征向量 映射到一个 的矩阵。上述两种消息函数的特点是消息只依赖于 和 而不依赖于 ,如果消息同时依赖目标节点与源节点,那么应该是更加高效的,可以尝试以下这种消息函数:

这里 是一个神经网络。

对于有向图,一共有两个消息函数 和 ,对于边 应用哪个消息函数取决于边的方向。

本文探索了两种方式来改变模型中信息的传递。第一种是为未连接的节点对添加一个单独的“虚拟”边类型。这一处理可以在预处理时实现,效果是可以使得在传播过程中让信息传播更远的距离。

另一种方式是添加一个“master”节点,让它通过一种特殊类型的边与所有节点连接。“master”节点充当全局暂存空间,每个节点在消息传递的每个步骤中都对其进行读写操作。另外“master”节点拥有单独的节点维度 ,以及内部更新函数(实验中是GRU)的单独权重。这同样可以使得在传播过程中让信息传播更远的距离。这样可以允许模型有更大的容量,同时也不会过多的损失效率,其复杂度为 。

读出函数采用set2set模型,这个模型使用 作为输入,然后再经过 步计算后生成一个graph level的embedding ,其中过程与 内节点顺序无关,最终将 输入到一个神经网络中来获得最终输出。具体参考文献: Sequence to sequence for sets。

由于消息传递阶段的复杂度为 ,当 和 增大时,计算上就会是昂贵的。处理的方法是将 拆分成 个不同的 维的embedding ,并且在每个 上独立运行传播过程得到 ,然后进行混合:

代表神经网络, 代表拼接, 在所有节点上共享。这样的混合过程保持了节点排列的不变性,同时允许图的不同副本在传播阶段相互通信。这样的设计提升了计算效率,比如在使用矩阵相乘的消息函数时一个副本的复杂度为 ,当有 个副本时一共为 。

一个分子有很多特征,如下图所示:

边的特征包括化学键与距离,因此有以下三种表示方式:
①化学图(Chemical Graph):在不考虑距离的情况下,邻接矩阵的值是离散的键类型:单键,双键,三键或芳香键;
②距离分桶(Distance bins):GG-NN基于矩阵乘法的消息函数的前提假设是“边信息是离散的”,因此作者将键的距离分为 10 个 bin,比如说 中均匀划分 8 个 bin, 为 1 个 bin, 为 1 个 bin;
③原始距离特征(Raw distance feature):也可以同时考虑距离和化学键的特征,这时每条边都有自己的特征向量,此时邻接矩阵的每个实例都是一个 5 维向量,第一维是距离,其余4维是一个独热向量,代表4种不同的化学键。

实验中对比了本文提出的方法与现有的方法:

以下为不考虑空间信息的结果:

以下为一些消融实验:

具体实验设置参照原文。


吕梁市17370576587: 人工神经网络常用的网络结构有哪些 -
樊启安理: 人工神经网络模型主要考虑网络连接的拓扑结构、神经元的特征、学习规则等.目前,已有近40种神经网络模型,其中有反传网络、感知器、自组织映射、Hopfield网络、波耳兹曼机、适应谐振理论等. ann:人工神经网络(Artificial Neural ...

吕梁市17370576587: 危险区域靠近报警系统的优势是什么? -
樊启安理: 1.告警精确度高 智能视频分析系统内置智能算法,能排除气候与环境因素的干扰,有效弥补人工监控的不足,减少视频监控系统整体的误报率和漏报率. 2.实时识别报警 基于智能视频分析和深度学习神经网络技术对监控区域内的人员靠近危险区域行为实时识别预警,报警信息可显示在监控客户端界面,也可将报警信息推送到移动端, 联动音箱现场提示工作人员及时处置. 3.全天候运行 稳定可靠 智能视频监控系统可对监控画面进行7*24不间断的分析,大大提高了视频资源的利用率,减少人工监控的工作强度. 4.告警存储功能 对监控区域内的人员靠近危险区域行为实时识别预警及时存储到服务器数据库中,包括时间、地点、快照、视频等.

吕梁市17370576587: 神经网络有哪些主要分类规则并如何分类? -
樊启安理: 神经网络模型的分类 人工神经网络的模型很多,可以按照不同的方法进行分类.其中,常见的两种分类方法是,按照网络连接的拓朴结构分类和按照网络内部的信息流向分类. 1 按照网络拓朴结构分类 网络的拓朴结构,即神经元之间的连接方...

吕梁市17370576587: 如何有效的区分和理解RNN循环神经网络与递归神经网络 -
樊启安理: recurrent: 时间维度的展开,代表信息在时间维度从前往后的的传递和积累,可以类比markov假设,后面的信息的概率建立在前面信息的基础上,在神经网络结构上表现为后面的神经网络的隐藏层的输入是前面的神经网络的隐藏层的输出;...

吕梁市17370576587: matlab神经网络结构net,如何查看其中的传递函数 -
樊启安理: 如果是BP网络的话,有两个传递函数,表示是 1、输入层到隐含层的传递函数 2、隐含层到输出层的传递函数 这样看: net.layers{1}.transferFcn net.layers{2}.transferFcn 给满分把!

吕梁市17370576587: 神经网络的分类 -
樊启安理: 神经网络有多种分类方式,例如,按网络性能可分为连续型与离散型网络,确定型与随机型网络:按网络拓扑结构可分为前向神经网络与反馈神经网络.本章土要简介前向神经网络、反馈神经网络和自组织特征映射神经网络. 前向神经网络是数...

吕梁市17370576587: Matlab里的神经网络是什么意思啊,我是新手,谁能简单通俗地解释下啊?谢谢了!!! -
樊启安理: 所谓神经网络算法顾名思义是模拟生物神经网络而产生的一种算法,首先需要用一些已知的数据输入到神经网络中,使它知道什么样的数据属于哪一类(训练),然后将未知的数据输入进去,神经网络通过已知的数据对其进行判断来完成分类(分类).可以用来进行图像识别、分类;数据预测;曲线拟合等.推荐找本机器学习,人工智能方面的书看.

吕梁市17370576587: 人工神经网络常用的4个激活函数是哪些 -
樊启安理: 何止3个(类)? 深度的大多ReLU以及类似的,softplus是reLu软化的产物; RBF的话Gaussian很常见;Sigmoif类里tanh和logistic等也很常用;实在不济,step function也可以用. 某些regression问题直接在最后层用identity function,也算是激活函数.

吕梁市17370576587: 神经网络的具体算法 -
樊启安理: 神经网络和粗集理论是智能信息处理的两种重要的方法,其任务是从大量观察和实验数据中获取知识、表达知识和推理决策规则.粗集理论是基于不可分辩性思想和知识简化方法,从数据中推理逻辑规则,适合于数据简化、数据相关性查找、发...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网