Press "Enter" to skip to content

MetaSelector

转载请注明出处:西土城的搬砖日常

 

原文链接:

MetaSelector: Meta-Learning for Recommendation with User-Level Adaptive Model Selection ​ arxiv.org

关键词:推荐系统、MAML、模型选择

 

全文收录于 WWW 2020

 

推荐系统的痛点:

 

没有哪个模型可以为每个用户提供最佳推荐服务。例如,在一个在线广告系统中,同时部署了多个点击率预测模型,但没有哪一个模型对所有用户都表现最佳。

 

本文贡献:

 

提出了一个元学习框架,以促进推荐系统中用户级别的自适应模型选择。在此框架中,使用所有用户的数据来训练一个深层模型集合, 在这些推荐模型集合之上引入模型选择器。通过元学习来训练模型选择器和深度推荐模型。之后由用户特定的历史数据为每个用户选择最佳的单个模型。在两个公共数据集和一个真实世界的生产数据集上进行了广泛的实验,证明了提出的框架在AUC和LogLoss方面实现了对单个模型baseline和样本级别模型选择器的改进。

 

前人工作

 

元学习算法

 

在元学习中,目标是在一组任务上学习一个模型,以使其能够快速适应新任务。一种研究方向是 基于度量的元学习 ,旨在学习任务中样本之间的相似性。诸如匹配网络和原型网络。另一个方向是 基于优化的元学习 ,该元学习最近通过实验证明了,方法针对few-show分类问题的有效性。在各种方法中,有些专注于学习优化器,例如基于LSTM的元学习器和带有外部记忆memory的元网络。另一个研究部门旨在学习良好的模型初始化参数,以使模型在少量梯度更新后具有在有限样本的新任务上具有最佳性能。且算法MAML 和Meta-SGD 是与模型和任务无关的。这些基于优化的元学习算法有望提取和共享先前任务集中可传递的特征。如果我们将每项任务视为学习预测用户选择偏好的推荐模型,那幺每个用户不仅会收到个性化的选择建议,还将受益于具有相似潜在功能的其他用户的选择。

 

推荐系统的模型选择

 

在推荐系统中,由于用户之间的数据分布不均,因此没有一个的最佳模型可以为每个用户提供最佳推荐结果。解决此问题的一种方法是赋予用户选择或切换推荐系统的权利。可以从用户子集收集显式反馈,为新用户生成初始状态。另一个解决方案是混合推荐系统,它结合了多个模型以形成一个完整的推荐模型集。这种推荐模型集可以融合不同推荐模型的优势。混合推荐系统的设计有两种方法。一种是软选择,即计算不同推荐系统的单个评分函数的线性组合。一项着名的工作是特征加权线性叠加(FWLS),它可以通过线性回归来学习模型预测的系数。研究的另一方向训练一个针对每个用户或针对每个样本,或针对整个数据集选择最佳的推荐模型。此外,尽管性能有相当大的提高,但实现过程非常耗时。FWLS之类的方法主要集中在样本级优化上,该方法缺乏可解释性,无法解释为什幺某些模型对特定用户有效,而对其他用户却不适用。

 

MAML完成问题建模


Mete-Learning 任务定义为学习预测用户选择偏好的模型
MetaSelector学习从多个任务中进行模型选择, 其中一个任务由一个用户的数据组成
给定推荐请求作为输入,MetaSelector在推荐模型上输出概率分布
推荐场景是CTR预测。

论文细节

 

文章使用元学习来学习模型选择器S,如算法1所示。算法将MAML扩展到MetaSelector框架中。 之前的工作将MAML应用于单个预测模型,而在本例中, MAML用于联合学习模型选择器和基础模型集合 。

模型层面 M:基础模型如deepfm、LR;模型参数记为θ;M(x;θ) 看成是输入特征x后模型的输出;通常,允许不同的基本模型使用不同的输入特征,而在此,假设所有模型都具有相同的输入形式,以便于说明。

 

模型选择器层面 记为S, φ作为模型参数。S可能是MLP,输入x,输出在推荐模型集合上的概率分布 λ 。将上述两部分加权求和看作是模型预测输出。

 

Episodic Meta-training

 

元训练过程以轮次方式进行。 在每轮中,从大量训练人群中抽取一批用户作为任务(第5行)。 对于每个用户u,从Du采样一个支持集DuS和一个查询集DuQ,它们分别被视为对应于用户u的任务中的“训练”集和“测试”集(第7行)。 采用元学习文献中的通用做法,即 保证DuS和DuQ之间不相交以提高泛化能力 。“训练”集用于内循环更新参数,“测试”集用于外循环。

 

In-task Adaptation

 

给定当前固定的参数θ和φ,MetaSelector首先迭代支持集DuS以在基本模型上生成每项分布λ(第9行),然后得到最终预测p(x;θ,φ)是输出M(x;θ)的线性组合(第10行)。在这项工作中,专注于点击率预测问题,并使用LogLoss作为损失函数:

Learning Inner Learning Rate α

 

内部学习率α在正常模型训练过程中通常是一个超参数,也可以通过将损失函数也视为α的函数,在元学习方法中进行学习。结果表明,每组参数学习的内部学习率α(与θ长度相同的向量)相对于MAML在回归和图像分类方面取得了一致的提高。 可以对算法1进行相应的修改:在第13行中,内部更新步骤变为:

其中◦表示Hadamard积。 考虑θu,φu作为α的函数,第20行的外部更新步骤变为:

Simplifying

 

论文为MetaSelector提出了元训练的简化版本,其中不需要针对基本模型进行任务内调整。 基本模型在元训练之前被预先训练,然后被固定,只训练模型选择器。 注意到,此过程也属于元学习范式,因为使用用户mini-batch更新了φ,其中,对于每个用户u,使用支持集DuS生成分布λ,并通过计算单独的测试损失进行评估查询集DuQ。这使MetaSelector能够在用户级别学习并有效地推广到新用户。

 

实验

 

在本节中,我们评估提出的方法的经验性能,并且主要关注于CTR预测任务,其中预测质量起着非常重要的作用,并直接影响业务收入。 我们使用两个公共数据集和一个实际生产数据集进行实验。 表2总结了所选数据集的统计数据。我们提出并尝试解决两个主要的研究问题:

模型选择可以帮助CTR预测吗?
MetaSelector可以为个性化模型选择带来哪些好处?

数据集

Movielens-1m:包含来自6040个用户的100万个电影评分,每个用户至少具有20个分级。 我们将5星和4星评级作为正面反馈,并用1标记,其余标记用0标记。我们选择以下特征:user_id,年龄,性别,职业,user_history_genre,user_history_movie,movie_id,movie_genre,拍摄日期和季节。
Amazon-Electronics:包含来自亚马逊的用户评论和元数据,已被广泛用于产品推荐。 我们从集合中选择一个名为Amazon-Electronics的子集,并将其成形为二进制分类问题,例如Movielens-1m。 我们保留至少5个评分的用户。 所选特征包括user_id,item_id,item_category,季节,user_history_item(包括5个最近评级的产品),user_history
Production Dataset:为了证明我们提出的方法在实际应用中的有效性以及用户上的自然数据分布,我们还根据工业推荐任务在大型生产数据集上评估了我们的方法。 我们的目标是根据用户的历史行为来预测用户点击推荐的移动服务的可能性。 在此数据集中,每个用户至少有203条历史记录。

baseline

 

单一模型:LR、FM、DeepFM

 

样本级选择器和用户级选择器:这两种方法用作MetaSelector竞争者。 他们旨在预测每个样本和每个用户的模型概率分布。 每个用户的本地数据的80%用于培训,其余用于测试。 然后收集所有用户的本地数据以生成整个培训和测试数据。 在训练时,首先使用75%的训练数据以小批量的方式训练四个CTR预测模型。然后,经过预先培训的推荐者将预测剩余训练数据的CTR值和Logloss。 对于这两个基线,分别通过比较LogLoss给出了0-3的样本级别和用户级别的标签。 在测试时,每个样本或每个用户的最终预测是各个模型的预测值的加权平均值。

 

评价指标 & 实验结果

 

除了AUC和logloss,文章使用 RelaImpr 作为评价指标。

总结

 

首先,解决了推荐系统的模型选择问题,这是由于观察了公开和实际生产数据集上用户之间不同模型的性能变化所致。其次,提出了一种新颖的框架MetaSelector,该框架引入了元学习,从而在涉及两个或多个推荐模型的混合推荐系统中制定了用户级模型选择模块。 该框架可以进行端到端的训练。这是从基于优化的元学习角度研究推荐模型选择问题的 第一项工作 。第三,在公共和实际生产数据集上进行了广泛的实验,以提供有关在模型选择中优化哪个级别的见解。结果表明,MetaSelector可以提高单个基准模型和样本级别选择器的性能,显示出MetaSelector在实际推荐系统中的潜力。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注