推荐系统遇上深度学习(一一七)-[腾讯]结合蒸馏和多任务学习的召回模型

今天分享一篇腾讯在召回阶段的论文,题目为《Distillation based Multi-task Learning: A Candidate Generation Model for Improving Reading Duration》,将多任务学习和蒸馏学习相结合,应用于召回阶段来提升整体的信息流中的浏览时长,一起来看一下。

1、背景

在信息流场景下,为了提升用户体验,阅读时长的建模也十分重要。本文重点关注于召回阶段的阅读时长建模,实践中,面临两方面的挑战:

1)第一个挑战是如何处理阅读时长为0的负样本(即没有点击的负样本),这些负样本的阅读时长为0是因为没有点击,这与有点击但是阅读时长很短的样本有所区别,直接将这些样本的label设定为0有可能会导致不准确的估计。
2)为了解决第一个挑战,一种可以尝试的思路是多任务学习,即一个任务预测ctr,一个任务预测点击后的阅读时长,并结合ESMM的思路进行建模。但是在召回阶段,部署多任务学习模型也是比较困难的。

目前常用的的召回阶段模型是双塔模型,同时,在建模阅读时长方面,大多数的方法是通过单个回归模型,并将未点击的样本的时长设定为0 。而本文为了解决上述两方面的挑战,提出了DMTL(distillation based multi-task learning approach),将多任务学习和模型蒸馏应用于召回阶段的双塔模型中,一起来看一下。

2、DMTL介绍

DMTL模型的整体结构如下图所示:

可以看到,左侧的teacher网络采用多任务学习结构,右侧的的student网络仍然采用双塔结构,下面分别对其进行介绍。

2.1 Teacher网络

Teacher网络采用多任务学习的方式,其中两个任务分别用于建模CTR和阅读时长(阅读时长即图中的CVR),特别地,对于阅读时长任务来讲,其训练样本的正样本为时长大于50s(这里是依据平均时长来设定的阈值)的样本,而负样本为阅读时长小于等于50s的样本(因此这里并不是直接预测阅读时长,而是根据阅读时长将样本切分为正负样本)。为了解决选择性偏差和样本稀疏的问题,采用了ESMM的架构,并使用MMoE来提升最终的效果。预估值计算如下:

loss总共包含两部分,即ctr的loss和ctcvr的loss:

2.2 Student网络

Student网络采用召回阶段最常用的双塔模型,得到用户塔和item塔的embedding之后,其输出计算如下:

为了使召回阶段模型能够有效的预测阅读时长,希望双塔模型的输出能够与具有更高精度的多任务学习模型(teacher网络)输出接近,因此student网络的损失如下:

这样,线上仅需要部署双塔模型即student网络即可。

3、实验结果及分析

最后来看一下实验结果,离线的AUC以及线上的阅读时长都得到了一定的提升:

好了,论文就介绍到这里,下期见~~

你可能感兴趣的:(推荐系统遇上深度学习(一一七)-[腾讯]结合蒸馏和多任务学习的召回模型)