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应用于近似汤普森采样可以在在线生产系统中提供具体的改进。
#