专栏首页机器学习与推荐算法SIGIR2020 | 一种新颖的推荐系统重训练技巧

SIGIR2020 | 一种新颖的推荐系统重训练技巧

背景

事实上,在推荐系统的学术研究中,我们过于关注模型的创新,而忽视了落地可行性以及实用性。这与模型的新颖度和复杂度不同,是另外一个层面的值得我们考虑的问题。因此,本文中所推荐的论文,是针对推荐系统的定期重训练需求设计的模型。本人认为这是一个不错的话题,因此推荐给大家。但是,本文并非对论文的翻译,而是将文中的想法和思路简明扼要地传递给大家,如想了解论文的全貌还请精读原始论文。

定期对推荐模型进行重训练是十分重要的。因为时间不会为了推荐系统而停止,但离线训练模型的结果却会。也就是说,我们不能用一个月前的离线训练结果来为此刻的用户做推荐。因为,用户的偏好可能随着时间已经发生了改变。这也是重训练的意义所在。我们可以定期更新用户的交互数据,来对模型进行重训练。

挑战

传统的重训练方式需要每隔一段时间重新训练整个用户数据,比如Period0用D0训练好模型之后上线,经过Period1服务用户一段时间后产生用户数据D1,因此为了捕捉用户当前的兴趣偏好,需要一起重新训练之前庞大的历史用户数据D0和新增加的用户数据D1。

以上介绍的传统重训练在策略的选择和资源的消耗上都是具有挑战的。

  1. 挑战:历史数据量随着时间的推移会越来越大,那么每一次重新训练数据量就越来越大,训练时间也会越来越长,消耗也就越来越大。 解决方案:针对历史数据,模型无需再进行模型训练。也就是说,我们只需要训练一次用户的历史数据即可。在未来的若干次重训练中,我们仅需要训练增量数据(用户新产生的数据)即可。这不仅避免了历史数据的重复计算,而且减少了训练能耗。
  2. 挑战:重训练只依据用户产生的新数据来更新模型,少量的新数据能够精确、全面、稳定地表达用户偏好信息呢? 解决方案:基于增量数据规模小的特点,模型采用了迁移的思路,将学习历史训练数据的经验,迁移到新的增量数据的学习上。这就避免了重训练仅包含增量数据的问题。

因此作者设计了一种顺序元学习的方法(SML)。该元学习机制是在顺序数据上,所以被命名为顺序元学习方法。

模型

整个模型可以简化为两个部分:

(1)表达转移组件。构建一个表达传递组件,将先前训练中获得的知识转移到新交互的训练中。我们将传递组件设计为卷积神经网络(CNN),该卷积神经网络将先前的模型参数输入为常量,将当前模型的输入作为可训练参数。合理性在于,先前训练中获得的知识会集中在模型参数中,这样,表达性神经网络就应该能够将知识提炼到所需的目的。

重训练的流程可以由下图看到:其中,为当前时刻,表示之前的推荐模型,是基于新的数据的推荐模型。整个转移组件的作用是联合历史推荐模型和新数据推荐模型的知识,并服务于下一时刻的预测。

(2)顺序训练方法。将提出的表达转移组件用于对未来一段时间的推荐,以优化转移组件在推荐上的表现。除了对新收集的交互进行常规训练外,我们还对下一个时间段的未来交互进行了传输CNN训练。因此,CNN可以了解如何将旧参数与当前参数结合起来,目的是预测附近的用户互动。每个时间段的重新训练是一项任务,它具有当前时间段的新交互作为训练集,而下一时间段的将来交互作为测试集。训练集为历史数据与当前时段的新的交互,测试集为下一时间段的未来交互数据。具体顺序性的训练算法如下图所示:

更多模型细节和训练方法请移步论文原文:

Paper: How to Retrain Recommender System? A Sequential Meta-Learning Method

Link: https://arxiv.org/pdf/2005.13258.pdf

Code: https://github.com/zyang1580/SML

本文分享自微信公众号 - 机器学习与推荐算法(ML_RSer),作者:张鸣鸽

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 经验分享 | 解决NN不work的37个方法

    和这篇文章的作者一样,有时想到一个很棒的点子,辛苦写好代码,终于运行正常了,但是效果就是不咋地,不免懊恼地产生一种“难道我的点子不行?”的想法。真的是点子不行吗...

    张小磊
  • 深度学习技术在社会化推荐场景中的总结

    不知道大家有没有感觉,在日常生活中用到推荐一词的时候经常是用在社交场景中的。到一个地方旅游让朋友推荐一下旅游景点,学习某一项技术的时候让朋友推荐一些有什么书可以...

    张小磊
  • ECAI2020推荐系统论文聚焦

    ECAI,全称为 European Conference on Artificial Intelligence,是欧洲主要的人工智能会议。

    张小磊
  • 【长文详解】T5: Text-to-Text Transfer Transformer 阅读笔记

    谷歌用一篇诚意满满(财大气粗)的基于实验的综述,试图帮助研究者们「拨开云雾见光明」。论文十分适合该领域的初学者通读,写的十分友好,不过由于涉及到的模型/技术很多...

    zenRRan
  • 模型训练太慢?来试试用这个方法提速吧!

    原标题:How to Train Your Model (Dramatically Faster)

    崔庆才
  • 机器学习入门系列(2)--机器学习概览(下)

    1. 机器学习的主要挑战1.1 训练数据量不足1.2 没有代表性的训练数据1.3 低质量的数据1.4 不相关的特征1.5 过拟合1.6 欠拟合2. 测试和评估3...

    材ccc
  • 一个案例掌握深度学习

    人工智能越来越火,甚至成了日常生活无处不在的要素。人工智能是什么?深度学习、机器学习又与人工智能有什么关系?作为开发者如何进入人工智能领域?

    会呼吸的Coder
  • 大白话解释模型产生过拟合的原因!

    过拟合就是训练出来的模型在训练集上表现很好,但是在测试集上表现较差的一种现象!下图给出例子:

    崔庆才
  • 如何用 Python 和深度迁移学习做文本分类?

    在《如何用 Python 和 fast.ai 做图像深度迁移学习?》一文中,我为你详细介绍了迁移学习给图像分类带来的优势,包括:

    王树义
  • 迁移学习

    所谓迁移学习是指针对新问题重新使用预先训练的模型。由于它能用较少的数据训练深度神经网络,这使得目前它在深度学习领域非常流行。通过这篇文章您将会了解什么是迁移学习...

    小莹莹

扫码关注云+社区

领取腾讯云代金券