[推荐系统]召回之youtubeDNN
引言
youtube作为全球最大的视频内容网站,无时无刻都上传成百上千的事情,目前应该也有千亿个视频了,2016年,youtube决定接着用DL做点事情,之前都是基于MF,或者协同过滤做事情。2016年的时候,全球还很少将DL应用在推荐领域,youtubeDNN也是十分经典的召回和排序模型.
上图就是youtubednn的结构图,其中主要分成候选集生成(召回)和排序两个阶段
召回理解
将用户的youtube活跃的历史纪录作为输入,然后从一个很大的物料池中获取几百个物料形成的子集作为候选集。这些候选集就是召回集
其中\(u\in R^N\),是表示用户的embedding,\(v_J\in R^N\)表示每个候选视频的embedding。所以任务变成了将用户embedding \(u\)表示成用户历史和上下文信息的embedding,然后以此来基于softmax对视频进行分类
youtubednn将每个视频解释成一个类别,比如上述公式:在上下文,用户向量的基础上,每个视频的概率是多少,相当于:
- 拉齐一堆视频,然后用softmax进行分类;
- 然后按概率从大到小排序,选取topN
召回模型
如上图所示:
- 输入层是用户观看视频序列的embedding进行avg pooing,搜索词的embedding的avg pooling,地理位置embedding,用户特征;
- 然后经过三层relu全连接层,然后得到用户向量;
- 然后经过softmax得到每个视频的观看概率
参考文献:
深入浅出地理解Youtube DNN推荐模型