C&S《Combining Label Propagation and Simple Models Out-performs Graph Neural Networks》理论与实战

C&S

Huang Q, He H, Singh A, et al. Combining Label Propagation and Simple Models Out-performs Graph Neural Networks[J]. arXiv preprint arXiv:2010.13993, 2020.

本文主要提出了一种图上更好更快的技巧 Correct and Smooth (C&S),以纠正和平滑预测值。搭配这种技巧,很多「不使用图结构」的baseline模型在(直推式)节点分类任务上都能够提升表达能力,特别是像MLP/Linear这样的简单模型,提升的幅度很大。

除了性能提升,C&S方法的最大优点就是「快」,拥有更少的模型参数、更短的运行时长。由于结合毕设,我最近一直在研究ogbn-arxiv上的GNN模型,下面的回顾与实战也都是基于这个数据集进行的。


理论

背景

GNN越来越复杂,很多GNN模型都难以扩展到大型数据集上了。此外,随着模型日趋复杂,训练时间和训练代价都在增加,这也给未来的研究带来了不小的挑战。

C&S方法

C&S方法主要通过2个标签传播(Label Propagation,LP)进行纠正与平滑的,一般会和一些简单的基线模型配合使用(作为一种技巧出现)。需要注意的是,C&S方法并不参与end-to-end的训练过程,而是在训练结束后通过一个后处理步骤(post-processing)来进行LP传播的。

运用此方法的整体训练流程是这样的:

基础模型--train
Correct
Smooth
进行预测--test

在这里插入图片描述
其中基础模型一般选择比较简单的且「不依赖图结构」的模型,例如MLP/Linear (softmax + CrossEntropy Loss)。

核心的C&S操作主要分为2步走。

correct

第一步是校正。

关键:通过Z-Y得到的train节点的误差,并借助图邻接结构通过LP传播到包括valid、test节点在内的整张图中。这也就是所谓的「残差传播」。这背后的直觉是这样的——误差沿着图中的边正相关,即节点i出现的错误很有可能在去邻居节点中也出现了

这里的残差传播(residual propagation)和剩余连接(residual connection)在表现形式上有异曲同工之妙,均采用了保留前面结果的方法。

e i ( 0 ) = { z i − y i , if  i  is training node, 0 , else \mathbf{e}^{(0)}_i = \begin{cases} \mathbf{z}_i - \mathbf{y}_i, & \text{if }i \text{ is training node,}\\ \mathbf{0}, & \text{else} \end{cases} ei(0)={ziyi,0,if i is training node,else

E ( ℓ ) = α 1 D − 1 / 2 A D − 1 / 2 E ( ℓ − 1 ) + ( 1 − α 1 ) E ( 0 ) \mathbf{E}^{(\ell)} = \alpha_1 \mathbf{D}^{-1/2}\mathbf{A} \mathbf{D}^{-1/2} \mathbf{E}^{(\ell - 1)} + (1 - \alpha_1) \mathbf{E}^{(0)} E()=α1D1/2AD1/2E(1)+(1α1)E(0)

Z ^ = Z + γ ⋅ E ( L 1 ) \mathbf{\hat{Z}} = \mathbf{Z} + \gamma \cdot \mathbf{E}^{(L_1)} Z^=Z+γE(L1)
其中 y i \mathbf{y}_i yi是节点标签的one-hot编码, e i ( 0 ) \mathbf{e}^{(0)}_i ei(0)表示误差。此外还有一点值得注意,调整残差的比例 γ \gamma γ对整个模型性能的提升有很大的帮助。后面的实验中我是用的是固定的比例系数而不是通过学习得到。

smooth

接下来是平滑。

关键:已知train节点的label,通过LP传播,鼓励节点之间的平滑性。这背后的动机是这样的——相邻节点可能有相似的label

z ^ i ( 0 ) = { y i , if  i  is training node, z ^ i , else \mathbf{\hat{z}}^{(0)}_i = \begin{cases} \mathbf{y}_i, & \text{if }i\text{ is training node,}\\ \mathbf{\hat{z}}_i, & \text{else} \end{cases} z^i(0)={yi,z^i,if i is training node,else

Z ^ ( ℓ ) = α 2 D − 1 / 2 A D − 1 / 2 Z ^ ( ℓ − 1 ) + ( 1 − α 2 ) Z ^ ( 0 ) \mathbf{\hat{Z}}^{(\ell)} = \alpha_2 \mathbf{D}^{-1/2}\mathbf{A} \mathbf{D}^{-1/2} \mathbf{\hat{Z}}^{(\ell - 1)} + (1 - \alpha_2) \mathbf{\hat{Z}}^{(0)} Z^()=α2D1/2AD1/2Z^(1)+(1α2)Z^(0)
进行平滑操作后的结果 Z ^ ( L 2 ) \mathbf{\hat{Z}}^{(L_2)} Z^(L2)就是最终需要进行test的值。和APPNP不同的一点在于,这种平滑操作是作为一种后处理步骤出现的,而出现在非端到端的训练过程。

此外,因为基础模型可以不使用图的结构信息(图结构信息在C&S方法的传播过程中会用到),这也就使得其速度更快,参数量更少


实战

主要在ogbn-arxiv数据集上进行了实验,并向OGB排行榜提交了修改后的代码。在我改进后的GCN_res框架下,加入了C&S方法,使得模型的性能有了提升。

实验与提交的结果

一共提交了2个版本的代码:GCN_res + C&S和GCN_res + C&S_v2。

GCN_res + C&S_v2在前一个版本的基础上进行了机械调参以及一些小调整,其最终排名为13,达到了ogbn-arxiv上目前为止以GCN为内核的模型的最佳性能。(前面的都是基于GAT的)
在这里插入图片描述

实验总结与思考

  1. 关于各数据集中GNN模型竞争的激烈程度。
    我觉得ogbn-arxiv无论是最激烈的。一方面,这个数据集有最多的提交代码以及全面的节点分类模型。另一方面,在我下面一名的MLP+C&S方法在ogbn-products数据集中排名第一,但是到了obn-arxiv中只能排到14名(当时发paper的时候是第2名)。可见其激烈程度。
  2. 关于以GCN为内核的模型的讨论。
    文章中并没有关于GCN模型搭配C&S方法的结果,我猜可能是实验之后发现还没有其他模型好,所以就没有提(按理说这种经典模型都要提一下才对的)。我这里用我改进后的GCN_res框架,发现其性能还是超过了MLP+C&S方法。一方面,这说明了我提出的GCN_res框架具有鲁棒性、灵活性和有效性;另一方面,我也大胆猜测,GCN_res中的各种剩余连接策略促进了这里的残差传播,使得模型具有更好的性能。
  3. 关于平滑与过平滑的思考。
    通过实验可以发现,「平滑」输出很重要。但是很多模型堆叠多层又会出现「过平滑」的问题。而一些解决过平滑问题的动机和直觉对于平滑输出是具有误导性的,很容易让人误认为不需要平滑!我们既要平滑,但是又不能过度平滑,掌握一个度是很重要的。
  4. 关于未来发展的思考。
    因为前12名都是基于GAT的,所以下一步想要再去研究一下GAT,看看我的框架能不能套用到GAT模型当中。
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
item-based collaborative filtering recommendation algorithm combining item c是一种基于物品的协同过滤推荐算法,在推荐系统中被广泛应用。该算法的核心思想是通过分析用户对不同物品的行为数据,找出与物品c具有相似特征或相关性较高的其他物品,并将这些物品推荐给用户。 具体来说,item-based collaborative filtering算法首先会构建一个物品相似度矩阵。该矩阵的每个元素表示不同物品之间的相似度程度。物品之间的相似度可以通过计算它们在用户行为上的重合度、关联度或其他相似性指标得出。 在物品相似度矩阵构建完成后,当用户需要进行推荐时,算法会根据用户已有的历史行为数据找出与用户已喜欢或购买的物品c相似的其他物品。对于相似物品集合中的每个物品,算法会根据用户对该物品的评分或其他行为数据,对推荐物品进行排序。最后,算法会返回排名靠前的若干个推荐物品给用户。 通过将物品c与其他物品进行比较,并利用物品相似度矩阵进行排序,item-based collaborative filtering算法可以更加准确地将与用户兴趣相关的物品推荐给用户。同时,它也能够克服用户行为数据稀疏性的缺点,提高推荐的个性化程度。 总的来说,item-based collaborative filtering recommendation algorithm combining item c是一种有效的推荐算法,可以根据用户已有的历史行为数据找出与物品c相似的其他物品,并将这些物品按照用户的兴趣进行推荐。这种算法在实际应用中有着广泛的应用和良好的推荐效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值