介绍

在preranking阶段除了SSB问题外,我们也假设:ranking和preranking的目标是不同的。ranking的专业是选择top items,会对preranking outputs内的顺序进行reranking,并决定最终的输出。而preranking阶段的主要目标是:返回一个最优的无序集合(unordered set),而非一个关于items的有序列表。基于以上分析,在taobao search上做了在线和离线实验,重新思考了preranking的角色,并重新定义了preranking的两个目标:

  • 高质量集合(High quality set):通过解决在preranking candidates上的SSB问题,来提升output set的质量
  • 高质量排序(High quality rank):为了获得ranking在output set上的一致性,确保高质量items可以在ranking中获得更高得分,并被曝光给用户。

然而,同时最大化两个目标是不可能的。第一个目标最重要,是一个preranking模型必须要追求的目标。第二个目标,只要确保output set集合的质量不会下降就能满足它。换句话说,当模型达到帕累托边界(Pareto frontier),通常在整个output set的质量和它的内部排序(inside rank)间存在一个“跷跷板效应(Seesaw Effect)”:在不涉及更多在线计算的情况下,当prerank更关注于整个set时,它的output set内的排序会变差。相似的,当拟合ranking并提升它的内部AUC时,整个output set的质量会变差。这也是为什么AUC与在线业务指标不一致的原因。我们会在第4节中详述。

已经存在的离线评估指标(比如:AUC)可以对preranking能力(第二个目标)进行measure。然而,AUC会衡量一个有序item list的质量,不适合于评估输出的无序集合的质量。没有一个metric可以有效评估第一个目标。尽管在工业界存在一些研究者,尝试提升output set的质量,他们没有提供一个可靠的离线评估metric来衡量该提升。实际上,大多数公共策略是通过在线A/B testing进行衡量效果提升。然而,在线评估开销巨大,并且时间成本高,因为它通常要花费许多周来获得一个可信的结果。在本文中,我们提出了一个新的evaluation metric,称为:全场景Hitrate(ASH:All-Scenario Hitrate),用来评估preranking模型的outputs的质量。通过对在ASH与在线业务指标间的关系进行系统分析,我们会验证该新离线指标的效果。为了达到我们的目标,我们进一步提出一个基于全场景的多目标学习框架(ASMOL:all-scenario-based multiobjective learning framework),它会显著提升ASH。令人吃惊的是,当输出上千items时,新的preranking模型效果要好于ranking model。该现象进一步验证了preranking阶段应关注于:输出更高质量集合,而不是盲目拟合ranking。在ASH上有提升,会与在线提升相一致,它会进一步验证:ASH是一个更有效的离线指标,并在taobao search上获得一个1.2%的GMV提升。

总结有三:

  • preranking的两个目标的rethinking。
  • 提出了一个ASMOL
  • 展示了ASH与在线业务指标间的相关性

2.相关工作

。。。

3.preranking的评估指标

考虑到第1节中提的两个目标,我们首先分析已存在的AUC指标,以及第第3.2/3.3节中的hitrate@k。再者,我们会引入一个新的离线指标,称为ASH@k。在第3.4节中,我们会分析在taobao search中每个stage的当前能力,并使用我们的新指标来演示:如何使用新metric来分析一个multi-stage的电商搜索系统。

3.1 问题公式

在本节中,我们首先将preranking问题和数学概念进行公式化。假设:

  • \(U = \lbrace u_1, \cdots, u_{\mid U \mid}\rbrace\):表示user与它的features一起的集合。User features主要包含了用户行为信息(比如:它的点击items、收藏items、购买items、或者加购物车的items)
  • \(Q = \lbrace q_1, \cdots, q_{\mid Q \mid} \rbrace\):表示搜索queries以及它的相应分段(segmentation)的集合。
  • \(P=\lbrace p_1, \cdots, p_{\mid P \mid}\rbrace\):表示products(items)以及它的features的集合。Item features主要包含了item ID,item统计信息,items卖家等。

\(\mid U \mid, \mid Q \mid, \mid P \mid\)分别是users、queries、items的去重数。

当一个user u提交一个query q时,我们将在matching output set中的每个item \(p_t\)与user u和query q组合成一个三元组\((u, q, p_t)\)。preranking models会输出在每个三元组上的scores,通常会从matching的output set上根据scores选择topk个items。正式的,给定一个三元组\((u, q, p_t)\),ranking model会预估以下的score z:

\[z = F(\phi(u, q), \psi(p))\]

…(1)

其中:

  • \(F(\cdot)\)是score funciton
  • \(\phi(\cdot)\):user embedding function
  • \(\psi(\cdot)\):item embedding function

在本文中,我们会遵循vector-product-based的模型框架,并采用cosine相似度操作\(F(\cdot)\)。

3.2 ranking stage的一致性

考虑ranking系统在工业界的离线指标,AUC是最流行的。以taobao search为例,AUC会通过曝光进行计算。由于taobao search的目标是有效提升交易,ranking stage主要考虑购买作为曝光上的正向行为,并关注一个被购买item的likelihood要高于其它items的序。因此,taobao search中的items的最大数目被设置为:每次请求10个,我们使用购买AUC(Purchase AUC)at 10(PAUC@10)来衡量排序模型的能力。作为结果,PAUC@10通常也会被用在preranking中(与ranking中的相似),可以衡量在线排序系统的一致性。

3.3 output set的质量

最近的preranking工作很少使用任意metric来评估整个output set的质量。评估output set的一个评估指标是:hitrate@k(或:recall@k),它会被广泛用于matching stage中。hitrate@k表示:模型对target items(点击或购买)是否在candidate set的top k中。正式的,一个\((u, q)\) pair,它的hitrate@k被定义如下:

\[hitrate@k = \frac{\sum\limits_{i=1}^k 1(p_i \in T)}{|T|}\]

…(2)

其中:

  • \(\lbrace p_1, \cdots, p_k \rbrace\):表示了由preranking model返回的top k items,
  • T:表示包含了\(\mid T \mid\)个items的target-item set
  • \(1(p_i \in T)\):当\(p_i\)是target set T时为1,否则为0

当在matching stage中使用该metric时,通常用于衡量一个matching模型的output set的质量(例如:在图1中的Matching 1,非在线的所有matching models的整个output set)。作为对比,当我们通过hitrate@k来评估pre-ranking实验时,离线metrics的结论会与在线业务指标的结论相矛盾。在进一步分析后,我们发现,在hitrate中选择k是一个non-trivial问题。为了准确评估在preranking stage的output item set的质量,k被假设:等于preranking output set的size \(\mid R \mid\)。然而,由于在preranking output set中的items在在线serving期间可以被曝光和被购买,所有正样本(target items)都会在preranking的在线output set中。这会造成当\(k=\mid R \mid\)时,在线preranking model的\(hitrate@k \equiv 1\)。作为结果,离线hitrate@k可以只会衡量在离线模型输出集合与在线输出集合间的不同之处,而非quality。常规的preranking方法,使用\(k << \mid R \mid\)来避免以上问题。\(k << \mid R \mid\)的缺点是很明显的,因为它不能表示整个preranking output set的质量

图片名称

图1 在taobao search中的multi-stage ranking系统

在本工作中,我们一个新的有效评估指标,称为ASH@k。为了创建一个真正表示preranking output set的质量的metric,我们引入来自taobao其它场景(比如:推荐、购物车、广告等)的更多正样本(例如:购买样本)。由于来自其它场景的一些正样本不会存在于preranking在线输出中,他们可以表示与场景无关的用户偏好。在本case中,即使\(k = \mid R \mid\),hitrate@k也不会等于1。由于我们更关心taobao search的交易,我们只会使用来自非搜索场景的购买正样本。为了区分在不同正样本hitrate间的不同,我们称:

  • ISPH@k:In-Scenario Purchase Hitrate@k,只在搜索场景出现的购买样本的hitrate@k
  • ASPH@k:All-Scenario Purchase Hitrate@k,即在其它场景的购买正样本hitrate@k

接着,我们详述了如何引入来自其它场景的正样本。在评估中的一个正样本是一个关于user, query, item的triple:\((u_i, q_j, p_t)\)。然而,在大多数非搜索场景(比如:推荐)不存在相应的query。为了构建搜索的评估样本,我们需要绑定一个非搜索购买\((u_i, p_t)\)到一个相应user发起的请求query \((u_i, q_j)\)上。假设:

  • \(A_u^i\):表示user \(u_i\)在taobao场景上的购买的target-item set
  • \(Q_u\):表示在taobao搜索中的所有queries user搜索

一个直觉方法是:相同的user在queries和购买items间构建一个Cartesian Product,并使用所有三元组\((u_i, q_j, p_t)\)作为正样本,其中:\(q_j \in Q_u\)以及\(p_t \in A_u^i\)。然而,它会引入一些不相关的query-item pairs。例如,一个用户可能在taobao search中搜索“iPhone”,并在其它推荐场景购买了一些水果。生成的该样本中:将“iPhone”作为一个query,同时将”apple(fruit)”作为一个item,我们将它作为在taobao search中的一条正样本是不合适的。为了过滤不相关的样本,我们只能保证相关样本:它的相关分\((q_j, p_t)\)在边界以上。我们称:

  • \(q_k\)为对于全场景pair\((u_i, p_t)\)的一个“相关query”;
  • \(p_t\)是一个全场景”相关item”,可以被绑定到in-scenario pair \((u_i, q_j)\)

再者,我们也会移除重复样本。在该triple中的每个\((u, p)\) pair是唯一的,因此,即使\(u_i\)购买了一个\(p_t\)超过一次,我们只会对使用\((u_i, p_t)\)的triple仅评估一次。

同时,如果我们可以发现:在用户购买行为之前,超过一个相关query,则构建不同的triples,比如:\((u_i, q_1, p_t), (u_i, q_2, p_t), (u_i, q_j, p_t)\),我们只会保留用于评估的最新q的triple。正式的,与等式2相似,对于每个\((u_i, q_k)\) pair,ASPH@k被定义成:

\[ASPH@k = \frac{\sum_{i=1}^k 1(p_i \in A_u^i)}{| A_u^i |}\]

…(3)

其中:\(A_u^i\):表示包含了\(u_i\)在其它场景购买的\(\mid A_u^i \mid\)个items的target-item set,被绑定到query。

3.4 在taobao search中的ASPH

我们展示了在pre-ranking model的pre-generation、提出的pre-ranking model、以及ranking model的离线指标,如图2所示。为了公平对比在pre-ranking stage中的模型能力,所有其它模型都会在该pre-ranking candidates上进行评估。对于pre-generation pre-ranking model,它会使用与ranking model的相同样本,从图中的\(10^5\)到\(10^1\)可以看出,它的模型能力会弱于ranking model。通过对比,当k变大时,提出的preranking model在ASPH@k和ISPH@k上会极大优于ranking。该现象表明:当输出成千上万个items时,提出的preranking模型能力可以胜过ranking。

同时,在图2中,在ASPH@k的结果和ISPH@k的结果间存在一个巨大差异

  • 从ISPH@k metric的视角看:当k小于3000时,ranking model均要胜过preranking model
  • 从ASPH@k指标的视角看:只有当k小于2000时,ranking才会胜过pre-ranking model

在第3.3节所述,我们会argue:ISPH@k得分会表示在offline和online sets间的差异,但不能表示offline集合的质量。由于ranking model的得分决定了最终曝光的items,当使用ISPH@k作为评估指标时,ranking model会具有一个巨大优势

图片名称

图2 在taobao search中的hitrate@k。下图是对上图的放大

为了进一步验证ASPH@k的效果,我们执行一个在线A/B test,它的pre-ranking output分别为2500和3000个items。如果ISPH@k的评估是有效的,那么输出3000个items的preranking的在线业务指标会更高。如果ASPH@k是有效的,那么该结论是相反的。在线结果表明,对比起3000个items的模型,输出2500的preranking具有0.3%的在线30天A/B的交易GMV提升。该实验验证了:ASPH@k是要比ISPH@k在离线评估上是一个更可靠的指标。再者,该实验也表明了preranking可以处理ranking所不能处理的能力,因为reranking output set的size并不是越大越好。相应的,一个preranking应发展它在更高质量outputs上的优点,而不是盲目拟合ranking

4.preranking的优化

尽管拟合ranking会使得一个preranking与ranking更一致,但它对整体preranking的output set的质量贡献很少。本节将讨论我们的用来达到preranking目标的最优化技术,包括训练数据构建、全场景labels、loss functions和distillation。我们首先引入ASMOL preranking,接着分析每个部分,最后通过表明它的效果。

4.1 多目标学习的整体框架

为了同时提升pre-ranking output set的质量以及与ranking的一致性,我们设计了一个新的All-Scenario-based Multi-Objective框架:

  • 一方面,我们将训练样本从曝光扩展到具有全场景label的整个空间训练样本集上,它的目标是提升pre-ranking output set的质量
  • 另一方面,我们设计了一个distillation loss来提升在ranking stage上的一致性

图4和图3分别展示了已有存在的pre-ranking models和我们的模型。

图3

图4

图4展示了一个传统preranking的常见架构。在传统preranking model【8】中的训练样本,包含了一个user、一个query、以及在曝光中的一个item。CTR任务和CVR任务的labels是场景内点击(in-scenario click)和场景内购买(in-scenario purchase)。该preranking系统包含了预估CTR和CVR的两个不同模型,并且最终效果分是CTR*CVR。由于在taobao搜索中前面的generation pre-ranking model会遵循该框架,分别输出CTR score和CVR score,我们称图4中的框架为basline。

作为对比,如图3所示,我们的ASMOL会在query-level训练样本上使用多个目标和多个postive items进行训练。特别的,在每个训练样本中,存在user features、query features和三种类型的items。所有的items会使用相同的可训练参数共享相同的DNN。用于处理每个user、query和item的input features和models结构如附录A所示,它与已存在的preranking models很不同。每个样本包含了在一个query请求中的所有items,以及从在线log系统中抽样得到的ranking和preranking candidates。三种训练样本间的关系如图5所示,定义如下:

  • 曝光(Exposures, EX, 也称为impressions):在一次query请求中曝光的N个items,包括由用户点击或购买的items。这些曝光的items会进行排序,并在所有候选的top,最具最大的概率来满足用户。
  • Ranking候选(RC:Ranking Candidates):由online preranking模型输出的Items,并作为ranking的候选集,它还没有被曝光给用户。我们会通过一个在线日志系统为每个query从上千个RC中抽样M个items。
  • Pre-Ranking候选(PRC:Pre-Ranking Candidates):由preranking系统产生但没有输出的items。我们会通过一个在线日志系统从成千上万个items中抽样L条items。

由于Ranking Candidates和Preranking Candidates在所有目标中都是负例(negatives)。这两种类型的负样本的目标是:在当前preranking系统中解决SSB问题。再者,受【7】的启发,preranking候选会被训练成easy样本,并且Ranking Candidates是相对hard的样本。我们在第4.2节展示了不同样本的必要性。

再者,对于在一条样本中的所有items,我们也会采用三种binary labels,分别对应于三种最优化目标:

  • 全场景购买label(All-Scenario Purchase Label (ASPL)):该label表示:用户是否在任意场景购买了该item。如果用户在当前query(taobao search)购买了该item,或者在其它场景购买了该item,可以被标记成与当前query的一个相关item,purchase label为1。否则,该purchase label为0。
  • 全场景点击label(All-Scenario Click Label (ASCL)): 与ASPL相似,该label表示用户是否在任意场景点击了该item。如果用户在购买它前点击了它,但是点击和购买行为又发生在不同场景导致了冲突的labels,当ASPL为1时,我们会将item的click label设置为1。
  • Adaptive Exposure Label (AEL):该label表示item是否在该taobao search请求中被曝光,它由ranking系统决定。对于曝光来说,该labels为1;其它items为0。另外,当ASCL为1时,我们会将item的曝光label置为1.

为了达到preranking的两个目标,我们会创建一个loss function,它会组合一个ranking loss和一个distillation loss:

\[L = L_{rank} + L_{distill}\]

…(4)

ranking loss \(L_{rank}\)会同时使用三种不同的labels。我们会创建一个具有三个任务的多目标loss function:Purchase、Click、Exposure。我们会为每个任务采用一个新的list-wise loss,并使得正样本的logit要大于负样本。我们的多目标学习框架,目标是通过最大化下面不同类型的正样本得分,来学习下面的importance序:购买items > 点击但未购买items > 未点击曝光 > ranking candidates (RC) 和 pre-ranking candidates (PRC)。我们在4.3节会演示了多目标最优化的必要性。该list-wise loss会在第4.4节讨论。

再者,我们会添加一个auxiliary distillation loss \(L_{distill}\)从来自ranking model(它具有更多features和可训练参数)来学习模型。令人吃惊的是,我们发现:简单将所有训练样本进行distilling并不是最好的方案。ranking model不总是个好teacher,特别是在还没被曝光的样本上。我们会在第4.5节分析该现象。

4.2 整个空间的训练样本

如表1所示,当训练样本包含了曝光、ranking candidates、preranking candidates时,ASPH@3000和在线GMV会被提升。如果preranking模型只使用曝光作为输入,通过从在线log系统中抽样的case分析,我们会发现:它的output set的质量很糟糕。由于仅抽样曝光的(exposure-sample-only)preranking model在训练期间不会看到非曝光样本,在评估时当在preranking candidates中给出样本时它会感到困惑。在该方式下,大多数候选的得分并不令人信服,会导致在output set中出现许多低质量items。

我们进一步探索了不同样本的比例的影响。一些研究者指出,通常一个不同类型负样本【7】的最优比例和一个关于负样本和正样本的最优比例【29】。在我们的多目标框架下,以click目标为例,ASCL等于1的items是正样本,其它是负样本。来自曝光的负样本、ranking candidates到preranking candidates,会变得easy。与click目标相近,购买目标只包含了三种类型的负样本。然而,对于exposure目标,所有的exposure样本是正样本,ranking candidates和pre-ranking candidates是负样本。作为结果,我们发现:即使我们移除了一定比例的非点击曝光,它也会伤害exposure目标,使得ASPH@3000极具下降。同时,从在线log系统中抽样的RC的数目和PRC的数目并不会更大更好。图6详述了:y轴表示,基于在表1中展示的实验“ASMOL w/o RC&PRC”,添加不同candidates数目的离线指标gaps。为最最大化ASPH@3000,我们设置RC的数目和PRC的数目分别为10和40。除此之外,我们可以看到,当RC和PRC小于10和40时,可以看到很明显的“Seesaw Effect”,因为该模型已经达到的Pareto frontier。

另外,由于preranking会使用RC,而ranking则不会使用PRC,这使得preranking不同于ranking。如图2所示,当输出数千items,它天然使得preranking的效果要好于ranking。online A/B test结果也会展示,当ASPH@3000和PAUC@10结论冲突时,ASPH@3000更可信,它与preranking的主要目标和在线业务指标更一致

4.3 在多目标学习中的全场景labels

我们会进行一个消融实验,通过在多目标中移除每个label的相关loss来进行。实验结果如表2所示。当我们移移adaptive exposure label(AEL)时,全场景点击label(ASCL)和全场景购买label(ASPL)会通过分别移除它们相应的loss,评估指标的结论表明:模型效果会急剧下降。exposure label会帮助preranking model学习下流ranking系统的ranking模式,并且我们的结果验证了它的效果。同时,ASCL和ASPL要比AEL具有更少的in-scenario bias,可以给preranking model更精准关于用户偏好的信息。实验结果表明:我们三个losses的组合是合理并且有效的,对于提升preranking models的在线和离线指标有用。

我们也做了许多实验来证验ASL与ISL的对比效果,如表2所示。”->”表示label的变更。例如:”ASL->ISL”表明:ASPL和ASCL同时变更为ISPL和ISCL。我们使用表2中的最后三行来对比在ASMOL间的结果,可以天然下结论:使用ASL会在ASH@k和在线业务指标上更一致。同时,AUC可能会因为“Seesaw Effect”下降。

4.4 multi-positive label的List-wise loss

我们设计了一个多目标loss来同步将exposure、click和purchase在一个模型内进行组合。这三个最优化目标可以进行jointly训练:

\[L_{rank} = \alpha_{ex} L_{exposure} + \alpha_{cl} L_{click} + \alpha_{pur} L_{purchase}\]

…(5)

对于每个任务,我们使用list-wise ranking loss。例如,对于购买任务,ranking loss可以被公式化为:

\[L_{purchase} = \sum\limits_{i \in D} - log \frac{exp z_i}{\sum_{j \in S} exp_{z_j}}\]

…(6)

其中:

  • z是logit
  • S是full training样本集合
  • D是购买任务的正样本集合,包含了exposures、RC和PRC。

等式(6)对于购买任务工作良好,因为通常至多一次query只有一个购买。然而,multi-postive label在点击和曝光任务中是很常见的。等式6对于具有multiple postive样本的任务不再合适。对于一个multi-postive任务,等式(7)的 vanilla Softmax会导致最优化陷入到在多个正样本间的对比,而非正负样本间的对比。受CircleLoss的启发,对于多个postive labels的任务我们会轻微修改等式(6):

\[L_{exposure} = \sum\limits_{i \in \epsilon} - log \frac{exp z_i}{\sum_{j \in \lbrace S \\epsilon,i} \rbrace exp_z_j}\]

…(7)

其中,\(\epsilon\)表示exposure任务的训练样本集合。当存在只有一个正样本时,等式(7)会退化成等式(6)。我们会在附录B详述等式(7)。为了验证在等式(7)中修改的有效性,我们会开展实验对比这两个loss functions,并在table 3中展示该结果。该实验令人吃惊的表明:在所有指标上,multi-label Softmax的效果要好于vanilla Softmax。我们会根据Zheng[29]来调整为每个任务\(\alpha_{ex}, \alpha_{cl}, \alpha_{pur}\)的weights。

表3

4.5 ranking stage的distillation

使用一个已ready的具有更多features和参数的大型ranking模型来蒸馏训练pre-ranking model是很天然的。在taobao search ranking stage中,存在两个独立模型:对应于CTR和CVR预估。在preranking stage,我们使用calibrated CTR和CVR predictions作为teachers来蒸馏我们的preranking model。为了充分利用CTR和CVR模型,preranking distillation loss会是CTR distill、CTCVR distill的组合:

\[L_{distill} = \alpha_{cl} L_{CTR} + \alpha_{pur} L_{CTCVR}\]

…(8)

CTR distillation任务可以进行如下公式化:

\[L_{CTR} = \sum\limits_{i \in D} - p_{CTR} log \frac{exp z_i}{\sum_{j \in D} exp z_j}\]

…(9)

其中:

  • z是preranking model的logit
  • D是要distilled 样本集合
  • teacher \(p_{CTR}\)是ranking CTR model的prediction

相似的,CTCVR distillation的teacher是\(p_{CTR} * p_{CVR}\)。\(p_{CTR} = p(click \mid expose)\)和\(p_{CTCVR} = p(click & purchase \mid expose)\)是在给定相同条件p(expose)=1下的条件概率。由于\(p_{CVR}=p(purchase \mid click)\)不同于\(p_{CTR}\),我们会使用\(p_{CTCVR}\)作为soft label来与\(p_{CTR}\)相一致。CTR distillation的loss weight和CTCVR distillation会分别遵循click task和purchase task的weights。

再者,我们观察到,定义

kuaishou在《Real-time Short Video Recommendation on Mobile Devices》中介绍了它们的beam search方式:

5.实时triggered context-aware reranking

一旦用户观看完一个视频,并生成新的实时ranking信号,我们可以相应更新我们的client-side model predictions,并触发一个新的re-ranking process。给定更新后的model predictions,存在许多方式来决定展示给用户的视频列表。最广泛使用的是point-wise ranking,它会贪婪地通过得分递减方式来对视频排序,然而,point-wise ranking会忽略在候选间的相互影响,因而它不是最优的。

理想的,我们希望:发现候选集合C的最优排列P,它会导致最大化ListReward(LR),定义成:

\[LR(P) = \sum\limits_{i=1}^{|P|} s_i \cdot (\alpha \cdot p(effective\_view_i | c(i)) + \beta \cdot p(like_i | c(i)))\]

…(4)

其中:

\[s_i = \begin{cases} \prod\limits_{j=1}^{i-1} p(has\_next_j | c(j)), && i >= 2 \\ 1, && i = 1 \end{cases}\]

…(5)

其中:

  • \(s_i\):是累积has_next概率直到位置i,它会作为一个discounting factor来合并future reward
  • \(p(has\_next_i \mid c(i)), p(effective\_view_i \mid c(i)), p(like_i \mid c(i))\):分别是在\(v_i\)上has_next、effective_view、like上的predictions
  • \(c(i)\):在等式(1)中定义的ranking context
  • \(\alpha\)和\(\beta\)是不同rewards的weights

然而,直接搜索最优的排列,需要评估每个可能list的reward,它是代价非常高的,由于它是阶乘复杂度\(O(m!)\)(m是candidate set的size)。Beam search是对该问题的常用近似解,它会将时间复杂度减少到\(O(km^2)\),其中k是beam size。然而,二次时间复杂度对于部署在生产环境上仍然过高。幸运的是,不同于server-side reranking的case,我们只需要延迟决定用户在该设备上可能同时看到的下n个视频(图1(a)中所示在我们的沉浸式场景n=1)。在我们的离线实验中(表5),我们观察到,在不同beams间的ListReward的相对不同之处是,在每个search step会随着搜索step的增长而同步递减。因而,我们提出一个新的beam search策略,来选择一个adaptive search step \(n \leq 1 \ll m\),并进一步减小搜索时间复杂度到\(O(klm)\)。

图片名称

图4: adaptive beam search过程演示,其中:候选数n=4,beam size k=2, stability阈值t=0.95,在每个candidate、或candidate list上的数目表示相应的reward

为了实现adaptive beam search,我们定义了一个 stability:在当前的beam search step上将最小的ListReward除以最大的ListReward:

\[stability(score\_list) = \frac{min(score\_list)}{max(score\_list)}\]

…(6)

一旦stability超出了一个给定threshold t,beam search过程会终止,以便节省不必要的计算,由于我们可能期望:在剩余search steps中不会存在大的区别。adaptive beam search过程如图4所示。

算法如算法1所示,它会在导出的TFLite的执行图中被实现。

图片名称

算法1

kuaishou在《Deconfounding Duration Bias in Watch-time Prediction for Video Recommendation》提出了D2Q的模型。

0.摘要

观看时间预测仍然是通过视频推荐加强用户参与度的关键因素。鉴于在线视频的日益流行,这一点变得越来越重要。然而,观看时间的预测不仅取决于用户与视频的匹配程度,而且常常被视频本身的时长所误导。为了提高观看时间,推荐系统总是偏向于时长较长的视频。 在这种不平衡数据上训练的模型面临偏见放大的风险,这误导平台过度推荐时长较长的视频,却忽视了用户的根本兴趣。 本文首次研究了视频推荐中观看时间预测的时长偏差问题。我们采用了因果图来阐明时长是一个混杂因素,它同时影响视频曝光和观看时间预测——第一个效果对视频造成偏见问题,应该被消除,而第二个效果对观看时间的影响来自视频的内在特性,应该被保留。为了去除不希望的偏见同时利用自然效果,我们提出了一个时长去混杂分位数基础(D2Q)的观看时间预测框架,它允许在工业生产系统中进行扩展性应用。通过广泛的离线评估和实时实验,我们展示了这一去混杂时长框架的有效性,显著优于现有的最先进基线。我们已经在快手应用上全面推出了我们的方法,这显著提高了实时视频消费量,因为观看时间预测更加准确。

1.介绍

在线视频消费的兴起促使人们不断努力优化基于互联网的视频点播(VOD)系统的推荐系统,如YouTube以及流媒体播放器,如TikTok、Instagram Reels和快手(见图1的演示)。因此,一个主要目标是提高用户观看视频的时间,即所谓的预期观看时间[7]。观看时间是每个视频观看中存在的密集信号,它关系到平台上的每个用户和视频,并代表了用户注意力的稀缺资源,这是公司竞争的关键。因此,在用户到达时,准确估计候选视频的观看时间至关重要。准确的预测使平台能够推荐可能具有较大观看时间的视频以提高用户参与度,这直接推动了关键的生产指标——日活跃用户(DAU)——从而推动收入增长

图1

观看时间主要受两个因素的影响。众所周知,它主要由用户对视频的兴趣程度决定,并且当完全没有兴趣匹配时,观看时间可以为零[12, 29]。同时,视频本身的时长(即视频的长度)也在决定用户在视频上花费多长时间方面起着重要作用。图2显示用户观看时间与视频时长正相关。因此,标准的观看时间预测模型通常使用时长以及其他视频特征作为特征输入来进行预测[7, 8]。

图2

然而,这种做法不幸地在许多推荐系统中导致了偏见问题。图3展示了由于平台最大化用户观看时间的目标,推荐系统逐渐偏向于时长较长的视频。结果,时长较长的视频可能会被过度曝光,以至于用户真正的兴趣在推荐中被低估。更严重的是,在这种不平衡的数据上训练的模型会由于系统的反馈循环而放大时长偏见[27],这不利于理想推荐中的多样性和个性化。

图3

尽管非常普遍,但与由item受欢迎程度或推荐位置引起的许多其他bias相比,时长bias的探索要少得多[1, 2, 18, 31, 38–40]。为了最大化用户观看时间,推荐系统可能会学习到物理时长和观看时间之间的虚假关联;因此,即使时长较长的视频可能无法很好地匹配用户兴趣,它们也更有可能被展示。另一方面,时长较长的视频通常由于现有的不平衡曝光而拥有更大的样本量,这可能会主导模型学习,使模型性能在不同时长上有所不同。

本文首次研究了观看时间预测中的时长偏见。我们使用了一个有向无环图(称为因果图[20])来表征观看时间预测中关于时长的因果关系,由图4(a)建模。具体来说,时长作为一个混杂因素[20],同时影响观看时间预测和视频曝光。时长对观看时间的第一个效应表明,用户倾向于花更多时间观看本质上物理时长更长的视频,这是一个自然效应,应该被观看时间预测模型捕捉。然而,时长对视频的第二个效应是一个bias项,困扰了许多观看时间预测模型。这种效应表明,时长影响视频印象的可能性,这代表了模型对时长较长视频的不公平偏好,应该被消除。与以往只使用时长作为观看时间预测特征的工作相比,这种对时长效应的明确建模使我们能够去除不希望的偏见,同时保留真正的影响。

为了处理时长偏差,我们遵循后门调整[21]的原则,并对观看时间预测的因果图进行干预,以去除时长对视频曝光的不良影响,如图4(b)所示。我们注意到,时长对观看时间的影响被保留,因为这种关系是内在的,应该在预测中被利用。在操作上,我们将训练数据按照时长等分为若干部分;对于每个时长组,我们学习一个回归模型来预测组内观看时间的分位数,其中label由原始观看时间值和相应组内观看时间的经验累积分布确定。这种分位数预测使得模型参数可以在不同时长组之间共享,带来可扩展性的好处。总的来说,我们总结我们的贡献如下:

  • 观看时间预测中时长偏差的因果表述。我们采用因果图来形式化观看时间预测中被忽视但普遍存在的问题——时长偏差。我们指出时长是一个混杂因素,它同时影响观看时间预测和视频曝光,其中前者是内在的,应该被保留,而后者是偏差,应该被消除。
  • 可扩展性的时长调整。在后门调整的指导下,我们根据时长划分数据,并为每个时长组拟合一个观看时间预测模型,以去除视频曝光上的时长偏差。我们根据时长修改观看时间标签,允许跨组参数共享,并实现可扩展性。
  • 广泛的离线评估。我们在快手应用收集的数据上进行了一系列离线评估,以展示我们的模型相对于现有基线的优势。我们进一步对时长组数进行了消融研究,发现随着组数的增加,我们的模型性能首先提高(得益于时长去偏差),然后下降(由于组内样本量减少导致的估计误差增加)。
  • 在实时实验中的好处。我们进一步在实时实验中实施了我们的方法,以促进快手平台上的视频推荐,表明通过去除不希望的时长偏差,我们的方法提高了观看时间预测的准确性,并与现有策略相比,有助于优化实时视频消费。

3.Watch-Time prediction的因果模型

我们的目标是:当推荐一个视频给某用户时,预估该用户在的watch time。我们会通过一个因果关系图(causal graph)进行公式化:它会将user、video、duration、watch-time、以及推荐系统在watch-time prediction和视频曝光上关于duration的混杂效应(confounding effect),如图4(a)所示:

图片名称

图4 watch-time prediction的因果关系图:U-user、V-video、D-duration、W-watch time。图(a)建模了在视频曝光和watch-time prediction上的confounding effect。图(b)使用backdoor adjustment来 deconfound duration,并移除它在视频上的effect。

  • U:表示user representation,包含了:用户人口统计学(user demographics)、即时上下文(instantaneous context)、历史交互等
  • V:表示video representation,包含了:video topics等
  • D:表示video duration,例如:视频长度
  • W:表示用户花费在观看视频上的时间
  • \(\lbrace U, V \rbrace \rightarrow W\):会捕获在watch-time上的interest effect,它可以衡量用户对该视频有多感兴趣
  • \(D \rightarrow W\):会捕获在watch time上的duration effect,它会建议:当两个视频与用户兴趣相匹配时,更长的视频会接受到更长的watch time
  • \(D \rightarrow V\):表示duration会影响视频的曝光。推荐系统经常会对具有更长duration的视频有不平等的偏好;这样的bias会通过feedback loop会放大,如图3所示。另外,duration会影响模型训练,因为:i) sample size随duration的不同而不同,具有长duration的视频通常具有更大的sample size,这意味着 prediction模型具有更好的performance; ii) 在标准模型(比如:WLR)中,具有不同duraiton的videos会接受到不同sample weights,(它会影响在模型训练时的梯度分配)

图片名称

图3 在11个月上,kuaishou APP每个video duration相应的视频曝光变化。bins以duration的升序进行排序。bin的高度表示在该周期内曝光的差异。出于置信原因,绝对值会被忽略。平台的目标是提升watch time,曝光会偏向于那些具有长duration的视频

明显地,在图4(a)中的causal graph表明:duration是一个会通过两条路径(\(D \rightarrow W, D \rightarrow V \rightarrow W\))影响watch-time的混淆因子。第一条path会建议:duration具有一个与watch time的直接因果关系,它可以通过watch-time prediction被捕获,因为用户趋向于花费更多时间在长视频(对比起短视频)上。然而,第二条path会暗示着:video exposure不希望被它的duration所影响,因而,视频分布会偏向于长视频;如果没有缓解,由于推荐系统的feedback loop,predictions会面临着bias amplification的风险

4.Duration Bias的后门调整(backdoor adujstment)

在本节中,我们会根据backdoor adjustment的原则来对duration进行解混淆(deconfound),其中:我们会移除来自duration的bias,但会保留来自在watch time上duration的效应。我们提出了一个可扩展的watch-time prediction框架:时长解混淆&基于分位的方法(Duration-Deconfounded and Quantile-based (D2Q)),主要内容有:

  • i) 将数据基于duration进行划分来消除duration bias
  • ii) 拟合watch-time 分位,而非原始值;来保证参数可以距多个groups进行共享以便扩展

我们将我们的training和inference过程分别归纳在算法1和算法2中。

图片名称

算法1

图片名称

算法2

4.1 解混淆Duration

根据do计算,通过移除edge:D -> V,我们会block掉在视频曝光上的duration effect,如图4(b)所示。我们将watch-time prediction模型看成是 \(E[W \mid do(U,V)]\),并且有:

\[\begin{align} E[W \mid do(U,V)] & \overset{i}{=} E_{G_1} [W | U,V] \\ & \overset{ii}{=} \sum\limits_d P_{G_1} (D = d | U, V) E_{G_1} [W | U,V,D = d] \\ & \overset{iii}{=} \sum\limits_d P(D=d) E[W| U,V,D = d] \end{align}\]

…(1)

其中:

  • (i)是总期望;
  • (ii)是因为D独立于\(\lbrace U,V \rbrace\),干预会移除在graph \(G_1\)中的边\(D \rightarrow V\);
  • (iii)是因为:这样的干预不会改变W在条件{U,V,D}上的W分布,D的间隔分布仍会相同

等式(1)阐明了deconfound duration的设计:你可以独立估计\(P(D)\)和\(E[W \mid U,V,D]\),接着将他们组合在一起来构建最终的estimation。在本paper中,我们提出将duration分布P(D)离散化成不相交的groups,并拟合group-wise watch-time预估模型\(E[W \mid U,V,D]\)来完成估计。

4.2 基于Duration分位数的Data-Splitting

我们现在会展示一个使用duration deconfounded来估计watch-time的通用框架,如图4(b)所描述。更高层的思路是:将数据基于duration进行划分,并构建group-wise watch-time estimation以便在视频曝光上对duration进行debiase

特别的,为了阻止 边D -> V,我们基于duration分位数将训练样本进行划分成M个相等的部分,它可以将分布P(D)离散化成不相交的部分。假设:\(\lbrace D_k \rbrace_{k=1}^M\)是这些duration groups。继续(1)中的派生,我们通过下面近似来估计deconfounded model \(E[W \mid do(U,V)]\):

\[\begin{align} E[W \mid do(U,V)] & = \sum\limits_d P(D = d) E[W | U,V,D = d] \\ & \approx \sum\limits_{k=1}^M 1 \lbrace d\in D_k \rbrace E[W | U,V,D \in D_k] \\ & = \sum\limits_{k=1}^M 1\lbrace d \in D_k \rbrace f_k (U, V) \end{align}\]

…(2)

这里我们提供了一个关于“为什么这样的基于duration的数据划分过程,可以解缓图4(a)中边D->V的bias问题”的直觉解释。在标准的watch-time预估模型(如:WLR)中,具有长watch-time weights的样本会在梯度更新中采样更多,因而预估模型经常在短watch-time的样本上表现很差。Watch-time是与duration高度相关的,如图2所示。通过基于duration进行数据划分,并将模型以group-wise方式拟合,我们可以在模型训练期间,缓和那些具有长watch-time的样本、以及具有短watch-time的样本的inference。

图片名称

图2 根据duration在视频上的60分位的watch time。阴影区(spanned area)表示watch-time的99.99%置信区间

然而,这样的data-splitting方法会抛出另一个问题。如果对于每个duration group \(D_k\)我们拟合一个单独的watch-time prediction模型\(f_k\)(如图5(a)所示),model size会变得更大,这在真实生产系统中是不实际的。但如果我们允许在duration groups间进行参数共享,使用原始watch-time labels进行拟合等价于没有data-splitting的学习,这在duration deconfounding上会失败。下面部分会解释:如何通过将原始watch-time labels转换成duration-dependent watch-time labels来解决该窘境,并允许我们同时移险duration bias,并维持模型参数的单个集合来获得可扩展性。

图片名称

图5 对于在每个duration group预计watch-time的不同模型结构,例如:\(\hat{\phi}_k(h(u,v))\)。

  • 图(a)会拟合独立的模型来预估每个duration group的watch time。“dense input”指的是:视频历史统计数(例如:historical show count, empirical watchtime)等。“ID input”指的是ID features(例如:user id, video id)和categorical features(例如:video类目、用户性别)
  • 图(b)会拟合跨所有duration groups的单一模型,其中watch-time分位数的labels会通过在相应的duration group中的watch-time empirical distribution计算得到
  • 图(c)会进一步使用网络结构中的duration信息,并相应地提升watch-time estimation

4.3 每个Duration Group估计Watch-time

接着,我们描述了如何使用来自所有duration groups的数据来拟合单个watch-time prediction模型。回顾下我们的设计有两部分:

  • i) duration debiasing
  • ii) 参数共享

问题的关键是:将watch-time label转换成duration-dependent,通过根据不同duration group拟合watch-time分位数来实现,而非原始values。我们会引入Duration-Deconfounded Quantile-based (D2Q) watch time预估框架。

\({\widehat{\phi}}_k (w)\):表示在duration group \(D_k\)中关于watch-time的经验累计分布(empirical cumulative distribution)。

给定一个user-video pair (u,v),D2Q方法会在相应的duration group中预估它的watch-time分位数,接着使用\(\hat{\phi_k}\)将它映射到watch time的值域中(value domain)。也就是说:

\[f_k(u, v) = \widehat{\phi}_k^{-1} (h(u, v))\]

…(3)

其中:h是一个watch-time分位数预估模型,它会拟合在所有duration groups上的数据:

\[h = \underset{h'}{argmin} \sum\limits_{\lbrace (u_i, v_i, w_i)\rbrace_{i=1}^n} (h'(u_i, v_i) - \widehat{\phi}_{k_i}(w_i))^2\]

…(4)

其中:

  • $k_i$是样本i的duration group,以便$d_i \in D_{k_i}$。

你可以应用任意现成的regression模型来拟合分位数预估模型h,并维护在所有duration groups间单个模型参数集

接着,在inference阶段,当一个新的user-video pair $(u_0, v_0)$到达时,模型会首先发现:视频$v_0$会属于哪个duration group $D_{k_0}$,接着将watch-time quantile预估$h(u_0, v_0)$映射到watch-time值$\widehat{\phi}_{k_0}^{-1}(h(u_0, v_0))$上。我们会在算法1和算法2上总结learning和inference过程。

在该方式下,D2Q会拟合那些是duration-dependent的labels。我们注意到:video duration会是model input的一部分,会将来自不同duration groups的不同样本进行输入,如图5(b)所示。另外,来自不同duration groups的样本会共享关于watch-time quantile的相同的label,但具有不同的特性——一个模型在跨groups学习watch-time quantile时会失败。为了完全利用duration information,你可以在模型结构中额外包含一个duration adjustment tower(比如:ResNet),我们在图5(c)中将它称为Res-D2Q。第5节演示了Res-D2Q会在D2Q之上进一步提升watch-time prediction accuracy。

对应于duration的watch-time labels的转换,允许在跨duration groups间同时进行 deconfounding duration bias和 parameter sharing。然而,随着duration groups的数目增加,group sample size会抖动,每个duration group的watch-time的经验累计分布(he empirical cumulative distributio)也会逐渐偏离它的真实分布。因此,由于 deconfounding duration的好处,模型效果应首先使用duration-based data-spliting来进行提升;接着,随着f duration groups数目的增长,经验时长分布(empirical watch-time distribution)的estimation error会主宰着模型效果,使它变得很糟。第5节会经验性地使用一系列实验来调整效果变化。

5.实验结果

在这一部分,我们提供实证证据来展示我们的方法在真实世界数据和实时实验中的效果。广泛的离线评估表明,我们的方法通过提供更准确的观看时间预测,超越了现有的基线,以至于预测值所引导的排名顺序更接近理想的排名。我们注意到,随着平台的目标是提高用户观看时间,与真实的观看时间值相比,排名在实际推荐视频时通常更受重视。此外,通过将我们的方法整合到短视频平台的推荐系统中,我们发现与替代方案相比,它有效地改善了实时视频消费,这得益于它能够基于优化的观看时间预测生成更好的候选视频排名。

5.1 离线评估

我们首先在从真实应用中收集的离线数据上评估我们的方法和其他基线。 特别是,我们感兴趣的是:

  • (i)去混杂duration对观看时间预测有何贡献?;
  • (ii)duration组的数量如何影响我们模型的性能?

5.1.1 数据。

我们使用了从快手App的在线推荐系统收集的生产数据。由于全屏Feed推荐的特性,收集样本中的每个视频都已向用户展示,并与用户观看时间相关联(如果用户立即滚动到下一个视频,则可能接近零)。具体来说,对于图4所示的因果图,我们有:

  • 用户表示U:用户即时上下文(如地点、时间和设备)、静止上下文(如果可用,如人口统计信息)以及编码他/她兴趣的历史互动。
  • 视频表示V:视频主题信息、相应的视频创作者信息以及与其它用户的先前交互。
  • durationD:视频的长度。
  • 观看时间W:用户观看的时间。

所有评估的算法共享相同的输入特征。总共,我们有 1,211,885,691 个样本用于训练,134,653,965 个样本用于测试,统计数据总结在表1中。

5.1.2 方法。

我们关注以下方法:

  • VR(价值回归)。这种方法通过最小化预测值与实际观看时间之间的均方误差损失,直接预测观看时间值。
  • WLR(加权逻辑回归)[7]。这种方法拟合一个加权逻辑回归模型,并使用学习到的赔率作为预测的观看时间。由于我们的情况中没有不感兴趣的视频,我们根据观看时间是否超过经验观看时间分布的 ( q60 ) 分位数来确定二元标签,该分布是在所有训练样本上计算的。按照[7],正样本按观看时间加权,负样本接收单位权重。附录A详细说明了这种方法。
  • D2Q(我们的)。如第4.3节所述,这种方法(i)基于duration分割数据;(ii)拟合一个回归模型——其架构如图5(b)所示——通过均方误差损失估计观看时间分位数。然后,预测的分位数被映射到观看时间值域——基于组内的经验观看时间分布——以输出最终的观看时间估计。
  • Res-D2Q(我们的)。这种方法通过改进D2Q并按照ResNet的设计将duration纳入模型网络层,进一步利用duration信息。模型架构如图5(c)所示。

所有算法共享相同的网络架构,除了基于分类的算法WLR和分位数预测算法D2Q和Res-D2Q,我们通过Sigmoid函数重新调整输出,使其在[0, 1]范围内;对于Res-D2Q,我们在最后一层添加了一个残差多层感知器(MLP)进行duration调整,以帮助模型区分来自不同duration组的样本。附录B详细说明了网络架构的细节。对于我们这两种去混杂duration的算法D2Q和Res-D2Q,我们改变duration组的数量,范围在[1, 10, 20, 30, 50, 100]之间,以研究其对模型性能的影响。

5.1.3 指标。

我们考虑以下性能指标:

  • MAE(平均绝对误差),它衡量预测值与真实值之间的平均绝对误差
\[MAE = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|, \quad (5)\]

其中:$ y_i$ 和 $ \hat{y}_i$ 分别是样本i的真实值和预测值。

  • XAUC,这是对 AUC(Area Under the Curve)的扩展到密集值。对于一对样本,如果两个视频的预测观看时间值的顺序与真实情况相同,我们给分1,反之则给分0。我们从测试集中均匀地抽取这样的样本对,并将这些分数平均作为XAUC。直观上,XAUC衡量预测观看时间所引起的排名与理想排序的一致性。更大的XAUC值表明模型性能更好。

  • XGAUC,这是按用户计算 XAUC 然后按用户样本大小成比例加权平均分数。更大的 XGAUC 值表明模型性能更好。

我们指出,像 XAUC 和 XGAUC 这样的与排名顺序相关的指标在实际应用中通常比 MAE 测量的绝对值精度更受重视,因为平台是根据预测值的排名生成推荐。

5.1.4 结果-I:整体性能。

表2显示了不同方法在不同duration组数下的性能。请注意,VR(视频排名)和WLR(加权线性回归)没有数据分割,因此我们将它们的结果呈现在组数等于一的行中;当只有一个组时,Res-D2Q(调整后的D2Q)等同于D2Q,因为所有样本共享相同的duration调整,因此我们在那里省略了Res-D2Q的结果。我们的方法D2Q和Res-D2Q在30个duration组的情况下,在所有指标XAUC、XGAUC和MAE上达到了性能的峰值。特别是,通过在模型架构中进一步利用duration信息,Res-D2Q能更好地区分不同duration组的样本,因此在大多数情况下优于D2Q。当没有数据分割时,D2Q(直接拟合观看时间分位数)与LR(拟合观看时间值)的性能相当。然而,一旦数据根据duration进行分割,D2Q在任何实验的duration组数下都比LR生成更准确的预测,这证实了我们按duration分割数据以消除duration影响的有效性。

5.1.5 结果-II:duration组数的影响。

图6绘制了我们的方法D2Q和Res-D2Q在不同duration组数下的XGAUC值。当没有数据分割时,这两种方法彼此等效。一旦数据被分割以消除duration的影响,通过改进的网络架构和duration信息,Res-D2Q优于D2Q。随着duration组数的增加,性能首先提高,这是通过数据分割消除duration影响的优点,然后随着样本大小的减少,由于经验观看时间分布估计误差的增加,性能开始下降。这种观察与第4.3节中的讨论一致。

#

Bo Li等在《Equalized Focal Loss for Dense Long-Tailed Object Detection》提出了EFL。

3. 方法论

3.1 重新审视Focal Loss

在单阶段检测器中,Focal Loss[28]是广泛使用的解决前景-背景不平衡问题的解决方案。它重新分配了easy样本和hard样本的损失贡献,极大地削弱了大多数背景样本的影响。二元分类的Focal Loss公式为:

\[FL(p_t) = -\alpha_t (1 - p_t)^{\gamma} \log(p_t) \quad (1)\]

如[28]中所述,

  • $ p_t \in [0, 1]$ :表示对象候选的预测置信度分数,
  • $ \alpha_t$: 是平衡正样本和负样本重要性的参数。
  • 调节因子$ (1 - p_t)^{\gamma}$: 是Focal Loss的关键组成部分。

它通过预测分数$ p_t$ 和聚焦参数$ \gamma$ 减轻easy样本的损失,专注于hard样本的学习。如[23]中提到的,大量负样本容易被分类,而正样本通常较困难。因此,正样本和负样本之间的不平衡可以大致看作是easy样本和hard样本之间的不平衡。聚焦参数$ \gamma$ 决定了Focal Loss的效果。可以从公式(1)得出,较大的$ \gamma$ 将大大减少大多数负样本的损失贡献,从而提高正样本的影响。这一结论表明,正样本和负样本之间的不平衡程度越高,预期的$ \gamma$ 值就越大。

当涉及到多类别情况时,Focal Loss应用于由sigmoid函数转换的输出logits上的C个分类器。C是类别的数量,这意味着一个分类器负责一个特定类别,即一个二元分类任务。由于Focal Loss用相同的调节因子平等对待所有类别的学习,它未能处理长尾不平衡问题(见表2)。

3.2 均衡Focal Loss公式

在长尾数据集(例如LVIS)中,除了前景-背景不平衡问题外,单阶段检测器的分类器还受到前景类别之间的不平衡问题的影响。

图片名称

图2 在LVIS v1 [12] 训练集分割和COCO [29] trainval35k分割中,正样本与负样本数量的比率。为了更好地可视化,我们展示了比率的对数值,并将COCO的80个类别与LVIS的1203个类别对齐。我们采用ATSS [47]作为样本选择策略,以区分前景样本和背景样本。

如图2所示,如果我们从y轴观察,正样本与负样本比例的值远小于零,这主要揭示了前景和背景样本之间的不平衡。这里我们将比例的值称为正负不平衡度。从x轴观察,我们可以看到不同类别之间的不平衡度存在很大差异,这表明了前景类别之间的不平衡。显然,在平衡的数据分布(例如COCO)中,所有类别的不平衡度都是相似的。因此,使用相同的调节因子对所有类别在Focal Loss中是足够的。相比之下,在长尾数据情况下,这些不平衡度是不同的。稀有类别比频繁类别遭受更严重的正负不平衡问题。如表1所示,大多数单阶段检测器在稀有类别上的表现比在频繁类别上差。这表明,相同的调节因子不适合所有具有不同程度正负不平衡问题的情况。

聚焦因子。基于上述分析,我们提出了均衡Focal Loss(EFL),它采用与类别相关的聚焦因子来分别解决不同类别的正负不平衡问题。我们将第j个类别的损失公式化为:

\[EFL(p_t) = -\alpha_t (1 - p_t)^{\gamma_j} \log(p_t) \quad (2)\]

其中:

  • $ \alpha_t $ 和 $ p_t $ 与Focal Loss中的相同。
  • 参数 $ \gamma_j $ 是第j个类别的聚焦因子,它在Focal Loss中扮演与 $ \gamma $ 相似的角色。

如3.1节所述,不同的 $ \gamma $ 值对应不同程度的正负不平衡问题。

我们采用较大的 $ \gamma_j $ 来减轻稀有类别中的严重正负不平衡问题。对于轻微不平衡的频繁类别,较小的 $ \gamma_j $ 是合适的。聚焦因子 $ \gamma_j $ 被分解为两个部分,具体是一个类别不可知参数 $ \gamma_b $ 和一个类别特定参数 $ \gamma_{jv} $:

\[\gamma_j = \gamma_b + \gamma_{jv} = \gamma_b + s \frac{1 - g_j}{1 + g_j} \quad (3)\]

其中:

  • $ \gamma_b $ 表示在平衡数据场景中的聚焦因子,它控制分类器的基本行为。
  • 参数 $ \gamma_{jv} \geq 0 $ 是与第j个类别的不平衡度相关的可变参数。它决定了学习集中于正负不平衡问题的程度。

受EQLv2 [38]的启发,我们采用梯度引导机制来选择 $ \gamma_{jv} $。参数 $ g_j $ 表示第j个类别正样本相对于负样本的累积梯度比率。如[38]中提到的,较大的 $ g_j $ 值表示第j个类别(例如频繁)训练平衡,而较小的值表示该类别(例如稀有)训练不平衡。为了满足我们对 $ \gamma_j $ 的要求,我们将 $ g_j $ 的值限制在[0, 1]范围内,并采用 $ 1 - g_j $ 来反转其分布。超参数 $ s $ 是一个缩放因子,它决定了EFL中 $ \gamma_j $ 的上限。与Focal Loss相比,EFL独立处理每个类别的正负不平衡问题,从而提高了性能(见表3)。

加权因子。即使有了聚焦因子 $ \gamma_j $,仍然有两个障碍损害性能:(1)对于二元分类任务,较大的 $ \gamma $ 适用于更严重的正负不平衡问题。而在多类别情况下,如图3a所示,对于相同的 $ x_t^* $,$ \gamma $ 的值越大,损失越小。这导致我们想要增加对严重正负不平衡类别的学习集中度时,我们必须牺牲其在整体训练过程中的部分损失贡献。这种困境阻止了稀有类别取得优异的性能。(2)当 $ x_t $ 很小时,不同类别的样本的损失,具有不同的聚焦因子,将收敛到相似的值。实际上,我们希望稀有hard样本比频繁hard样本做出更多的损失贡献,因为它们稀缺,不能主导训练过程。 我们提出加权因子来缓解上述问题,通过重新平衡不同类别的损失贡献。与聚焦因子类似,我们为稀有类别分配较大的加权因子值以提高它们的损失贡献,同时保持频繁类别的加权因子接近1。具体来说,我们将第j个类别的加权因子设置为 $ \gamma_b + \gamma_{jv} / \gamma_b $ 以与聚焦因子保持一致。EFL的最终公式为:

\[EFL(p_t) = -\sum_{j=1}^{C} \alpha_t \left( \frac{\gamma_b + \gamma_{jv}}{\gamma_b} \right) (1 - p_t)^{\gamma_b + \gamma_{jv}} \log(p_t) \quad (4)\]

如图3b所示,有了加权因子,EFL显著增加了稀有类别的损失贡献。

同时,它更多地关注稀有hard样本的学习,而不是频繁hard样本。

聚焦因子和加权因子构成了EFL中的类别相关调节因子。它使分类器能够根据其训练状态 $ p_t $ 和相应的类别状态 $ \gamma_j $ 动态调整样本的损失贡献。如4.3节所述,聚焦因子和加权因子在EFL中都扮演着重要角色。同时,在平衡的数据分布中,所有 $ \gamma_{jv} = 0 $ 的EFL等同于Focal Loss。这种吸引人的特性使得EFL能够很好地应用于不同的数据分布和数据采样器。

#

meta在《PIE: Personalized Interest Exploration for Large-Scale Recommender Systems》中提出了用户个性化探索框架(PIE):

3.问题

为了准确解决问题,推荐系统模型通常依赖数据。然而,如果没有数据,这些系统在发现新兴趣或逃离局部最小值的能力上会受限。例如,如果一个特定用户对篮球视频感兴趣,但从未曝光过这样的内容,因为机器学习系统没有训练数据来学习这种情况。换句话说,我们可能不会知道用户的所有不同兴趣。另外,用户兴趣可以随时间变更,以反映最近趋势或新闻事件。因此,对于推荐系统来说,系统地探索多种内容是一种非常重要的能力,以便提供相关推荐服务给用户。

图片名称

图1 用户兴趣的探索(Exploration),会更好最大化推荐系统提供的价值

仅仅只利用(exploiting)用户的过往理解,会产生重复内容,从而错过许多其它用户兴趣。我们希望探索其它更少关注的主题(topics),以便我们可以发现更多的兴趣,或者引入新用户给我认识。该探索(exploration)需要高效、有效、并于可以与利用策略(exploitation strategy)进行最优权衡。

4.系统设计

我们在推荐系统的顶层设计了 exploration系统。图2的蓝色路径展示了所有主要组件。该exploration系统只有在blending pass时会与已存在的推荐系统相交互,在最终提供服务给用户之前,在ranking后最好的exploration videos会与non-exploration videos进行混合。相同的设计可以很容易地被应用到任意已存在的推荐系统中。

图片名称

图2 在已存在推荐系统的ranking框架中包含个性化探索(personalized exploration)

4.1 个性化的探索空间(Personalized Exploration Space)

探索在每个user与每个内容间的喜好程度是很难穷举的(exhaustive)。作为替代,我们尝试学习在每个user与每个属性间的喜好,它是一个更小的集合。本文主要关注学习user-creator间的连接(connections)。

图片名称

图3 从user-content移向user-attribute-content

我们使用PPR( Personalized PageRank)算法来创建了user-creator间的喜好。PPR是一个基于graph learning的随机游走,它会基于engagement数据来学习entity-entity相似度。对比起基于算法的CF,PPR的优点是可以利用多跳信息,因此允许更多的探索。另外,PPR对于那些具有较低先验参与度的creators很友好。

我们的方法如下描述。

  • 首先,我们创建一个基于users和creators间的bi-graph作为source和target,反之亦然。
  • 接着基于在过往一些天的user engagement来分配权重给edges。
  • 接着,运行一个个性化的creator rank算法,并过滤掉那些是creators的nodes。通过这一步,对于一个给定creator,我们可以获得相似creators的一个集合。
  • 现在,我们会采用与creators的用户交叉,并使用最后一步的output来聚合top-k creators。在设计上,这些creators对用户来说是新的,并且能非常好地拟合exploration use case。

为了高效提升exploration,我们在creator level添加了两个filters:

  • Novelty Filter:会移除那些用户之前交互过的creators,确保exploration system只捕获用户的新兴趣;
  • Quality Filter:会移除低质量creators,比如那些具有Watchbait内容的creators、或者在aggregated level上通过exploration具有较低engagement的creators。

4.2 在线探索(Online Exploration)

user exploration的目标是:通过推荐新的creators给用户来减少不确定性。通过从一个高基数选项开始,并朝着一个被认为是“过期(expired)”或“连接(connected)”的新creator的state收敛。其中,存在与该过程相关的机会开销,用户会潜在受益于符合它们品味的更多样推荐。

为一个用户探索创建的空间的过程,可以被公式化成一个online bandit问题

  • 一个简单的解决方案可以是Thompson sampling
  • 另一个更refined的解决方法是contextual bandit,其中:user、creator以及interaction features会被考虑上。

为了保持简单,我们这里仍使用Thompson sampling。每次要呈现一个exploratory video时,目标是最大化基于过往context和actions的cumulative reward。我们使用Thompson sampling来发现creators,并且接着选择来自selected creator的视频。我们将reward定义为来自该creator的视频消费数(engaged),其余的(rests)则认为是failures。 Rewards和rests会被用于计算在Thompson sampling中参数\(\alpha\)和\(\beta\)。该exploration会发生在user level上。

图片名称

图4 (左)random sampling vs. (右)Thompson sampling. sampling creators分布随时间演进

4.3 在explore/exploit间的平衡分发

在一个point-wise ranking推荐系统中,引入exploratory内容是挑战性的,因为不确定的预估通常会被一个well-optimized ranker打分偏低。我们在推荐系统中构建了一个特别的分发系统(specialized delivery system),以一个受控的方式来引入不确定性(uncertainty)。

Exploration Composition

我们使用一个概率融合层(probabilistic blending layer),它会考虑在用户当前session中exploration的组成,并插入(slot)一个exploration video来强制一个预先决定的组成。

5.实验

5.1 setup

为了测试我们提出的方法,我们在Facebook Watch上执行一个在线实验。受[3]的启发,我们根据两个条件将用户分成4组。

  • 条件 1: 是否提供exploration内容给用户。对于获得exploration内容的用户,我们会依赖blending pass来控制exploration videos的曝光接近6%。
  • 条件 2: 推荐系统是否使用exploration data进行训练。两个推荐模型,model A和model B,会使用相同的结构和features进行训练。我们会移除来自模型A的training set通过exploration收集到的数据。为了做出一个公平对比,一个特定量的non-exploration data会从模型B的训练集中随机移除,以便模型A和模型B具有相同size的training set。

上面的表1展示了4个分组的条件组合。

5.2 Metrics

当它开始理解video exploration的价值时,大挑战之一是寻找合适的metrics。像watch time这类常用metrics会临时恶化,因为exploration会利用机会开销来展示一些具有更高不确定性的内容。再者,我们相信,exploration会取出局部最大值,到一个全局最优解,它在engagement metrics上没有short-term regression是不可能的。

exploration的一个主要目标是:发现在users和未知content偏好间的有意义连接,我们定义了一个metrics集合作为这些连接的代理(proxies)。

Strong Creator Connection (SCC)

当一个user对于一个特定creator、在M天的一个窗口内、具有至少N个engagement事件,会生成SCC。对于偏好或内容,我们使用creators作为我们的proxy,对于creators通常会发布一个具有genre, tone, theme的内容等。在短期内,SCC足够敏感,来反映在users和creators间构建的连接。在long run中,我们已经看到在SCC和user engagement间的一个高相关性(见图5)。

图片名称

图5

Strong Creator Connection-Daily Active User (SCC DAU)

该metric会统计那天些具有non-zero SCC metric的用户数目。该指标的增加,会表示更多用户已经构建了强的creator connection。

Novel Strong Creator Connection (Novel SCC)

新的SCC会被成:在一个user和一个creator间形成的strong creators connections,该用户在过去P天没有engagement。对比起SCC,新SCC会进一步从non-exploration中切出exploration的影响。它也会帮助measure在用户兴趣中的long-term shift。

6.结果

我们做了4周的A/B testing,在Facebook Watch中使用exploration framework对用户的videos进行rank。该test results会展示:exploration会导致在整体和新strong creator connections同时胜出。

User Exploration Value

第4组 vs. 第1组展示了将exploration引入到推荐系统中的网络影响。它是一个关于用户获得exploration内容、和exploration信息的feedback的组合影响。我们观察到:在SCC上有3.5%的增长,在SCC DAU上有0.26%增长,在Novel SCC上有0.85%增长。在用户视频消费、日留存、周留存上没有统计显著的影响。图6展示了SCC在周期上的gains。

图片名称

图6

System Exploration Value

由于第3组、第1组会提供exploration content,在第3组和第1组间的对比只影响exploration data的好处。我们看到在engagement中有一个0.28%提升,在SCC metrics上不会有统计显著变化。

Strict Exploration Value

第2组 vs. 第1组展示了在没有,添加一个feedback loop时(使用来自exploration收集的信息来提升推荐模gajf ),exploration content给用户的影响。它会measures网络的机会开销,并展示更多不确定的exploration content,来替代那些来自推荐系统推出的视频。我们看到,一个engagement regression有0.53%。另一方面,serving exploration content会生成一个0.55%会增加SCC。

兴趣分布

为了可视化在user engagement上exploration的影响,我们会分别为每个subtopic计算user engagement,并绘制在图7中的histogram。x轴表示在log scale中的impressions和engagement, y轴表示在那个bucket中的subtopics数目。有exploration(test组)和无exploration(control组)的结会被绘制。左图展示了:在test group中,大多数subtopics会具有在4边上的log impressions,而在control组中,不同subtopics接受到的impressions会各有不同。换句话说,我们可以通过exploration将兴趣曝光分布漂移至一个更平衡的曲线。相似的,右图中,在engagement分布中的漂移表示:相关和新兴趣可以在 engagement-interest分布上进行平衡。

图片名称

图7