kaiming在MS在《Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification》中提出了它的initialize方法。

摘要

修正激活单元(rectifiers)对于当前最先进的神经网络至关重要。在本研究中,我们从两个方面探讨了用于图像分类的修正神经网络(rectifier neural networks)。首先,我们提出了一种参数化修正线性单元(PReLU:Parametric Rectified Linear Unit),它是对传统修正单元的推广。PReLU在几乎不增加额外计算成本和极小过拟合风险的情况下,提升了模型的拟合能力。其次,我们推导出一种特别考虑修正非线性的鲁棒初始化方法。该方法使我们能够直接从零开始训练极深的修正模型,并探索更深或更宽的网络架构。基于我们的PReLU网络(PReLU-nets),我们在ImageNet 2012分类数据集上实现了4.94%的top-5测试错误率。这比ILSVRC 2014的冠军(GoogLeNet,6.66% [29])相对提高了26%。据我们所知,我们的成果是首次在这一视觉识别挑战中超越人类水平表现(5.1%,[22])。

1. 引言

卷积神经网络(CNNs)[17, 16] 在多个视觉识别任务中展示了优于或可与人类媲美的识别准确率,包括交通标志识别 [3]、人脸识别 [30, 28] 和手写数字识别 [3, 31]。在本研究中,我们提出了一项成果,在一个更通用且更具挑战性的识别任务——1000类ImageNet数据集 [22] 的分类任务中,超越了人类水平的表现。

在过去几年中,我们见证了识别性能的巨大提升,这主要归功于两个技术方向的进步:构建更强大的模型,以及设计有效的过拟合抑制策略。一方面,由于复杂度的增加(例如,增加深度 [25, 29]、扩大宽度 [33, 24] 和使用更小的步幅 [33, 24, 2, 25])、新的非线性激活函数 [21, 20, 34, 19, 27, 9] 以及复杂的层设计 [29, 11],神经网络能够更好地拟合训练数据。另一方面,通过有效的正则化技术[12, 26, 9, 31]、激进的数据增强 [16, 13, 25, 29] 和大规模数据 [4, 22],实现了更好的泛化能力。

在这些进展中,修正神经元(rectifier neuron)[21, 8, 20, 34],例如修正线性单元(ReLU),是近年来深度网络成功的关键之一 [16]。与传统类Sigmoid单元相比,它加速了训练过程的收敛 [16],并带来了更好的解决方案 [21, 8, 20, 34]。尽管修正网络广泛流行,但最近的模型改进 [33, 24, 11, 25, 29] 和训练它们的理论指导 [7, 23] 很少关注修正单元的特性。

在本文中,我们从两个特别受修正单元驱动的方面研究了神经网络。首先,我们提出了一种新的ReLU泛化形式,称为参数化修正线性单元(PReLU)。该激活函数自适应地学习修正单元的参数,并以几乎可以忽略的额外计算成本提高了准确性。其次,我们研究了训练非常深的修正模型的困难。通过显式建模修正单元(ReLU/PReLU)的非线性,我们推导出一种理论上有依据的初始化方法,这有助于直接从零开始训练非常深的模型(例如,具有30个权重层)的收敛性。这为我们探索更强大的网络架构提供了更大的灵活性。

在1000类ImageNet 2012数据集上,我们的PReLU网络(PReLU-net)实现了单模型5.71%的top-5错误率,超越了所有现有的多模型结果。此外,我们的多模型结果在测试集上达到了4.94%的top-5错误率,相对于ILSVRC 2014冠军(GoogLeNet,6.66% [29])相对提升了26%。据我们所知,我们的成果首次在这一视觉识别挑战中超越了人类水平表现(5.1%,[22])。

2. 方法

在本节中,我们首先介绍PReLU激活函数(第2.1节),然后推导出用于深度修正网络的初始化方法(第2.2节),最后讨论我们的架构设计(第2.3节)。

2.1 参数化修正单元

我们展示了通过将无参数的ReLU激活替换为可学习的参数化激活单元,可以提高分类准确性1。

定义

形式上,我们考虑一个激活函数,其定义如下:

\[f(y_i) = \begin{cases} y_i, & \text{if } y_i > 0 \\ a_i y_i, & \text{if } y_i \leq 0 \end{cases}\]

其中:

  • $ y_i $ 是第 $ i $ 个通道上非线性激活函数 $ f $ 的输入
  • $ a_i $ 是控制负半轴斜率的系数。
  • 下标 $ i $ 表示我们允许非线性激活在不同通道上变化。

当 $ a_i = 0 $ 时,该函数退化为ReLU;当 $ a_i $ 是一个可学习的参数时,我们将公式(1)称为参数化ReLU(PReLU)。图1展示了ReLU和PReLU的形状。公式(1)等价于 $ f(y_i) = \max(0, y_i) + a_i \min(0, y_i) $。

图片名称

图 1 ReLU vs. PReLU。对于PReLU,negative part的系数不是常数,是自适应学习的

如果 $ a_i $ 是一个较小的固定值,PReLU就变成了[20]中的Leaky ReLU(LReLU)($ a_i = 0.01 $)。LReLU的动机是避免零梯度。[20]中的实验表明,与ReLU相比,LReLU对准确性的影响可以忽略不计。相反,我们的方法自适应地学习PReLU参数,并与整个模型联合训练。我们希望端到端的训练能够产生更专门的激活函数。

PReLU引入了非常少量的额外参数。额外参数的数量等于通道总数,与总权重数相比可以忽略不计。因此,我们预计不会增加过拟合的风险。我们还考虑了一种通道共享的变体:$ f(y_i) = \max(0, y_i) + a \min(0, y_i) $,其中系数 $ a $ 在一层中的所有通道之间共享。这种变体每层仅引入一个额外参数。

优化

PReLU可以通过反向传播[17]进行训练,并与其他层同时优化。参数 $ {a_i} $ 的更新公式可以通过链式法则简单推导得出。对于某一层,$ a_i $ 的梯度为:

\[\frac{\partial E}{\partial a_i} = \sum_{y_i} \frac{\partial E}{\partial f(y_i)} \frac{\partial f(y_i)}{\partial a_i},\]

其中 $ E $ 表示目标函数。项 $ \frac{\partial E}{\partial f(y_i)} $ 是从更深层传播的梯度。激活函数的梯度为:

\[\frac{\partial f(y_i)}{\partial a_i} = \begin{cases} 0, & \text{if } y_i > 0 \\ y_i, & \text{if } y_i \leq 0 \end{cases}\]

求和 $ \sum_{y_i} $ 遍历特征图的所有位置。对于通道共享的变体,$ a $ 的梯度为 $ \frac{\partial E}{\partial a} = \sum_i \sum_{y_i} \frac{\partial E}{\partial f(y_i)} \frac{\partial f(y_i)}{\partial a} $,其中 $ \sum_i $ 对层中所有通道求和。由于PReLU引入的时间复杂度在前向和反向传播中都可以忽略不计。

在更新 $ a_i $ 时,我们采用动量方法:

\[\Delta a_i := \mu \Delta a_i + \epsilon \frac{\partial E}{\partial a_i},\]

其中 $ \mu $ 是动量,$ \epsilon $ 是学习率。值得注意的是,我们在更新 $ a_i $ 时不使用权重衰减(L2正则化)。权重衰减倾向于将 $ a_i $ 推向零,从而使PReLU偏向ReLU。即使没有正则化,在我们的实验中,学习到的系数很少会大于1。此外,我们没有限制 $ a_i $ 的范围,因此激活函数可能是非单调的。在本文中,我们使用 $ a_i = 0.25 $ 作为初始化值。

对比实验

我们在一个具有14个权重层的深度但高效的模型上进行了对比实验。该模型在[10]中进行了研究([10]中的模型E),其架构如表1所示。我们选择该模型是因为它足以代表一类非常深的模型,同时也使实验具有可行性。

图片名称

表1

作为基线,我们在卷积层(conv)和前两个全连接层(fc)中使用ReLU进行训练。训练实现遵循[10]。在ImageNet 2012数据集上,使用10-view测试得到的top-1和top-5错误率分别为33.82%和13.34%(表2)。

图片名称

表2

然后,我们从零开始训练相同的架构,但将所有ReLU替换为PReLU(表2)。top-1错误率降低至32.64%,相比ReLU基线提升了1.2%。表2还显示,通道独立和通道共享的PReLU表现相当。对于通道共享版本,PReLU仅比ReLU多引入了13个额外参数。然而,这些少量的额外参数发挥了关键作用,相比基线提升了1.1%。这表明自适应学习激活函数形状的重要性。

表1还展示了每层PReLU的学习系数。表1中有两个有趣的现象。首先,第一个卷积层(conv1)的系数(0.681和0.596)显著大于0。由于conv1的滤波器大多是类似Gabor滤波器的边缘或纹理检测器,学习结果表明滤波器的正负响应都被充分利用。我们认为,在滤波器数量有限(例如64个)的情况下,这是一种更经济地利用低层信息的方式。其次,对于通道独立版本,较深的卷积层通常具有较小的系数。这表明随着深度的增加,激活逐渐变得“更加非线性”。换句话说,学习到的模型倾向于在早期阶段保留更多信息,并在更深阶段变得更加具有判别性。

2.2 修正网络的滤波器权重初始化

与传统类Sigmoid激活网络相比,修正网络更容易训练[8, 16, 34]。但不良的初始化仍然会阻碍高度非线性系统的学习。在本小节中,我们提出了一种鲁棒的初始化方法,消除了训练极深修正网络的障碍。

最近的深度CNN大多通过从高斯分布中抽取的随机权重进行初始化[16]。在固定标准差(例如[16]中的0.01)的情况下,非常深的模型(例如>8个卷积层)难以收敛,正如VGG团队[25]所报告的那样,并且我们在实验中也观察到了这一点。为了解决这个问题,[25]中他们通过预训练一个具有8个卷积层的模型来初始化更深的模型。但这种策略需要更多的训练时间,并且可能导致较差的局部最优解。在[29, 18]中,通过在中间层添加辅助分类器来帮助收敛。

Glorot和Bengio[7]提出采用适当缩放的均匀分布进行初始化。这在[14]中被称为“Xavier”初始化。其推导基于激活是线性的假设。这一假设对于ReLU和PReLU是无效的。

接下来,我们通过考虑ReLU/PReLU推导出理论上更合理的初始化方法。在我们的实验中,我们的初始化方法使得极深的模型(例如30个卷积/全连接层)能够收敛,而“Xavier”方法[7]则无法做到。

前向传播情况

我们的推导主要遵循[7]。核心思想是研究每一层响应的方差。

对于卷积层,响应为:

\[y_l = W_l x_l + b_l\]

其中,$ x $ 是一个 $ k^2 c \times 1 $ 的向量,表示 $ c $ 个输入通道中 $ k \times k $ 像素的共位点。$ k $ 是该层的空间滤波器大小。用 $ n = k^2 c $ 表示一个响应的连接数,$ W $ 是一个 $ d \times n $ 的矩阵,其中 $ d $ 是滤波器的数量,$ W $ 的每一行表示一个滤波器的权重。$ b $ 是偏置向量,$ y $ 是输出图中某个像素的响应。我们用 $ l $ 来索引层。我们有 $ x_l = f(y_{l-1}) $,其中 $ f $ 是激活函数。我们还满足 $ c_l = d_{l-1} $。

3. 实现细节

训练

我们的训练算法主要遵循 [16, 13, 2, 11, 25]。从短边为 $ s $ 的调整大小图像中,随机裁剪一个 224×224 的区域,并减去每个像素的均值。缩放比例 $ s $ 在 [256, 512] 范围内随机抖动,遵循 [25]。一半的随机样本会水平翻转 [16]。还使用了随机颜色变换 [16]。

与 [25] 仅在微调期间应用尺度抖动不同,我们从训练一开始就应用它。此外,与 [25] 使用较浅模型初始化较深模型不同,我们直接使用第 2.2 节中描述的初始化方法训练极深模型(我们使用公式(14))。我们的端到端训练可能有助于提高准确性,因为它可能避免较差的局部最优解。

其他可能重要的超参数如下:权重衰减为 0.0005,动量为 0.9。在前两个全连接层中使用 Dropout(50%)。mini-batch 大小固定为 128。学习率为 1e-2、1e-3 和 1e-4,当误差趋于平稳时切换。每个模型的总 epoch 数约为 80。

测试

我们采用了 SPP-net 论文 [11] 中使用的“特征图上的多视图测试”策略。我们进一步使用 [24, 25] 中的密集滑动窗口方法改进了这一策略。

我们首先在调整大小的完整图像上应用卷积层,并获取最后一个卷积特征图。在特征图中,每个 14×14 的窗口使用 SPP 层 [11] 进行池化。然后,全连接层应用于池化后的特征以计算分数。同样在水平翻转的图像上进行此操作。所有密集滑动窗口的分数取平均值 [24, 25]。我们进一步结合了多尺度的结果,如 [11] 中所述。

多 GPU 实现

我们采用了一种简单的 Krizhevsky 方法 [15] 变体,用于在多个 GPU 上进行并行训练。我们在卷积层上采用“数据并行” [15]。在第一个全连接层之前同步 GPU。然后,全连接层的前向/反向传播在单个 GPU 上执行——这意味着我们没有并行化全连接层的计算。全连接层的时间成本较低,因此没有必要并行化它们。这比 [15] 中的“模型并行”实现更简单。此外,模型并行由于滤波器响应的通信引入了一些开销,并且并不比在单个 GPU 上计算全连接层更快。

我们在修改后的 Caffe 库 [14] 上实现了上述算法。我们没有增加 mini-batch 大小(128),因为准确性可能会下降 [15]。对于本文中的大型模型,我们观察到使用 4 个 GPU 时加速比为 3.8 倍,使用 8 个 GPU 时加速比为 6.0 倍。

ReLU 与 PReLU 的比较

在表 4 中,我们在大型模型 A 上比较了 ReLU 和 PReLU。我们使用了通道独立的 PReLU 版本。为了公平比较,ReLU 和 PReLU 模型都使用相同的总 epoch 数进行训练,并且在运行相同数量的 epoch 后切换学习率。表 4 显示了三个尺度和多尺度组合的结果。最佳单尺度为 384,可能是因为它处于抖动范围 [256, 512] 的中间。在多尺度组合中,与 ReLU 相比,PReLU 将 top-1 错误率降低了 1.05%,top-5 错误率降低了 0.23%。表 2 和表 4 的结果一致表明,PReLU 在小模型和大模型上都能带来改进,且几乎没有增加计算成本。


单模型结果的比较

接下来我们比较单模型的结果。我们首先在表 5 中展示了 10-view 测试结果 [16]。这里,每个视图是一个 224 裁剪。VGG-16 的 10-view 结果基于我们使用公开模型 [25] 的测试,因为 [25] 中未报告此结果。我们最佳的 10-view 结果为 7.38%(表 5)。我们的其他模型也优于现有结果。

表 6 展示了单模型结果的比较,这些结果均通过多尺度和多视图(或密集)测试获得。我们的结果标记为 MSRA。我们的基线模型(A+ReLU,6.51%)已经显著优于 [25] 最新更新(arXiv v5)中报告的 VGG-19 最佳单模型结果 7.1%。我们认为这一提升主要归功于我们的端到端训练,无需预训练浅层模型。

此外,我们最佳的单模型(C,PReLU)的 top-5 错误率为 5.71%。这一结果甚至优于之前的所有多模型结果(表 7)。通过比较 A+PReLU 和 B+PReLU,我们发现 19 层模型和 22 层模型表现相当。另一方面,增加宽度(C 对比 B,表 6)仍然可以提高准确性。这表明当模型足够深时,宽度成为影响准确性的关键因素。


多模型结果的比较

我们结合了表 6 中的六个模型。目前我们只训练了一个架构为 C 的模型。其他模型的准确性明显低于 C。我们推测通过使用更少但更强的模型可以获得更好的结果。

多模型结果如表 7 所示。我们的测试集 top-5 错误率为 4.94%。这一数字由 ILSVRC 服务器评估,因为测试集的标签未公开。我们的结果比 ILSVRC 2014 冠军(GoogLeNet,6.66% [29])高出 1.7%,相对提升了约 26%。这也比最新结果(百度,5.98% [32])相对提升了约 17%。


结果分析

图 4 展示了一些通过我们的方法成功分类的验证集图像示例。除了正确预测的标签外,我们还关注 top-5 结果中的其他四个预测。其中一些标签是多对象图像中的其他对象,例如“马车”图像(图 4,第 1 行,第 1 列)包含“小巴”,算法也识别出了它。另一些标签是由于相似类别之间的不确定性,例如“鸦鹃”图像(图 4,第 2 行,第 1 列)预测了其他鸟类的标签。

图 6 展示了我们的结果(平均 4.94%)在测试集上每个类别的 top-5 错误率,按升序排列。我们的结果在 113 个类别中 top-5 错误率为零——这些类别中的图像全部被正确分类。top-5 错误率最高的三个类别是“开信刀”(49%)、“聚光灯”(38%)和“餐厅”(36%)。错误的原因是多对象的存在、小对象或类内差异较大。图 5 展示了我们的方法在这三个类别中错误分类的一些示例图像。其中一些预测标签仍然有一定的意义。

在图 7 中,我们展示了我们的结果(平均 4.94%)与我们在 ILSVRC 2014 竞赛中的结果(平均 8.06%)之间每个类别的 top-5 错误率差异。错误率在 824 个类别中降低,在 127 个类别中保持不变,在 49 个类别中增加。

#

https://arxiv.org/pdf/1502.01852

meta在《Understanding Scaling Laws for Recommendation Models》讨论了推荐系统中的scaling law问题。

摘要

规模(scale)一直是提高机器学习性能的主要驱动力,理解规模法则(scaling laws)对于可持续的模型质量性能增长的战略规划、长期资源规划以及开发支持大规模模型的高效系统基础设施至关重要。在本文中,我们研究了DLRM风格的推荐模型的经验规模法则,特别是点击率(CTR)。我们观察到模型质量与模型大小、数据大小和训练所用计算量呈幂律加常数的规模。我们通过比较这些轴上的不同规模方案,对数据、参数和计算三个不同的资源维度的规模效率进行了表征。我们展示了参数规模对于所研究的模型架构已经力不从心,而在出现更高性能的模型架构之前,数据规模是前进的道路。本研究解决的关键研究问题包括:

  • 推荐模型是否如规模法则预测的那样可持续地规模?
  • 我们是否远离规模法则的预测?
  • 规模的极限是什么?
  • 规模法则对长期硬件/系统开发有何影响?

1. 引言

在过去十年中,深度学习总体上,特别是基于深度学习的推荐模型(DLRM),在数据集规模、模型规模和系统资源方面经历了指数级的增长(Elkahky等人,2015年;Covington等人,2016年;Sullivan,2016年;Liu等人,2017年;Yi等人,2018年;Zhou等人,2019年;Zhao等人,2019年;Naumov等人,2020年;Zhao等人,2020年;Lui等人,2021年;Acun等人,2021年;Steck等人,2021年;Lian等人,2021年),将人工智能行业推向了万亿参数时代。实现万亿参数模型需要在人工智能系统基础设施上进行大量投资(Mudigere等人,2022年)。从系统设计的角度来看,主要问题/关注点是:

  • 如何扩展?
  • 哪种扩展方案提供更好的投资回报率(ROI)?
  • 如何战略性地结合不同的扩展方案以提供更好的ROI?

图1显示了在5年时间(2016-2021)内,语言建模任务和DLRMs的模型规模增长了10000倍。这些结果只反映了已发布模型的增长。我们预计DLRMs的增长速度甚至更快。推荐系统是许多互联网公司的主要收入来源。因此,这些模型的细节通常是保密的。最近的研究表明,在仅仅2年多的时间里(2019-2021),Facebook的推荐模型在参数数量上增长了20倍,在训练集大小上增长了2.4倍,系统基础设施增长了2.5-2.9倍(Wu等人,2021年;Mudigere等人,2022年),并且超过50%的数据中心AI训练周期都致力于推荐模型(Acun等人,2021年)。尽管它们很重要,但对于DLRM模型如何扩展,人们的认识有限。识别和理解模型的扩展属性对于设计服务于这些模型的人工智能系统和基础设施至关重要。我们的论文是首次尝试解决这一差距。

图片名称

图1 深度学习总体上,特别是基于深度学习的推荐模型近年来在参数规模上经历了指数级的增长(Sevilla等人,2021年;Mudigere等人,2022年;Lian等人,2021年)。请注意不同领域增长趋势的差异。

最近的工作(Hestness等人,2017年;Kaplan等人,2020年;Hernandez等人,2021年;Henighan等人,2020年;Gordon等人,2021年;Zhai等人,2021年;Brown等人,2020年;Hestness等人,2019年;Prato等人,2021年;Bahri等人,2021年)显示,在包括语言建模、机器翻译、视觉变换器、迁移学习和其他自回归模型在内的广泛领域中,高度可预测的扩展趋势。然而,推荐系统如何扩展尚不清楚

此外,先前的研究在他们的扩展分析中没有包括embedding参数。embedding参数占推荐模型容量的大部分(>90%),因此,研究它们对模型质量性能扩展的影响至关重要。

我们在这项工作中的目标是表征深度学习推荐模型的扩展规律,特别是点击率(CTR)预测模型。CTR模型是推荐系统中最重要的机器学习任务之一,为数十亿用户提供个性化体验。通过研究许多不同模型规模N(跨越三个数量级)、计算预算C(跨越五个数量级)和数据集规模D(跨越三个数量级),我们展示了一个简单的幂律加常数可以解释CTR模型在一个周期内的性能与N、D和C之间的关系。

图11概述了一个典型的DLRM架构。在高层次上,有两个主要组件可以扩展:嵌入表和多层感知器(MLP)。

图片名称

图11 深度学习模型架构的示意图。

  • 嵌入表(embedding table)可以通过垂直扩展(增加每个表的嵌入行数)或水平扩展(扩展嵌入的维度)来扩展。
  • MLP层可以通过加宽或加深层来扩展。

我们研究了在四种扩展方法上的推荐系统的经验扩展规律:扩展嵌入表(垂直和水平)、扩展顶层MLP层(我们称之为总架构层)以及扩展所有MLP层(包括通过增加宽度来扩展密集层、总架构层和密集-稀疏交互层)。

1.1 摘要

我们对CTR预测模型的关键发现如下:

幂律加常数:我们观察到,在训练一个周期后,推荐模型的性能(测试损失)与资源投入遵循幂律加常数关系(αx−β + γ)(见图2)。资源包括数据集大小、模型大小和计算浮点运算量。幂律加常数函数中的常数γ标识了扩展的极限:即我们假设可以无限扩展资源时能达到的最佳水平。表1显示了不同扩展方案和不同资源投入情景下经验收集的α、β和γ值。

图片名称

图2 推荐系统的性能随着数据规模、模型规模以及训练计算量(FLOPs)的增加而呈现出幂律增长加上一个常数的特性:

  • (a) 通过增加多层感知机(MLP)层的宽度来扩展模型规模。
  • (b) 通过增加顶层网络层的宽度来扩展模型规模。
  • (c) 通过增加嵌入表的维度来扩展模型规模。
  • (d) 通过增加嵌入表中的行数来扩展模型规模。

幂律函数的两个阶段:如图3所示,幂律函数可以被一个高回报阶段和随后的低回报/饱和阶段所特征化。收益递减点是过渡发生的地方。如果使用幂律函数来比较两种扩展方案的效率,需要关注幂律函数的指数(β)以及操作阶段。指数较大且衰减更快的幂律函数更适合扩展。然而,处于饱和阶段的操作方案无论其指数如何,都不如非饱和方法。

图片名称

图3 幂律函数特征曲线

性能强烈依赖于数据集大小和计算能力,而与模型参数大小关系较弱:模型性能强烈依赖于训练集中的样本数量(D)和计算浮点运算量(C),而与参数数量(P)关系较弱。

扩展的极限:幂律趋势中的常数(γ)捕获了不可减少的错误。这意味着通过扩展资源(模型参数、数据大小和/或计算浮点运算)到无限大所能达到的最佳归一化测试损失将饱和在0.98。

数据扩展效率:所有扩展方案的数据扩展效率相似(β在[0.09, 0.12]范围内),并且对模型大小不敏感。所有扩展方案都处于高回报阶段。根据图4中显示的幂律指数,可以看出垂直扩展嵌入表(V)比水平扩展嵌入表(H)更好,而水平扩展嵌入表又比顶层MLP层扩展(O)更好,后者又比MLP层扩展(M)在数据扩展效率方面更好。这意味着在固定参数预算下,通过同时扩展数据集大小和模型大小来扩展模型性能,对参数扩展方法有些敏感。

图片名称

图4 不同模型扩展方案中的数据扩展效率。尽管每条线显示了在固定模型规模下的数据扩展趋势,每个图表中的虚线及其对应的方程捕捉了帕累托最优曲线。如图所示,不论扩展方案如何,当模型和数据一起扩展时,所有模型或多或少具有相同的幂律扩展特性(幂指数为-0.1),这意味着所有模型扩展方案中的数据扩展效率是相同的。

计算扩展效率:所有扩展方案的计算扩展效率相似(β在[0.12, 0.15]范围内)。所有扩展方案都处于高回报阶段。根据图5中显示的幂律指数,可以看出MLP扩展比顶层扩展更计算效率高,顶层扩展又略比嵌入维度扩展更计算效率高。

图片名称

图5 计算扩展效率 - 两种视角:(a) 同时扩展计算量(FLOPs)和数据集规模 (b) 同时扩展计算量(FLOPs)和模型规模。

参数扩展效率:不同扩展方案的参数扩展效率不同(α在[0.4, 7.6]范围内)。然而,所有扩展方案都处于饱和阶段(见图6)。对于一个工业级模型,所有参数扩展技术在参数扩展效率方面相似。这意味着在固定数据预算下,通过增加模型中的参数数量来扩展模型性能,对参数扩展方法不敏感。

图片名称

图6 不同参数扩展方案中的参数扩展效率。在所有扩展方案中可见的模式是,准确性与参数规模之间的弱依赖性。

2. 扩展效率

在给定固定预算/资源的情况下,主要问题是哪种扩展方案可以提供更好的投资回报率(ROI)。我们针对三种不同的资源,即数据、参数和计算浮点运算量,对扩展效率进行了表征。我们展示了所有扩展方案在数据扩展和计算扩展效率上都相似,并且仍有改进空间。另一方面,参数扩展效率非常低,因为它已经超出了收益递减点。

2.1 数据扩展效率

为了研究数据扩展效率,我们在广泛范围内(三个数量级)扩展数据集大小,同时保持模型大小不变。从概念上讲,线的斜率捕捉了模型在面对问题时吸收新信息的有效性。结果如图4所示。每个图表捕捉了不同的模型扩展方案(垂直嵌入、水平嵌入、顶层和MLP扩展)。

正如所有扩展策略所示,推荐系统的性能强烈依赖于数据集大小,而与参数/模型大小关系较弱。这是违反直觉且非常有趣的。我们继续看到在过去5年中嵌入表的大小和嵌入表的数量不断增长。这些结果意味着工业级模型在过拟合范围内运行。

虽然图4中的每条线显示了固定模型大小的数据扩展趋势,但每个图表中的虚线捕捉了帕累托前沿线。如图所示,无论扩展方案如何,所有模型都有类似的幂律趋势。这意味着所有模型扩展方案的数据扩展效率相似。

摘要 推荐系统的性能强烈依赖于数据大小,而与参数/模型大小关系较弱。与大规模语言模型(Hestness等人,2017年;Kaplan等人,2020年)相比,其中性能与模型大小强烈相关,推荐系统对模型大小的敏感性较弱,这在设计下一代推荐系统时需要考虑。所有扩展方案的数据扩展效率相似。这意味着所研究的模型以相同的速率从新数据中吸收信息,无论其背后的扩展方案如何。输入粒度/词汇量大小对扩展趋势没有显著影响。

2.2 计算扩展效率

我们的目标是表征捕捉模型质量性能与计算浮点运算量之间关系的线的斜率。从概念上讲,线的斜率捕捉了模型在面对问题时对新计算浮点运算量吸收新信息的速度。在计算效率分析中,我们保持数据(或模型大小)不变,同时扩展模型大小(或数据大小)。当我们扩展模型大小或数据大小时,我们间接地增加了计算浮点运算量。还有另一种方法可以在不改变数据大小或模型大小的情况下扩展计算浮点运算量,那就是训练更长时间的模型。我们留待未来的工作。

图5显示了这种扩展的结果。每个图表捕捉了不同的模型扩展方案(水平嵌入、顶层和MLP扩展。注意我们没有显示垂直扩展的计算扩展,因为增加行数对计算浮点运算量没有任何影响。)如图所示,所有扩展策略中,推荐系统的性能强烈依赖于计算浮点运算量的数量。我们以两种不同的方式呈现相同的结果:(1)通过模型扩展增加计算浮点运算量,同时保持数据大小不变(图5,顶行)。(2)或者,我们通过数据扩展增加计算浮点运算量,同时保持模型大小不变(图5,底行)。

图片名称

图7 何时选择垂直扩展(Vertical Scaling)与水平扩展(Horizontal Scaling)?

图片名称

图8 何时选择顶层网络扩展(Over-arch Scaling)与多层感知机扩展(MLP Scaling)?

图片名称

图9 嵌入维度对表大小的敏感性:每条线展示了不同的垂直扩展因子(VSF)。大的蓝色圆圈显示了每条线的最小损失。然而,曲线的拐点在64处始终如一地出现。

同时扩展计算和数据 图5顶行显示了通过扩展模型大小对性能的计算浮点运算量扩展影响。在每条线内,我们保持数据大小不变,同时通过模型大小扩展增加计算浮点运算量。注意不同扩展方案的幂律方程的幂之间的轻微差异。看来,MLP扩展略优于顶层扩展,顶层扩展又略优于嵌入维度扩展,在相同增加的计算预算下提高模型准确性(0.15对-0.14对-0.12)。此外,如图所示,在固定的计算预算下,更大的数据集大小会带来更好的性能。同时,在固定的准确性目标下,更小的数据集大小更具计算效率。

同时扩展计算和模型大小 图5底行显示了通过扩展数据大小对性能的计算浮点运算量扩展影响。在每条线内,我们保持模型大小不变,同时通过扩展数据集大小增加计算浮点运算量。如图所示,在固定的计算预算下,更大的模型获得更低的性能。同时,在固定的准确性目标下,更小的模型大小更具计算效率。虚线捕捉了在每个计算预算下获得最佳性能的最佳模型大小。图5(a)和(b)基本上是同一组点,从两个不同的视角呈现(一次基于数据集大小对点进行分组,一次基于模型大小进行分组),因此,帕累托最优线(虚线)将是相同的。

摘要 在固定的计算预算下,需要在在更大的数据集大小上训练模型或训练具有更多参数的模型之间做出权衡。我们观察到,在固定的计算预算下,具有更多参数的模型显示出更低/更差的性能,而用更大的数据集大小训练的模型显示出更好的性能。从计算效率的角度来看,我们观察到,在第一个周期,MLP扩展优于顶层扩展,顶层扩展优于水平扩展嵌入表。注意,垂直扩展嵌入表对计算浮点运算量没有任何影响。

3. 敏感性分析

3.1 如何有效地按行数扩展嵌入维度?

图9展示了随着我们在表中增加行数(增加垂直扩展因子)时最佳嵌入维度的变化情况。如图所示,随着垂直扩展因子的增大,最佳嵌入维度趋于变小(对于0.125×和0.25×的垂直扩展因子,256是最佳嵌入维度,而对于0.5×、1×和2×的垂直扩展因子则是128)。然而,最佳性能和最具资源效率的嵌入维度并不一定是相同的。如图所示,曲线的拐点(收益递减点)对于所有表大小在嵌入维度=64左右开始出现。这意味着从资源效率的角度来看,嵌入维度的资源高效设计点对垂直扩展因子的依赖性较弱。这一结果暗示,从资源效率的角度来看,超过64将不会提供高投资回报率。

3.2 训练与测试

如图10所示,训练数据的学习曲线比测试数据的学习曲线更陡峭(-0.20对比-0.12)。两条曲线都捕捉了在相同数据上训练的相同模型的扩展,但在两个不同的数据集上进行了评估。左侧的曲线在训练集的数据点上进行了评估,右侧的模型在测试集上进行了评估。这种差距意味着模型从额外的训练点吸收的信息在预测来自相同分布(训练分布而非测试分布)的数据时更有效,这是意料之中的。

图片名称

图10 training loss与testing loss上的数据扩展效率。请注意训练曲线和测试曲线之间幂律指数的差异。

4. 讨论

特征化不同扩展方案的幂律曲线提供了每种扩展技术的数据效率、参数效率和计算效率的见解。人们可以通过比较它们在三个不同轴(数据、计算、参数)上的幂律曲线,潜在地比较任何成对扩展技术的效率。表2显示了这种比较的结果。如图所示,没有单一的扩展技术在所有扩展效率维度上都脱颖而出。例如,水平嵌入扩展(H)在数据效率方面优于MLP扩展(M),但在计算效率方面则较差。

最近的分析显示,在短短5年多的时间里,工业级推荐模型增长了四个数量级(Mudigere等人,2022年;Lian等人,2021年)。幂律分析支持了过去的趋势。当按幂律趋势近似时,参数扩展的指数幅度最大。然而,工业级推荐模型已经过于庞大且饱和,因此进一步的参数增长不会从资源效率的角度提供高投资回报率。

与此同时,数据扩展和计算扩展仍然处于高收益递减的范围内。这意味着在更好的模型架构出现之前,应该将数据扩展视为一流的扩展方法。话虽如此,我们应该意识到,由于数据保留的限制,数据扩展从长远来看(以原始形式)并不是一种可持续的方法。

为了克服这一点,我们需要考虑替代方案。以下是一些建议,其中一些我们将作为下一步探索:(1) 记录更多数据,特别是通过记录更多负样本和减少正样本下采样;(2) 探索使用历史数据作为教师模型来训练模型,以合成从历史数据中学习到的有价值信息,供更近期的模型使用;(3) 水平扩展数据量而不是垂直扩展,即增加更多特征而不是增加更多行。

扩展法则也可以用来指导长期硬件开发。硬件设计通常提前3-5年开始,依靠对未来3-5年模型增长的准确预测。我们的分析表明,展望未来,硬件不需要增长来支持更大的模型。相反,我们需要设计硬件/系统来支持使用更大的数据集进行训练。

另一个关键的收获是,幂律加常数方程中的常数在0.98(以归一化熵度量的损失)处有界。这个常数捕获了在无限扩展极限下模型的准确性,可以用作衡量工业级模型与无限极限的距离的指南。在NLP领域的先前分析表明,模型架构的创新(例如,从LSTM过渡到Transformer)可以改善幂律的系数(即α.x−β + γ中的α),并向下移动曲线,但它们对幂律的指数(β)几乎没有影响(Hestness等人,2017年;Brown等人,2020年)。这表明模型架构探索是性能增长的短期解决方案。长期解决方案将需要改善幂律趋势的指数。至今,是什么控制了幂律的斜率仍然是一个开放的研究问题。幂律曲线的斜率似乎对每个领域都是独特的,与模型架构无关(Hestness等人,2017年;2019年)。先前的分析表明,改善数据分布可以改善幂律的指数(Bahri等人,2021年)。最近的工作表明,通过有效的数据修剪,我们可以打败幂律并实现指数级扩展(Sorscher等人,2022年)。

https://arxiv.org/pdf/2208.08489

kuaishou在《Conditional Quantile Estimation for Uncertain Watch Time in Short-Video Recommendation》提出了CQE预估模型。

摘要

准确预测观看时间(watch time)对于优化短视频平台的推荐和用户体验至关重要。然而,现有方法通常估计单一的平均观看时间(average watch time),往往无法捕捉用户参与模式固有的不确定性和多样性。在本文中,我们提出了条件分位数估计(Conditional Quantile Estimation, CQE)框架来模拟观看时间的全部条件分布。利用分位数回归,CQE为每对用户-视频对表征复杂的观看时间分布,提供了一种灵活全面的了解用户行为的方法。我们进一步设计了多种策略来结合分位数估计,以适应不同的推荐场景和用户偏好。大量的离线实验和在线A/B测试证明了CQE在观看时间预测和用户参与建模方面的优越性。特别是,CQE在一个服务数亿日活跃用户的短视频平台上的在线部署,已经产生了关键评估指标的显著改进,包括活跃天数、活跃用户数、参与持续时间和视频观看次数。这些结果突出了我们提出的方法在增强用户体验和短视频推荐系统整体性能方面的实际影响。代码将在发表后发布。

1 引言

在线视频平台的快速增长彻底改变了用户消费数字内容的方式,短视频已成为最受欢迎的格式之一[3, 9, 10, 23]。推荐系统在这些平台中扮演着至关重要的角色,通过提供个性化的内容推荐来增强用户参与度和满意度。与传统的推荐问题(例如,电子商务和新闻推荐)不同,在短视频推荐中,衡量用户兴趣和参与度的关键指标是观看时间,它全面反映了用户的偏好和参与度。因此,准确预测观看时间对于优化推荐策略和改善用户体验至关重要。

然而,由于用户行为固有的不确定性和异质性,预测观看时间仍然是一个具有挑战性的任务。在现实世界场景中,通常不可能在相同条件下获得同一用户-视频对的多次观看时间观察,因为用户很少在完全相同的情境下多次观看同一视频。这一限制使我们无法直接从数据中估计真实的条件观看时间分布。

现有方法[16, 20–22]通常专注于预测观看时间的单点估计(例如,均值或中位数),忽视了观看时间分布的复杂性和多样性。这些方法未能充分捕捉不同用户-视频对之间的行为差异,导致推荐性能受限。使用单一平均值来表征这些复杂分布模式的不足,突出了对观看时间的全部条件分布进行建模的必要性。

图片名称

图1 条件观看时间分布和一些个性化推荐策略的示意图。

  • 图(a) CQE模型为不同的用户-视频对预测的条件观看时间分布,展示了用户参与模式的异质性和复杂性。
  • 图(b) 保守估计策略在预期观看时间相似时优先选择具有较高下分位数的视频,以提高用户满意度。
  • 图(c) 动态分位数组合策略适应用户流失风险和视频新颖性,对高流失风险用户或不熟悉的视频使用较低分位数,对低流失风险用户或熟悉的视频使用较高分位数。
  • 图(d) 期望估计策略通过考虑整个观看时间分布,提供全局优化视角。

为了应对这些挑战,我们提出了条件分位数估计(Conditional Quantile Estimation, CQE)框架,该框架学习预测给定用户-视频对及其相关上下文,观看时间的条件分布。如图2所示,CQE利用分位数回归技术估计观看时间分布的多个分位数,提供了一个全面了解潜在用户参与模式的视角。如图1(a)所示,我们的CQE模型预测的不同用户-视频对的条件观看时间分布,在形状、峰值位置和离散水平上表现出显著的多样性。这种异质性反映了用户偏好和参与在不同情境下固有的不确定性和可变性。

图片名称

图2 提出的条件分位数估计(CQE)模型及其训练损失的示意图。

  • 图2左侧:CQE模型架构,它以用户、视频和上下文特征为输入,并输出观看时间的多个分位数估计。
  • 图2右侧:用于模型训练的PinBall loss函数,展示了其对于不同分位数水平($\tau$)的不对称性质,允许模型在整个分布中学习到稳健的分位数估计。

建模观看时间的条件分布对于理解用户参与模式、以及设计有效的推荐策略至关重要。通过考虑观看时间分布的详细特征,我们可以深入了解不同用户群体的多样化观看行为。这种细粒度的理解使我们能够为不同情境和用户偏好量身定制推荐策略。

基于CQE模型,我们设计了三种主要的推荐策略。

  • 保守估计策略(图1(b)):通过在预期观看时间(expected watch times)相似时选择具有较高下分位数(lower quantiles)的视频,优先考虑用户满意度,减少用户参与度下降的风险。
  • 动态分位数组合策略(图1(c)):根据用户流失风险和视频新颖性等因素调整分位数的选择。
    • 对于高流失风险用户或新颖视频,它更多地赋予低分位数权重,确保令人满意的体验,
    • 对于低流失风险用户或熟悉视频,则更多地赋予高分位数权重,可能提供更具吸引力的推荐。
  • 期望估计策略(图1(d)):提供了一个全局优化视角,旨在考虑整个观看时间分布,最大化整体用户参与度。这些策略的多样性使我们的推荐系统能够适应不同的场景和用户需求,提高个性化推荐和用户体验的质量。

本文的主要贡献如下:

  • 我们提出了CQE框架,采用分位数回归技术模拟短视频推荐中观看时间的条件分布,为捕捉用户行为的不确定性提供了一种有原则的方法。
  • 我们设计了多种策略来结合CQE的分位数估计,适应不同的推荐场景和用户偏好,增强了推荐系统的个性化和多样性。
  • 我们进行了广泛的离线实验和在线A/B测试,证明了CQE在观看时间预测和用户参与建模方面的优越性,显著提升了关键评估指标,包括活跃天数、活跃用户数、参与持续时间和视频观看次数。

2 相关工作

2.1 视频推荐和观看时间预测

视频推荐系统已经发展到满足个性化内容传递的日益增长的需求。随着YouTube和TikTok等在线视频平台的出现,准确推荐视频非常重要,因为它对用户留存和满意度有着重大影响[3, 9, 10, 16, 23]。 在视频推荐系统的领域中,准确预估在观看时间上的用户参与度是一个关键挑战。观看时间作为衡量用户对推荐视频兴趣和参与度的关键指标。

  • 最初的研究[2]集中在增强YouTube平台的视频推荐,引入了加权逻辑回归(WLR)技术来预测观看时间。这种方法自此被认为是该领域的先进方法。然而,WLR的适用性并不直接适用于全屏视频推荐系统,并且可能会遇到由于其加权计算系统而产生的显著偏差问题。
  • D2Q[20]通过实施后门调整和在不同持续时间组下建模观看时间分位数来减轻持续时间偏差。
  • $D^2Co$[21]通过使用纠正持续时间偏差和嘈杂观看的模型来解决视频推荐观看时间的偏差问题,提供更准确的用户兴趣度量。
  • DVR[22]引入了一种称为WTG(观看时间增益)的新指标,并使用对抗学习来学习无偏的用户偏好。我们的方法可以无缝集成到各种持续时间去偏差方法中,从而显著提高它们的预测准确性。
  • TPM[8]将任务分解成一系列以树状结构排列的相互连接的分类问题。尽管TPM考虑了观看时间的变异性,但它没有像我们的方法那样捕捉到观看时间分布的全部范围。

观看时间预测任务还面临物理时长偏差(duration bias)的关键问题[8, 20–22]。这种偏差表明,用户更愿意花更多时间观看更长物理时间的视频(longer-duration videos),这使得平均观看时间偏向更长的内容。这种偏好使得在预测用户参与度时,比起更短的替代品,更复杂的任务变得更加复杂。我们的方法可以无缝集成到大多数持续时间去偏差方法中,显著提高它们的预测能力,如表3所示。

表3

2.2 分位数回归(Quantile Regression)

分位数回归是一种在统计学、计量经济学和生态学中广泛使用的回归分析类型[7]。与传统的均值/线性回归(专注于估计平均结果)不同,分位数回归(Quantile Regression)旨在估计随机变量的条件中位数和其他分位数。这一灵活的特性提供了对变量分布效应的更全面理解,这些效应可能是均值回归可能忽视的[1, 18, 19]。在机器学习的背景下,分位数回归已经超越了线性模型。

  • 代表性方法[13, 14, 17]将分位数回归整合到神经网络中,提供了在非线性和高维环境中预测条件分位数的手段。
  • QRF[11]进一步在随机森林中部署分位数回归,进一步展示了其适应性和在不同模型中增强预测能力。

本文提出的解决方案旨在将分位数回归的原则整合到视频推荐系统的领域。通过使这种统计方法适应观看时间的不确定性和可变性,我们提出了一种新颖的应用,增强了推荐系统的预测性能。这一进步促进了对用户参与度的更细致的理解,朝着更个性化和令人满意的用户体验发展。

3 方法

3.1 问题阐述

在视频推荐系统中,我们的主要目标是预测用户参与度,通常以观看时间来衡量。设:

  • $(u, v)$ 表示在上下文c下的一对用户-视频。
  • $ \phi(u, v, c) $,定义一个特征映射函数,它提取一个 $ n $ 维特征向量 $ x \in \mathbb{R}^n $。这个向量包含了用户特征、视频属性、上下文信息和历史交互数据。
  • $ W $ 为表示观看时间的随机变量

我们的目标是:估计给定输入特征下,$W$的概率分布:

\[P(W | x) = P(W | \phi(u, v, c))\]

…(1)

与传统方法[2, 16, 20–22]不同,这些方法专注于估计单一的点(例如,期望观看时间 $ E[W \mid x] $),我们的目标是表征整个条件分布。这使我们能够捕捉用户参与模式固有的不确定性和可变性,提供对潜在用户行为更全面的理解。

3.2 条件分位数估计模型

为了捕捉观看时间的全部分布,我们提出了条件分位数估计(Conditional Quantile Estimation, CQE)模型。如图2的左半部分所示,这种方法允许我们同时估计观看时间分布的多个分位数,提供对潜在用户参与的更全面视图。

设:

  • $ {\tau_1, \tau_2, …, \tau_N} $ 是一组预先定义的 $ N $ 个分位数水平,其中 $ \tau_i = \frac{i}{N+1} $。

我们的CQE模型旨在估计给定输入特征 $ x $ 的每个分位数水平对应的观看时间值 $ {t_{\tau_1}, t_{\tau_2}, …, t_{\tau_N}} $:

\[\{t_{\tau_1}, t_{\tau_2}, ..., t_{\tau_N}\} = \psi(x; \theta)\]

…(2)

其中:

  • $ \psi(\cdot) $ 是一个由 $ \theta $ 参数化的神经网络。

为确保分位数估计的单调性,我们实现了以下架构:

\[h = f(x; \theta_f) \\ d = \text{ReLU}(g(h; \theta_g)) \\ t_{\tau_i} = \sum_{j=1}^{i} d_j, \quad \text{对于} \ i = 1, ..., N\]

…(3)

这里:

  • $ f(\cdot) $ 和 $ g(\cdot) $ 是神经网络组件,
  • $ h $ 是中间隐藏表示,
  • $ d $ 是一个非负元素向量。

最终的分位数估计 $ t_{\tau_i} $ 通过累积求和获得,自然地强制执行排序约束:

\[t_{\tau_1} \leq t_{\tau_2} \leq ... \leq t_{\tau_N}\]

这种公式允许我们的模型捕捉输入特征和观看时间分位数之间的复杂非线性关系,同时保持分位数函数的单调性属性。

为了清晰概述我们的CQE方法,我们在算法1中展示了算法伪代码。

图片名称

算法1

CQE模型的计算复杂度与传统的点估计方法相当,仅因估计多个分位数而略有增加。在大规模推荐系统中,去重用户(unique user)和item的数量经常达到数亿甚至数十亿。这些用户和item通常由高维嵌入表示,这些嵌入使用它们各自的ID检索。相比之下,有效估计所需的分位数数量通常在100左右。因此,CQE的额外计算成本与处理大量特征所需的大量计算相比可以忽略不计。

3.3 训练目标

为了有效地训练我们的CQE模型,我们采用了适合分位数回归任务的PinPall loss函数。对于单一分位数水平 $ \tau $,PinPall loss定义为:

\[L_\tau(y, t_\tau) = \begin{cases} \tau (y - t_\tau) & \text{if } y \geq t_\tau \\ (1 - \tau) (t_\tau - y) & \text{otherwise} \end{cases}\]

…(4)

其中:

  • $ y $ 是实际观看时间
  • $ t_\tau $ 是预测的第 $ \tau $ 个分位数。

正如图2的右半部分所示,PinBall loss函数具有几个关键属性:

  • 不对称性:loss围绕真实值$y$是不对称的,不对称的程度由 $ \tau $ 决定。
  • 线性:loss随着预测值和实际值之间的距离线性增加,但在 $ y $ 的两侧斜率不同。
  • 分位数特定的惩罚:对于 $ \tau > 0.5 $,过高估计比过低估计受到更重的惩罚,反之亦然 $ \tau < 0.5 $。

这些属性使得PinBall loss特别适合分位数估计。对于我们的多分位数模型,我们聚合了所有分位数水平上的PinBall loss:

\[L_{QR} = \sum_{i=1}^{N} L_{\tau_i}(y, t_{\tau_i})\]

…(5)

这个聚合的损失函数鼓励模型在整个分布中学习准确的分位数估计,捕捉每对用户-视频的潜在观看时间的全谱(full spectrum)。

3.4 推理策略(Inference)

一旦我们训练了CQE模型来估计观看时间分布的多个分位数,我们就可以采用不同的推理策略。我们提出了三种主要方法:保守估计、动态分位数组合和条件期望。每种策略都提供了不同的优势,并适用于特定的推荐场景。

3.4.1 保守估计(Conservative Estimation)

在用户满意度至关重要且高估成本较高的环境中,我们采用保守估计(CSE)策略。这种方法侧重于观看时间分布的下分位数,以确保令人满意的用户体验。

如图1(b)所示,当预期观看时间相似时,我们通过选择具有较高下分位数的视频来优先考虑用户满意度。这种策略有助于降低用户因过于乐观的推荐而失望的风险。

正式地,我们选择一个较低的分位数 $ \tau_{\text{low}} $(例如 $ \tau_{\text{low}} = 0.25 $),并使用其对应的观看时间预测:

\[\widehat{y}_{\text{CSE}} = t_{\tau_{\text{low}}}\]

这种策略有助于降低用户因过于乐观的推荐而失望的风险,因为实际观看时间很可能超过这个保守估计。

3.4.2 动态分位数组合(Dynamic Quantile Combination)

为了适应不断变化的用户偏好和内容特征,我们提出了一种动态分位数组合(DQC)策略。这种方法根据上下文因素结合不同分位数的预测。

如图1(c)所示,DQC策略根据用户的流失风险和视频新颖性调整分位数的选择。

  • 对于高流失风险用户或新颖视频,它更多地赋予低分位数权重,确保令人满意的体验,
  • 对于低流失风险用户或熟悉的视频,则更多地赋予高分位数权重,可能提供更具吸引力的推荐。

这种动态方法允许系统根据用户当前状态和内容熟悉度,在安全推荐和可能更具回报的推荐之间进行平衡。

设 $ k \in [0, 1] $ 为上下文依赖的混合参数。我们计算最终预测为:

\[\widehat{y}_{\text{DQC}} = k \cdot t_{\tau_{\text{low}}} + (1 - k) \cdot t_{\tau_{\text{high}}}\]

…(7)

其中:

  • $ t_{\tau_{\text{low}}} $ 和 $ t_{\tau_{\text{high}}} $ 分别代表保守和乐观的分位数预测。

混合参数$k$可以根据用户风险档案、视频新颖性或平台目标等因素进行调整。例如,对于新用户或新颖内容,我们可能使用较高的 $ k $(倾向于保守估计),对于老用户或熟悉的内容类型,则使用较低的 $ k $。

3.4.3 条件期望

在我们旨在优化预期观看时间的场景中,我们采用条件期望策略。这种方法通过在预测的分位数之间进行插值来估计平均观看时间。

如图1(d)所示,条件期望估计(CDE)策略提供了一个全局优化视角,旨在通过考虑整个观看时间分布来最大化整体用户参与度

如图2左半部分所示,这些输出的观看时间值示例化了观看时间的分布。为了通过条件期望恢复平均估计,我们面临没有两个连续分位数之间 $ \tau \in (\tau_i, \tau_{i+1}) $ 的输出值的挑战。为了解决这一信息缺失问题,我们使用插值方法来近似条件分布。

我们采用连续分位数之间的线性插值,因此 $ \tau_i $ 和 $ \tau_{i+1} $ 之间的预期观看时间变为 $ (t_{\tau_i} + t_{\tau_{i+1}}) / 2(N + 1) $。对于两个端点,我们假设 $ t_0 = t_{\tau_1} $ 和 $ t_1 = t_{\tau_N} $。然后,我们可以近似整体观看时间的期望为:

\[\widehat{y}_{\text{CDE}} = \frac{1}{2(N + 1)} \left[(t_{\tau_1} + t_{\tau_1}) + (t_{\tau_1} + t_{\tau_2}) + (t_{\tau_2} + t_{\tau_3}) + \ldots + (t_{\tau_{N-2}} + t_{\tau_{N-1}}) + (t_{\tau_{N-1}} + t_{\tau_N}) + (t_{\tau_N} + t_{\tau_N})\right] \\ = \frac{1}{N + 1} \left(\sum_{i=1}^{N} t_{\tau_i} + \frac{t_{\tau_1} + t_{\tau_N}}{2}\right)\]

…(8)

从理论上讲,这种期望通常提供最准确的预测,并且在 $ N \to \infty $ 时将实现最优预测。实证上,我们将在第4.2节的实验分析中验证其优越性。然而,我们提醒读者,这种策略可能不适用于用户对不良推荐不宽容的场景,或者推荐系统需要动态控制的场景

每种推理策略都提供了独特的好处,允许推荐系统适应不同的目标和用户环境。通过利用我们的CQE模型提供的丰富信息,我们可以做出更明智和灵活的推荐决策。

4 实验和结果

在这一部分,我们通过在线A/B测试和离线实验,全面评估了我们提出的条件分位数估计(Conditional Quantile Estimation, CQE)框架。我们的实验设计旨在解决几个相互关联的研究问题:

  • RQ1: 不同的CQE策略在现实世界场景中的表现如何?
  • RQ2: CQE与最先进的方法在观看时间预测和用户兴趣建模方面的比较如何?
  • RQ3: 分位数数量对CQE性能的影响是什么?

通过探讨这些问题,我们希望提供CQE能力的全面视图,它的实际影响,以及它在不同推荐情境中的泛化潜力。

4.1 在线实验(RQ1)

为了验证我们条件分位数估计(CQE)框架在现实世界中的影响,我们在拥有数亿用户的短视频平台上进行了广泛的在线A/B测试。这些实验使我们能够在拥有庞大用户基础的实时环境中,评估所有三种CQE策略的实际有效性。

4.1.1 实验设置

用户被随机分配到对照组和实验组,确保实验组至少分配到每日用户流量的10%,以确保统计显著性。每次在线A/B测试运行时间超过一周,为数据收集和可靠结果分析提供了充足的时间。

推荐系统采用两阶段流程:候选检索后跟排序。我们将CQE模型整合到排序阶段,以预测观看时间,这是推荐过程中的关键组成部分。

我们使用四个关键指标评估推荐系统的性能:

  • 每用户平均观看时间:这个核心指标通过量化用户观看推荐视频的平均时间,直接衡量用户参与度。
  • 总播放次数:这个指标统计所有用户的累计视频播放次数,反映用户与推荐内容的交互频率。
  • 每用户活跃天数:这个指标衡量用户与平台交互的天数,表明用户留存情况。
  • 每日活跃用户数:这个指标表示与平台交互的独特用户数量,反映系统维持和增长其用户群的能力。

4.2 离线实验(RQ2 和 RQ3)

虽然我们的在线A/B测试展示了CQE在现实世界场景中的实际影响,但离线实验允许我们对我们的方法进行更受控和详细的分析。我们的离线实验专注于两个密切相关的任务:观看时间预测和用户兴趣预测。这两项任务共同为评估CQE框架在推荐系统中的有效性提供了全面视角。

观看时间预测直接捕获用户与内容的互动持续时间,这是用户参与度的关键指标。然而,仅预测观看时间可能无法完全捕捉用户兴趣。因此,我们引入了用户兴趣预测任务,它结合观看时间和视频时长,提供对用户兴趣更微妙的度量。这两项任务相辅相成:观看时间预测提供直接的行为预测,而用户兴趣预测帮助我们理解这些行为背后的动机。

4.2.1 观看时间预测

在这个任务中,我们的主要目标是准确预测用户观看时间的持续时间

数据集

遵循TPM[8],我们使用了两个公共数据集:

  • Kuaishou(收集自快手App1)和CIKM16(来自CIKM16杯2)进行我们的实验。虽然CIKM16主要是一个电子商务搜索查询数据集,但我们包括它是为了展示我们的CQE方法在不同推荐情境下的潜在泛化能力。电子商务页面停留时间的预测在模拟用户参与持续时间方面与视频观看时间预测有相似之处,尽管我们承认内容类型和用户行为模式存在差异。在CIKM16数据集中,会话中的每个项目被用作输入的单一特征。

  • Kuaishou数据集包含7,176个用户、10,728个项目和12,530,806次展示;CIKM16数据集包含310,302个会话和122,991个项目,每个会话的平均长度为3.981。

指标。我们使用两个指标来评估模型的性能:平均绝对误差(MAE)和XAUC[20]。

  • MAE:这是评估回归准确性的典型测量方法。表示预测值为 $ \widehat{y} $,真实观看时间为 $ y $,MAE 定义为:
\[\text{MAE} = \frac{1}{N} \sum_{i=1}^{N} \| \widehat{y}_i - y \|\]

…(9)

  • XAUC:评估两个样本的预测是否与它们的真实观看时间顺序相同。它与推荐系统的排序性质很好地对齐。在实践中,预测的相对顺序通常比它们的绝对值更重要,这使得XAUC与我们的研究目标特别相关。它帮助我们评估CQE能否有效捕捉不同内容项目中用户参与度的微妙差异。

基线

为了比较,我们选择了四种最先进的观看时间预测方法,包括WLR(加权逻辑回归)[2]、D2Q(持续时间去混杂分位数)[20]、OR(序数回归)[12]和TPM(基于树的渐进回归模型)[8]。前三种方法是确定性的,而后者引入了不确定性因素,提供了均值和方差的估计。

4.2.2 用户兴趣预测

这个任务结合观看时间和视频时长,提供了一个更全面的用户兴趣指标。通过这样做,我们不仅考虑用户观看视频的时间长度,还考虑这个时间与视频总长度的关系,从而更准确地反映用户真正的兴趣水平。遵循D2Co[21],具体来说,我们定义给定用户-视频对 $(u, v)$ 的用户兴趣为:

\[x = \begin{cases} 1, & \text{if } (d \leq 18s \text{ and } w = d) \text{ or } (d > 18s \text{ and } w > 18s); \\ 0, & \text{otherwise}; \end{cases}\]

…(10)

其中:

  • $ d $ 是视频时长,
  • $ w $ 是观看时间。

我们采用了与D2Co相同的训练配置,并使用了经典的深度推荐模型DeepFM [5]和最先进的推荐模型AutoInt [15]作为我们的底层推荐模型。

数据集。遵循D2Co,我们利用了两个公开可用的真实世界数据集:WeChat3和KuaiRand4。这些数据集来源于著名的短视频平台,即微信看一看和快手。微信数据集包含20,000个用户、96,418个项目、7,310,108次互动。该数据集通过2021年微信大数据挑战赛提供,涵盖了为期两周的微信看一看日志。KuaiRand数据集是新发布的一款来自快手的顺序推荐数据集。如[4]所建议,我们在本研究中使用了其中一个子集KuaiRand-pure。它包含26,988个用户、6,598个项目和1,266,560次互动。

指标。GAUC(Group Area Under Curve)[24]和nDCG@k(排名前k的归一化折扣累积增益)[6]被用作推荐性能的评估指标。

  • GAUC:这个指标是通过在不同用户组之间加权平均ROC曲线下面积(AUC)来计算的,反映了模型对项目进行准确排名的能力。
  • nDCG@k:这个指标基于item的相关性和它们在前k名的位置来衡量推荐列表的增益,提供了对推荐列表顶部item及其排序质量的洞察。

基线。我们使用了D2Co中定义的加权二元交叉熵损失和均方误差损失(MSE)作为我们的基线。二元交叉熵损失定义为

\[L_{CE} = -r \log[\sigma(f(x))] - (1 - r) \log[1 - \sigma(f(x))]\]

其中:

  • $ \sigma $ 是Sigmoid函数,
  • $ r $ 是用户兴趣,由PCR、WTG [22]或D2Co [21]定义。

遵循D2Co,在PCR和WTG中,我们将观看时间少于5秒的所有样本在计算标签值后视为0值。这有助于去除观看时间的噪声。

**默认情况下,我们将:

  • 分位数的数量 $ N $ 设置为100。
  • $ \tau_{\text{low}} $ 的值从0.2、0.25和0.3中经验性选择。
  • 同样,$ \tau_{\text{high}} $ 的值从0.6、0.7和0.8中经验性选择。

4.2.3 实验结果。

我们总结结果如下:

CQE、CDE与其他方法的比较:我们比较了不同方法在观看时间预测任务中的表现,结果列在表4中。TPM和CQECDE在MAE和XAUC指标上都优于其他方法,从而突显了将不确定性纳入模型的重要性。此外,我们的方法在两个指标上与TPM相比表现出更优越的性能,从而强调了采用分位数建模技术的优越性。此外,MAE和XAUC指标之间的一致行为也验证了观看时间估计作为排名指标的可行性。至于用户兴趣预测任务,我们在不同的框架(DeepFM和AutoInt)和各种标签设计(PCR、WTG和D2Co)之间进行比较,结果列在表3中,我们提出的CQECDE在所有情况下一贯优于替代方案,表明CQECDE的鲁棒性和有效性。在优化框架方面,CE通常比MSE表现更好,表明将序数分类信息作为指导的正确性。而且CQECDE可以在所有用户兴趣度量设计(PCR、WTG和D2Co)上改善CE,这意味着所提出的框架可以推广到不同的标签设置。

CQE、CDE中超参数的影响:为了更好地研究提出的CQE框架的特性,我们进一步对分位数数量 $ N $ 进行消融研究,将其值从1变化到500。从理论上讲,更大的 $ N $ 生成更精确的真实期望近似,从而通常实现更好的推荐性能。这归因于更多分位数产生的分布更接近实际分布。在观看时间预测任务的背景下,如图4所示,模型性能随着预测分位数的增加而提高。相反,对于用户兴趣预测任务,观察到(如图5所示)当分位数数量少于10时模型性能相对较弱。超过10之后,结果在0.663左右波动。有趣的是,与观看时间预测任务不同,更多的分位数并不一定带来更好的结果。这种差异表明训练目标与测试集中定义的用户兴趣标签之间存在差距。总的来说,在条件期望策略下增加 $ N $ 可能会提高预测准确性。

总结来说,我们的离线实验通过这两项互补的任务全面展示了CQE方法在预测用户行为和兴趣方面的优越性。观看时间预测任务验证了CQE在直接行为预测方面的准确性,而用户兴趣预测任务进一步证明了CQE有效捕捉更复杂用户偏好的能力。这些任务的结合不仅验证了我们方法的有效性,还突出了CQE框架在解决推荐系统中不同但相关挑战的灵活性和适应性。

#

https://arxiv.org/pdf/2407.12223

huawei团队在《FinalMLP: An Enhanced Two-Stream MLP Model for CTR Prediction》提出了一种FinalMLP方法。

摘要

点击率(CTR)预测是在线广告和推荐系统中的一项基本任务。多层感知器(MLP)作为许多深度CTR预测模型的核心组件,已被广泛认识到,单独使用一个vanilla MLP网络在学习乘法特征交叉方面是低效的。因此,许多双流交叉模型(例如DeepFM和DCN)通过将MLP网络与另一个专用网络集成,以增强CTR预测能力。由于MLP流(MLP stream)隐式地学习特征交叉,现有研究主要集中在增强补充流(complementary stream)中的显式特征交叉。相比之下,我们的实证研究表明,一个经过良好调整的双流MLP模型,简单地结合两个MLP,甚至可以实现令人惊讶的良好性能,这在现有工作中从未被报道过。基于这一观察,我们进一步提出了特征门控(feature gating)和交叉聚合层(interaction aggregation layers),这些层可以轻松地插入以构建增强的双流MLP模型,即FinalMLP。这样,它不仅支持差异化的特征输入,而且有效地融合了两个流之间的流级交互(stream-level interactions)。我们在四个开放基准数据集上的评估结果以及我们工业系统中的在线A/B测试表明,FinalMLP比许多复杂的双流CTR模型具有更好的性能。我们的源代码将在 https://reczoo.github.io/FinalMLP 上提供。

1.引言

点击率(CTR)预测是在线广告和推荐系统(Cheng et al. 2016; He et al. 2014)中的一项基本任务。CTR预测的准确性不仅直接影响用户参与度,而且显著影响商业提供商的收入。CTR预测的一个关键挑战在于学习特征之间的复杂关系,以便模型在罕见特征交叉的情况下仍然能够很好地泛化。多层感知器(MLP),作为深度学习中强大且多功能的组件,已经成为各种CTR预测模型(Zhu et al. 2021)的核心构建块。尽管理论上MLP被认为是通用逼近器,但实践中广泛认识到应用vanilla MLP网络学习乘法特征交叉(例如点积)是低效的(Wang et al. 2017, 2021; Rendle et al. 2020)

为了增强学习显式特征交叉(二阶或三阶特征)的能力,提出了多种特征交叉网络。典型的例子包括因子分解机(FM)(Rendle 2010)、交叉网络(Wang et al. 2017)、压缩交互网络(CIN)(Lian et al. 2018)、基于自注意力的交互(Song et al. 2019)、自适应因子分解网络(AFN)(Cheng, Shen, and Huang 2020)等。这些网络引入了学习特征交叉的归纳偏差,但根据我们在表3中的实验,它们失去了MLP的表达能力。因此,双流CTR预测模型已被广泛采用,如DeepFM(Guo et al. 2017)、DCN(Wang et al. 2017)、xDeepFM(Lian et al. 2018)和AutoInt+(Song et al. 2019),它们将MLP网络和专用特征交叉网络集成在一起,以增强CTR预测。具体来说,MLP流隐式地学习特征交叉,而另一流则以补充方式增强显式特征交叉。由于它们的有效性,双流模型已成为工业部署(Zhang et al. 2021)的流行选择。

尽管许多现有研究已经验证了双流模型相对于单个MLP模型的有效性,但没有一项研究报告了与简单并行组合两个MLP网络的双流MLP模型(称为DualMLP)的性能比较。因此,我们的工作首次努力描述DualMLP的性能。我们在开放基准数据集上的实证研究表明,尽管DualMLP简单,但可以实现令人惊讶的良好性能,这与许多精心设计的双流模型相当甚至更好(见我们的实验)。这一观察激发了我们研究这样一个双流MLP模型的潜力,并进一步将其扩展为CTR预测的简单而强大的模型。

事实上,双流模型可以被视为两个并行网络的集成。这些双流模型的一个优势是每个流可以从不同的角度学习特征交叉,从而互补以实现更好的性能。例如:

  • Wide&Deep(Cheng et al. 2016)和DeepFM(Guo et al. 2017)提出使用一个流来捕获低阶特征交叉,另一个流来学习高阶特征交叉。
  • DCN(Wang et al. 2017)和AutoInt+(Song et al. 2019)主张在两个流中分别学习显式特征交叉和隐式特征交叉。
  • xDeepFM(Lian et al. 2018)进一步从向量级和位级角度增强特征交叉学习。这些先前的结果验证了两个网络流的差异化(或多样性)对双流模型的有效性有重大影响。

与现有的依靠设计不同网络结构(例如,CrossNet(Wang et al. 2017)和CIN(Lian et al. 2018))以实现流差异化的双流模型相比,DualMLP的局限性在于两个流都是简单的MLP网络。我们的初步实验还表明,通过为两个MLP调整不同的网络大小(即,层数或单元数),DualMLP可以实现更好的性能。这一结果促使我们进一步探索如何扩大两个流的差异化,以改善作为基础模型的DualMLP。此外,现有的双流模型通常通过求和或连接的方式结合两个流,这可能浪费了对高级(即,流级)特征交叉进行建模的机会。如何更好地融合流输出成为另一个值得进一步探索的研究问题。

为了解决这些问题,在本文中,我们构建了一个增强的双流MLP模型,即FinalMLP,它在两个MLP模块网络上集成了特征门控和交叉聚合层。更具体地说,我们提出了一个流特定的特征门控层(stream-specific feature gating layer),允许获得基于门控的特征重要性权重进行软特征选择(soft feature selection)。也就是说,特征门控可以通过基于可学习参数、用户特征或item特征的条件来从不同视角计算,分别产生全局、user-specific或item-specific的特征重要性权重。通过灵活选择不同的门控条件特征,我们能够为每个流派生出流特定的特征,从而增强两个流的互补特征交叉学习的差异化特征输入。为了融合流输出与流级特征交叉,我们提出了一个基于二阶双线性融合(Lin, RoyChowdhury, 和 Maji 2015; Li et al. 2017)的交叉聚合层。为了降低计算复杂性,我们进一步将计算分解为k个子组,从而实现高效的多头双线性融合。特征门控和交叉聚合层都可以轻松地插入到现有的双流模型中。

我们的实验结果在四个开放基准数据集上显示,FinalMLP优于现有的双流模型,并达到了新的最先进性能。此外,我们通过离线评估和在线A/B测试在工业环境中验证了其有效性,其中FinalMLP也显示出比部署的基线显著的性能提升。我们设想,简单而有效的FinalMLP模型可以作为未来双流CTR模型发展的新强基线。本文的主要贡献总结如下:

  • 据我们所知,这是第一个实证研究双流MLP模型惊人有效性的工作,这可能与文献中的普遍观点相反。
  • 我们提出了FinalMLP,这是一个具有可插拔特征门控和交叉聚合层的增强型双流MLP模型。
  • 我们在基准数据集上进行了离线实验,并在生产系统中进行了在线A/B测试,以验证FinalMLP的有效性。

2.背景和相关工作

在这一部分,我们简要回顾了CTR预测的框架和代表性的双流模型。

2.1 双流CTR模型的框架

我们在图1(b)中展示了双流CTR模型的框架,它包括以下关键组件。

图片名称

图1 (a) 流特定特征选择的示意图。 (b) 双流CTR模型的通用框架。 (c) 多头双线性融合。

2.1.1 特征嵌入

嵌入是将高维和稀疏的原始特征映射到密集数值表示的常用方法。具体来说,假设原始输入特征是$x = {x_1, \cdots, x_M}$,有M个特征字段,其中:$x_i$是第i个字段的特征。一般来说,$x_i$可以是分类的、多值的或数值特征。每个都可以相应地转换为嵌入向量。感兴趣的读者可以参考(Zhu et al. 2021)以获取有关特征嵌入方法的更多细节。然后,这些特征嵌入将被连接并输入到下一层。

2.1.2 特征选择

特征选择是双流CTR模型框架中的一个可选层。在实践中,特征选择通常通过离线统计分析或通过差异比较的模型训练来执行(Pechuan, Ponce, 和 de Lourdes Mart ´ ´ınez-Villasenor ˜ 2016)。与硬特征选择不同,这项工作中,我们专注于通过特征门控机制进行软特征选择(Huang, Zhang, 和 Zhang 2019; Guan et al. 2021),其目的是获得特征重要性权重,以帮助放大重要特征,同时抑制噪声特征。在这项工作中,我们研究了流特定的特征门控,以实现差异化的流输入。

2.1.3 双流特征交叉

双流CTR模型的关键特点是:采用两个并行网络从不同视角学习特征交叉。基本上,每个流可以采用任何类型的特征交叉网络(例如,FM(Rendle 2010)、CrossNet(Wang et al. 2017)和MLP)。现有工作通常将两种不同的网络结构应用于两个流,以学习互补的特征交叉(例如,显式与隐式,位级与向量级)。在这项工作中,我们首次尝试使用两个MLP网络作为两个流。

2.1.4 流级融合

流级融合是必要的,以融合两个流的输出以获得最终预测的点击概率$\widehat{y}$。假设$o_1$和$o_2$作为两个输出表示,可以表示为:

\[\widehat{y} = σ(w^T F(o_1, o_2))\]

其中:

  • F:表示融合操作,通常设置为求和或连接(concatenation)。
  • w:表示在必要时将输出维度映射到1的线性函数。
  • σ:是sigmoid函数。

现有工作只对流输出进行一阶线性组合,因此无法挖掘流级特征交叉。在这项工作中,我们探索了二阶双线性函数用于流级交叉聚合。

2.1.5 代表性的双流CTR模型

我们总结了一些代表性的双流模型,这些模型涵盖了CTR预测研究的广泛领域:

  • Wide&Deep:Wide&Deep(Cheng et al. 2016)是一个经典的双流特征交叉学习框架,结合了广义线性模型(宽流)和MLP网络(深流)。
  • DeepFM:DeepFM(Guo et al. 2017)通过将wide流替换为FM来扩展Wide&Deep,以显式学习二阶特征交叉。
  • DCN:在DCN(Wang et al. 2017)中,提出了一个交叉网络作为一条流,以显式方式执行高阶特征交叉,而另一条MLP流隐式学习特征交叉。
  • xDeepFM:xDeepFM(Lian et al. 2018)采用压缩交互网络(CIN)以向量级方式捕获高阶特征交叉,并也采用MLP作为另一条流来学习位级特征交叉。
  • AutoInt+:AutoInt(Song et al. 2019)应用自注意力网络来学习高阶特征交叉。AutoInt+将AutoInt和MLP作为两个互补的流集成。
  • AFN+:AFN(Cheng, Shen, 和 Huang 2020)利用对数变换层来学习自适应阶数特征交叉。AFN+以双流方式将AFN与MLP结合。
  • DeepIM:在DeepIM(Yu et al. 2020)中,提出了一个交互机(IM)模块,以高效计算高阶特征交叉。它在两个流中分别使用IM和MLP。
  • MaskNet:在MaskNet(Wang, She, 和 Zhang 2021)中,提出了一个MaskBlock,通过结合层归一化、实例引导掩码和前馈层。并行的MaskNet是一个双流模型,它并行使用两个MaskBlocks。
  • DCN-V2:DCN-V2(Wang et al. 2021)通过更具表现力的交叉网络改进DCN,以更好地捕获显式特征交叉。它在并行版本中仍然使用MLP作为另一条流。
  • EDCN:EDCN(Chen et al. 2021)不是一个严格的双流模型,因为它提出了一个桥接模块和一个调节模块来桥接两个流的隐藏层之间的信息融合。然而,其操作限制了每个流具有相同大小的隐藏层和单元,降低了灵活性。

3.我们的模型

在这一部分,我们首先介绍简单的双流MLP基础模型,DualMLP。然后,我们描述两个可插拔模块,特征门控和交叉聚合层,这些模块构成了我们增强的模型,FinalMLP。

3.1 双流MLP模型

尽管简单,据我们所知,双流MLP模型以前没有被先前的工作报道过。因此,我们首次尝试研究这样一个模型用于CTR预测,称为DualMLP,它简单地将两个独立的MLP网络作为两个流组合起来。 具体来说,双流MLP模型可以表述如下:

\[o_1 = MLP_1(h_1), \\ o_2 = MLP_2(h_2),\]

其中:

  • $MLP_1$和$MLP_2$:是两个MLP网络。两个MLP的大小(关于隐藏层和单元)可以根据数据进行不同的设置。
  • $h_1$和$h_2$:表示特征输入
  • $o_1$和$o_2$:分别是两个流的输出表示

在大多数先前的工作(Wang et al. 2017; Guo et al. 2017; Cheng, Shen, 和 Huang 2020)中,特征输入$h_1$和$h_2$通常设置为相同的,即特征嵌入e的连接(可选地与一些池化操作一起),即,

\[h_1 = h_2 = e\]

同时,流输出通常通过简单的操作(如求和和连接)进行融合,忽略了流级交互。下面,我们将介绍两个可以分别插入到输入和输出中的模块,以增强双流MLP模型。

3.2 Stream-Specific特征选择

许多现有的研究(Guo et al. 2017; Lian et al. 2018; Wang et al. 2017; Song et al. 2019)强调了结合两种不同特征交叉网络(例如,隐式与显式,低阶与高阶,位级与向量级)的有效性,以实现准确的CTR预测。我们的目标不是设计专门的网络结构,而是通过流特定的特征选择来扩大两个流之间的差异,从而产生差异化的特征输入

受MMOE(Ma et al. 2018)中使用的门控机制的启发,我们提出了一个流特定的特征门控模块来软选择流特定的特征,即,为每个流不同地重新加权特征输入。在MMOE中,门控权重是根据特定任务的特征来重新加权专家输出的。同样,我们通过基于可学习参数、用户特征或item特征的条件来从不同视角进行特征门控,分别产生全局、user-specific或item-specific的特征重要性权重。

具体来说,我们通过上下文感知的特征门控层进行流特定的特征选择,如下所示。

\[g_1 = Gate_1(x_1), \quad g_2 = Gate_2(x_2), \\ h_1 = 2\sigma(g_1) \odot e, \quad h_2 = 2 \sigma(g_2) \odot e,\]

…(3)(4)

其中:

  • $Gate_i$:表示基于MLP的gating network
  • $x_i$:stream-specific的条件特征输入
  • $g_i$:逐元素门控权重输出
  • $\odot$: 逐元素乘(element-wise produc)

注意,从user/item特征集或将其设置为可学习参数中选择$x_i$是灵活的。通过使用sigmoid函数σ和一个乘数2将它们转换为[0, 2]范围内的值,平均值为1,我们可以获得特征重要性权重。给定连接的特征嵌入e,我们可以通过逐元素乘积⊙获得加权特征输出$h_1$和$h_2$。

我们的特征门控模块允许通过从不同视角设置条件特征$x_i$来为两个流制作差异化的特征输入。例如,图1(a)展示了一个关于user-和item-specific特征门控的案例,它分别从用户和item的视角调节每个流。这减少了两个相似MLP流之间的“同质”学习,并能够实现更互补的特征交叉学习。

3.3 Stream-Level交叉聚合

3.3.1 双线性融合(Bilinear Fusion)

如前所述,现有工作大多采用求和或concatenation作为fusion layer,但这些操作未能捕捉流级特征交叉。受计算机视觉领域广泛研究的bilinear pooling启发(Lin, RoyChowdhury, 和 Maji 2015; Li et al. 2017),我们提出了一个双线性交叉聚合层(bilinear interaction aggregation layer)来使用流级特征交叉来对流输出进行融合。如图1(c)所示,预测的点击概率公式如下。

\[\widehat{y} = \sigma(b + w_1^T o_1 + w_2^T o_2 + o_1^T W_3 o_2),\]

…(5)

其中:

  • $ b \in \mathbb{R}, w_1 \in \mathbb{R}^{d_1 \times 1}, w_2 \in \mathbb{R}^{d_2 \times 1}, W_3 \in \mathbb{R}^{d_1 \times d_2} $:是可学习的权重。
  • $d_1$和$d_2$: 分别表示 $ o_1 $ 和 $ o_2 $ 的维度。
  • $o_1^T W_3 o_2 $:是双线性项(bilinear item), 模拟了$o_1$和$o_2$之间的二阶交互。特别是,当$W_3$是一个单位矩阵时,该项模拟了点积。当将 $ W_3 $ 设置为零矩阵时,它退化为传统的连接融合与线性层,即 $ b + [w_1, w_2]^T [o_1, o_2]$

有趣的是,双线性融合与常用的FM模型也有联系。具体来说,FM通过以下方式为CTR预测对一个m维输入特征向量x(通过一位/多位特征编码和连接)进行二阶特征交叉建模:

\[\hat{y} = \sigma(b + w^Tx + x^T_{\text{upper}} P P^T)x\]

…(6)

其中:

  • $ b \in \mathbb{R}, w \in \mathbb{R}^{m \times 1}, P \in \mathbb{R}^{m \times d} $ 是可学习的权重,其中 $ d \ll m $,upper选择矩阵的严格上三角部分(Rendle 2010)。

正如我们所看到的,当$o_1=o_2$时,FM是双线性融合的一种特殊形式。

然而,当$o_1$和$o_2$是高维时,计算方程(5)的参数密集且计算成本高。例如,要融合两个1000维的输出,$ W_3 \in \mathbb{R}^{1000 \times 1000} $ 占用了100万个参数,其计算变得昂贵。为了降低计算复杂性,我们在下文中引入了我们的扩展多头双线性融合。

3.3.2 多头双线性融合(multi-head bilinear fusion)

多头注意力(multi-head attention)因其能够将来自不同的表征子空间的相同注意力池化(attention pooling)的知识进行组合,非常受欢迎。它在最近大获成功的transformer模型中带来了计算量的减少和一致的性能提升(Vaswani et al. 2017)。受其成功的启发,我们将双线性融合扩展到multi-head版本。具体来说,我们不是直接计算方程(5)中的bilinear项,而是将 $ o_1 $ 和 $ o_2 $ 分别分割成k个子空间:

\[o_1 = [o_{11}, \cdots, o_{1k}], \\ o_2 = [o_{21}, ..., o_{2k}],\]

其中:

  • k 是一个超参数
  • $ o_{ij} $ 表示第i个输出向量的第j个子空间表示(i ∈ {1, 2})。

类似于多头注意力,我们在每个子空间中执行双线性融合(bilinear fusion),将 $ o_{1j} $ 和 $ o_{2j} $ 配对为一组。然后,我们通过求和池化聚合子空间计算,得到最终预测的点击概率:

\[\hat{y} = \sigma(\sum_{j=1}^{k} BF(o_{1j}, o_{2j})),\]

其中:

  • BF 表示方程(5)中不带 sigmoid 激活的双线性融合。

通过与多头注意力相同的子空间计算,我们理论上可以通过 k 的因子减少双线性融合的参数数量和计算复杂性,即从 $ O(d_1d_2) $ 减少到 $ O(\frac{d_1d_2}{k}) $。特别是,当设置 $ k = d_1 = d_2 $ 时,它退化为逐元素乘积融合。如果 $k = 1$,则等于原始的双线性融合。 选择合适的k实现多头学习,以便模型可能获得更好的性能。在实践中,k 个子空间的多头融合在 GPU 中并行计算,这进一步提高了效率。

最后,我们的流特定特征门控和流级交互聚合模块可以插入,以产生增强的双流 MLP 模型,FinalMLP。

3.3.3 模型训练

为了训练 FinalMLP,我们应用广泛使用的二元交叉熵损失:

\[L = -\frac{1}{N} \sum_{y} y \log(\hat{y}) + (1 - y) \log(1 - \hat{y})\]

其中:

  • y 和 $ \hat{y} $ 分别表示来自总共 N 个样本中的每个样本的真实标签和估计的点击概率。

4.实验

4.1 实验设置

数据集

我们使用四个开放基准数据集进行实验,包括 Criteo、Avazu、MovieLens 和 Frappe。我们重用(Cheng, Shen, 和 Huang 2020)预处理的数据,并遵循相同的数据分割和预处理设置。表1总结了数据集的统计信息。

评估指标

我们采用AUC作为CTR预测中最广泛使用的评估指标之一。此外,AUC提高0.1个百分点被认为是CTR预测中的显著改进(Cheng et al. 2016; Cheng, Shen, 和 Huang 2020; Wang et al. 2021)。

基线

首先,我们研究以下单一流显式特征交叉网络。

  • 一阶:逻辑回归(LR)(Richardson, Dominowska, 和 Ragno 2007)。
  • 二阶:FM(Rendle 2010)、AFM(Xiao et al. 2017)、FFM(Juan et al. 2016)、FwFM(Pan et al. 2018)和FmFM(Sun et al. 2021)。
  • 三阶:HOFM (3rd)(Blondel et al. 2016)、CrossNet (2L)(Wang et al. 2017)、CrossNetV2 (2L)(Wang et al. 2021)和CIN (2L)(Lian et al. 2018)。我们特别将最大阶数设置为“3rd”或将交互层数设置为“2L”,以获得三阶特征交叉。
  • 更高阶:CrossNet(Wang et al. 2017)、CrossNetV2(Wang et al. 2021)、CIN(Lian et al. 2018)、AutoInt(Song et al. 2019)、FiGNN(Li et al. 2019)、AFN(Cheng, Shen, 和 Huang 2020)和SAM(Cheng 和 Xue 2021),这些模型自动学习高阶特征交叉。

然后,我们研究相关工作部分介绍的一系列代表性双流CTR模型。

4.2 实现

我们重用基线模型,并基于FuxiCTR(Zhu et al. 2021),一个开源的CTR预测库,实现我们的模型。我们的评估遵循与AFN(Cheng, Shen, 和 Huang 2020)相同的实验设置,将嵌入维度设置为10,批量大小设置为4096,默认MLP大小设置为[400, 400, 400]。对于DualMLP和FinalMLP,我们将两个MLP调整为1到3层,以增强流多样性。我们将学习率设置为1e-3或5e-4。我们通过广泛的网格搜索(平均每模型约30次运行)调整所有研究模型的所有其他超参数(例如,嵌入正则化和dropout率)。我们注意到,通过优化的FuxiCTR实现和充分的超参数调整,我们获得了比(Cheng, Shen, 和 Huang 2020)报告的更好的模型性能。因此,我们报告自己的实验结果,而不是重用他们的数据,以便进行公平比较。为了促进可重复的研究,我们开源了FinalMLP和所有使用的基线代码和运行日志。

MLP与显式特征交叉

尽管特征交叉网络已被广泛研究,但MLP与精心设计的特征交叉网络之间缺乏比较。以前的工作提出了许多显式特征交叉网络,例如交叉网络(Wang et al. 2017)、CIN(Lian et al. 2018)、AutoInt(Song et al. 2019)和AFN(Cheng, Shen, 和 Huang 2020),以克服MLP在学习高阶特征交叉方面的局限性。然而,这些研究中的大多数未能直接将显式特征交叉网络与单独的MLP(即DNN或YouTubeDNN(Covington, Adams, 和 Sargin 2016))进行比较,而只是评估了双流模型变体(例如DCN、xDeepFM和AutoInt+)与MLP的有效性。在这项工作中,我们在表3中进行了这样的比较。我们列举了用于一阶、二阶、三阶和更高阶特征交叉的代表性方法。令人惊讶的是,我们观察到MLP可以与精心设计的特征交叉网络并驾齐驱甚至表现更好。例如,MLP在Criteo、MovieLens和Frappe上实现了最佳性能,而在Avazu上获得了次佳性能,与SAM相比AUC差距仅为0.02个百分点。这一观察结果也与(Wang et al. 2021)中报告的结果一致,其中显示经过良好调整的MLP模型(即DNN)能够获得与许多现有模型相当的表现。

总的来说,MLP所取得的强劲性能表明,尽管其结构简单,在学习乘性特征方面的弱点,MLP在隐式学习特征交叉方面非常具有表现力。这也部分解释了为什么现有研究倾向于将显式特征交叉网络与MLP结合作为双流模型用于CTR预测。不幸的是,其实力从未在任何现有工作中明确揭示过。受到上述观察的启发,我们进一步研究了一个未被探索的模型结构的潜力,该结构简单地采用两个MLP作为双流MLP模型。

DualMLP和FinalMLP与双流基线的比较

按照现有研究,我们对表2中所示的代表性双流模型进行了彻底比较。从结果中,我们有以下观察: 首先,我们可以看到双流模型通常优于表3中报告的单一流基线,特别是单个MLP模型。这符合现有工作,揭示了双流模型可以学习互补特征,从而实现更好的CTR预测建模。 其次,简单的双流模型DualMLP表现出乎意料地好。通过对两个流的MLP层进行精心调整,DualMLP可以实现与其他复杂双流基线相当甚至更好的性能。据我们所知,DualMLP的强劲性能在文献中从未被报道过。在我们的实验中,我们发现通过在两个流中设置不同的MLP大小来增加流网络多样性可以提高DualMLP的性能。

这激发了我们进一步开发一个增强的双流MLP模型FinalMLP。

第三,通过我们在特征门控和融合方面的可插拔扩展,FinalMLP在四个开放数据集上一致地优于DualMLP以及所有其他比较的双流基线。特别是,FinalMLP在Avazu、MovieLens和Frappe上的AUC分别显著超过了现有的最强双流模型0.12个百分点(DCNv2)、0.23个百分点(xDeepFM)和0.11个百分点(AutoInt+)。这证明了我们的FinalMLP的有效性。截至撰写本文时,FinalMLP在PapersWithCode4和BARS5(Zhu et al. 2022)的CTR预测排行榜上均名列第一。

消融研究

在这一部分,消融研究显示了对FinalMLP重要设计的调查。

特征选择和双线性融合的效果

具体来说,我们将FinalMLP与以下变体进行比较:

  • DualMLP:简单的双流MLP模型,简单地将两个MLP作为两个流。
  • w/o FS:没有通过上下文感知特征门控进行流特定特征选择模块的FinalMLP。
  • Sum:在FinalMLP中使用求和融合。
  • Concat:在FinalMLP中使用连接融合。
  • EWP:在FinalMLP中使用逐元素乘积(即哈达玛积)融合。

消融研究结果在图2中呈现。我们可以观察到,当移除特征选择模块或将双线性融合替换为其他常用的融合操作时,性能会下降。这验证了我们的特征选择和双线性融合模块的有效性。此外,我们注意到双线性融合比特征选择扮演了更重要的角色,因为替换前者会导致更多的性能下降。

图片名称

图2

多头双线性融合的效果:我们研究了我们的子空间分组技术对双线性融合的影响。表4显示了通过变化双线性融合的子空间数量(即头数k)来改变FinalMLP的性能。OOM表示在设置中发生了内存溢出错误。我们发现,使用更多的参数(即更小的k)进行融合并不总是导致更好的性能。这是因为适当的k可以帮助模型从多个视角学习流级别的特征交互,同时减少冗余交互,类似于多头注意力。通过在实践中调整k,可以在有效性和效率之间取得良好的平衡。

工业评估:我们进一步在为新闻推荐服务的生产系统中评估FinalMLP,该系统每天为数百万用户提供服务。我们首先使用3天用户点击日志的训练数据(包含12亿个样本)进行离线评估。表5显示了AUC结果。与在线部署的深度BaseModel相比,FinalMLP在AUC上提高了超过一个百分点。我们还与EDCN(Chen等人,2021年)进行了比较,EDCN是最近的一项工作,它通过两流网络之间的交互增强了DCN(Wang等人,2017年)。FinalMLP在AUC上比EDCN额外提高了0.44个百分点。此外,我们测试了从接收用户请求到返回预测结果的端到端推理延迟。我们可以看到,通过应用我们的多头双线性融合,延迟可以从使用1个头的70毫秒减少到使用8个头的47毫秒,实现了与在线部署的BaseModel(45毫秒)相同的延迟水平。此外,通过选择适当数量的头,AUC结果也略有提高。

我们最后报告了在7月18日至22日进行的在线A/B测试的结果,结果如表6所示。FinalMLP平均在CTR上实现了1.6%的改进,CTR衡量的是用户点击次数与新闻总展示次数的比率。在我们的生产系统中,这样的改进是显著的。

#

https://arxiv.org/pdf/2304.00902

meta在《Epinet for Content Cold Start》提出了一种内容冷启方法:Epinet。

摘要

在线内容及其用户基础的爆炸性增长,为现代推荐系统提出了日益严峻的匹配问题。与其他机器学习领域(如自然语言)不同,推荐系统负责收集自己的数据。仅仅利用当前知识可能导致有害的反馈循环,而盲目的探索可能会削弱用户体验,导致参与度降低。这种探索与利用之间的权衡在经典的多臂老虎机问题中得到了体现,其中算法如上置信界限(UCB)和汤普森采样(TS)展示了有效的性能。然而,在不表现出共轭先验结构的设置中,将这些方法扩展到大规模应用面临着许多挑战。最近通过epinets([22])进行不确定性量化的可扩展方法,使得即使学习模型是一个复杂的神经网络,也能有效地近似汤普森采样。在本文中,我们展示了epinets在在线推荐系统中的应用。我们的实验在Facebook Reels在线视频平台上展示了用户流量和参与效率的改进。

1 引言

随着在线内容的指数级增长,用户与内容匹配问题变得越来越具有挑战性。这描述了现代推荐系统的任务,幸运的是,这远非大海捞针的问题:用户过去的参与度往往预示着未来对某内容的参与度。此外,新内容通常仍然与过去的内容有相似之处。因此,智能算法设计应该使系统能够可靠地推荐每个用户个人发现吸引人的内容。

尽管自然语言等其他机器学习领域已经吸引了学者和行业实践者的注意,但推荐系统问题仍然是算法进步的一个强大前沿。与自然语言不同,推荐系统问题完全属于bandit学习或(更一般地)强化学习框架。bandit和强化学习问题与监督学习的不同之处在于,算法需要收集自己的数据。对于推荐系统来说,这意味着算法必须决定向每个用户推荐哪些内容,并且只会观察到它提出的用户/内容对的标签。虽然描述起来简单,但bandit问题展示了一个称为“探索与利用权衡”的深刻挑战。在任何时候,一个有效的算法都必须平衡通过利用已经收集的信息积累短期奖励的重要性,与探索未知以获取新信息的重要性。

尽管已知有算法可以最优地解决多臂bandit问题[9],但在所有最简单的问题实例之外,这些解决方案在计算上是不切实际的。因此,过去十年见证了对有效算法的兴趣激增,这些算法在探索和利用之间展现出有效的权衡。即使是最简单的多臂bandit问题设置的理论分析也表明,如𝜖-greedy和Boltzmann探索这样的简单探索方法会导致𝑂(𝑇)的遗憾(regret),其中:𝑇是环境交互的次数。由于遗憾(regret)衡量的是算法行动的奖励与最优奖励之间的差异,线性遗憾(regret)意味着即使在无限环境交互的情况下,代理也无法识别出最优臂。与此同时,如汤普森采样(TS)和上置信界限(UCB)这样的方法可以实现$𝑂(\sqrt{𝑇})$的遗憾(regret),这意味着:这些算法通过重复的环境交互可靠地识别出最佳的bandit臂。关键的洞察是,有效地利用其认知不确定性(TS的后验分布和UCB的置信区间)的算法能够提供富有成果的策略来对抗探索-利用权衡。虽然多臂bandit问题是与现代推荐系统的现实有所偏离的理想化设置,但它阐明了有效地表示和利用不确定性(uncertainty)的算法所提供的独特好处。

将UCB和TS适应于现代推荐系统的挑战在于,对于涉及神经网络的复杂模型,不确定性的表示变得难以处理。虽然在存在良好的共轭先验的情况下,后验分布展示了高效的更新,但这肯定不适用于涉及神经网络的可能性。然而,已经有几条研究线试图建立近似的后验采样方法。早期的工作之一是随机梯度Langevin动力学[29],它在随机梯度更新中添加噪声。在到达局部最小值时,噪声产生围绕后验模式的样本。然而,该算法对于在线方法在计算上是繁重的,因为它需要在每个timestep优化到收敛以产生后验样本。还有各种贝叶斯神经网络文献[5, 15]通过更新参数的后验分布来表示不确定性。然而,这些方法再次在计算上繁重,并且导致不充分的后验近似(在网络权重上的因子化分布在模型不确定性的表征上是不足的)。其他工作提出了MC Dropout作为后验采样近似,但[12, 20]已经证明后验近似的质量可能非常差。深度集成一直是通过从集成的粒子中采样来近似后验采样的可靠方法,但它们受到计算需求随着集成大小线性增长的事实的影响[16, 18]。最近,[22]提出了epinet,这是一种在计算上可行的方法,它以一小部分计算需求实现了集成级别的性能。[37]将epinet应用于离线推荐系统问题,但这种方法是否能在在线生产环境中产生有意义的改进仍然是一个开放的问题。

在本文中,我们提供了epinet在生产推荐系统中的首次在线实验部署。具体来说,我们使用一个由epinet提供的后验样本的汤普森采样算法,在Facebook的Reels推荐的内容冷启动检索阶段产生推荐。内容冷启动涉及对尚未有很多印象的新内容进行推荐。因此,它是一个需要有效导航探索/利用权衡的设置。我们的实验表明,在冷启动内容库中,总体流量和参与效率指标(如点赞率和视频观看完成率)有所提高。

2 相关工作

在推荐系统领域,特别是在内容冷启动方面,研究人员利用多臂bandit公式设计了能够有效权衡内容库的新探索和已经收集的信息利用的算法[4, 8, 19]。然而,随着内容库和用户基础的增长,无状态和独立臂的假设变得越来越不合理。因此,许多工作已经使用在臂之间具有泛化能力的概率模型,并反映不同用户的不同偏好的上下文化[10, 27, 28, 32]。然而,即使在这些问题表述中,设计能够有效解决这些问题的算法一直是一个活跃的研究领域。

如前所述,展示非平凡探索的最流行的算法是UCB[2, 3]和TS[26]。然而,这些算法是为涉及独立臂且没有状态概念的标准多臂bandit问题开发的。因此,将这些算法解决方案转化为涉及上下文化和泛化的问题设置一直是一个紧迫的挑战。特别是,随着深度神经网络提供的机器学习能力的急剧增加,许多方法已经尝试将UCB和TS的思想适应于与神经网络的计算[1, 6, 17, 21, 31, 34, 35]。然而,上述方法的主要缺点是,当计算成本被考虑在内时,它们是不切实际的。值得注意的是,随着推荐系统利用巨大的变换模型来通知预测[13, 25, 30, 33]的兴起,每个在模型或数据集大小之外的计算资源的消耗都是昂贵的[11, 14]。为了缓解这些关于计算资源的担忧,Osband等人[22]提出了epinet,这是一种在计算上可行的方法,它以一小部分计算需求实现了集成级别的性能。[37]将epinet应用于离线推荐系统问题,但我们的工作标志着这项技术在在线生产推荐系统设置中的首次应用。

3 问题表述

我们将推荐系统问题形式化为一个非稳态(non-stationary)contextual bandit问题。具体来说,非稳态contextual bandit问题可以通过一个元组 $ (O, A, V_t_{t \in N}, (\phi_t)_{t \in N}, \rho) $ 来识别,其中:

  • $O$ 表示观察集合,
  • $A$ 表示动作集合,
  • $(V_t)_{t \in N}$ 表示决定非稳态的随机过程,
  • $(\phi_t)_{t \in N}$ 表示决定上下文的随机过程,
  • $\rho$ 表示与观察 $o \in O$ 相关联的概率

在推荐系统问题中,

  • 上下文 $\phi_t$ 代表特定用户的原始特征
  • $V_t$ 代表可供推荐给该用户的可用内容的原始特征

我们下面详细介绍每个组成部分。

  • (1) 动作空间:我们取 $A$ 为固定集合 $\lbrace 1, 2, \ldots, N \rbrace$,其中 $N$ 表示可供选择的item数量。在推荐的检索阶段,算法每个timestep可以提出 M 个item。因此,对于所有 t,我们让随机变量 $A_t: \Omega \rightarrow A^M$ 表示我们的算法在时间 t 采取的动作。

  • (2) 非稳态item池:我们取 $( V_t ){t \in N}$ 作为代表变化item池的随机过程。对于所有t,$ V_t = (\phi{t,1}, \phi_{t,2}, \cdots, \phi_{t,N}) \in V $, 其中: $\phi_{t,i}$ 表示与时间 t 的item i 相关联的原始特征,V 表示 $V_t$ 的范围。由于我们专注于内容冷启动,item池不断通过添加新创建的内容和移除成熟内容来刷新

  • (3) 上下文:我们取 $(\theta_t)_{t \in N}$ 作为代表每个timestep用户上下文的随机过程。对于所有 $t$,$\theta_t \in \Psi$ 由与我们提供推荐的用户提供的原始特征组成。

  • (4) 观察空间:我们取 $O$ 作为关于用户和推荐item的观察集合。推荐系统通常利用多种信号,包括二进制信号(例如用户是否喜欢或分享item)和实值信号(例如视频完成的比例)。然而,为了制定下一个timestep的行动,算法必须能够访问后续的item池 $V_{t+1}$ 和上下文 $\theta_{t+1}$。因此,对于所有 $t$,我们让随机变量 $O_{t+1}: \Omega \rightarrow O^M \times V \times \Psi$ 表示与动作 $A_t$、后续item池 $V_{t+1}$ 和后续上下文 $\theta_{t+1}$ 相关的观察。$M$ 再次表示在动作 $A_t$ 中提出的item数量。

  • (5) 观察概率:我们让 $\rho(\cdot \mid O_t, A_t) = P(O_{t+1} \in \cdot \mid O_t, A_t)$ 表示在前一个观察和动作条件下的后续观察的概率。回想一下 $O_t$ 也包含item池 $V_t$ 和用户上下文 $\theta_t$。

通过 $\rho$ 捕获具有相似特征的用户和item之间的泛化。

我们假设算法设计者有一个具体的目标。这个目标由一个(已知的)奖励函数 $R: O \rightarrow \mathbb{R}^+$ 表示,它将观察映射到一个标量目标值。在实践中,这是各种标签(如喜欢、分享等)的适当加权。我们让随机变量 $R_{t+1}$ 表示在 $O_{t+1}$ 中观察到的所有 $M$ 个标签的奖励总和。目标是最大化平均长期奖励:

\[\frac{1}{T} \sum_{t=0}^{T-1} \mathbb{E}[R_{t+1}]\]

4 内容冷启动的探索

冷启动内容由展示给少于10000名用户的短视频组成。请注意,即使视频展示给用户,这并不一定意味着用户有意义地与之互动。实际上,情况往往相反,例如,只有1%的推荐内容会得到用户的点赞。在这种稀疏的反馈信号下,高效学习的能力变得至关重要。探索效率低下的算法不仅会向用户提供较差的推荐,还会消耗宝贵的带宽,这些带宽本可以分配给更好地了解用户的偏好。

多臂bandit问题,尽管其简单性,评估了一个智能代理的核心能力:平衡即时奖励与获取新信息的能力(探索/利用权衡)。为了有效地指导内容库的探索,算法必须知道它不知道什么。在贝叶斯框架中,不确定性是使用概率工具建模的,并通过后验分布来表示。随着算法观察到更多的数据,这个分布将集中,反映出更大的确定性。这种可以通过观察更多数据来减少的不确定性通常被称为认知不确定性(epistemic uncertainty)。常见的算法,如汤普森采样和上置信界限,分别通过后验分布和置信区间来表示认知不确定性。

然而,许多生产推荐系统只保留点估计(point estimate)。点估计对应于一个分布,其中所有概率质量都放在一个单例上。这不会有效地建模认知不确定性,因为算法在所有时间上都是同样(并且绝对)确定的。这对于冷启动内容尤其成问题,因为它包含的item几乎没有或根本没有曝光数据。点估计模型对这类内容的评分基本上是无信息的。如果它低估了内容的值,它将永远不会被推荐给用户。这可能进一步加剧流行度偏见,即推荐系统倾向于简单地基于现有数据进行利用,而放弃探索。因此,推荐系统的探索可以归结为表示涉及深度神经网络的复杂现代系统中的认知不确定性。

4.1 汤普森采样

在本文中,我们专注于用近似后验分布来表示认知不确定性。因此,我们将算法重点限制在汤普森采样上,它从这个后验分布中采样以选择动作。在本节中,我们提供了汤普森采样的抽象概述,以框架我们最终的算法。

对于所有的 $t$,汤普森采样以近似后验分布 $P_t(\rho \in \cdot)$ 和之前的观察 $O_t$ 作为输入,并产生动作 $A_t$。回想一下,$\rho$ 是决定我们上下文bandit环境中观察的概率度量。以下伪代码抽象地描述了汤普森采样:

图片名称

算法1

因此,近似汤普森采样方法在以下两个方面有所不同:

1) 如何指定近似先验分布 $P_0(\cdot)$; 2) 如何近似贝叶斯更新。虽然简化假设,如独立的Beta先验/后验分布,可能允许精确的贝叶斯更新,但它们在无法考虑用户上下文 $\theta_t$ 和item特征 $V_t$ 中存在的信息方面受到极大的限制。

5 使用Epinet的近似汤普森采样

在本节中,我们介绍了我们的方法,该方法利用Epinet[22]在近似汤普森采样算法中模拟认知不确定性。我们首先介绍认知神经网络的背景,这是一类包含Epinet的近似后验方法。

5.1 认知神经网络

[23]定义了一类称为认知神经网络(ENNs)的神经网络。认知神经网络由参数化函数类$ f $和参考分布$ P_Z $指定。输出$ f_\theta(X, z) $依赖于输入$ X $和从参考分布$ P_Z $中抽取的认知索引$ z $。要为输入$ X $产生边际预测,认知神经网络对其认知索引进行积分:

\[\hat{P}(Y) = \int_z f_\theta(X, z) dP_Z(z).\]

许多现有的神经网络不确定性建模方法,包括BNNs、MC Dropout和Deep Ensembles,可以在适当的参考分布$ P_Z $下表示为ENNs。我们在下面实例化一些。

示例1.(点估计) 考虑一个参数化的神经网络$ g_\theta(·): \mathbb{R}^d \rightarrow \mathbb{R} $。让$ P_Z(·) $是任何分布。那么$ f_\theta(X, z) = g_\theta(X) $等同于只保留点估计的网络。

在我们的实验中,我们比较算法的基线是点估计。这是因为它是机器学习和推荐系统中的标准方法:提供根据学习模型最优的预测/推荐。虽然这在监督学习设置中是合理的,算法不控制它观察到的数据,但在bandit/强化学习问题中,这种利用行为可能导致反馈循环,如推荐系统中的流行度偏见。

示例2.(MC Dropout) 考虑一个参数化的神经网络$ g_\theta(·): \mathbb{R}^d \rightarrow \mathbb{R} $,对输入层应用dropout。让$ P_Z(·) = \text{Uniform} \lbrace 0, 1 \rbrace^d $。那么,$ f_\theta(X, z) = g_\theta(X \odot z) $等同于dropout。

我们没有直接将性能与MC dropout进行比较,因为理论上和实证上都表明它提供了认知不确定性的较差表示[20, 22]。看到这一点,只需注意到即使观察到的样本数量增加到∞,MC dropout的方差也不会趋近于0。Osband [20]指出,这是因为dropout近似的是不可减少的风险,而不是认知不确定性。这个区别很关键,因为使用前者指导探索是不一致的,而使用后者可以导致有效的探索。

示例3.(Deep Ensembles) 考虑一个由参数化模型$ g_{\theta_1}(·), g_{\theta_2}(·), \ldots, g_{\theta_N}(·): \mathbb{R}^d \rightarrow \mathbb{R} $组成的深度集成,大小为$ N $。让$ P_Z(·) = \text{Uniform}(\lbrace 1, \ldots, N \rbrace) $。那么,$ f_\theta(X, z) = g_{\theta_z}(X) $等同于深度集成。

深度集成已被证明在bandit和强化学习环境中提供了认知不确定性的有用表示[18, 24]。它们甚至在离线推荐系统环境中展示了良好的性能[36]。然而,它们的主要缺点是巨大的计算开销。计算资源与集成的大小成线性扩展。集成通常需要大约100个粒子才能有效工作,这个数字在每个基础模型都在Facebook推荐系统的规模上运行时,计算上是不可行的。因此,我们省略了与集成的实验,转而使用Epinet,这是一种承诺在没有集成级计算资源的情况下提供集成级性能的方法[22]。

5.2 Epinet

最近的工作表明,Epinet[22]能够在只有一小部分计算开销的情况下,实现与数百个粒子的深度集成相当的性能。我们在本节详细介绍Epinet的设计和实现。

为了将Epinet集成到Meta现有的冷启动检索模型中,我们对[22]和[37]的原始大纲进行了一些轻微的修改。系统由两个神经网络组成:一个用户塔$ g^u_{\gamma_u} $,参数为$ \gamma_u $,和一个item塔$ g^i_{\gamma_i} $,参数为$ \gamma_i $。系统在几个监督信号上进行训练,如点赞、分享等。让$ K $表示这样的信号数量。

item塔接受item的原始特征$ \phi_{t,a} $并输出嵌入向量$ g^i_{\gamma_i}(\phi_{t,a}) \in \mathbb{R}^d $。与此同时,用户塔接受用户上下文的原始特征$ \theta_t $并输出嵌入矩阵$ g^u_{\gamma_u}(\theta_t) \in \mathbb{R}^{d \times K} $。

这些用户和item嵌入被输入到一个包含Epinet的上层模型中。上层模型由一个基础mlp和Epinet组成。基础mlp$ g_\theta $由可训练参数$ \theta $组成,但不依赖于采样的认知索引$ z $。与此同时,Epinet$ \sigma_\beta $由可训练参数组成,并接受输入采样的认知索引$ z $。基础mlp和Epinet都接受作为输入的连接的用户和item嵌入,以及由item嵌入与$ K $个用户嵌入的连接元素乘积组成的交互项。因此,对于所有的$ t $,输入因此是一个向量$ x_t \in \mathbb{R}^{d(2K+1)} $。上层模型的输出如下:

\[f_{\theta,\beta}(x_t, z_t) = g_\theta(sg[x_t]) + \sigma_\beta(sg[x_t], z_t),\]

其中$ sg[\cdot] $表示停止梯度。停止梯度已被观察到可以改善训练稳定性[22]。

Epinet的加法形式受到两个因素的激励:1) 功能性不确定性估计和2) 高效的不确定性估计。功能性不确定性估计强调神经网络不确定性不是在模型参数上,而是在参数诱导的函数上。这是一个重要的区分,因为许多不同的参数排列导致相同的函数(例如神经元的适当排列)。如果Epinet小于基础模型,并且评估几个认知索引$ z_1, \ldots, z_n $的计算可以批量处理,那么高效的不确定性估计是可能的。对于MC dropout、深度集成和BNNs等方法,模型的禁止大小和/或无法执行批量计算使得不确定性计算变得繁重。我们现在提供Epinet的更多架构细节。

5.3 先验网络

在文献中,通常将Epinet进一步划分为可学习组件和称为先验网络的固定组件[22, 37]。Dwaracherla等人[7]已经证明,对于深度集成,先验函数在低数据环境中显著优于普通的深度集成[16]。具体来说,如果$ x_t $表示Epinet输入,$ z_t $表示认知索引,那么Epinet的形式如下:

\[\sigma_\beta(x_t, z_t) = \sigma_L^\beta(x_t, z_t) + \sigma_P(x_t, z_t)\]

我们假设Epinet产生标量输出,并且$ z_t $ i.i.d. $ \sim N(0, I_d) $。虽然嵌入在几个标签(如点赞、分享等)上进行训练,但在我们的实验中,我们将Epinet的训练限制为只有一个标签。我们注意到先验网络是不可训练的。

在深度集成和Epinet中,这些先验函数似乎是确保所代表分布中足够初始多样性($ z $的变异性)的关键算法补充。Epinet的架构选择相当奇特,但它从线性bandit中汲取灵感。[23]提供的扩展到神经网络是特别的,但他们仍然展示了良好的性能。推导出更适当的softmax/sigmoidal输出形式是未来工作的潜在方向。

可学习网络是一个标准的多层感知器(MLP),具有Glorot初始化:

\[\sigma_L^\beta(x_t, z_t) = \text{mlp}_\beta([x_t, z_t])^T z_t\]

其中mlp_\beta返回一个在$ \mathbb{R}^{d_z} $中的输出,$ [x_t, z_t] $是$ x_t $和$ z_t $的连接。与此同时,先验网络的典型选择包括从与$ \sigma_L $相同的架构中采样的$ \sigma_P $,但具有不同的参数初始化。

5.4 模型训练

让$ a \in A $表示由动作$ A_t $选择的item,让$ y_{t+1} $是向用户$ \theta_t $展示item$ a $的结果相关的标签。我们假设$ y_{t+1} \in [0, 1]^K $,并且我们让$ \tilde{y}_{t+1} \in [0, 1] $表示我们提供给Epinet的单个任务标签。然后我们从$ N(0, I_d) $中采样一个单一的认知索引$ z_t $。

损失函数$ L $定义为:

\[L(\gamma_u, \gamma_i, \theta, \beta, \phi_{t,a}, \theta_t, z_t) = \sum_{k=1}^K \text{BCE}(y_{t+1,k}, g^i_{\gamma_i}(\phi_{t,a}) \cdot g^u_{\gamma_u}(\theta_t)_k) + \text{BCE}(\tilde{y}_{t+1}, f_{\theta,\beta}(x_t, z_t))\]

其中:BCE表示二元交叉熵。在实践中,我们采样一个动作的小批量,并在取梯度步骤之前在小批量上平均损失。

图片名称

图1

5.5 Epinet汤普森采样算法

有了上述细节,我们现在介绍Epinet汤普森采样算法。注意,先验分布由涉及的各个神经网络的初始参数表示。对于Epinet,这个先验是神经网络函数上的分布。从这个分布中采样涉及首先从参考分布中采样一个认知索引$ z_t $,然后保持$ z_t $固定进行前向传播。与此同时,通过梯度下降在目标上执行近似后验更新。在下一节中,我们概述了我们在冷启动检索中使用Epinet汤普森采样的在线实验细节。

5.6 推荐流程

Facebook Reels推荐系统涉及多个阶段,在这些阶段中,推荐提案被生成、汇集,然后排名,之后才提供给用户。由于我们的item探索内容冷启动,我们的方法在推荐的提案阶段运作。在提案呈现给排名器之前,它们会与其他来源的提案混合,这些来源将运行自己的独立推荐算法。因此,即使我们的算法向特定用户推荐了某个内容,除非排名器预测我们的内容比其他来源的内容更有前景,否则它也不会被提供给该用户。然而,为了减轻流行度偏见,为冷启动内容设置了配额。将Epinet应用于推荐排名阶段的应用仍然是未来研究的一个有趣方向。

图片名称

图2

6 实验

我们进行了为期5天的在线A/B测试,以测试我们提出的方法的有效性。对于上下文bandit实验,这是一个标准持续时间,因为结果不需要很长时间就能收敛。我们在每天服务数亿用户的Facebook Reels推荐系统上运行我们的测试。我们的方法应用于推荐的检索阶段。我们部署实验的生成器每天服务约1.2亿用户。对于测试和控制组,我们分配了约1200万用户的组。

6.1 实施细节

用户/item嵌入被训练以最小化4个不同任务的损失:观看分数(ws)、点赞、分享和视频观看秒数(vvs)。观看分数定义如下:

\[ws = \begin{cases} 1 & \text{如果视频长度 < 10秒且用户多次完成视频观看} \\ 0.5 & \text{如果视频长度 ≥ 10秒且 < 20秒且用户完成视频观看} \\ 0.1 & \text{如果视频长度 ≥ 20秒且用户观看至少20秒} \\ 0 & \text{其他情况} \end{cases}\]

点赞和分享是二进制信号,如果用户点赞/分享视频则为1,否则为0。视频观看秒数定义如下:

\[vvs = \begin{cases} 0 & \text{如果视频观看时间 < 10秒} \\ \frac{9}{10} & \text{如果视频观看时间 ≥ 10秒且 < 20秒} \\ \vdots & \vdots \\ 1 & \text{如果视频观看时间 ≥ 90秒} \end{cases}\]

虽然用户和item嵌入在上述4个标签上进行训练,但上层模型仅在ws上进行训练。控制组仅保持点估计,不包括上层组件。因此,它被训练以最小化上述信号的BCE损失,并根据其当前点估计贪婪地推荐内容。两个模型每小时训练一次,从最近的检查点初始化。它们在所有其他生成器聚合的新数据池上进行训练。因此,我们的算法对聚合池的数据贡献非常微小。这引发了两个问题1)处理组之间的数据泄露,2)我们的方法收集的数据被其他生成器的数据稀释。然而,在检查后,每个用户的嵌入差异足够大。因此,1)没有跨处理组的用户之间有意义的泛化,2)由于其他生成器的数据在嵌入空间中足够不相交,因此对稀释的担忧较小。我们假设这些是我们的方法尽管有上述担忧,但我们观察到显著性能改进的原因。

每个嵌入的维度为$ d = 128 $,认知索引的维度为$ d_z = 5 $。在上层模型中,我们对Epinet和基础mlp使用2隐藏层MLP,隐藏维度分别为[384, 256],使用Glorot初始化。如前所述,我们仅对训练和推理采样单一认知索引。

6.2 实验结果

我们现在概述在线实验的结果。如果推荐在用户的屏幕上显示至少250毫秒,则计为“展示”。由于我们对冷启动内容的性能感兴趣,我们衡量展示次数少于10000的内容的性能。我们进一步通过视频展示次数桶[0:100, 100:200, 200:400, 400:1000, 1000:2000, 2000:3000, 3000:4000, 4000:5000, 5000:10000]对性能进行分层统计。我们报告了上述3个效率指标的改进:每次展示的点赞数、每次展示的视频完成数和每次展示的观看分数。视频完成是1如果用户观看了整个视频,否则为0。

图3、图4和图5显示了我们的Epinet算法与对照组相比在各种上述效率指标上的百分比变化。我们为每个指标和展示次数桶绘制了95%的置信区间。因此,如果误差条没有穿过0,则变化是显著的。图3展示了每次展示的点赞数的大幅改进,特别是对于展示次数较低的内容。这表明,通过智能探索,系统可以更可靠地探索冷启动内容,并提供用户喜欢的视频。图4展示了每次展示的视频观看完成数的显著改进,表明Epinet算法成功地能够推荐用户喜欢到足以观看完成的内容。

图片名称

图3

图片名称

图4

图片名称

图5

最后,我们分析了我们的方法如何在展示次数桶之间重新分配推荐。图6显示了我们的方法极大地提高了展示次数较少内容的展示次数,并适度地从展示次数较多的内容中吸引流量。我们还注意到,我们的方法在所有展示次数的内容聚合时展示了总体17%的展示次数提升。

这项实证调查的结果表明,将Epinet应用于近似汤普森采样可以在在线生产系统中提供具体的改进。

#

https://arxiv.org/pdf/2412.04484