论文公布地址:https://www.ijcnn.org/assets/ijcnn2019-program-Jun07-largefont.pdf
作为中国最大的网络视频发布平台之一,爱奇艺的推荐系统每月要帮助数百万活跃用户从其大规模的且仍在不断增长的视频语料库中发现高度个性化的内容。根据爱奇艺的统计报告,在各种不同的终端设备和应用界面,推荐系统已将其日播放量(VV)提升了近一倍。这篇论文介绍了爱奇艺的小视频推荐系统,如图 1 所示。
图 1:爱奇艺移动应用的小视频频道页面和播放页面
在中国,小视频的生产和发行已经在多个平台上成长为新兴的业务重心,加速了用户生产内容(UGC)的爆发。
相比于传统的视频推荐系统,爱奇艺的 UGC 推荐和小视频分发有四个极其困难的方面:
新鲜度:爱奇艺的小视频应用的语料库非常动态,用户每天都会上传数十万条新视频。推荐系统应具有足够的响应能力,以便建模新上传的视频和最新的用户行为。
冷启动:鉴于小视频有更高的及时性要求和更低的用户黏性,推荐系统面临着严重的用户和项目冷启动问题,这会有损基于协同过滤(CF)的方法的性能。
多样性:由于视频类型和用户人口统计分布的多样性,爱奇艺的视频标签系统以及用户兴趣画像都比传统的视频推荐复杂得多,这也使得相关特征极其分散。内容和用户的多样性也会使得小视频推荐系统的结果不能稳健地应对输入中的错误。
兴趣转移:历史用户行为并不总是可靠的。每位用户在一个小时内就可能浏览数十个小视频,他们感兴趣的内容也会发生巨大的变化。一旦用户对之前的视频感到厌烦,他们就会渴望探索新的类别。因此,把握短期和长期用户偏好之间的平衡是至关重要的。
针对这些难题,爱奇艺的研究者提出了一种遵循多阶段流程的模型,其由三个模块构成,即用户画像(User Profile)、召回(Recall)和排序 Ranking)。为了提升小视频推荐系统的表现,每个模块中都使用了广泛的模型集成方法。下面简要介绍了其系统结构:
用户画像:对用户的人口统计属性、历史行为、兴趣和偏好的多维度分析。用户画像可用作实现个性化推荐的基石。
召回:多种协同过滤(CF)算法(基于物品的 CF、基于用户的 CF、矩阵分解、Item2Vec 等)和多种基于内容的过滤(CBF)方法的组合。这些模型的结果会被聚合起来,为每个请求构建一个视频候选项语料库,其中通常包含数百条视频。
排序:一个用于评估视频候选项的分数的点击率预估模型,然后将少量最佳推荐的视频推送到用户界面。
在任何推荐系统中,排序都被认为是最重要的模块,因为其直接决定了推荐的质量。目前大多数工业界推荐系统的排序模块都基于深度学习(DL)、梯度提升决策树(GBDT)+分解机(FM)、或混合方法。
为了确保准确性和泛化能力,爱奇艺的排序模块集成了多个模型。尽管上面提到的排序模型在行业和学术领域大都有效,但通常都非常复杂且难以解读。换句话说,它们无法说明推荐特定视频的原因或分析不同特征对推荐结果的贡献。
近期在推荐系统解读方面也有一些进展,它们主要集中于设计可解释模型、修改神经网络中的隐藏层以及将知识图谱和注意机制与深度学习组合起来。但是,这些方法往往有损推荐系统的准确度并会限制模型的结构,也由此无法应用于大多数工业界的推荐系统。
为了监控排序模型的工作方式是否有如预期以及是否能加速模型的迭代过程,爱奇艺提出了一种与模型无关的推荐系统局部可解释方法 Recommendation System Boosted Local Interpretable Model-Agnostic Explanations Method(RSLIME,),可为其排序模型提供特征重要度分析。RSLIME 有望为推荐系统中的特征选取过程提供参照,并帮助推荐系统开发者不必太过麻烦就能调整他们的排序模型。RSLIME 具有以下特点:
对于单个输入样本,RSLIME 可以生成特征重要度的估计,而不管排序模块中所用的架构为何。然后可以基于这些特征重要度解释推荐结果。
对于多个输入样本,RSLIME 可以结合多个样本的预测结果进行整体分析,并给出准确的特征重要度估计。
RSLIME 可对稀疏特征的影响进行高效的分析,从而指导模型的优化和特征的选择
爱奇艺的这篇论文的主要贡献为:
详细阐述了爱奇艺的小视频排序模块的架构;
提出了一种可扩展的推荐系统解释方法(RSLIME),能根据排序结果提供特征重要度;
在爱奇艺的排序模块上执行了全面的实验,验证了 RSLIME 方法的有效性。
为什么需要为推荐系统设计新的解释方法?
爱奇艺的小视频推荐系统的推理过程如图 2 所示,其结果主要由召回模块和排序模块决定。其中召回模块的结果通常是可解释的,因为我们可以检查视频标签和用户兴趣以确定糟糕结果出现的原因。而排序模块却比召回模块复杂得多,其集成了多种模型与多种类型的输入特征。
图 2:小视频推荐系统。
总的来说,爱奇艺的排序模块有这些特点:
(1)模型结构复杂;
(2)输入特征的维度很高;
(3)迭代速度快;
(4)具有大规模视频语料库;
(5)分布式的文件存储和计算系统。
这些特点使得目前大多数特征重要度分析方法都不适用。
图 3:排序模块的流程。
目前在推荐系统中最常用的特征选取和特征重要度分析方法是信息增益(Information Gain)、主成分分析(PCA)和 AUC Check。尽管它们可有效地用于特定的任务,但在用于推荐排序模型时都存在固有的局限性。有关这些局限性的详细说明请参阅原论文。
不同于以上方法,RSLIME 有望在任意的推荐排序模型中执行有效的特征选取和特征重要度分析。与《"Why Should I Trust You?": Explaining the Predictions of Any Classifier(arXiv: 1602.04938)》中提出的 LIME 思想类似,RSLIME 使用了一个线性函数来局部地近似排序结果。
通过验证 RSLIME 所获得的特征重要度的可靠性和稳定性以及进一步了解其与 AUC Check 的相关性,爱奇艺的这些研究者证明 RSLIME 确实可用于分析特征重要度和解释排序模型。
技术详解
架构
这里将介绍爱奇艺小视频推荐系统的排序模块。如图 4 所示,其中使用了一种经过扩展的「Deep&Wide」结构,集成了 GBDT、FM 和 DNN。
图 4:排序模块的架构。
借助「Deep&Wide」结构的思想,Sigmoid 层可用作连接层,其输入由两个部分构成:DNN 最后的隐藏层、FM 的输出。下面将介绍每个模块的详情:
DNN:DNN 使用的是一个带有三个隐藏层的全连接网络,其维度分别为 1024、512 和 256。DNN 的输入是用户和视频的预训练的特征嵌入,这基于用户行为和视频语义内容。爱奇艺的模型使用了 DNN 来提升排序模块的准确度以及在线 A/B 测试中的泛化能力。
GBDT:GBDT 是指多个决策树的基于提升(boosting)的集成。GBDT 的叶节点自动表示所选择的重要特征,其可被用于提升 FM 的性能。GBDT 先要单独进行预训练,之后才会与 FM 和 DNN 进行联合训练。由于 GBDT 对非归一化的特征的存在而言是稳健的,所以其输入中归一化和非归一化的稠密特征都可以有。
FM:FM 可自动执行特征组合和二阶交叉特征计算。因此,FM 可以执行特征融合和在 GBDT 输出和稀疏特征上执行交叉,由此能在推荐点击率(CTR)预估方面取得当前最佳的结果。
Sigmoid:Sigmoid 能为 DNN 和 FM 的输出加权并在其结果上执行 sigmoid 变换。
RSLIME
这里使用 X 表示输入数据,x 表示单个输入样本。样本 x 的 n 维输入特征表示为 Zn 或 (z1…zn)。z 表示单个特征组合,推理模型表示为 f。线性回归模型 g ∈ G 等可解释的模型经过训练后用于执行单个案例的特征重要度分析。
RSLIME 是局部可解释的与模型无关的解释(LIME)方法的一种扩展。LIME 使用了一种可解释的模型来评估推理模型 f 在单个输入样本 x 上的特征重要度。设有 100 个特征 (z1…z100) 的一个输入样本 x,f(x) 是 x 的推理结果。
LIME 首先会自动生成数千个不同的特征组合(比如 z1…z99、z2…z100)。然后对于每个特征组合,LIME 根据这个组合内部的特征(同时掩盖其它所有特征)计算该推理模型 f 的预测结果。为了说明清楚,使用特征组合 z1…z99 时,表示 z100 被 0 掩码掩盖。
给定每个特征组合 z 和对应的预测结果 f(z),LIME 会计算 z 和 x 的距离并将其作为 z 的权重,然后会训练一个可解释的模型(以线性回归模型为例)g 将 z 映射到 f(z) 和 f(x) 之间的绝对差值,然后用作单个案例特征重要度的直接指示。这个可解释模型中每个特征的最终权重都会被用作特征重要度。因此,LIME 的局部特征诊断算法可以表示为:
其中 Ω(g) 表示模型复杂度,π_x(z) 表示样本 x 的特征组合。
爱奇艺是如何将 LIME 扩展为 RSLIME 以将其用于推荐系统的排序模块的呢?
在他们的单案例分析流程中,RSLIME 遵循 LIME 的近似方法,其中将排序模块用作推理模型。此外,他们还基于 MapReduce 思想提出了一种多案例累积特征重要度分析方法。下面会介绍单案例和多案例 RSLIME 的实现细节。
实现细节
图 5 展示了使用 RSLIME 进行单案例特征重要度分析的完整过程。
图 5:用于单案例分析的 RSLIME 的实现。
首先,将推荐排序过程所需的特征和分数通过在线模型调试接口,得到在线模型在同一时间的预估点击率(PCTR)。然后将这些特征和分数输入与在线模型同步更新的离线模型,计算得到 PCTR;再通过检查这两个 PCTR 是否一样来验证在线模型和离线模型的一致性。
检查过一致性之后,再将该离线模型与同样的特征和分数输入 RSLIME 得到排在前面的特征和它们的重要度。最后可将特征索引转译为特征名,以便分析特征重要度。
为了将 RSLIME 用于多案例累积特征重要度分析,爱奇艺的研究者以一种分布式的方式重新实现了这个技术流程。如图 6 所示,RSLIME 和输入数据被包装和分发到了 HDFS 上的不同数据节点,然后使用 MapReduce 单独分析每个节点上的样本。最后,通过聚合所有被使用的样本的特征重要度分数,可得到累积的特征重要度。
图 6:用于多样本分析的 RSLIME 的实现。
实验
爱奇艺的研究者执行了一系列实验来验证他们提出的方法,其中包括单案例分析、与 GBDT 的对比试验、与 AUC Check 的对比实验。结果表明了 RSLIME 的有效性,下面列出了部分实验结果,具体详情请参阅原论文。
图 7:单案例分析的结果。
图 8:RSLIME 与 GBDT 对齐的不同特征类型的比例。