开发者社区> 好好、学习> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

阿里又出排序新模型,还被国际顶会认可了 | AAAI-20 oral

简介: DMR提供了一个Matching和Ranking联合训练的框架,U2I相关性表征的模块可以很容易嵌到现有的CTR模型中,相当于在你原来的模型上加了一些有效的特征。我们后续的CTR模型迭代会基于DMR的框架不断加入新的改进。
+关注继续查看

背景

以电商场景优化用户点击为例,推荐系统的任务是从海量的候选商品中选出用户最感兴趣且最可能点击的商品。为了提升检索的效率,通常分为两阶段来检索。召回/候选生成(Matching/Candidate Generation)阶段根据U2I相关性从整个候选集中筛选出少量的候选商品(比如1000个),常用协同过滤方法。排序(Ranking)阶段根据排序模型预估这小部分候选商品的CTR,排序后展示给用户。

推荐系统中CTR预估的重要性不言而喻,其中个性化是提升CTR模型效果的关键。本文介绍一种全新的排序模型,主要的思想是融合Match中的协同过滤思想,在Rank模型中表征U2I的相关性,从而提升模型的个性化能力,并取得不俗的效果。

搜索场景中用户通过输入搜索词显式地表达用户的意图,而推荐场景中没有这种显式获取用户意图的方式。用户的意图往往隐藏在用户行为序列中,可以说用户行为序列就是推荐中的query。因此,对用户行为序列进行建模来抽取其中的用户意图就非常重要。DIN[1]以及DIEN[2]等后续工作关注用户兴趣的表征以提升模型效果,而我们的工作在此基础上又往前走了一步,关注U2I相关性的表征。U2I相关性可以直接衡量用户对目标商品的偏好强度。可以理解成从用户特征(用户兴趣表征)到U2I交叉特征(U2I相关性表征)的升级。

表征U2I相关性很容易想到召回中的协同过滤(CF)。I2I CF是工业界最常见的方法,预计算I2I的相似度,然后根据用户的行为和I2I相似度间接得到U2I相关性。因子分解(factorization)的方法更加直接,通过用户表征和商品表征的内积直接得到U2I相关性,这里暂且称这种方法为U2I CF。最近有一些深度学习的方法进入到相关领域:比如I2I CF中有NAIS[7],用attention机制区分用户行为的重要性,和DIN[1]的做法相似;U2I CF中有DNN4YouTube[3],把召回建模成大规模多分类问题,也就是常说的DeepMatch。DeepMatch可以看做factorization技术的非线性泛化。我们根据协同过滤中的U2I CF和I2I CF分别构建了两个子网络来表征U2I相关性。

模型介绍

DMR(Deep Match to Rank)模型的网络结构如图所示。仅仅依靠MLP隐式的特征交叉很难捕捉到U2I的相关性。对于输入到MLP中的U2I交叉特征,除了手工构建的U2I交叉特征,我们通过User-to-Item子网络和Item-to-Item子网络来表征U2I相关性,进一步提升模型的表达能力。

image.png

User-to-Item网络

受factorization方法的启发,我们用user representation和item representation的内积来表征U2I相关性,这可以看做是一种显式的特征交叉。user representation根据用户行为特征得到,一种简单的方法是做average pooling,即把每个行为特征看得同等重要。我们考虑到行为时间等context特征对行为重要性的区分度,采用attention机制,以位置编码(positional encoding,参考Transformer[4])等context特征作为query去适应性地学习每个行为的权重。其中位置编码行为序列按时间顺序排列后的编号,表达行为时间的远近。公式如下:

image.png

其中image.png是第t个position embedding,image.png是第t个用户行为的特征向量,image.pngimage.png是学习参数,image.png是第t个用户行为的归一化权重。通过weighted sum pooling,得到定长的特征向量,然后通过全连接层进行非线性变化得到user representation,以匹配item representation的维度image.png。最终的user representationimage.png可以定义为:

image.png

其中函数image.png代表非线性变换,输入维度image.png,输出维度image.png, 是第t个用户行为的带权的特征向量。

目标item representation直接通过embedding lookup得到,这个embedding矩阵image.png是单独的一个矩阵,用于输出端,和输入端的item使用的embedding矩阵V不同(类似于word2vec[6]中一个单词有输入和输出两种表征)。有了user representation和item representation,我们用内积来表征U2I相关性:

image.png

我们希望r越大代表相关性越强,从而对CTR预测有正向的效果。然后从反向传播的角度考虑,仅仅通过点击label的监督很难学出这样的效果。另外,embedding矩阵image.png的学习完全依赖于唯一的相关性单元r。基于以上两点,我们提出了DeepMatch网络(即图中最后侧的Auxiliary Match Network),引入用户行为作为label监督User-to-Item网络的学习。

DeepMatch网络的任务是根据前T−1个行为预测第T个行为,是一个大规模多分类任务,有多少候选商品就有多个分类。根据上述用户表征的形式,我们可以获得前T−1个用户行为对应的user representation,记作image.png。用户在发生这T−1个行为后,下一个点击商品j的概率可以用softmax函数来定义:

image.png

其中第j个商品的(输出)表征image.png。目标商品的输出表征实际上就是softmax层的参数。以交叉熵为损失函数,我们有以下损失:

image.png

其中image.png代表第I个样本的第j个商品的label,image.png是相应的预测结果,K是不同的分类数,也就是商品数。image.png当且仅当商品j是用户行为序列中的第T个行为。考虑到softmax的计算量太大,正比于商品总数K,采用negative sampling的方法来简化计算,损失变为如下形式:

image.png

其中image.png是sigmoid 函数,image.png是正样本,image.png是负样本,k是采用的负样本数,远小于总体商品总数K。DeepMatch的loss会加到MLP最终的分类loss上。DeepMatch网络会促使更大的内积r代表更强的相关性,从而帮助模型的训练。实际上,User-to-Item Network是Ranking模型和Matching模型以统一的方式进行联合训练。这和简单地将召回阶段的match_type、match_score等特征加入到排序模型中不同。召回阶段通常是多路召回,不同召回方式的分数不在同一个metric下,无法直接比较(比如swing和DeepMatch的分数不能直接比较)。DMR通过User-to-Item网络能够针对任意给定的目标商品表征U2I相关性,且可以相互比较。

Item-to-Item网络

User-to-Item网络通过内积直接表征U2I相关性,而Item-to-Item网络通过计算I2I相似度间接表征U2I相关性。回忆一下DIN[1]等模型中的target attention,即以目标商品为query对用户行为序列做attention,区分出行为的重要程度。我们可以把它理解成一个I2I的相似度计算,和目标商品更相似的用户行为商品获得更高的权重,从而主导pooling后的特征向量。基于这样的理解,我们将所有的权重(softmax归一化之前)求和就得到了另一种U2I相关性表达。公式如下:

image.png

Item-to-Item网络使用additive attention[5]形式计算,区别于User-to-Item的内积形式,可以让增强表征能力。

除了U2I相关性表征,Item-to-Item网络也将target attention后的用户表征输入到MLP中。DMR如果没有U2I相关性表征以及positional encoding,则和DIN[1]模型基本相同。

实验

我们在阿里妈妈的公开数据集,以及1688为你推荐的生产数据集上做了一系列实验,验证模型整体的效果并且探索某个模块对模型的影响。

离线实验

image.png


image.png

线上实验

我们在1688为你推荐上线DMR模型,对比模型是DIN[1](我们上一个版本的CTR模型),CTR相对提升5.5%,DPV相对提升12.8%,目前已经全量。

总结&展望

我们的论文Deep Match to Rank Model for Personalized Click-Through Rate Prediction被AAAI-20以oral的形式录用,paper原文地址:https://github.com/lvze92/DMR

DMR提供了一个Matching和Ranking联合训练的框架,U2I相关性表征的模块可以很容易嵌到现有的CTR模型中,相当于在你原来的模型上加了一些有效的特征。我们后续的CTR模型迭代会基于DMR的框架不断加入新的改进。

我们是阿里巴巴CBU技术部算法团队,招推荐算法工程师,欢迎投递简历至lvze.lz@alibaba-inc.com

主要参考文献:
[1] Deep Interest Network for Click-Through Rate Prediction - KDD18

[2] Deep Interest Evolution Network for Click-Through Rate Prediction - AAAI19

[3] Deep Neural Networks for YouTube Recommendations - ResSys16

[4] Attention Is All You Need - NIPS17

[5] Neural Machine Translation by Jointly Learning to Align and Translate - ICLR15

[6] Distributed Representations of Words and Phrases and their Compositionality - NIPS13

[7] NAIS - Neural Attentive Item Similarity Model for Recommendation - TKDE18

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java Semaphore实现高并发场景下的流量控制(附源码) | 实用代码架构
Java Semaphore实现高并发场景下的流量控制(附源码) | 实用代码架构
53 0
IDEA+Java+Jsp+Mysql实现Web毕业设计选题系统(下)
IDEA+Java+Jsp+Mysql实现Web毕业设计选题系统
30 0
【Netty】IO 模型简介 ( Netty 特点 | Netty 应用场景 | Java 三种 IO 模型 | BIO 模型 )(二)
【Netty】IO 模型简介 ( Netty 特点 | Netty 应用场景 | Java 三种 IO 模型 | BIO 模型 )(二)
49 0
谷歌、阿里们的杀手锏:3大领域,10大深度学习CTR模型演化图谱(附论文)
本文为你介绍近3年来的所有主流深度学习CTR模型。
1058 0
从零开始学 Web 之 CSS(三)链接伪类、背景、行高、盒子模型、浮动
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程。此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注。在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目。
1361 0
【AAAI oral】阿里北大提出新attention建模框架,一个模型预测多种行为
本文提出一种基于注意力机制的用户异构行为序列的建模框架,并将其应用到推荐场景中。作者提出用同一种模型同时预测多种类型的用户行为,由于没有使用RNN,CNN等方法,因此在提高效果的同时,该方法能够有更快的训练速度。
5189 0
【AAAI Oral】阿里提出新神经网络算法,压缩掉最后一个比特
在利用深度网络解决问题的时候人们常常倾向于设计更为复杂的网络收集更多的数据以期获得更高的性能。但是,随之而来的是模型的复杂度急剧提升,参数越来越多,给深度学习在设备上的应用带来挑战。阿里iDST团队最新提出的ADMM神经网络压缩和加速算法,可以无损地压缩掉最后一个比特。
4437 0
CSS 基础点集锦一:盒子模型、浮动、清除浮动
1、盒子模型: 示意图(图片来自w3school): 说明:上图中,由内而外依次是 元素内容(content) 内边矩(padding-top、padding-right、padding- bottom、padding-left) 边框(border-top、border-right、border-bottom、border- left) 外边距(marging-top、margin
1287 0
java web中验证码的实现
我们知道在我们注册用户的时候一般都有一段模糊的验证码让我们输入,其实我们自己也可以实现这个验证码 ,验证码的好处是为了防止某些自动提交软件的而已行为  。 下面就利用Servlet +JSP+JavaBran实现一个验证码机制。
830 0
+关注
好好、学习
好好学习,天天向上。
55
文章
0
问答
来源圈子
更多
关于阿里的机器智能创新技术均呈现于此.
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载