解决问题:利用机器学习(尤其是深度学习)预测分子和材料的性质
本质上,证明化学预测问题的有效机器学习模型能够直接从分子图中学习它们自己的特征,并且这种学习对于图同构是不变的。
消息传递神经网络(MPNNs)
MPNN指出图卷积的核心在于定义节点之间的聚合函数,基于聚合函数,每个节点可以表示为周围节点和自身的信息叠加,因此该模型通过定义通用的聚合函数提出图卷积网络的通用框架。
设:在具有节点特征 xv 和边特征 evw的无向图 G 上运行的 MPNNs(v,w指的是节点)
向前传递有两个阶段:消息传递阶段和读出阶段。
消息传递实际上就是运行T步基于空间的图卷积,图卷积通过一个消息函数M(t)和一个更新操作U(t)。
读出阶段基于每一个node的隐藏表达得到整个graph的表达。
消息传递阶段,图中每个节点的隐藏状态hv(t),下面基于mv(t+1)进行迭代
在求和时, N(v)表示图 g 中 v 的邻居。
读出阶段使用一些读出函数R来计算整个图的特征向量
消息函数Mt、顶点更新函数Ut、读出函数R都是学习到的可微函数。
R作用于节点状态集,并且必须对节点状态的排列保持不变,以便MPNN对图同构保持不变。
通过指定所使用的消息函数Mt、顶点更新函数Ut和读出函数R,来定义文献中之前的模型。
注意,人们也可以通过为图hevw(t)中的所有边引入隐藏状态并将它们类似地更新到方程1和2来学习MPNN中的边特征。
学习分子指纹的卷积网络(2015)(分别对连接的节点和边求和)
消息函数
其中(·,·)表示连接。
顶点更新函数
其中σ是sigmoid函数,deg()是顶点v的度数,Ht(N)是每次步长t的可学习的矩阵(参数),顶点度数N.
读出函数R将先前所有隐藏层的状态hv(t)进行连接:
其中f是一个神经网络,Wt是可学习的读出矩阵,每次步长t。
这个消息传递方案可能有问题,因为得到的消息向量是
它分别对连接的节点和连接的边求和。
由此可见,Duvenaud等人(2015)实现的消息传递无法识别边缘状态和节点状态之间的相关性。
实例理解
① (A, B, 1)+(A, C 1) = (2A, B+C, 2)
② 设H = (1, 1, 0.5)' , Hm =(2A, B+C, 1), ht+1 = sigmoid(Hm)
重复step①,②
③ sum(softmax(Wh))
门控图神经网络(2016)(RNN模式)
使用的消息函数是 ,其中Aevw 是一个学习的矩阵,每个边标签 e 对应一个(模型假设离散边类型)。 更新函数是Ut = GRU,其中 GRU 是 Cho 等人引入的门控循环单位(RNN的一次运算)。 (2014). 这项工作使用了权重绑定,因此在每个时间步长 t 使用相同的更新函数。
消息函数
其中Aevw是一个可学习的矩阵,每个标签e对应一个模型(模型假设离散边模型)
更新函数:
GRU是门控循环单元,本工作使用了权重捆绑,因此在每次步长t都使用相同的读出函数
其中i和j为神经网络,⊙元素乘法。
这项工作既考虑了图中每个节点都有一个目标的情况,也考虑了图级目标的情况。
它还考虑了在每次步长应用节点级效果的情况,在这种情况下,更新函数将连接(hv, xv, mv)作为输入,其中 xv 是表示对顶点v 的一些外部影响的外部向量。
消息函数 M(hv,hw,evw)是一个采用串联(hv,hw,evw)的神经网络。
顶点更新函数 U(hv,xv,mv)是一个以串联(hv,xv,mv)为输入的神经网络。
最后,在有图级输出的情况下
其中f为一个神经网络,获取最终隐藏状态hv(t),最初的工作只为 T = 1 定义了模型。
分子图卷积(2016)(引入边更新)
引入了在消息传递阶段更新的边表示evw(t),在消息传递阶段会进行更新
用于节点消息的消息函数
节点更新函数
其中 ( . , . )表示拼接,α为ReLU激活函数,W0 , W1为可学习权重矩阵;
边状态的更新:
Wi为可学习权重矩阵
深度张量神经网络(矩阵模式方向化学习)
从w到v的信息由下式计算:
W(cf),W(fc),W(df)为矩阵,b1,b2为偏置向量(偏离原点使得函数本身变化更贴切于真实):
更新函数:
读出函数通过单层隐藏层接受每个节点并且求和后输出:
基于拉普拉斯的方法(引入卷积方法)
基于拉普拉斯矩阵的方法将图像中的卷积运算扩展到网络图G 的邻接矩阵 A 中
消息函数
其中,矩阵 Cvw(t) 为拉普拉斯矩阵 L的特征向量组成的矩阵;
(由图拉普拉斯的特征向量和模型的学习参数组成)
节点更新函数:
其中,σ为非线性的激活函数,比如说 ReLU。
另一工作者的消息函数
节点的更新函数为
以上模型都是 MPNN 框架的不同文章。
消息函数
GG-NN 中使用的消息函数开始,GG-NN 用的是矩阵乘法
边网络:为了兼容边特征,作者提出了新的消息函数
成对消息:矩阵乘法有一个特点,从节点 w 到节点 v 的函数仅与隐藏层状态和边向量有关,而和隐藏状态无关。
理论上来说,如果节点消息同时依赖于源节点 w 和目标节点 v 的话,网络的消息通道将会得到更有效的利用。
所以也可以尝试去使用一种消息函数的变种:
f是一个神经网路,从而用到隐藏状态
虚拟图
两种不同的方法来改变消息在整个模型中的传递方式。
最简单的修改包括为未连接的节点对添加单独的“虚拟”边类型。这可以实现为数据预处理步骤,并允许信息在传播阶段进行长距离传播。
尝试使用一个潜在的“主”节点,它通过一个特殊的边类型连接到图中的每个输入节点。
主节点充当全局暂存空间,在消息传递的每个步骤中,每个节点都可以读取和写入该空间。
允许主节点具有单独的节点维度,以及用于内部更新功能的单独权重(在我们的例子中是 GRU)。这使得信息在传播阶段可以传播很长的距离。
理论上,它还允许额外的模型容量
Multiple Towers(找不到好听的名字用英语吧)
为了解决消息传递时浮点数乘法不断扩大时间复杂度问题
我们将 d 维节点嵌入hv(t) 分解成 k 个不同的d 维
k维嵌入 ht、 kv,并对 k 个副本中的每一个单独运行传播步骤,以获得临时嵌入,对每个副本使用单独的消息和更新功能。
每个节点的 k个临时嵌入然后根据等式混合在一起
其中 g 表示神经网络
(x,y...)表示连接,图中所有节点共享 g。
这种混合保持了节点排列的不变性,同时允许图的不同副本在传播阶段相互通信。
这可能是有利的,因为它允许相同数量的参数具有更大的隐藏状态,
这在实践中产生了计算加速。例如,当消息函数是矩阵乘法时单个拷贝的传播步骤需要时间
有 k个拷贝,因此总的时间复杂度: