sgr-interview-300

第 55 题:NGCF的邻居聚合,高阶连通性的过度平滑问题?

题目

NGCF的邻居聚合,高阶连通性的过度平滑问题?


完整讲解

一、NGCF 的邻居聚合与高阶连通性

NGCF (Neural Graph Collaborative Filtering) 在 user-item 二部图上做 GCN 式传播:每层将邻居表示聚合后经线性变换与非线性,再与自身表示结合,即 \(\boldsymbol{h}_u^{(l+1)} = \sigma\bigl(W_1^{(l)} \boldsymbol{h}_u^{(l)} + W_2^{(l)} \sum_{i\in\mathcal{N}_u} \frac{1}{\sqrt{|\mathcal{N}_u||\mathcal{N}_i|}} \boldsymbol{h}_i^{(l)}\bigr).\) 多层堆叠后,节点表示会融合 $l$-hop 邻居的信息,即高阶连通性(共同交互过的 user/item、协同过滤的多跳路径)。高阶信息有助于捕捉间接兴趣,但层数过多会带来过平滑

二、过度平滑问题

过平滑 (over-smoothing):GCN 每层本质是邻接矩阵归一化后对特征的平滑;层数 $L$ 大时,$A_{norm}^L$ 趋于稳定,节点表示会趋同(趋于同一向量或子空间),区分度下降。从特征值角度,$A_{norm}$ 的最大特征值为 1,多次幂后主导特征子空间,节点在该子空间上的投影越来越接近。表现上:层数增加时,先升后降——2~3 层常最优,再加深则 Recall/NDCG 下降。

三、缓解思路

结构层面:减少层数(2~3);残差/初始残差($H^{(l+1)} = \alpha H^{(0)} + (1-\alpha) \tilde{A} H^{(l)} W$)保留初始特征,减缓趋同。LightGCN 的应对是去掉 $W$ 与 $\sigma$ 并做层平均,减轻每层变换带来的坍缩。Jumping Knowledge:不同层表示做 concat 或 attention 聚合,而非只用最后一层。其他:边 dropout、层 dropout、或只在低层用 GCN、高层用 MLP 等,均可缓解过平滑。


面试要点


记忆要点

返回模块 返回总览