推荐召回算法之深度召回模型串讲

2019 年 6 月 14 日 AINLP


导读:本文是“深度推荐系统”专栏的第一篇文章,这个系列将介绍在深度学习的强力驱动下,给推荐系统工业界所带来的最前沿的变化。本文则结合作者在工作中的经验总结,着重于串讲推荐召回层的模型变化。
欢迎转载,转载请注明出处以及链接,更多关于深度推荐系统优质内容请关注如下频道。
知乎专栏:深度推荐系统
微博:深度传送门
公众号:深度传送门

推荐系统的基本架构并不复杂,一般由索引、召回、粗排、精排以及展控几个部分构成。而其中的召回模块(也叫Matching、触发等)则主要负责根据用户和内容特征,从众多的内容库中找到用户可能感兴趣的内容。一般而言召回模型是多路并发存在的,各路召回模型之间互不影响。本文将重点技术在深度学习技术的驱动下,召回模型的几大类模型。

Youtube DNN召回

但凡Google工业界出品,必属精品。这篇论文也不例外,自从2016年提出以来备受万众瞩目甚至被奉为推荐领域集算法模型与工业实践神级大作。虽然在深度学习已经成为工业界常规操作的今天回头来看这篇论文的算法架构并不觉得有特别惊艳的地方,但是仍然是工业界效果上当之无愧的主流算法与强有力的baseline。

原始论文主要介绍了Youtube推荐架构的召回和精排各自相应的深度网络结构两个部分内容,因为本文着重串讲召回模型所以专注于第一部分召回层的部分。自底向上查看如下的网络结构:

  1. 特征输入层包含了三部分内容:用户观看过的video的embedding向量、用户搜索词的embedding向量以及用户的地理位置年龄等静态特征;这里的embedding向量作者是用word2vec类方法预先生成的。

  2. 线下模型训练阶段,三层ReLU神经网络之后接到softmax层,也就是说在这里作者建模为为用户推荐下一个感兴趣视频的多分类问题,输出是在所有候选视频集合上的概率分布。

  3. 线上预测阶段,考虑到召回的高性能需求首先通过userId找到相应的用户向量,然后使用KNN类方法找到相似度最高的N条候选结果返回。



可以看出模型整体的思路可以认为是传统协同过滤思路的扩展。传统的UCF强调相似的用户感兴趣的物品也相似;传统的ICF强调对物品A感兴趣的用户,可能也对物品A相似的物品同样感兴趣。所以传统的UCF和ICF实际上是分别构造了用户向量空间和物品向量空间,在任何一个向量空间找到相似性都可以进行推荐。

而YoutubeDNN则学习统一的(用户、物品)向量空间来代替原来的两个独立的向量空间,使用深度网络将用户、物品映射到这个统一的低维向量空间来发现学习更高阶的用户物品相似性。

DSSM语义召回

DSSM模型是微软2013年发表的一个关于query/ doc的相似度计算模型,后来发展成为一种所谓”双塔“的框架广泛应用于广告、推荐等领域的召回和排序问题中。依然我们自底向上来看一下如下的网络结构:

  1. 首先特征输入层将Query和Doc(one-hot编码)转化为embedding向量,原论文针对英文输入还提出了一种word hashing的特殊embedding方法用来降低字典规模。我们在针对中文embedding时使用word2vec类常规操作即可;

  2. 经过embedding之后的词向量,接下来是多层DNN网络映射得到针对Query和Doc的128维语义特征向量;

  3. 最后会使用Query和Doc向量进行余弦相似度计算得到相似度R,然后进行softmax归一化得到最终的指标后验概率P,训练目标针对点击的正样本拟合P为1,否则拟合P为0;



可以看到DSSM的核心思想就是将不同对象映射到统一的语义空间中,利用该空间中对象的距离计算相似度。这一思路被广泛应用到了广告、搜索以及推荐的召回和排序等各种工程实践中。

RNN序列召回

基于用户session中的点击序列进行建模召回有很多种方式,其中使用RNN深度网络结构来刻画是其中比较有代表性的一种。相应的网络结构其实很简单,如下图所示。使用用户session中的点击序列作为模型输入,输出则为用户下次点击的item相应的得分。

首先,输入点击序列中的每一个item都被one-hot编码,然后紧接embedding层,再然后是N层的GRU单元,经过最后一层全连接层得到用户下次点击的item相应的概率。详细的Demo代码可以参见:github.com/Songweiping/



TDM深度树匹配召回

TDM模型是阿里巴巴于2018年提出的新一代深度召回模型,试图通过结合树结构搜索与深度学习模型来解决召回的高性能需求与使用复杂模型进行全局搜索与之间的平衡。它将召回问题转化为层级化分类问题,借助树的层级检索可以将时间复杂度降到对数级。即认为用户对某节点的兴趣是大于等于其叶子节点的,所以只需在每层选出topk,且在下一层仅计算上一层选出来的节点相应子节点的兴趣,对于规模为M的语料库,只需要遍历 2 * k * logM个分支就可以在完全二叉树中找到topk的推荐结果。

这样使用树层级检索的好处就是打分模型可以尽可能的复杂对用户兴趣进行精准建模。论文中使用的深度网络将用户历史行为按时间进行切分,分为多个时间窗口。每个时间窗口内的每一个item都与树节点计算关联性权重,得到attention分布,然后每个时间窗口内再计算平均权重,接着将多个时间窗口得到的特征拼接起来,通过三层全连接层以及一层softmax层得到用户对这个节点感兴趣的概率。

训练过程是首先固定TDM树,训练深度网络得到新的节点向量;然后使用新的向量又可以通过聚类等方法重新构建一个TDM树;然后再固定TDM树重新训练深度网络,如此迭代优化,最终可以得到一个高性能且稳定的模型。



参考文献

  1. Deep Neural Networks for YouTube Recommendations

  2. 重读Youtube深度学习推荐系统论文,字字珠玑,惊为神文

  3. Learning Deep Structured Semantic Models for Web Search using Clickthrough Data

  4. Session-based recommendations with recurrent neural networks

  5. Learning Tree-based Deep Model for Recommender Systems



点击"阅读原文"直达原文链接。

登录查看更多
22

相关内容

推荐系统,是指根据用户的习惯、偏好或兴趣,从不断到来的大规模信息中识别满足用户兴趣的信息的过程。推荐推荐任务中的信息往往称为物品(Item)。根据具体应用背景的不同,这些物品可以是新闻、电影、音乐、广告、商品等各种对象。推荐系统利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。随着电子商务规模的不断扩大,商品个数和种类快速增长,顾客需要花费大量的时间才能找到自己想买的商品。这种浏览大量无关的信息和产品过程无疑会使淹没在信息过载问题中的消费者不断流失。为了解决这些问题,个性化推荐系统应运而生。个性化推荐系统是建立在海量数据挖掘基础上的一种高级商务智能平台,以帮助电子商务网站为其顾客购物提供完全个性化的决策支持和信息服务。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【经典书】机器学习:贝叶斯和优化方法,1075页pdf
专知会员服务
404+阅读 · 2020年6月8日
【SIGIR2020】用于冷启动推荐的内容感知神经哈希
专知会员服务
22+阅读 · 2020年6月2日
【CVPR2020-CMU】无数据模型选择,一种深度框架潜力
专知会员服务
22+阅读 · 2020年4月12日
可解释推荐:综述与新视角
专知会员服务
111+阅读 · 2019年10月13日
推荐系统产品与算法概述 | 深度
AI100
11+阅读 · 2019年6月13日
从FFM到DeepFFM,推荐排序模型到底哪家强?
AI前线
6+阅读 · 2019年4月23日
推荐系统召回四模型之:全能的FM模型
AINLP
17+阅读 · 2019年3月4日
基于深度交叉特征的推荐系统
微信AI
9+阅读 · 2019年2月1日
【推荐系统】详解基于内容的推荐算法
产业智能官
23+阅读 · 2018年1月11日
深度学习时代的推荐系统
大数据技术
8+阅读 · 2018年1月6日
推荐算法:Match与Rank模型的交织配合
从0到1
15+阅读 · 2017年12月18日
DNN个性化推荐模型
产业智能官
7+阅读 · 2017年5月19日
Arxiv
5+阅读 · 2017年7月23日
Arxiv
4+阅读 · 2016年12月29日
VIP会员
相关资讯
推荐系统产品与算法概述 | 深度
AI100
11+阅读 · 2019年6月13日
从FFM到DeepFFM,推荐排序模型到底哪家强?
AI前线
6+阅读 · 2019年4月23日
推荐系统召回四模型之:全能的FM模型
AINLP
17+阅读 · 2019年3月4日
基于深度交叉特征的推荐系统
微信AI
9+阅读 · 2019年2月1日
【推荐系统】详解基于内容的推荐算法
产业智能官
23+阅读 · 2018年1月11日
深度学习时代的推荐系统
大数据技术
8+阅读 · 2018年1月6日
推荐算法:Match与Rank模型的交织配合
从0到1
15+阅读 · 2017年12月18日
DNN个性化推荐模型
产业智能官
7+阅读 · 2017年5月19日
Top
微信扫码咨询专知VIP会员