元学习<A Meta-Learning Perspective on Cold-Start Recommendations for Items>论文解读
矩阵分解(MF)是最流行的产品推荐技术之一,但众所周知,它存在严重的冷启动问题。项目冷启动问题在Tweet推荐等设置中尤其严重,因为新项目会不断到达。本文提出了一种元学习策略来解决新项目连续到达时项目冷启动的问题。我们提出了两种深度神经网络架构来实现我们的元学习策略。第一种结构学习一个线性分类器,其权值由项目历史确定,而第二种结构学习一个神经网络,其偏差被调整。我们对Tweet推荐的实际问题进行了评估。在Twitter的生产数据上,我们证明了我们提出的技术大大超过了MF基线,并且在Tweet推荐方面也优于生产模型。
item冷启动涉及到基于item描述、内容或内在价值的item特定特征。训练了一个模型,该模型可以参数化地(与查找表相反)推断该item的embeding向量。然后,可以将这些item embeding向量与用户embeding向量进行比较,从而向这些用户推荐新item。
然而,在新item不断产生的情况下,我们假设依赖离线训练的用户embeding查表中是次优的。事实上,这种方法无法捕捉在短时间内发生的用户兴趣的实质性变化,这是一种持续产生新item情况下的常见现象。当用户embeding被周期性地或增量地在线调整时(用户向量没法实时更新,随着新资源的加入),这个问题只得到部分解决。
或者,可以通过执行基于内容的筛选[21],在这里,我们将每个新item 与用户最近评分的其他item进行比较(新资源与用户已读资源算相似度,推荐)。然而,纯基于内容的过滤方法不允许我们在用户之间共享和传输信息。相反,我们希望使用类似于使用用户的项目历史记录进行内容筛选的方法,但是通过在用户之间的推荐任务之间的某种形式的传输学习,在用户之间共享信息。换言之,我们希望学习一个通用过程,该过程从任何用户的历史记录中获取一组item作为输入,并生成一个可应用于新test item 的评分函数,来表示该用户喜欢该item的概率。(使用用户点展的老资源训练,并且可以预测新资源)
在这种模式下,推荐问题相当于元学习问题[28],其目标是学习一个学习算法,该算法可以将一组(少量)标记示例(用户的历史)作为输入,并将输出一个可应用于新item(新项)的模型(评分函数)。在元学习中,训练是以一种幕式的方式进行的,在这种方式下,训练集与必须正确标记的测试示例一起呈现。在我们的设置中,一个插曲相当于为一个特定用户呈现一组历史项目(和评分),以及必须为该用户正确评分的测试item
元学习的观点之所以吸引人,有几个原因。首先,我们不再依赖于MF模型,在MF模型中,评分通常是user和tem embeding 的内积;相反,我们可以探索多种方法来组合user和item信息。其次,它使我们能够利用深层神经网络来学习非线性embeding。第三,它指定了一种跨用户执行传输学习的有效方法(通过共享参数),从而使我们能够处理每个用户有限的数据量。
设计元学习算法的一个关键部分是如何为不同的任务生成模型。在这项工作中,我们提出并评估了两种基于任务的模型调节策略。第一种称为线性权值自适应,是一种基于任务信息建立线性分类器并对分类器weight进行自适应的轻量级方法。第二种称为非线性偏差自适应,它建立了一个神经网络分类器,该分类器使用任务信息来适应神经网络的bias,同时在所有任务之间共享weight。
因此,我们的贡献是:(1)因此,我们的贡献是:(1)MF扩展的局限性,我们为item 冷启动设置引入了一种新的混合推荐方法;(2)我们引入了推荐问题的元学习公式,并阐述了为什么元学习观点在该设置中是合理的;(3)我们提出了两个在这个推荐环境中,元学习的关键架构;(4)我们在生产Twitter数据集上评估我们的技术,并证明它们优于基于查找表嵌入和最新工业模型的方法.
we view the problem of making predictions for one user as an individual task or episode
Let Tj be the set of items to which a user uj has been exposed (e.g. Tweets recommended to uj).We represent each user in terms of their item history。
用用户点击历史表示用户,
user uj is represented by their item history Vj =f(tm; emj)g : tm 2 Tj. Note that we limit item history to only those items that were seen before ti
只使用ti之前见过的样本
用ti之前的历史样本 vj 学习H(vj)