姜松浩 作者中国科学院计算技术研究所硕士 学校机器学习、数据挖掘研究方向

知其然,知其所以然:基于多任务学习的可解释推荐系统

本文是工业界和学术界共同合作的产物。Layer 6 AI 和 University College Dublin 的科学家们提出一种通过整合矩阵分解(MF)模型和对抗式 Seq2Seq 模型的多任务学习框架,并利用强化学习来尝试生成评论,借以解答推荐系统的研究和应用领域一种“殿堂”级的难题——推荐系统的评分预测的可解释性。除此之外,该模型的预测准确性超过了现有推荐模型的效果。

模型结构

多任务学习的推荐模型架构可分为两个部分:

第一部分为利用对抗式的 Seq2Seq 模型学习生成用户对 item 的相关的个性化评论,将此评论作为模型推荐的潜在特征模型生成的可解释依据;

第二部分为一种内容敏感型 PMF 模型通过评论文本学习合并的潜在 item 特征,最终通过一种妥协的同步学习方式完成目标,整体结构如下图所示。

对抗式Seq2Seq 

这部分模型的输入可分为两部分,一部分为用户的评论数据,例如用户 i 的评论文章定义为,这部分数据用来表示用户的偏好。另一部分为 item 的评论数据,item j 的评论数据定义为,这部分数据则表示为 item 的情况。 

模型结构方面,针对用户的 Seq2Seq 与针对 item 的 Seq2Seq 结构一致,但其参数略有不同。经典的 Seq2Seq [2] 会存在先验的标注情况,但是这种方式会导致 exposure bias 这样的问题。exposure bias 就是说后一项预测依赖于前一项的预测情况,随着时间的推测,这种方式导致错误会逐渐发生积累和偏移。

这篇文章中提出的 Seq2Seq 的方式与经典的 Seq2Seq 不同。文章首创一种对抗式 Seq2Seq 模型,与常见的 GAN 方式一样包括判别网络和生成网络。 

生成模型部分,该部分与经典的 Seq2Seq 基本一致,用来生成相关评论。首先将一条评论中的一系列词汇利用预训练的 Word2Vec 的方式表征为 k 维的向量,然后利用双向 GRU 单元得到潜在的向量,该向量为双向的 concat 结果。将用户 i 发布的所有评论向量 h 进行平均计算得出关于用户的特征

在 t 时刻,首先将预测的词映射为对应的然后与用户特征进行 concat 组成 decoder 的 GRU 部分的输入,获得的隐藏层向量 h 经过一层矩阵相乘处理后,利用 Softmax 函数进行概率预测得出 t 时刻的预测词。其概率预测方式如下公式所示。此外,初始化时为隐藏层向量为 0 向量。

判别模型部分,这篇论文的判别的模型目的与常见的判断文本是不是由人生成的不同,这篇轮的判别目的不仅在于是不是由人生成的,还在于生成的文本与观察的内容主题是不是一致。该部分模型借鉴经典的 TextCNN [3] 结构进行判别,将评论词汇向量与用户特征向量进行 Concat 处理后作为输入,模型结构如下所示。

利用强化学习训练对抗结构。论文将生成模型 G 作为强化学习的 agent,而判别模型 D 的置信概率作为奖励,生成的评论越能欺骗 D 奖励越多,因此其训练函数如下所示。

该函数不利于使用梯度上升法进行前反馈训练,因此将利用策略梯度的方式得出梯度,梯度公式如下所示。

此外模型为了实现多任务训练的目的,利用 L1 正则对 MF 模型学习到的特征向量与 Seq2Seq 产生的特征向量进行正则化,最终该对抗 Seq2Seq 网络的损失函数定义如下所示。

内容敏感型PMF模型

这部分模型与 2008 年在 NIPS 发表的 PMF 模型 [4] 基本一致。评价概率计算公式如下所示。

其中,表示用户 i 对 item j 有评论,否则为 0。此外论文还定义了与用户和 item 的潜在特征向量的先验概率分布,公式如下。

公式右侧的 U、V 分别为对抗 Seq2Seq 中生成的潜在特征向量。

优化方式

由于在内容敏感的 PMF 阶段,利用到了 Seq2Seq 部分生成的中间结果,因此无法用常见的随机梯度下降的方式同步进行参数优化。论文借鉴了经典的 EM 算法,保证部分参数不变的情况下进行最优化,反复迭代直至收敛的过程。

首先,先将 Seq2Seq 得到的用户与 Item 的潜在向量作为先验知识,关于 U、V 的后验分布概率可以定义如下。

而相关的损失函数可已转化为如下公式。

然后,将 U、V 固定对抗式 Seq2Seq 算法按照上述的损失函数定义,进行最优化,反复迭代直至收敛。整个模型的算法优化过程的伪代码如下图所示。

模型实验效果

论文使用均方误差(MSE)作为对预测评分的评价指标。对 Yelp 2013、Yelp 2014 等 5 个国际通用数据集进行试验,结果如下所示。

MT 为本论文所提出的的多任务学习的推荐算法模型,由实验结果所示,该算法模型的 MSE 的结果最多个数据集的结果中都表现最优。

对于推荐系统的算法解释效果如何,最佳的评价方式就是线上与用户进行互动调研。但目前论文还没有这样做,论文采用了一种妥协的方式评价生成的评论质量如何。

利用 Perplexity [5] 的评价指标对比其他生成模型的生成效果以及 tf-idf 的相似性计算方式评价生成的评论与真实评论的近似性,结果如下所示,本论文模型生成的评论效果最佳。

论文评价

这篇论文发表于 2018 年的推荐系统顶级会议 RecSys,论文尝试用生成评论的方式解决推荐算法的解释合理性难题,并将预测评分率的效果达到了 state-of-the-art。评论生成的方式作为推荐解释的方式虽然存在争议,但不失为一条路径。

论文中涵盖了多种前沿领域的研究热点,包括对抗式网络、AutoEncoder、强化学习多任务学习等等,是值得一看的优质应用论文。

参考文献

[1] Lu Y, Dong R, Smyth B. Why I like it: multi-task learning for recommendation and explanation. Proceedings of the 12th ACM Conference on Recommender Systems. ACM, 2018: 4-12. 

[2] Sam Wiseman and Alexander M Rush. 2016. Sequence-to-sequence learning as beam-search optimization. arXiv preprint arXiv:1606.02960 (2016). 

[3] Yoon Kim. 2014. Convolutional neural networks for sentence classification. arXiv preprint arXiv:1408.5882 (2014). 

[4] Andriy Mnih and Ruslan R Salakhutdinov. 2008. Probabilistic matrix factorization.In Advances in neural information processing systems. 1257–1264. 

[5] Leif Azzopardi, Mark Girolami, and Keith Van Risjbergen. 2003. Investigating the relationship between language model perplexity and IR precision-recall measures.In International ACM SIGIR Conference on Research and Development in Informaion Retrieval. 369–370.

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

理论强化学习Seq2Seq推荐系统多任务学习
5
相关数据
判别模型技术

在机器学习领域,有一种分类方法将模型分为判别模型和生成模型(generative model)两种。 判别模型是一种对未知数据y与已知数据x之间关系进行建模的方法,是一种基于概率理论的方法。已知输入变量x,判别模型通过构建条件概率P(y|x)分布预测结果,或试图直接从输入x的空间学习映射到标签{0,1}(如感知器算法)的函数。生成模型则是考虑x与y之间的联合分布。 在实际应用中判别模型非常常见,如:逻辑回归(logistic regression),支持向量机(support vector machine), 提升方法(Boosting),条件随机场(conditional random fields),神经网络(neural network),随机森林(random forests)典型的生成模型则包括:高斯混合模型(Gaussian Mixture Model),隐马尔科夫模型(hidden markov model),简单贝叶斯(naive Bayes)等。不难看出两者的区别。

先验概率技术

在贝叶斯统计中,某一不确定量p的先验概率分布是在考虑"观测数据"前,能表达p不确定性的概率分布。 它旨在描述这个不确定量的不确定程度,而不是这个不确定量的随机性。 这个不确定量可以是一个参数,或者是一个隐含变量(英语:latent variable)。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

伪代码技术

伪代码,又称为虚拟代码,是高层次描述算法的一种方法。它不是一种现实存在的编程语言;它可能综合使用多种编程语言的语法、保留字,甚至会用到自然语言。 它以编程语言的书写形式指明算法的职能。相比于程序语言它更类似自然语言。它是半形式化、不标准的语言。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

随机梯度下降技术

梯度下降(Gradient Descent)是遵循成本函数的梯度来最小化一个函数的过程。这个过程涉及到对成本形式以及其衍生形式的认知,使得我们可以从已知的给定点朝既定方向移动。比如向下朝最小值移动。 在机器学习中,我们可以利用随机梯度下降的方法来最小化训练模型中的误差,即每次迭代时完成一次评估和更新。 这种优化算法的工作原理是模型每看到一个训练实例,就对其作出预测,并重复迭代该过程到一定的次数。这个流程可以用于找出能导致训练数据最小误差的模型的系数。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

多任务学习技术

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~