论文标题:
Denoised Self-Augmented Learning for Social Recommendation
收录会议:
IJCAI 2023
论文链接:
https://arxiv.org/abs/2305.12685
代码链接(欢迎 ✨):
https://github.com/HKUDS/DSL
港大数据智能实验室(指导老师:黄超)
https://sites.google.com/view/chaoh
研究背景
社交推荐通过将社交信息注入用户偏好学习来提高推荐系统的质量,人们开发了各种神经网络技术来对具有社交意识的用户偏好进行编码从而进行推荐。 目前,最先进的社交推荐方法是使用图神经网络(GNN)进行递归消息传递来构建的,从而捕获高阶关系。
有监督的 GNN 增强模型需要大量的有监督标签来生成准确的用户表示,这在实际的社交推荐场景中很难实现。基于自监督学习(SSL)的增强会受到嘈杂的社会关系的严重阻碍。 例如,人们可能与同事、同学或家庭成员建立社会联系,但他们彼此之间可能没有很多共同兴趣。并且,嘈杂的社会影响可能与现实生活推荐场景中的用户偏好不一致。
为了解决这些局限性,我们提出了名为 DSL 的去噪自增强学习范式。该模型利用社交信息,通过抗噪声的自监督学习更好地表征用户偏好,追求跨视图对齐。 我们开发了一个双视图图神经网络来编码用户社交和交互图上的隐层表示。为减轻社会关系对推荐的偏差,我们设计了一个去噪模块来增强集成的社会意识自监督学习任务。
我们的研究成果主要包含以下几点:
- 我们研究了用于社会推荐的去噪自增强学习,有效减少了嘈杂的社会关系对社会意识协作信号表示的影响。
- 我们提出 DSL,实现社交视图和交互视图的编码嵌入之间的去噪跨视图对齐。
- 我们通过在三个真实数据集上的实验,展示了 DSL 相较于现有先进方法的显著性能提升。
模型介绍
2.1 双视图图神经关系学习
通过初始化的 id 嵌入,DSL 首先采用双视图图神经网络来捕获用户-商品交互和用户-用户社交关系的高阶协作关系。 受到轻量级 GCN 增强的协同过滤范式的启发,DSL 配置了一个简化的图神经网络。
我们的 GCN 在用户-商品交互图上的迭代信息传播方案:
E r ( l ) = ( L r + I ) ⋅ E r ( l − 1 ) \textbf{E}^{(l)}_r = (\mathcal{L}_r+\textbf{I})\cdot \textbf{E}^{(l-1)}_r Er(l)=(Lr+I)⋅Er(l−1)
这里 E r ( l ) , E r ( l − 1 ) ∈ R ( I + J ) × d \textbf{E}^{(l)}_r,\textbf{E}_r^{(l-1)}\in\mathbb{R}^{(I+J)\times d} Er(l),Er(l−1)∈R(I+J)×d 分别表示 l l l 次用户-商品关系建模迭代后的用户和商品嵌入。 I ∈ R ( I + J ) × ( I + J ) \textbf{I}\in\mathbb{R}^{(I+J)\times (I+J)} I∈R(I+J)×(I+J) 表示用于自环的单位矩阵。 L r ∈ R ( I + J ) × ( I + J ) \mathcal{L}_r\in\mathbb{R}^{(I+J)\times (I+J)} Lr∈R(I+J)×(I+J) 表示用户-商品交互图的拉普拉斯矩阵。
L r = D r − 1 2 A r D r − 1 2 , A r = [ 0 R R ⊤ 0 ] \mathcal{L}_r=\textbf{D}_r^{-\frac{1}{2}}\textbf{A}_r\textbf{D}_r^{-\frac{1}{2}},~~~~ \textbf{A}_r=\left[\begin{array}{cc}\textbf{0} & \textbf{R} \\\textbf{R}^{\top} &\textbf{0}\end{array}\right] Lr=Dr−21ArDr−21, Ar=[0R⊤R0]
R ∈ R I × J \textbf{R}\in\mathbb{R}^{I\times J} R∈RI×J 表示用户-商品交互矩阵, 0 \textbf{0} 0 表示全 0 矩阵。用户-商品交互视图的双向相邻矩阵 A r \textbf{A}_r Ar 乘以其对应的对角度矩阵 D r \textbf{D}_r Dr 进行归一化。
对用户的社交关系进行编码,将轻量级 GCN 应用于用户社交图 G s \mathcal{G}_{s} Gs。 具体来说,我们的社交视图 GNN 通过设置 E s ( 0 ) = E u \textbf{E}^{(0)}_s=\textbf{E}_u Es(0)=Eu 将初始用户的 id 对应嵌入作为输入。
E s ( l ) = ( L s + I ) ⋅ E s ( l − 1 ) , L s = D s − 1 2 S D s − 1 2 \textbf{E}^{(l)}_s=(\mathcal{L}_s+\textbf{I})\cdot\textbf{E}_s^{(l-1)},~~~~\mathcal{L}_s=\textbf{D}_s^{-\frac{1}{2}}\textbf{S}~\textbf{D}_s^{-\frac{1}{2}} Es(l)=(Ls+I)⋅Es(l−1),