Social Atentional Memory Network论文笔记

《Social Atentional Memory Network: Modeling Aspect- and Friend-level Diferences in Recommendation》论文笔记

SAMN模型

首先,用户的偏好可能只在某些方面与他的朋友的偏好部分匹配,特别是在考虑具有不同兴趣的用户时。第二,对于个人来说,朋友的影响力可能是不同的,因为并不是所有的朋友都同样有助于在系统中建模他的偏好

为了解决上述问题,我们提出了新型的社交注意记忆网络(SAMN),特别地,设计了一个基于注意力的记忆模块去学习 user-friend 向量,可以捕获用户和他朋友共享的不同方面的注意力。设计了一个朋友级别的注意力组件,自适应地选择信息丰富的朋友进行用户建模。这两个组件被融合在一起,互相增强,从而得到一个更好的扩展模型。

userA 和 userB 的信任关系建立在 movie 上,userA 和 userC 的信任关系建立在 basketball 上。

Social Atentional Memory Network论文笔记

模型框架

目标:基于隐式反馈和社交网络进行推荐

考虑了 aspect-level 和 friend-level 两种情况,来提高模型的表现性能和泛化能力。
Social Atentional Memory Network论文笔记
(1)嵌入层将用户和项目转换为密集向量表示

(2)attention-based memory module(基于注意力的记忆模块)

​ 为了解决aspect-level (方面级)差异引起的问题设计的, 朋友向量 f(i,l) 在一个增强的记忆矩阵 M 上使用神经注意力机制生成,依赖于用户和朋友,并学习表示用户和朋友之间的偏好关系。

(3)friend-level attention component(朋友级注意组件) 用于选择信息丰富朋友来更好的推断用户的偏好。

(4) 模型通过 pairwise ranking(成对排序) 和 negative sampling strategy (负采样)进行优化。

Attention-based Memory Module

Social Atentional Memory Network论文笔记

存储矩阵 M(N*d) d 为用户和项嵌入的维数,N是存储大小。

模块的输入是用户朋友对(ui, (u(i,l) )

模型返回 f(i,l),表示用户与朋友的关系

Joint Embedding

给定用户朋友对(u i,u(i,l)),模块frst应用以下操作来学习用户及其朋友的联合嵌入
Social Atentional Memory Network论文笔记

Key Addressing

注意向量 α ∈ RN 的每个元素 αj (表示用户朋友对用户在第 j 方面的影响程度)通过下面的方式计算,其中 Ki ∈ Rd 从 key matrix K ∈ RN×d 得到。
Social Atentional Memory Network论文笔记

Generating Friend Vector

朋友向量 u(i,l) 先通过记忆矩阵(memory matrix)M ∈ RN×d 扩展一个矩阵 F ∈ RN×d,F 可以理解为用户在不同潜在面(latent aspect)的偏好,N 可以看作是潜在面的数量。
Social Atentional Memory Network论文笔记

最后,为了生成朋友向量,使用注意分数来计算 F 的加权表示。输出的特定关系向量 f(i,l) 可以看作用户的第 l 个朋友对用户 i 偏好的影响向量。

Social Atentional Memory Network论文笔记

Friend-level Attention

friend-level attention的目标是给用户的朋友分配非均匀的权重,当用户与不同的项目交互时,权重会发生变化。直觉上,如果一个朋友对一个项目(或类似类型的项目)有更多的专业知识,他应该对用户对项目的选择有更大的影响。

Social Atentional Memory Network论文笔记

W1∈ Rd×k, W2∈ Rd×k, W3∈ Rd×kb ∈ Rk, h ∈ Rk,k表示注意网络的维度, h ∈ Rk 是模型参数。

Social Atentional Memory Network论文笔记

最后通过求和便可以得到用户 i 的表示:
Social Atentional Memory Network论文笔记

Learning

Prediction

在完成了模型训练过程之后,推荐任务被简化为基于估计得分的数据集中所有项目的排序问题。我们的预测部分建立在矩阵分解(MF)的基础上
Social Atentional Memory Network论文笔记

Optimization

Social Atentional Memory Network论文笔记

为了优化目标函数,我们采用了小批量Adagrad作为优化工具。它的主要优点是学习率在训练阶段可以自适应,从而减轻了选择合适学习率的痛苦,并且比传统的SGD收敛速度更快。

EXPERIMENTS

Datasets
  • Delicious:这个数据集包含Delicious social Bookmarking System的一组2K用户的社交连接、图书标记和标记信息。在本文中,我们只使用社会关系和图书标记记录来训练我们的模型和基线方法。
  • Ciao:该数据集包含用户对所购买物品的评级以及用户之间的社交关系。由于我们关注的是隐式反馈,所以我们将详细评分转换为0或1的值,指示用户是否对项目进行了评分。
  • Epinions:Epinions是世卫组织的一个信托机构,负责指导提*品评级和审查服务的在线社交网络。在我们的实验中,相应的评分也被指定为1(作为隐式反馈)。
Baselines

所有模型都是通过优化BPR的相同成对排序损失

  • BPR:该方法利用BPR目标函数优化MF。它是一种高度竞争的隐式反馈推荐方法。
  • SBPR:这是一个考虑学习过程中的社会关系的排名模型,假设用户倾向于为朋友喜欢的项目分配更高的排名。
  • SocialMF:这是社会意识推荐的经典模式。它将用户之间的社会影响纳入到经典的潜在因素模型中,在模型中,对所有社会关系的影响强度简单地设置为相等。
  • NCF:这是一个最近提出的最先进的基于深度学习的框架,它将矩阵分解(MF)与用于项目排名的多层感知器模型(MLP)相结合。由于NCF显示出优于传统加权方法WMF和eALS的性能
  • SNCF:NCF的设计适用于附带信息的推荐。为了调整NCF来建立社会关系模型,我们将用户的朋友插入到输入的特征向量中,并将特征向量与用户ID嵌入连接起来,称之为SNCF。
  • NFM:这是最近提出的一种神经因子分解机。它是一种最先进的深度学习方法,它使用双向交互层来整合特征和历史反馈信息。在我们的实验中,我们将用户的社交关系视为特征。由于最初的NFM是为回归设计的,我们将优化函数改为BPR(cf Eqn)来完成我们的任务
Evaluation Metrics

[email protected] and N [email protected]
Social Atentional Memory Network论文笔记