第16卷第2期 智能系统学报 Vol.16 No.2 2021年3月 CAAI Transactions on Intelligent Systems Mar.2021 D0:10.11992/tis.202005028 网络出版地址:https:/ns.cnki.net/kcms/detail/23.1538.TP.20201104.1455.006.html 面向推荐系统的分期序列自注意力网络 鲍维克,袁春2 (1.清华大学计算机科学与技术系,北京100084;2.清华大学深圳国际研究生院,广东深圳518000) 摘要:在推荐系统中,为了充分表达用户反馈数据内部的相互依赖和序列性,准确提取用户的长期/一般偏 好、应对数据的动态性,本文提出了一种分期序列自注意力网络(Iong-term&short--term sequential self-attention network,LSSSAN)进行序列推荐。模型采用自注意力机制和GRU捕捉了用户反馈数据之间的相互依赖和序列 性:模型采用注意力机制为不同反馈数据赋予不同权重以动态捕捉重点信息,同时考虑了上下文的动态性:模 型基于用户的长期反馈数据,准确表达了用户的长期/一般偏好。该模型在两个数据集上进行训练和测试,结 果表明该模型的推荐效果整体优于之前的相关工作。 关键词:推荐系统:序列推荐:注意力机制:动态赋权;自注意力机制:序列依赖关系;门控循环单元:序列性偏好 中图分类号:TP391 文献标志码:A文章编号:1673-4785(2021)02-0353-09 中文引用格式:鲍维克,袁春.面向推荐系统的分期序列自注意力网络.智能系统学报,2021,16(2):353-361. 英文引用格式:BAO Weike,YUAN Chun.Recommendation system with long-term and short--term sequential self-attention net- work[JI.CAAI transactions on intelligent systems,2021,16(2):353-361. Recommendation system with long-term and short-term sequential self-attention network BAO Weike',YUAN Chun' (1.Department of Computer Science and Technology,Tsinghua University,Beijing 100084,China;2.Shenzhen International Gradu- ate School,Tsinghua University,Shenzhen 518000,China) Abstract:To fully express the internal interdependence,user interaction data sequentiality,and long-term or general preferences and deal with the dynamics of data,this paper proposes the long-term and short-term sequential self-atten- tion network(LSSAN)for sequential recommendation in the recommendation system,and the LSSSAN model.This model uses self-attention and a GRU to capture the dependence and sequentiality among the user's data.Moreover,the model uses Attention Net to combine user characteristics and the candidate item set for recommendation as context for capturing the dynamics of the recommendation task.The model accurately expresses the general preferences of users based on their long-term interaction data.We train and test the LSSSAN on two data sets,and its effect is generally bet- ter than that of the previous work. Keywords:recommendation system;sequence recommendation;attention model;dynamic weighting;self-attention model;sequence dependence;GRU;sequential preference 随着互联网的普及,互联网应用的用户数量 互联网公司在庞大的用户数据之上采用智能推荐 空前增长,阿里巴巴集团公布截至2019年12月 算法提高产品的可用性和用户体验。然而经典的 31日的季度业绩显示四,其中国零售市场移动月 推荐算法往往存在一些问题:1)对于用户反馈 活跃用户达8.24亿,创12个季度以来新高。诸多 (user-item interactions)数据表现出的相互依赖和 序列性分析不足;2)对反馈数据和上下文的动态 收稿日期:2020-05-21.网络出版日期:2020-11-05. 通信作者:袁春.E-mail:yuanc(@sz.tsinghua.edu.cn. 性应对不足;3)模型往往固定表达了用户的长期/
DOI: 10.11992/tis.202005028 网络出版地址: https://kns.cnki.net/kcms/detail/23.1538.TP.20201104.1455.006.html 面向推荐系统的分期序列自注意力网络 鲍维克1 ,袁春2 (1. 清华大学 计算机科学与技术系,北京 100084; 2. 清华大学 深圳国际研究生院,广东 深圳 518000) 摘 要:在推荐系统中,为了充分表达用户反馈数据内部的相互依赖和序列性,准确提取用户的长期/一般偏 好、应对数据的动态性,本文提出了一种分期序列自注意力网络 (long-term & short-term sequential self-attention network,LSSSAN) 进行序列推荐。模型采用自注意力机制和 GRU 捕捉了用户反馈数据之间的相互依赖和序列 性;模型采用注意力机制为不同反馈数据赋予不同权重以动态捕捉重点信息,同时考虑了上下文的动态性;模 型基于用户的长期反馈数据,准确表达了用户的长期/一般偏好。该模型在两个数据集上进行训练和测试,结 果表明该模型的推荐效果整体优于之前的相关工作。 关键词:推荐系统;序列推荐;注意力机制;动态赋权;自注意力机制;序列依赖关系;门控循环单元;序列性偏好 中图分类号:TP391 文献标志码:A 文章编号:1673−4785(2021)02−0353−09 中文引用格式:鲍维克, 袁春. 面向推荐系统的分期序列自注意力网络 [J]. 智能系统学报, 2021, 16(2): 353–361. 英文引用格式:BAO Weike, YUAN Chun. Recommendation system with long-term and short-term sequential self-attention network[J]. CAAI transactions on intelligent systems, 2021, 16(2): 353–361. Recommendation system with long-term and short-term sequential self-attention network BAO Weike1 ,YUAN Chun2 (1. Department of Computer Science and Technology, Tsinghua University, Beijing 100084, China; 2. Shenzhen International Graduate School, Tsinghua University, Shenzhen 518000, China) Abstract: To fully express the internal interdependence, user interaction data sequentiality, and long-term or general preferences and deal with the dynamics of data, this paper proposes the long-term and short-term sequential self-attention network (LSSAN) for sequential recommendation in the recommendation system, and the LSSSAN model. This model uses self-attention and a GRU to capture the dependence and sequentiality among the user’s data. Moreover, the model uses Attention Net to combine user characteristics and the candidate item set for recommendation as context for capturing the dynamics of the recommendation task. The model accurately expresses the general preferences of users based on their long-term interaction data. We train and test the LSSSAN on two data sets, and its effect is generally better than that of the previous work. Keywords: recommendation system; sequence recommendation; attention model; dynamic weighting; self-attention model; sequence dependence; GRU; sequential preference 随着互联网的普及,互联网应用的用户数量 空前增长,阿里巴巴集团公布截至 2019 年 12 月 31 日的季度业绩显示[1] ,其中国零售市场移动月 活跃用户达 8.24 亿,创 12 个季度以来新高。诸多 互联网公司在庞大的用户数据之上采用智能推荐 算法提高产品的可用性和用户体验。然而经典的 推荐算法往往存在一些问题:1) 对于用户反馈 (user-item interactions) 数据表现出的相互依赖和 序列性分析不足;2) 对反馈数据和上下文的动态 性应对不足;3) 模型往往固定表达了用户的长期/ 收稿日期:2020−05−21. 网络出版日期:2020−11−05. 通信作者:袁春. E-mail:yuanc@sz.tsinghua.edu.cn. 第 16 卷第 2 期 智 能 系 统 学 报 Vol.16 No.2 2021 年 3 月 CAAI Transactions on Intelligent Systems Mar. 2021
·354· 智能系统学报 第16卷 一般偏好,而非基于反馈数据对长期/一般偏好进 图l中,item表示推荐系统中的项(item可以 行表达。 为商品、视频等),一个用户的反馈数据记录由多 为此,本文提出了一种面向推荐系统的分期 个item组成,Model表示推荐模型,推荐系统的任 序列自注意力网络(long-term&short-term sequen- 务是将合适的item推荐给用户。w表示用户u的 tial self-attention network,LSSSAN)。“分期"表示 特征表示;L表示用户u的用户反馈数据序列, 将用户的反馈数据分为长期和短期,用户的长期 由多个item组成,∈L.为用户u的用户反馈数 反馈数据反映了用户的长期/一般偏好,用户的短 据序列Lm中的一项;肾∈Ld表示可能被推荐的 期反馈数据反映了用户的短期偏好和序列性偏 候选item集合Lamd中的某一候选item;推荐系统 好;注意力(attention)机制,可以为不同的数据赋 基于以上内容,计算用户u的综合偏好表示oap, 予不同的权重,帮助模型动态捕捉数据中重要的 并通过op计算用户u对候选item,的偏好得 信息,自注意力(self-attention)机制在此基础上, 分,得分越高说明用户u越倾向于选择候选item 可以有效地捕捉长序列数据之间的相互依赖。本 通过以上过程,计算用户u对候选item集 模型中,自注意力机制从用户长期反馈数据提取 Ld中各item的偏好得分,最终得到推荐给用户 用户的长期/一般偏好,GRU(gate recurrent unit)从 u的item集合。 用户短期反馈数据的提取用户的序列性偏好,最 1.2相关工作 后由以上所得综合用户短期反馈数据表现出的短 传统的推荐系统如基于内容推荐和协同过滤 期偏好参与注意力机制,得到了用户的综合偏 推荐,均是以静态方式对用户反馈数据进行建 好。总体来讲,本文模型的亮点如下: 模,对用户反馈数据的信息提取不够充分。而序 1)采用注意力机制为不同的反馈数据赋予不 列推荐模型将用户反馈数据视为序列,考虑了用 同的权重以动态捕捉重点信息,同时也考虑了不 户反馈数据的序列性和相互依赖,进而准确估计 同用户和不同item候选集对推荐结果的动态影响; 了用户的偏好4。 2)自注意力机制捕捉了长期反馈数据之间的 在序列推荐模型中,用户反馈数据序列由较 长期相互依赖,准确地表达了用户的长期/一般偏 长的用户反馈数据组成,使得用户反馈数据序列 好,而非基于用户特征固定地表达长期/一般偏好: 具有更复杂的依赖特性。对于用户反馈数据序列 3)GRU捕捉了短期反馈数据的序列性并参 的处理,其中两个主要的难点回是: 与注意力机制赋权,GU层输入数据的顺序相关 1)学习高阶顺序依赖 性的强弱会影响注意力机制赋予序列性表示的权 高阶顺序依赖在用户反馈数据序列中普遍存 重,进而准确表达了用户的序列性偏好: 在,低阶依赖的可以用马尔科夫模型或因子分 4)在数据集上实验的评价指标整体优于主流 解机刀解决,高阶顺序依赖由于反馈数据的多级 的推荐算法。 级联,模型往往难以表达。针对此问题,目前主 1研究背景 要的两种方案:高阶马尔科夫链模型⑧和RNN(re current neural network)模型。但是,高阶马尔可 1.1推荐系统的一般任务 夫链模型因参数数量随阶数呈指数增长,其分析 通常来说,推荐系统的一般模型可以用以下 的历史状态有限;而单一的RNN模型难以处理具 形式表达,如图1所示。 有非严格顺序相关性的用户反馈数据序列。 偏好得分s 2)学习长期顺序依赖 Output 长期顺序依赖指序列中彼此远离的用户反馈 数据之间的依赖性。文献[9-10]分别使用LSTM 综合偏好表示唧 (long short-term memory)GRU(gate recurrent 推荐模型 候选item jv unit)来解决这个问题。但是,单一的RNN模型依 Embedding 赖于序列中相邻项的强相关性,对于弱相互依赖 稀疏输入 性和非严格顺序相关性的数据处理表现不佳。文 用户反馈数据序列 献[11]通过利用混合模型的优势,将具有不同时 L。 间范围的多个子模型组合在一起,以捕获短期和 图1推荐系统一般模型的结构 长期依赖关系。而注意力机制考虑了用户反馈数 Fig.1 Structure of general recommendation system model 据之间的联系却不依赖于数据的相邻关系,阿里
一般偏好,而非基于反馈数据对长期/一般偏好进 行表达。 为此,本文提出了一种面向推荐系统的分期 序列自注意力网络 (long-term & short-term sequential self-attention network,LSSSAN)。“分期”表示 将用户的反馈数据分为长期和短期,用户的长期 反馈数据反映了用户的长期/一般偏好,用户的短 期反馈数据反映了用户的短期偏好和序列性偏 好;注意力 (attention) 机制,可以为不同的数据赋 予不同的权重,帮助模型动态捕捉数据中重要的 信息,自注意力 (self-attention) 机制在此基础上, 可以有效地捕捉长序列数据之间的相互依赖。本 模型中,自注意力机制从用户长期反馈数据提取 用户的长期/一般偏好,GRU(gate recurrent unit) 从 用户短期反馈数据的提取用户的序列性偏好,最 后由以上所得综合用户短期反馈数据表现出的短 期偏好参与注意力机制,得到了用户的综合偏 好。总体来讲,本文模型的亮点如下: 1) 采用注意力机制为不同的反馈数据赋予不 同的权重以动态捕捉重点信息,同时也考虑了不 同用户和不同 item 候选集对推荐结果的动态影响; 2) 自注意力机制捕捉了长期反馈数据之间的 长期相互依赖,准确地表达了用户的长期/一般偏 好,而非基于用户特征固定地表达长期/一般偏好; 3) GRU 捕捉了短期反馈数据的序列性并参 与注意力机制赋权,GRU 层输入数据的顺序相关 性的强弱会影响注意力机制赋予序列性表示的权 重,进而准确表达了用户的序列性偏好; 4) 在数据集上实验的评价指标整体优于主流 的推荐算法。 1 研究背景 1.1 推荐系统的一般任务 通常来说,推荐系统的一般模型可以用以下 形式表达,如图 1 所示。 综合偏好表示 u comp 偏好得分su j Output Embedding 稀疏输入 用户反馈数据序列 Lu user u item 1 item 2 item m 候选 item j v3j u 推荐模型 … … 图 1 推荐系统一般模型的结构 Fig. 1 Structure of general recommendation system model u u Lu u v u j ∈ Lu u Lu v u 3 j ∈ L cand u L cand u u u comp u comp u v u 3 j u v u 3 j 图 1 中,item 表示推荐系统中的项 (item 可以 为商品、视频等),一个用户的反馈数据记录由多 个 item 组成,Model 表示推荐模型,推荐系统的任 务是将合适的 item 推荐给用户。 表示用户 的 特征表示; 表示用户 的用户反馈数据序列, 由多个 item 组成, 为用户 的用户反馈数 据序列 中的一项; 表示可能被推荐的 候选 item 集合 中的某一候选 item;推荐系统 基于以上内容,计算用户 的综合偏好表示 , 并通过 计算用户 对候选 item 的偏好得 分,得分越高说明用户 越倾向于选择候选 item 。 u L cand u u 通过以上过程,计算用户 对候选 item 集 中各 item 的偏好得分,最终得到推荐给用户 的 item 集合。 1.2 相关工作 传统的推荐系统如基于内容推荐和协同过滤 推荐,均是以静态方式对用户反馈数据进行建 模,对用户反馈数据的信息提取不够充分。而序 列推荐模型将用户反馈数据视为序列,考虑了用 户反馈数据的序列性和相互依赖,进而准确估计 了用户的偏好[2-4]。 在序列推荐模型中,用户反馈数据序列由较 长的用户反馈数据组成,使得用户反馈数据序列 具有更复杂的依赖特性。对于用户反馈数据序列 的处理,其中两个主要的难点[2] 是: 1) 学习高阶顺序依赖 高阶顺序依赖在用户反馈数据序列中普遍存 在,低阶依赖的可以用马尔科夫模型[5] 或因子分 解机[6-7] 解决,高阶顺序依赖由于反馈数据的多级 级联,模型往往难以表达。针对此问题,目前主 要的两种方案:高阶马尔科夫链模型[8] 和 RNN(recurrent neural network) 模型[9]。但是,高阶马尔可 夫链模型因参数数量随阶数呈指数增长,其分析 的历史状态有限;而单一的 RNN 模型难以处理具 有非严格顺序相关性的用户反馈数据序列。 2) 学习长期顺序依赖 长期顺序依赖指序列中彼此远离的用户反馈 数据之间的依赖性。文献 [9-10] 分别使用 LSTM (long short-term memory) 和 GRU(gate recurrent unit) 来解决这个问题。但是,单一的 RNN 模型依 赖于序列中相邻项的强相关性,对于弱相互依赖 性和非严格顺序相关性的数据处理表现不佳。文 献 [11] 通过利用混合模型的优势,将具有不同时 间范围的多个子模型组合在一起,以捕获短期和 长期依赖关系。而注意力机制考虑了用户反馈数 据之间的联系却不依赖于数据的相邻关系,阿里 ·354· 智 能 系 统 学 报 第 16 卷
第2期 鲍维克,等:面向推荐系统的分期序列自注意力网络 ·355· Deep Interest NetworkNext Item Recommenda- 反映了用户的长期/一般偏好,短期用户反馈数据 tion with Self-Attention Sequential Recommender Lt反映了用户近期的短期偏好和序列性偏好。 System Based on Hierarchical Attention Networks4 举例来说,用户A是个运动爱好者,平时喜欢购 等,通过注意力机制,模型能够计算出用户反馈 买一些运动设备,有一天,用户A由于手机损坏 数据的相对权重以动态捕捉重点信息,进而准确 购买了手机和手机保护膜。此时如果基于用户 估计了用户的偏好表示。 A的长期/一般偏好,推荐系统会更偏向于给用户 A推荐运动相关的item,而如果基于用户A的短 2分期序列自注意力网络 期偏好,推荐系统则会偏向于给用户A推荐手机 本文提出了一种分期序列自注意力网络(log 相关的item,考虑到用户A短期购买日志(先后购 term short-term sequential self-attention network, 买手机和手机保护膜)的序列性,推荐系统则可 LSSSAN)进行序列推荐。 能会向用户A推荐手机保护壳。 2.1问题表述 LSSSAN基于以上内容,估计用户的综合偏 在基于LSSSAN的推荐系统中:u表示用户u 好,并利用用户“的综合偏好计算用户u对候选 的特征表示;L.表示用户u的用户反馈数据序 项item的偏好得分,得分越高说明用户u越 列,如用户点击、购买的item序列;∈L.表示用 倾向于选择候选项item。 户u的用户反馈数据序列L.中的一项item;L 2.2模型结构 表示可能被推荐的候选item集合;,∈Ld表示 在序列推荐的场景中,用户偏好往往有以下 候选item集合Ld中的一项。 的特点:1)用户反馈数据往往是长序列,用户反 文献[6,9]表明短期反馈数据对推荐结果有 馈数据存在着复杂的相互依赖关系;2)短期用 着重要影响,结合长期和短期反馈数据能够准确 户反馈数据和其表达的序列性,影响推荐结果 反映用户的综合偏好;文献[14]的工作利用用户 的重要因素;3)相同的item,在不同的候选 长期反馈数据充分表达了用户的长期/一般偏好, item集合或不同的用户下,对于推荐结果有不同 并结合短期反馈数据表达的短期偏好准确估计了 的影响;4)在考虑不同的item对于结果的影响 用户的综合偏好。基于此,本文将用户反馈数据 时,应对不同的item赋予不同的权重以动态捕 L.划分为用户长期反馈数据Ls和用户短期反 捉重点信息。 馈数据L((在本文的实验环节,将一天内的反馈 基于此,本文设计了LSSSAN模型,网络结构 数据为短期反馈数据)。长期用户反馈数据L 如图2所示。 候选itemjv 来Output-偏好得分s 综合偏好表示即■ 注意力权重向量即一 注意力层:提取综合偏好 Context 序列性偏好表示。 长期偏好表示一 GRUGRUGRU 自注意力层:提取长期偏好 GRU层 Embedding 提取序列性偏好 … ■… 稀疏输入 user u 2 item m 电aem 2 aem ---……候选item列表 用户的长期反馈数据序列用户的短期反馈数据序列 Lang Lon 图2分期序列自注意力网络的结构 Fig.2 Structure of LSSSAN Embedding层:对用户、可能被推荐的候选 制,可以为不同的用户反馈数据赋予不同的权 item集合、用户反馈数据的特征的稀疏表示进行 重,以动态捕捉重点信息,反映了不同的用户反 embed,.转化为稠密的embedding表示。 馈数据对推荐结果影响的差异性。自注意力机制 自注意力层:在推荐系统中,应用注意力机 是一种特殊的注意力机制,由于在机器翻译领域
Deep Interest Network[12] 、Next Item Recommendation with Self-Attention[13] 、Sequential Recommender System Based on Hierarchical Attention Networks [14] 等,通过注意力机制,模型能够计算出用户反馈 数据的相对权重以动态捕捉重点信息,进而准确 估计了用户的偏好表示。 2 分期序列自注意力网络 本文提出了一种分期序列自注意力网络 (longterm & short-term sequential self-attention network, LSSSAN) 进行序列推荐。 2.1 问题表述 u u Lu u v u j ∈ Lu u Lu L cand u v u 3 j ∈ L cand u L cand u 在基于 LSSSAN 的推荐系统中: 表示用户 的特征表示; 表示用户 的用户反馈数据序 列,如用户点击、购买的 item 序列; 表示用 户 的用户反馈数据序列 中的一项 item; 表示可能被推荐的候选 item 集合; 表示 候选 item 集合 中的一项。 Lu L long u L short u L long u 文献 [6, 9] 表明短期反馈数据对推荐结果有 着重要影响,结合长期和短期反馈数据能够准确 反映用户的综合偏好;文献 [14] 的工作利用用户 长期反馈数据充分表达了用户的长期/一般偏好, 并结合短期反馈数据表达的短期偏好准确估计了 用户的综合偏好。基于此,本文将用户反馈数据 划分为用户长期反馈数据 和用户短期反 馈数据 (在本文的实验环节,将一天内的反馈 数据为短期反馈数据)。长期用户反馈数据 L short u 反映了用户的长期/一般偏好,短期用户反馈数据 反映了用户近期的短期偏好和序列性偏好。 举例来说,用户 A 是个运动爱好者,平时喜欢购 买一些运动设备,有一天,用户 A 由于手机损坏, 购买了手机和手机保护膜。此时如果基于用户 A 的长期/一般偏好,推荐系统会更偏向于给用户 A 推荐运动相关的 item,而如果基于用户 A 的短 期偏好,推荐系统则会偏向于给用户 A 推荐手机 相关的 item,考虑到用户 A 短期购买日志 (先后购 买手机和手机保护膜) 的序列性,推荐系统则可 能会向用户 A 推荐手机保护壳。 u u v cand 3 j u v cand 3 j LSSSAN 基于以上内容,估计用户的综合偏 好,并利用用户 的综合偏好计算用户 对候选 项 item 的偏好得分,得分越高说明用户 越 倾向于选择候选项 item 。 2.2 模型结构 在序列推荐的场景中,用户偏好往往有以下 的特点:1) 用户反馈数据往往是长序列,用户反 馈数据存在着复杂的相互依赖关系;2) 短期用 户反馈数据和其表达的序列性,影响推荐结果 的重要因素; 3 ) 相 同 的 item,在不同的候 选 item 集合或不同的用户下,对于推荐结果有不同 的影响;4) 在考虑不同的 item 对于结果的影响 时,应对不同的 item 赋予不同的权重以动态捕 捉重点信息。 基于此,本文设计了 LSSSAN 模型,网络结构 如图 2 所示。 候选 item j v3j u 综合偏好表示 u comp 长期偏好表示 u long Context Output 注意力权重向量 α comp u 注意力层: 提取综合偏好 自注意力层: 提取长期偏好 Embedding 稀疏输入 序列性偏好表示 u seq GRU GRU GRU … … … … item 1 item 2 item … m item t+1 item t+2 item t+n GRU 层: 提取序列性偏好 list L user u 候选 item 列表 Lu cand 用户的长期反馈数据序列 Lu long 用户的短期反馈数据序列 Lu short 偏好得分su j 图 2 分期序列自注意力网络的结构 Fig. 2 Structure of LSSSAN Embedding 层:对用户、可能被推荐的候选 item 集合、用户反馈数据的特征的稀疏表示进行 embed,转化为稠密的 embedding 表示。 自注意力层:在推荐系统中,应用注意力机 制,可以为不同的用户反馈数据赋予不同的权 重,以动态捕捉重点信息,反映了不同的用户反 馈数据对推荐结果影响的差异性。自注意力机制 是一种特殊的注意力机制,由于在机器翻译领域 第 2 期 鲍维克,等:面向推荐系统的分期序列自注意力网络 ·355·
·356· 智能系统学报 第16卷 的成功表现,自注意力机制逐渐走入研究者们的 式(I)和(2)中的,We∈Rd=Wx∈Rd分别 视野。自注意力机制在动态赋权的同时,捕捉 为Query和Key非线性表示层的权重参数, 了用户反馈数据之间的相互依赖,并且自注意力 ReLU(~在本模型中表示Leaky_ReLU激励函数, 机制在长序列的数据上表现出色。文献[13]的工 Q和K分别表示Query和Key的非线性表示。 作将自注意力机制应用于从用户短期反馈数据上 Leaky_ReLU是ReLU的变体,解决了ReLU函数 提取用户的短期偏好,但这项工作忽视了用户长 进入负区间后,导致神经元不学习的问题。 期反馈数据在序列推荐中的作用,同时自注意力 Rlon=softmax OKT 机制对短期反馈数据的序列性分析不足。基于 (3) va 此,本文考虑将自注意力机制应用于用户长期反 式中:RnERNXN为Q和K的关联矩阵表示,并 馈数据,结合用户和候选item集作为上下文,得 作为自注意力层的注意力矩阵。V用以缩放点 到用户长期/一般偏好的表示。 积,使得softmax函数的梯度不容易因为d过大 本模型的自注意力层以候选item集合L。 的embedding平均表示IeR(其中R表示实数 而趋近于零。 集)、用户u的embedding表示u∈R、用户长期 Ylons Rlons Ylong (4) 反馈序列LS ER为输入(其中Lo|表示用 式中Rs作为注意力矩阵和联合向量X相乘得 户长期反馈序列的item序列长度,d表示embed: 到了加权输出Xas∈Rxd。 ding维度,也是全局的维度参数),输出用户长期/ 一般偏好的表示o。自注意力层模型的结构如 (5) 图3所示。 式中,对Xas聚合(如sum、max,这里采用均值), 长期偏好表示og 聚合 得到了用户长期/一般偏好的表示ams∈R。 注意力矩阵R GRU(gate recurrent unit)层:与利用自注意力 Softmax 层提取用户长期反馈数据之间的相互依赖不同, Value Scale&Mask 用户短期反馈数据的重点是提取用户短期反馈数 据中的序列性偏好。GRU是RNN的一种,解决 了长期记忆和反向传播中的梯度等问题,且易于 计算161。模型将用户短期反馈数据Lhr输入 非线性层 非线性层 GRU,计算得到短期反馈数据表现出用户的序列 Embedding 性偏好表示u。模型GRU层的公式化表示如下: 稀疏输人■51■m2… j=(W:[h1,v2) (6) 候选item列表用户的长期反馈数据序列 r=o(W,h-1,2) (7) Lins h,=tanh(W:rj*h1.v2) (8) 图3自注意力层的结构 Fig.3 Structure of self-attention net hj=(1-zj)*h+zj*hj (9) 图3中X=[l,u,Lo]表示I、u、Lo的联合 yj=(W.hj) (10) 向量。Xae∈Rwd,其中N=|Za|+2为Xs的长 u=y (11) 度。1、u作为上下文和L联合,动态地表示了 式中:”2,∈Lt为用户短期反馈数据序列中的第 长期信息,即相同的用户反馈数据,在不同的候 j项;h,表示GRU网络中第j个单元的hidden 选item集或用户的情况下,会对推荐结果产生不 state;or和tanh()分别表示Sigmoid激活函数和 同影响。图3中Query、Key、Value表示注意力机 制中的查询、索引、需被注意力机制加权的数 tanh激活函数。式(6)中,z为update gate项且W 据。在本文的自注意力模型中,Q=K=V=Xh 为update gate权重;式(T)中,r)为reset gate项且 即Query、Key、Value均表示Xa。自注意力层模 W,为reset gate权重;式(8)中,h;为hidden state 型的公式化表达如下: 的重置项且W:为其权重;式(1O)中,y,表示GU 网络中第广个单元的输出,W。为输出权重;式 '=ReLU(XlmEW) (1) (I1)中,L表示用户短期反馈数据序列Lm的 K'=ReLU(XMEWx) (2) 长度,表示最后的GRU的输出,即模型的
的成功表现,自注意力机制逐渐走入研究者们的 视野[15]。自注意力机制在动态赋权的同时,捕捉 了用户反馈数据之间的相互依赖,并且自注意力 机制在长序列的数据上表现出色。文献 [13] 的工 作将自注意力机制应用于从用户短期反馈数据上 提取用户的短期偏好,但这项工作忽视了用户长 期反馈数据在序列推荐中的作用,同时自注意力 机制对短期反馈数据的序列性分析不足。基于 此,本文考虑将自注意力机制应用于用户长期反 馈数据,结合用户和候选 item 集作为上下文,得 到用户长期/一般偏好的表示。 L cand u l ∈ R 1×d R u u ∈ R 1×d L long u ∈ R|L long u |×d L long u d u long 本模型的自注意力层以候选 item 集合 的 embedding 平均表示 (其中 表示实数 集)、用户 的 embedding 表示 、用户长期 反馈序列 为输入 (其中 表示用 户长期反馈序列的 item 序列长度, 表示 embedding 维度,也是全局的维度参数),输出用户长期/ 一般偏好的表示 。自注意力层模型的结构如 图 3 所示。 Q′ K′ 非线性层 非线性层 候选 item 列表 Lu cand 用户的长期反馈数据序列 Lu long list L user u item 1 item 2 item m Embedding 稀疏输入 Query Key Xu long Softmax Value Scale&Mask … … … Xu ′long 聚合 长期偏好表示 u long 注意力矩阵 R long u … … 图 3 自注意力层的结构 Fig. 3 Structure of self-attention net X long u = [l,u, L long u ] l u L long u X long u ∈ R N×d N = L long u +2 X long u l u L long u Q = K = V = X long u X long u 图 3 中 表示 、 、 的联合 向量。 ,其中 为 的长 度。 、 作为上下文和 联合,动态地表示了 长期信息,即相同的用户反馈数据,在不同的候 选 item 集或用户的情况下,会对推荐结果产生不 同影响。图 3 中 Query、Key、Value 表示注意力机 制中的查询、索引、需被注意力机制加权的数 据。在本文的自注意力模型中, 即 Query、Key、Value 均表示 。自注意力层模 型的公式化表达如下: Q ′ = ReLU( X long u WQ ) (1) K ′ = ReLU( X long u WK ) (2) WQ ∈ R d×d = WK ∈ R d×d ReLU(·) Q ′ K ′ 式 (1) 和 (2) 中的, 分别 为 Quer y 和 K e y 非线性表示层的权重参数, 在本模型中表示 Leaky_ReLU 激励函数, 和 分别表示 Query 和 Key 的非线性表示。 Leaky_ReLU 是 ReLU 的变体,解决了 ReLU 函数 进入负区间后,导致神经元不学习的问题。 R long u = softmax( Q ′K ′T √ d ) (3) R long u ∈ R N×N Q ′ K ′ √ d d 式中: 为 和 的关联矩阵表示,并 作为自注意力层的注意力矩阵。 用以缩放点 积,使得 softmax 函数的梯度不容易因为 过大 而趋近于零。 X ′long u = R long u X long u (4) R long u X long u X ′long u ∈ R N×d 式中 作为注意力矩阵和联合向量 相乘得 到了加权输出 。 u long = 1 N ∑N j=1 X ′ u jlong (5) X ′long u u long ∈ R 1×d 式中,对 聚合 (如 sum、max,这里采用均值), 得到了用户长期/一般偏好的表示 。 L short u u seq GRU(gate recurrent unit) 层:与利用自注意力 层提取用户长期反馈数据之间的相互依赖不同, 用户短期反馈数据的重点是提取用户短期反馈数 据中的序列性偏好。GRU 是 RNN 的一种,解决 了长期记忆和反向传播中的梯度等问题,且易于 计算[ 1 6 ]。模型将用户短期反馈数据 输入 GRU,计算得到短期反馈数据表现出用户的序列 性偏好表示 。模型 GRU 层的公式化表示如下: zj = σ ( Wz [ hj−1, v2 j ]) (6) rj = σ ( Wr [ hj−1, v2 j ]) (7) h˜ j = tanh( Wh˜ [ rj∗hj−1 , v2 j ]) (8) hj = ( 1− zj ) ∗ hj−1 + zj ∗ h˜ j (9) yj = σ ( Wohj ) (10) u seq = y|Lshort u | (11) v2 j ∈ L short u hj σ(·) tanh(·) zj Wz rj Wr h˜ j Wh˜ yj Wo L short u L short u y|Lshort u | 式中: 为用户短期反馈数据序列中的第 j 项 ; 表示 GRU 网络中第 j 个单元的 hidden state; 和 分别表示 Sigmoid 激活函数和 tanh 激活函数。式 (6) 中, 为 update gate 项且 为 update gate 权重;式 (7) 中, 为 reset gate 项且 为 reset gate 权重;式 (8) 中, 为 hidden state 的重置项且 为其权重;式 (10) 中, 表示 GRU 网络中第 j 个单元的输出, 为输出权重;式 (11) 中, 表示用户短期反馈数据序列 的 长度, 表示最后的 GRU 的输出,即模型的 ·356· 智 能 系 统 学 报 第 16 卷
第2期 鲍维克,等:面向推荐系统的分期序列自注意力网络 ·357· GRU层的输出仅存在于最后的GRU,且为用户的 系对,一个用户下item之间的偏序关系形成偏序 序列性偏好表示w∈R。 矩阵,遍历用户集建立预测排序矩阵,BPR方法 注意力层:前面由自注意力层、GRU层得到 对预测排序矩阵分解生成用户矩阵和item矩阵, 了长期/一般偏好toa和序列性偏好u。需要注 用户矩阵和item矩阵相乘可以得到用户对每个 意的是,反馈数据中往往存在非严格顺序相关 item偏好程度。利用BPR方法生成低偏好程度 性,会对GU层的结果产生影响。因此,u 的负样本集,大小与正样本集等同,参与训练。 需要联合uoa、Lat参与注意力机制进行动态赋 模型的Loss函数定义如下: 权,由于GRU层输入的短期反馈数据的顺序相关 gmm∑-hc(化-t 性强弱会影响注意力机制赋予的权重,进而 (16) 准确表达了序列性偏好。同时由于联合了L, Io.P+aleaIP+aloal 从结构上赋予了相对重要的短期反馈数据更高的 式中:D表示用户、正样本、负样本构造的训练 权重。用户的长期/一般偏好表示g、用户的序 集;s表示用户u对正样本候选itemj的偏好得 列性偏好表示u、用户短期反馈数据序列Lan 分;sk表示用户u对负样本候选itemk的偏好得 这三项联合为Xop=[uons,Lh,uq],Xep∈RMxd 分;()表示sigmoid函数。第一个加号后的3项 其中M=La+2为Xmp的长度。Xoap输入注 为正则项,o.表示embedding层的权重参数;oA 意力层最终得到了用户的综合偏好的表示 表示自注意力层和注意力层的权重参数;O表示GRU u即。注意力层模型的公式化表示如下: 层的权重参数,入、4、入为对应的正则项系数。 hcomP =ReLU(XOMPWA+BA) (12) 3实验分析 式中:Wa∈R和bA∈R为注意力层的权重参 数,这里”+”表示XPWa的每一行都和ba相 3.1实验概述 加,由式(11)得到了homPERMxd,he即为Xp的 数据集:本文选择Tmall数据集9和Gowalla 非线性表示: 数据集2o为模型进行训练和测试,其中Tmall数 aomp=softmax(uomhcom (13) 据集是在中国最大电商平台Tmall.com场景下的 式中:wog作为注意力层的上下文向量(context 用户行为日志数据集,Gowalla数据集是在社交签 vector),使用softmax函数联合hp计算得到了 到类应用Gowalla场景下的用户行为日志数据集。 Xop的注意力权重向量aop∈Rw1: 在实验过程中,仅考虑7个月内在两个数据 ucomp=(omPTXcomp 集上生成的数据,并将1天内的用户反馈数据视 (14) 由式(14)得到的注意力权重向量a即对 为表示短期反馈数据序列。 Xp加权求和,最终得到了用户u的综合偏好的 评价指标:选择召回率(Recall)和AUC作为 表示noap∈R1d。 评价指标。召回率表示为用户推荐偏好程度排序 2.3模型的参数学习 前N项的样本为预测的正样本,计算被正确预测 的正样本在原始正样本集中比例;而AUC衡量了 由模型的前向传递得到了用户综合偏好的表 示u卿,现在用内积方法如式(15)所示,表示 模型对样本正确排名的能力。 uomp和候选itemv3∈Lad的相似度,以表示用户 方法对比:与其他先进模型在Tmall数据集 u对候选item,的偏好得分sa: 和GowalIa数据集上的表现为对比681-412以 =ucomp.V3j (15) 其他文献在Tmall数据集和Gowalla数据集上给 在隐反馈的推荐系统场景中,用户往往没有 出的实验数据,或在Tmall数据集和Gowalla数据 对item的具体评分,而只是交互记录。这种情况 集复现的结果为准),以验证模型的有效性:1)BPR 下,推荐系统只有正样本而缺乏负样本,模型的 是一种基于矩阵分解的方法,BPR方法对user- 训练效果会因此受到影响。 item偏序关系矩阵分解得到user矩阵和item矩 可以简单地将与用户没有交互记录的item作 阵,user矩阵×item矩阵得到用户对每个item偏好 为用户的负样本,从而构造负样本集。而模型只 程度,依据偏好程度排序得到推荐列表;2)FOSSIL 需要和正样本集差不多大的负样本集,这种做法 利用马尔科夫链估计用户的短期和长期偏好; 会造成负样本集庞大,且负样本集的质量低下。 3)HRM对用户偏好进行层次表示,捕获用户的长 BPR方法是一种基于矩阵分解的方法,一 期/一般偏好和短期偏好;4)FPMC通过矩阵分 对用户交互与未交互的两个item项构成偏序关 解、马尔科夫链提取序列信息,以估计用户偏好
u seq ∈ R 1×d GRU 层的输出仅存在于最后的 GRU,且为用户的 序列性偏好表示 。 u long u seq u seq u seq u long L short u u seq L short u u long u seq L short u X comp u = [u long , L short u ,u seq] X comp u ∈ R M×d M = L short u +2 X comp u X comp u u u comp 注意力层:前面由自注意力层、GRU 层得到 了长期/一般偏好 和序列性偏好 。需要注 意的是,反馈数据中往往存在非严格顺序相关 性,会对 GRU 层的结果 产生影响。因此, 需要联合 、 参与注意力机制进行动态赋 权,由于 GRU 层输入的短期反馈数据的顺序相关 性强弱会影响注意力机制赋予 的权重,进而 准确表达了序列性偏好。同时由于联合了 , 从结构上赋予了相对重要的短期反馈数据更高的 权重。用户的长期/一般偏好表示 、用户的序 列性偏好表示 、用户短期反馈数据序列 这三项联合为 , 其中 为 的长度。 输入注 意力层最终得到了用户 的综合偏好的表示 。注意力层模型的公式化表示如下: h comp u = ReLU(X comp u WA + bA) (12) WA ∈ R d×d bA ∈ R 1×d ”+” X comp u WA bA h comp u ∈ R M×d h comp u X comp u 式中: 和 为注意力层的权重参 数,这里 表示 的每一行都和 相 加,由式 (11) 得到了 , 为 的 非线性表示: α comp u = softmax(( u long)T h comp u ) (13) u long h comp u X comp u α comp u ∈ R M×1 式中: 作为注意力层的上下文向量 (context vector),使用 softmax 函数联合 计算得到了 的注意力权重向量 : u comp = (α comp u ) TX comp u (14) α comp u X comp u u u comp ∈ R 1×d 由式 (14) 得到的注意力权重向量 对 加权求和,最终得到了用户 的综合偏好的 表示 。 2.3 模型的参数学习 u comp u comp v3 j ∈ L cand u u v3 j s j u 由模型的前向传递得到了用户综合偏好的表 示 ,现在用内积方法如式 (15) 所示,表示 和候选 item 的相似度,以表示用户 对候选 item 的偏好得分 : s j u = u comp · v3 j (15) 在隐反馈的推荐系统场景中,用户往往没有 对 item 的具体评分,而只是交互记录。这种情况 下,推荐系统只有正样本而缺乏负样本,模型的 训练效果会因此受到影响[17]。 可以简单地将与用户没有交互记录的 item 作 为用户的负样本,从而构造负样本集。而模型只 需要和正样本集差不多大的负样本集,这种做法 会造成负样本集庞大,且负样本集的质量低下。 BPR 方法[18] 是一种基于矩阵分解的方法,一 对用户交互与未交互的两个 item 项构成偏序关 系对,一个用户下 item 之间的偏序关系形成偏序 矩阵,遍历用户集建立预测排序矩阵,BPR 方法 对预测排序矩阵分解生成用户矩阵和 item 矩阵, 用户矩阵和 item 矩阵相乘可以得到用户对每个 item 偏好程度。利用 BPR 方法生成低偏好程度 的负样本集,大小与正样本集等同,参与训练。 模型的 Loss 函数定义如下: arg min Θ ∑ {u, j,k}∈D −lnσ ( s j u − s ′ u k ) + λe∥Θe∥ 2 +λA∥ΘA∥ 2 +λseq Θseq 2 (16) D s j u u s ′ u k u σ(·) Θe ΘA Θseq λe λA λseq 式中: 表示用户、正样本、负样本构造的训练 集; 表示用户 对正样本候选 item j 的偏好得 分; 表示用户 对负样本候选 item k 的偏好得 分; 表示 sigmoid 函数。第一个加号后的 3 项 为正则项, 表示 embedding 层的权重参数; 表示自注意力层和注意力层的权重参数; 表示GRU 层的权重参数, 、 、 为对应的正则项系数。 3 实验分析 3.1 实验概述 数据集:本文选择 Tmall 数据集[19] 和 Gowalla 数据集[20] 为模型进行训练和测试,其中 Tmall 数 据集是在中国最大电商平台 Tmall.com场景下的 用户行为日志数据集,Gowalla 数据集是在社交签 到类应用 Gowalla 场景下的用户行为日志数据集。 在实验过程中,仅考虑 7 个月内在两个数据 集上生成的数据,并将 1 天内的用户反馈数据视 为表示短期反馈数据序列。 评价指标:选择召回率 (Recall) 和 AUC 作为 评价指标。召回率表示为用户推荐偏好程度排序 前 N 项的样本为预测的正样本,计算被正确预测 的正样本在原始正样本集中比例;而 AUC 衡量了 模型对样本正确排名的能力。 方法对比:与其他先进模型在 Tmall 数据集 和 Gowalla 数据集上的表现为对比[6, 8, 13-14, 18, 21] (以 其他文献在 Tmall 数据集和 Gowalla 数据集上给 出的实验数据,或在 Tmall 数据集和 Gowalla 数据 集复现的结果为准),以验证模型的有效性:1) BPR 是一种基于矩阵分解的方法,BPR 方法对 useritem 偏序关系矩阵分解得到 user 矩阵和 item 矩 阵,user 矩阵×item 矩阵得到用户对每个 item 偏好 程度,依据偏好程度排序得到推荐列表;2) FOSSIL 利用马尔科夫链估计用户的短期和长期偏好; 3) HRM 对用户偏好进行层次表示,捕获用户的长 期/一般偏好和短期偏好;4) FPMC 通过矩阵分 解、马尔科夫链提取序列信息,以估计用户偏好, 第 2 期 鲍维克,等:面向推荐系统的分期序列自注意力网络 ·357·