ICLR2022 《Graph Condensation for Graph Neural Networks》 Reading Notes
paper Introduction 本文提出图浓缩技术(Graph Condensation),旨在将大图浓缩为一个小图,使得在小图上训练的GNN可以得到和大图相当的效果。通过优化gradient matching loss来模拟GNN在原图上的训练轨迹,从而解决图浓缩问题。 通常有两个策略来简化图:Graph Sparsification(图稀疏化)和Graph Coarsening(图粗化)。图稀疏化通过减少边数来近似一个图; 图粗化旨在减少节点数量。(1)当节点具有属性特征时,由于稀疏化不会减少节点数量,因此属性量不会减少。 (2)图粗化的目的是保存一些图属性比如主特征值,这可能对下游任务不是最优的保存属性。 本文提出图浓缩,来学习生成图的结构和节点属性,从这两方面同时进行浓缩。对于Reddit数据集,GCond可以将节点数浓缩至0.1%,并且在浓缩图上可以得到和原图相当的效果。如下图所示: 本文解决了图浓缩面临的两个挑战:1. 构建目标函数, 2. 参数化可学习的节点特征和图结构。为了解决上述挑战,本文使用gradient matching loss来匹配每一个training step上原图与浓缩图的GNN参数梯度,使得GNN在浓缩图上的训练趋势与原图相匹配。为了参数化节点特征和图结构,本文将浓缩图的Feature Matrix设为自由参数矩阵,将浓缩图结构设为关于Feature matrix 的 函数(基于结构与特征相关联假设),使得计算开销降低。 Methodology A graph $\mathcal{T}=\{\mathbf{A}, \mathbf{X}, \mathbf{Y}\}$,其中$\mathbf{X} \in \mathbb{R}^{N \times d}$是$d$维节点特征,$\mathbf{Y} \in\{0, \ldots, C-1\}^N$ 表示$N$个节点的labels,共有$C$个class。图浓缩旨在学习一个小的生成图$\mathcal{S}=\left\{\mathbf{A}^{\prime}, \mathbf{X}^{\prime}, \mathbf{Y}^{\prime}\right\}$,其中$\mathbf{A}^{\prime} \in \mathbb{R}^{N^{\prime} \times N^{\prime}}$是浓缩图的邻接矩阵,$\mathbf{X}^{\prime} \in \mathbb{R}^{N^{\prime} \times D}$是浓缩图的特征矩阵,$\mathbf{Y}^{\prime} \in\{0, \ldots, C-1\}^{N^{\prime}}$是浓缩图的node labels 其中$N^{\prime} \ll N$,特征维度从$d$变为$D$。图浓缩的目标是基于原图训练过程学习浓缩图$\mathcal{S}$,使得在$\mathcal{S}$上训练的GNN应用在原图上的loss最小: $$ \min_{\mathcal{S}} \mathcal{L}\left(\mathrm{GNN}_{\boldsymbol{\theta}_{\mathcal{S}}}(\mathbf{A}, \mathbf{X}), \mathbf{Y}\right) \quad \text { s.t } \quad \boldsymbol{\theta}_{\mathcal{S}}=\underset{\boldsymbol{\theta}}{\arg \min } \mathcal{L}\left(\mathrm{GNN}_{\boldsymbol{\theta}}\left(\mathbf{A}^{\prime}, \mathbf{X}^{\prime}\right), \mathbf{Y}^{\prime}\right), $$ Outer:固定GNN参数,优化小图。 Inner: 固定小图,在小图上训练GNN参数。 ...