选自 ijcnn.org
作者:Fan Zhu, Min Jiang, Yiming Qiu, Chenglong Sun*, Min Wang
机器之心编译
参与:Panda
爱奇艺作为中国的主要视频网站之一,其视频推荐系统的规模和复杂度也在中国名列前茅。近日发布了一篇研究论文,介绍了该公司为小视频推荐系统设计的模型架构并提出了一种新的特征解释和重要度评估方法 RSLIME。他们也对该方法进行了实验评估,并表明了该方法的有效性。
论文公布地址:https://www.ijcnn.org/assets/ijcnn2019-program-Jun07-largefont.pdf
作为中国最大的网络视频发布平台之一,爱奇艺的推荐系统每月要帮助数百万活跃用户从其大规模的且仍在不断增长的视频语料库中发现高度个性化的内容。根据爱奇艺的统计报告,在各种不同的终端设备和应用界面,推荐系统已将其日播放量(VV)提升了近一倍。这篇论文介绍了爱奇艺的小视频推荐系统,如图 1 所示。
图 1:爱奇艺移动应用的小视频频道页面和播放页面
在中国,小视频的生产和发行已经在多个平台上成长为新兴的业务重心,加速了用户生产内容(UGC)的爆发。
相比于传统的视频推荐系统,爱奇艺的 UGC 推荐和小视频分发有四个极其困难的方面:
针对这些难题,爱奇艺的研究者提出了一种遵循多阶段流程的模型,其由三个模块构成,即用户画像(User Profile)、召回(Recall)和排序 Ranking)。为了提升小视频推荐系统的表现,每个模块中都使用了广泛的模型集成方法。下面简要介绍了其系统结构:
在任何推荐系统中,排序都被认为是最重要的模块,因为其直接决定了推荐的质量。目前大多数工业界推荐系统的排序模块都基于深度学习(DL)、梯度提升决策树(GBDT)+分解机(FM)、或混合方法。
为了确保准确性和泛化能力,爱奇艺的排序模块集成了多个模型。尽管上面提到的排序模型在行业和学术领域大都有效,但通常都非常复杂且难以解读。换句话说,它们无法说明推荐特定视频的原因或分析不同特征对推荐结果的贡献。
近期在推荐系统解读方面也有一些进展,它们主要集中于设计可解释模型、修改神经网络中的隐藏层以及将知识图谱和注意机制与深度学习组合起来。但是,这些方法往往有损推荐系统的准确度并会限制模型的结构,也由此无法应用于大多数工业界的推荐系统。
为了监控排序模型的工作方式是否有如预期以及是否能加速模型的迭代过程,爱奇艺提出了一种与模型无关的推荐系统局部可解释方法 Recommendation System Boosted Local Interpretable Model-Agnostic Explanations Method(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 的输出。下面将介绍每个模块的详情:
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 对齐的不同特征类型的比例。