第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,以及如何在节点和边上高效地使用它们。 最后一节解释了如何在异质图上实现消息传递。