在推荐系统领域,特别是YouTube的所在视频推荐领域,主要面临三个挑战:
规模大:用户和视频的数量都很大,只能适应小规模数据集的算法就不考虑了。
更新快:youtube视频更新频率很高,每秒有小时级别的视频上传。
噪音:噪音主要体现在用户的历史行为往往是稀疏的并且是不完整的。
召回和排序模型
整个模型架构是包含三个隐层的DNN结构。
输入是用户浏览历史、搜索历史、人口统计学信息和其余上下文信息concat成的输入向量;
输出分线上和离线训练两个部分。 离线训练阶段输出层为softmax层,输出上面公式表达的概率。而线上则直接利用user向量查询相关商品,最重要问题是在性能。
我们利用ANN/近似最近邻算法(比如类似局部敏感哈希/Locality Sensitive Hashing、KD-Tree、K-means Tree)为用户提供最相关的N个视频。
整个推荐系统分为candidate generation(召回)和Ranking(排序)两个阶段。召回阶段通过i2i/u2i/u2u/user profile等方式“粗糙”的召回候选商品,召回阶段视频的数量是百级别了;排序阶段对Matching后的视频采用更精细的特征计算user-item之间的排序分,作为最终输出推荐结果的依据。
亮点
1) 推荐系统经典结构的深度学习化,→ 向量化 + DNN
2) 超多类在分类时的高效解决方案,→ 负采样方法
3) 加权逻辑回归解决预测时长问题,→ 正样本上采样
本论文值得反复读,有很多工程细节信息,比如特征处理,Recall侧,深度的精髓在于Embedding的使用上。Rank侧,深度的使用则是在表达和学习目标的优化上作了优化。