SIGIR’22|GDE:Less is more,频域图卷积的特征向量重要性赋权
公众号:Intelligent Computing Lab
From:SIGIR 2022
Title:Less is More: Reweighting Important Spectral Graph Features for Recommendation
Link:https://arxiv.org/pdf/2204.11346
Authors:Shaowen Peng(Kyoto University)
1.核心思想
-
作者认为前人的工作中,对图卷积中的领域聚合研究的不够透彻,所以作者在频域下对图卷积进行分析。
-
分析得到两个结论:a.只有少部分的邻居的平滑或者差异信息对推荐有促进,大部分的图信息都可以看作噪声;b.反复的图卷积操作只能促进邻居平滑,不能有效过滤噪声,并且低效。
-
进一步,作者提出了一个高效的GCN(超图卷积),作为带通滤波器,此外动态调整negative sample的梯度加快收敛。
2.前置理论
-
定义图信号差异(variation):
∣ ∣ s − A s ∣ ∣ ||s-As|| ∣∣s−As∣∣
s是node embedding,A是邻接矩阵,那么这个variation表示的就是当前node和邻居的差距,越小说明这个node和邻居越平滑。 -
如果我们分析自连接归一化后的邻接矩阵 A ^ \hat A A^,他的特征向量 v t v_t vt的variation:
∣ ∣ v t − A ^ v t ∣ ∣ = 1 − λ t ||v_t-\hat Av_t||=1-\lambda _t ∣∣vt−A^vt∣∣=1−λt-
那么这个variation捕捉的就是,一个向量,在图卷积中,作为一个邻居,卷到其他node的信息,和原始的node embedding的差距。
-
可以看出来,如果variation小,说明此时图卷积,捕捉的是这个节点的平滑信息。如果variation大,那说明在图卷积过程中,图卷积强调它和邻居的差异性。
-
同时, v t v_t vt的variation的大小又和其特征值 λ t \lambda _t λt挂钩,特征值越大,variation越小特征向量就越平滑;特征值越小,variation越大特征向量就越粗糙。
-
注意到这里关于特征值大小和信息的平滑程度的关系,和我们以前说的不一样,以前是越平滑的信息,他的特征值越小,也称之为低频信号。但是这里是特征值越大越平滑,是因为以前我们讲的是拉普拉斯矩阵L的特征值和特征向量,这里说的是邻接矩阵A的特征值和特征向量。
-
3.对GCN的分析
频域分析
分析对象是:滤波不同频率的信号对有GCN的推荐效果有什么影响。
定义特定的滤波器:
A ^ ′ = ∑ t M ( λ t ) v t v t T \hat{\mathrm{A}}^{\prime}=\sum_{t} \mathcal{M}\left(\lambda_{t}\right) \mathrm{v}_{t} \mathrm{v}_{t}^{T} A^′=t∑M(λt)vtvtT
其中函数是二值函数,只让 M ( λ t ) = λ t \mathcal{M}\left(\lambda_{t}\right) =\lambda_{t} M(λt)=λt,其他都为0。说明图滤波器只聚合特定频率的信号。用响应不同频率信号的滤波器来进行推荐。
先在传统的GCN上进行观察:
- 其中红色虚线是随机初始化邻接矩阵的推荐结果的精度。
- 可以发现,虽然大部分节点的信号处于不高也不低的频率段,但是如果图卷积只聚合这种信号,推荐的效果还不如随机的邻接矩阵。
- 模型的精度主要是一小部分的高度平滑或者差异(粗糙)的特征决定,而且平滑的信号的作用比粗糙的信号更有作用。
然后在LightGCN上研究:
- 这里的 M ( λ t ) \mathcal{M}\left(\lambda_{t}\right) M(λt),当 x ≥ λ t x ≥ \lambda_{t} x≥λt,都只为0,其余保留。
- 可以发现,只去除比较粗糙的信息和只去除比较平滑的信息,都让模型推荐精度下降之外,去除其他信号都是有助于推荐的。
那么作者就得到结论了:
- 只有一小部分高度平滑和高度粗糙的信号是有助于推荐的,其他的信号都可以认定为是噪声
- 平滑的信号的作用大于粗糙的信号。
拉普拉斯矩阵分析
-
沿袭LightGCN的研究,LightGCN输出的Embedding可以写成如下形式:
O = ∑ k = 0 K α k H ( k ) = ∑ k = 0 K A ^ k K + 1 E = ( ∑ t ( ∑ k = 0 K λ t k K + 1 ) v t v t T ) E \mathrm{O}=\sum_{k=0}^{K} \alpha_{k} \mathrm{H}^{(k)}=\sum_{k=0}^{K} \frac{\hat{\mathrm{A}}^{k}}{K+1} \mathrm{E}=\left(\sum_{t}\left(\sum_{k=0}^{K} \frac{\lambda_{t}^{k}}{K+1}\right) \mathrm{v}_{t} \mathrm{v}_{t}^{T}\right) \mathrm{E} O=k=0∑KαkH(k)=k=0∑KK+1A^kE=(t∑(k=0∑KK+1λtk)vtvtT)E -
如果我们让K不断增大,画出频率响应函数的变化:
我们可以看到,随着K的不断增大,频率响应函数不断强调平滑的信号,而抑制粗糙的信号,所以GCN是低频滤波器。同样的思路,我们还可以设计一个高频滤波器:
O = ∑ k = 0 K L k K + 1 E \mathrm{O}=\sum_{k=0}^{K} \frac{\mathcal{L}^{k}}{K+1} \mathrm{E} O=k=0∑KK+1LkE