第2章:消息传递
消息传递范式
设 \(x_v\in\mathbb{R}^{d_1}\) 是节点 \(v\) 的特征,\(w_{e}\in\mathbb{R}^{d_2}\) 是边 \(({u}, {v})\) 的特征。消息传递范式定义了在步骤 \(t+1\) 的以下节点级别和边级别计算:
\[\text{Edge-wise: } m_{e}^{(t+1)} = \phi \left( x_v^{(t)}, x_u^{(t)}, w_{e}^{(t)} \right) , ({u}, {v},{e}) \in \mathcal{E}.\]
\[\text{Node-wise: } x_v^{(t+1)} = \psi \left(x_v^{(t)}, \rho\left(\left\lbrace m_{e}^{(t+1)} : ({u}, {v},{e}) \in \mathcal{E} \right\rbrace \right) \right).\]
在上述等式中,\(\phi\) 是定义在每条边上的一个消息函数,用于结合边特征及其关联节点的特征来生成消息;\(\psi\) 是定义在每个节点上的一个更新函数,用于通过使用归约函数 \(\rho\) 聚合其传入消息来更新节点特征。
路线图
本章介绍 DGL 的消息传递 API,以及如何在节点和边上高效地使用它们。最后一节将解释如何在异构图上实现消息传递。