A Comprehensive Study on Text-attributed Graphs: Benchmarking and Rethinking
A Comprehensive Study on Text-attributed Graphs: Benchmarking and Rethinking
Neurips23
推荐指数: #paper/⭐⭐⭐#
代码地址:sktsherlock/TAG-Benchmark: Benchmark
动机
预训练语言模型 (PLM) 和图神经网络 (GNN) 的最新进展促进了 TAG 的有效学习,引起了越来越多的研究兴趣。然而,缺乏有意义的基准数据集和 TAG 的标准化评估程序阻碍了该领域的进展。
贡献:
- 据我们所知,CS-TAG 是第一个专门为文本属性图设计的开放数据集。来自各种字段的 TAG 被收集、清理和组织为最终的结构化数据集
- 与以前的拓扑驱动的图学习模型相比,我们的工作强调了深度节点属性建模的重要意义。这种新颖的观点通过强调深度节点属性理解的结合,阐明了下一代 GNN 的设计。
- 我们研究了语言模型拓扑预训练的新问题,旨在教 LM 理解拓扑结构。这种创新的训练范式在 CS-TAG 数据集上表现出显着的有效性和效率,这有助于拓宽语言模型预训练的范围。
提出的新的数据集:
Benchmarking
基准方法:
-
GNN-based Paradigm
-
PLM-based Paradigm(pretrained language model)
-
Topological Masked Language Model (TMLM)
-
Topological Contrastive Learning (TCL)
- TCL 是一种对比学习方法,关注于中心节点及其邻居节点以形成正样本对。
- 在加载数据时,针对每个中心节点通过邻接矩阵从TAG中采样一个邻居节点。对于中心节点及其采样的邻居节点,计算对比损失,通过共享参数的投影头将文本表示映射到对比空间。
- 损失函数
L
tcl
\mathcal{L}_{\text{tcl}}
Ltcl 可以写作如下公式:
L tcl = − log exp ( sim ( z c , z n ) / τ ) ∑ n ′ = 1 , n ′ ≠ n N exp ( sim ( z c , z n ′ ) / τ ) \mathcal{L}_{\text{tcl}} = - \log \frac{\exp(\text{sim}(z^c, z^n) / \tau)}{\sum_{n' = 1, n' \neq n}^N \exp(\text{sim}(z^c, z^{n'}) / \tau)} Ltcl=−log∑n′=1,n′=nNexp(sim(zc,zn′)/τ)exp(sim(zc,zn)/τ)其中, z c z^c zc 是中心节点在对比空间中的表示, sim ( z c , z n ) \text{sim}(z^c, z^n) sim(zc,zn) 是中心节点与邻居节点的相似度, τ \tau τ 是温度参数。 - 主要的学习参数包括学习率(lr)和训练轮数(epoch, e)。对于所有数据集和语言模型,设置 e = 5 e = 5 e=5,学习率 l r = 5 × 1 0 − 5 lr = 5 \times 10^{-5} lr=5×10−5,投影头是一个具有128个隐藏层节点的两层MLP网络,温度参数 τ \tau τ 设置为0.2。
-
Topological Deepwalk Learning (TDK)
- 在TDK任务中,首先运行Deepwalk算法对TAG进行处理,获取其拓扑级别的表示(只输入TAG的拓扑信息)。然后,我们将中心节点的表示拉近与从Deepwalk学到的表示。
- 在加载数据时,批量加载并同时加载从Deepwalk学到的表示。随后,通过中心节点的文本表示与其对应的拓扑结构表示来形成对比学习中的正样本对。
- 对比学习过程遵循与TCL相同的方法,因此损失函数
L
tdk
\mathcal{L}_{\text{tdk}}
Ltdk 可以写作如下公式:
L tdk = − log exp ( sim ( z c , k c ) / τ ) ∑ c ′ = 1 , c ′ ≠ c N exp ( sim ( z c , k c ′ ) / τ ) \mathcal{L}_{\text{tdk}} = - \log \frac{\exp(\text{sim}(z^c, k^c) / \tau)}{\sum_{c' = 1, c' \neq c}^N \exp(\text{sim}(z^c, k^{c'}) / \tau)} Ltdk=−log∑c′=1,c′=cNexp(sim(zc,kc′)/τ)exp(sim(zc,kc)/τ)其中, z c z^c zc 是中心节点在对比空间中的表示, k c k^c kc 是该节点的拓扑结构表示, sim ( z c , k c ) \text{sim}(z^c, k^c) sim(zc,kc) 表示二者之间的相似度, τ \tau τ 是温度参数。 - 对于CS-TAG中的所有数据集,我们使用统一的代码来获取相应的拓扑级别表示。相关参数与TCL中的参数设置一致。
-
综合三种预训练模型(3,4,5)而提出的新的预训练模型:TMDC(TCL+TDK联合训练)
- TMDC尝试通过将三个预训练任务(TMLM、TCL、TDK)结合来共同预训练语言模型。由于TMLM和TCL、TDK任务形式差异较大,我们采用了一种迭代训练的方式来执行多任务学习。
- 具体而言,首先通过TMLM任务获得一个基于标记级别的拓扑增强语言模型 PLM tmlm \text{PLM}_{\text{tmlm}} PLMtmlm。然后,结合TCL和TDK任务共同优化该语言模型 PLM tmlm \text{PLM}_{\text{tmlm}} PLMtmlm。
- 联合优化的损失函数可以写作如下公式:
L tcl+tdk = − ( exp ( sim ( z c , k c ) / τ ) ∑ c ′ = 1 , c ′ ≠ c N exp ( sim ( z c , k c ′ ) / τ ) ) + log exp ( sim ( z c , z n ) / τ ) ∑ n ′ = 1 , n ′ ≠ n N exp ( sim ( z c , z n ′ ) / τ ) \mathcal{L}_{\text{tcl+tdk}} = - \left( \frac{\exp(\text{sim}(z^c, k^c) / \tau)}{\sum_{c' = 1, c' \neq c}^N \exp(\text{sim}(z^c, k^{c'}) / \tau)} \right) + \log \frac{\exp(\text{sim}(z^c, z^n) / \tau)}{\sum_{n' = 1, n' \neq n}^N \exp(\text{sim}(z^c, z^{n'}) / \tau)} Ltcl+tdk=−(∑c′=1,c′=cNexp(sim(zc,kc′)/τ)exp(sim(zc,kc)/τ))+log∑n′=1,n′=nNexp(sim(zc,zn′)/τ)exp(sim(zc,zn)/τ)其中, z c z^c zc 是中心节点的表示, k c k^c kc 是中心节点的拓扑结构表示, z n z^n zn 是邻居节点的表示, sim ( z c , k c ) \text{sim}(z^c, k^c) sim(zc,kc) 和 sim ( z c , z n ) \text{sim}(z^c, z^n) sim(zc,zn) 分别表示它们之间的相似度, τ \tau τ 是温度参数。
GNN方法的比较:
联合训练方法的比较:
Tine表示BERT tiny,base代表BERT。中间的一栏,代表先bert训练后,在将训练后的特征传到下游 GCN 和 GraphSAGE训练。而Co-Training代表联合训练。
可以发现,与 T-SAGE 方法相比,SAGE(T) 在其中四个数据集中有所改进,Photo数据集的最大改进为 3.39%。而GCN(T)会下降。那为什么不在联合训练中使用BERT呢?因为会OOM。
预训练增强后的方法的比较
如图可以发现,在History与Children上,PLM方法会比GNN方法性能好。GNNs 列表示给定 PLM 节点特征在所有 GNN 上的最佳结果。
预训练任务(还是Table 4)
三种不同的预训练方法与基于PLM和GNN的方法进行了比较。结果表明,所提出的预训练方法在大多数PLM和数据集上均能带来性能提升。在这三种预训练任务中,TCL在大多数情况下表现出更大的提升。TMLM和TCL都捕捉低阶拓扑结构信息,但两者的性能差异表明,从节点级别捕捉拓扑结构知识可能比从标记级别更有效。TDK在大多数情况下仅次于TCL,这在一定程度上反映了PLM能够从复杂拓扑结构中获益。
当这三种预训练任务结合在一起形成TMDC策略时,性能进一步提高,如表4所示。这表明不同的预训练策略可以从不同角度向PLM传授拓扑知识,鼓励我们未来继续探索更多关于TAG的预训练任务。
自己的思索:
对于文本属性图,想提升效果,可能需要从文本和图两个角度,去思索,更好的融合。