目前只讲解模型流程以及本质为线性滤波器的证明,后续会添加更多细节
MODEL
-
聚合信息:
聚合信息:LightGCN采用简单的加权和聚合器,弃用特征变换与非线性激活。其传播规则为:
对称归一化项 继承自标准GCN[23],可避免嵌入在多次卷积后尺度不断增大;也可用其他归一化(如),但实证上对称归一化效果较好(4.4.2节)。
-
层组合:
LightGCN唯一可以训练的参数是第0层嵌入:所有用户的 与所有物品的 。
之后高层嵌入高层嵌入可由式2计算。经过层传播后,将各层嵌入加权求和得到最终表示:其中 表示第层嵌入的重要性。
LightGCN论文里采用。 -
预测分数:
预测分数定义为最终用户与物品表示的内积:
- LightGCN的矩阵表示,可以参考下文关于LightGCN本质的探讨。
LightGCN本质为线性滤波器
有部分GSP的前置知识要求,可以参考GF-CF论文。
1.LightGCN公式化梳理
目标:借助
归一化邻接矩阵推理lightgcn过程总结:Lightgcn的过程可以看作:
初始嵌入右乘某个矩阵的多项式,这里的某个矩阵就是归一化邻接矩阵:
一、准备数据/相关矩阵:
用户数为 ,物品数为 ,总节点数 。
交互矩阵 :()
邻接矩阵 :( )
无向图
二、构造归一化邻接矩阵
度矩阵D:
,表示第i个节点的度数。对称归一化:
元素表示:
三、Lightgcn传播过程
初始化嵌入矩阵:
LightGCN 为每个节点随机初始化一个 维嵌入向量。所有节点的初始嵌入堆叠成矩阵:
LightGCN 的核心传播公式:
用初始嵌入表示各层输出:
第 0 层(输入):
第 1 层:
第 2 层:
第 3 层:
以此类推,第 层:
每一层实际在做什么?
以单个节点 为例, 的第 行是:
即,把节点 的所有邻居的初始嵌入加权求和,权重与两端节点度数的平方根成反比。其实就是“平滑”操作的本质。
四、Lightgcn-层组合(加权求和)
LightGCN 不使用最后一层的输出,而是将所有层的嵌入加权求和作为最终嵌入:
将公因子 提出:
其中 是 的单位矩阵。
括号里的部分,就是一个关于 的多项式矩阵:
LightGCN 的整个前向传播过程,可以简化为用一个多项式矩阵 左乘初始嵌入矩阵 。
2.线性滤波器整理为多项式形式
这部分推理:
如何从线性滤波器的频域多项式定义,推导出它在空域等价于图拉普拉斯矩阵 的多项式。
一、线性滤波器定义(频域)
考虑一个图信号 。图拉普拉斯矩阵 是对称的,因此可以正交对角化:
其中:
- ,特征值从小到大排列:。
- 是由对应特征向量组成的正交矩阵,满足 。
线性滤波器在频域的定义:
对信号 做图傅里叶变换 ,然后对每个频率分量分别乘以一个关于特征值的多项式缩放因子,再逆变换回来。即:
其中 是一个关于 的 次多项式:
这里的 是滤波系数。
二、把线性滤波器对应的多项式代入滤波器矩阵
滤波器矩阵的解释:
是在基础上做一些处理,处理的实际内容为:
图卷积就是在做:,也就是:原始信号向量左乘滤波器矩阵,进行滤波器矩阵对应的线性变换。
而滤波器矩阵的实际过程,通过下面的定义可以理解为:针对,对里面的对角矩阵里面每一个数值套上函数。
定义滤波器矩阵为:
线性滤波器公式化表述就是:.
将 代入对角矩阵:
拆开的逻辑:因为对角矩阵的和等于每个对角矩阵分别求和再相加,而系数 可以提到矩阵前面。
三、处理线性滤波器对应的 滤波器矩阵
提取滤波器矩阵的系数
将上述等式代回 :
这是因为 和 是固定矩阵,数乘和加法可以分配到求和里面。
利用拉普拉斯矩阵的幂的性质
性质:对于正交对角化的矩阵 ,它的 次幂具有非常简洁的形式:
这个等式成立是因为:
- 中间的 全部消掉,只剩下 。
- 而 。
正是这个性质,让频域的多项式和空域的矩阵多项式得以等价。
于是,上一步括号里的部分恰好就是 :
得到空域的多项式形式
把 代回 :
这就是线性图滤波器在空域的等价形式。
-
空域的解释:
和 是**空域**的表述。 是**频域**的表述。
真实空间,图拉普拉斯矩阵就是针对空域/真实空间的产物。两者说的是同一个东西,只是语言不同——空域用节点和边说话,频域用频率和特征向量说话。
它完全摆脱了特征分解!现在滤波器可以用图拉普拉斯矩阵 的幂及其线性组合来表示。对于任何输入信号 ,操作就是:
3.联系线性滤波器与LightGCN
一、整理两种多项式表述
-
LightGCN过程的多项式表述:
物品最终嵌入表示为:括号内内容整合为多项式形式:
LightGCN简化为用一个多项式矩阵 乘初始嵌入矩阵 。
-
线性滤波器的多项式表示:
对应的滤波器矩阵:其中.
整理为多项式形式:线性滤波器简化为用一个多项式矩阵左乘初始信号向量x
二、 将 LightGCN 多项式改写为关于 的形式
LightGCN 的多项式:
代入 :
展开后合并 的同次幂,得到关于 的另一个多项式:
其中系数 可由 与二项式系数确定。
因此,LightGCN 的最终嵌入:
这正是线性滤波器的形式(以 为多项式参数)。