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

meituan在《Enhancing Personalized Ranking With Differentiable Group AUC Optimization》中提出了PDAOM loss:

抽要

AUC是评估classifier效果的一个常用指标。然而,大多数分类器使用cross entropy训练,它不会直接最优化AUC metric,这在training和evaluation间会存在一个gap。这里提出的PDAOM loss:一个最大化violation的个性化可微AUC最优化方法(Personalized and Differentiable AUC Optimizationy method with Maximum violation), 当训练一个二分类器时可以直接应用,并使用gradient-based方法进行最优化。特别的,我们会使用通过user ID group在一起的sub-batches内的不同的(neg, postive)pair样本,来构建了pairwise exponential loss,目标是指导分类器关注:在独立用户视角下,很难区分的正负样本对间的关系。对比起pairwise exponential loss的原始形式,提出的PDAOM loss不仅会提升在离线评估中的AUC和GAUC metrics,也会减少训练目标的计算复杂度。再者,在“猜你喜欢”的feed推荐上,PDAOM loss的在线评估可以获得在点击数上 1.4%的提升,在订单数上获得0.65%的提升,这在online life service推荐系统上是个显著的提升。

1.介绍

二分排序(Bipartite ranking)在过去受到了大量关注,在工业应用中被广泛使用。它的目标是:学习一个模型,使得正样本的排序高于负样本。不失一般性,我们以推荐系统为例,并详述二分排序。根据一个用户的历史行为统计,推荐系统会提供一个关于items的有序列表,其中,感兴趣的items会出现在不感兴趣的items之前。达到该目标的关键思想是:为每个item预估CTR。用户浏览过但没有点击的items会被标记为负样本,点击过的items会被标记为正样本。接着,CTR预估模型可以被训练成一个二分类器,并使用 cross entropy进行最优化。这种方式下,每个样本会被独立对待,并且在训练期间,正负样本间的限制关系不会被引入。另一个关注点是:对比起用户看过的items,clicked items只占一小部分。因而,模型的效果基本上使用AUC metric进行评估,其中数据分布是imbalanced的。AUC会measures:对于一个随机抽样的正例的score,它要比一个随机抽样的负例score具有更高分的概率。然而,在训练期间cross entropy目标,不会完全与evaluation期间的目标完全对齐。实际上,一个常见现象是,当训练loss减少时AUC metric不会增加,在工业界推荐数据集上训练的一个示例如图1所示。它会启发我们,在训练期间直接对AUC metric进行最优化。

图片名称

图1 loss曲线和AUC metric随training steps的变化,其中AUC metric不总是随loss的减少而增加

另一个大问题是:推荐系统经常面对“长尾”现象,例如:一小部分商品会占据着大量的销售额。图2展示了来自Meituan电商的统计数据。我们根据它们的订单质量将商品分为100 bins,并绘制出top 30 bins。我们可以看到,top 1 bin的商品贡献了37%的订单,top 20 bins的商品贡献了80%的订单如果我们使用这样不均衡的数据来训练一个CTR预估模型,该模型会趋向于分配更高得分给热门商品,即使一些用户可能不喜欢这些items,这在个性化预估上会降低模型效果。Group AUC【19】是一个合理的metric,用于评估一个ranking model的个性化推荐能力。它会通过user ID进行分组,计算各个sets中的AUC,并每个set的结果进行平均。经验上,对比起AUC metric,离线的GAUC metric会与在线效果更一致些,进一步启发我们在训练ranking model时将GAUC metric加入到objective中。

图片名称

图2 在美团电商中的长尾现象。top bins中的商品贡献了大比例的订单

然而,有两个原因阻止我们直接最优化AUC metric。

  • 一方面,AUC metric会通过一个binary indicator函数的总和来计算,它是不可微的。因而,gradient-based optimization方法不能应用于该问题中。
  • 另一方面,AUC的公式会考虑上每个postive/negative样本对,会导致时间复杂度上升到\(O(N^+ N^-)\),它在实际工业推荐场景中是不可接受的,通常会是数十亿阶。

该问题上做了大量研究:

  • 对于前者:对于原始AUC公式,最近工作尝试替代可微替代目标函数(differentiable surrogate objective function)。【18】提出了使用它的convex surrogate(例如:hinge loss function)来替代indicator function。【2】设计了一个regression-based算法,它使用pairwise squared objective function,用于measure在不同分类的两个实例间的ranking errors。【3】研究了基于最优化pairwise surrogate objective functions的AUC一致性
  • 对于后者:mini-batch 最优化策略可以使得处理大规模数据集。为了将AUC最大化方法应用于data-intensive场景,我们会研究以mini-batch方式最优化它。

特别的,我们提出了PDAOM loss,它关注于难区分的正负样本对,而非将所有组合考虑在内。该trick不仅会提升offline效果,也会减小最优化的复杂度。

2.相关工作

3.方法

A.前提

AUC的原始定义与ROC curve有关。假设分类器会生成一个连续值,用于表示输入样本是postive的概率,接着需要一个决策阈值来决定:样本是该标记成postive还是negative。对于每个阈值来说,我们可以获得一个true-postive rate和false-postive rate的pair。通过将该阈值从0到1进行遍历,我们绘制出获得的rates的pairs,就生成了ROC曲线。因而,通过对ROC曲线的下面面积计算均值的AUC metric是很复杂的。AUC的一个等价形式是:归一化的Wilcoxon-Mann-Whitney (WMW)统计:

\[AUC = \frac{\sum\limits_{i=0}^{m-1} \sum\limits_{j=0}^{n-1} \mathbb{1} (f(x_i^+) > f(x_j^-))}{mn}\]

…(1)

其中:

\(\lbrace x_i^+ \rbrace\)和\(\lbrace x_j^- \rbrace\)分别是postive和negative样本的集合。由于indicator function是不可微的,WMW统计不能使用gradient-based算法进行最优化。它启发我们寻找一种可微的surrogate objective function,用于替代WMW statistic。也就是说,获得surrogate function的最优解等价于最大化AUC metric。我们将使用将surrogate的objective function公式为:

\[\underset{x^+ \sim P^+, \\ x^- \sim P^-}{E} (\phi(f(x^+) - f(x^-)))\]

…(2)

其中:

  • \(\phi\)是surrogate function,一些常用的示例如表1所示。
  • \(P^+, P^-\)分别表示正负样本分布

图片名称

表1 常用的surrogate function,当成AUC的indicator

在本paper中,我们出于两个原因会使用pairwise exponential loss 作为surrogate

  • 首先,【3】中已经证明,pairwise exponential loss与AUC一致。
  • 第二,我们会对比在我们的先决实验列出的surrogates,并发现pairwise exponential loss要胜过离线评估(如表4所示)

图片名称

表4

B. AUC Optimization with Maximum Violation

上述提到的surrogate objective function存在两个主要缺点:

  • 一方面,这样的objective会等价地关注于每个pair,因而,分类器会花费大量精力在建模易区分的正负样本对关系上
  • 另一方面,对于一个batch数据,它包含了\(N^+\)的正样本和\(N^-\)的负样本,处理每个pair的复杂度是\(O(N^+ N^-)\),它对于一个大batch-size来说是很耗时的。

聚焦于上面的问题,我们提出构建难样本对,并让模型关注于难样本对,而非所有样本对。一个难样本对指的是:模型很难区分正/负样本labels的实例。因而,对于这样的正负样本对,输出scores是很接近的,它使得决策边界不好判断。考虑:

\[\underset{x^+ \sim P^+ \\ x^- \sim P^-}{E} (\phi(f(x^+) - f(x^-))) \leq \underset{x^+ \sim P^+ \\ x^- \sim P^-}{max} ( \phi(f(x^+) - f(x^-)))\]

…(3)

(3)的一个可行解是:设置 \(\underset{x^+ \sim P^+, \\ x^- \sim P^-}{max}(\phi(f(x^+) - f(x^-)))\)作为objective function。计算该最大值只依赖于那些很可能有violate relation的正负样本对。在该方式下,来自easy negatives的loss累积不会影响模型的更新。尽管这样的转换会导致模型关注于确定决策边界,复杂度仍然是\(O(N^+ N^-)\)。由于\(f(x^+) - f(x^-) \in [-1, 1]\),surrogate function \(\phi\)会在该区间内单调递减。相等的,\(\underset{x^+ \sim P^+ \\ x^- \sim P^-}{max} (\phi(f(x^+) - f(x^-)))\)可以简化为:

\[\phi (\underset{x^+ \sim P^+ \\ x^- \sim P^-}{min}(f(x^+) - f(x^-))) = \phi( \underset{x^+ \sim P^+}{min} f(x^+) - \underset{x^- \sim P^-}{max} f(x^-))\]

…(4)

理想的,一个正样本的最低分期望会高于在一个batch内负样本的最高分。我们将DAOM loss定义为:

\[L_{DAOM} = \phi( \underset{x^+ \sim P^+}{min} f(x^+) - \underset{x^- \sim P^-}{max} f(x^-))\]

…(5)

注意,我们只会选择具有最高score的正样本,以及具有最低score的负样本,构建pair的复杂度会减小到 \(O(N^+ + N^-)\)。

通过GAUC最优化来增强个性化排序

以上章节详述了如何构建在一个batch内的paired samples,但它满足不了个性化推荐的需求。实际上,我们会发现,GAUC[19] metric与在线效果更一致些。相应的,一个天然的想法是,当最优化模型时,将GAUC metric添加到objective中。考虑GAUC指标的原始计算,样本会首先被分成多个groups。在本context中,groups会被通过user ID进行划分。接着,AUC metric会分别在每个group中计算,GAUC metric会通过将所有groups的AUC metrics进行加权平均得到。weight与曝光或点击次数成比例,这里我们对所有用户将weight设置为1。我们会在训练阶段模拟GAUC的计算:

  • 当准备训练数据时,我们会根据每个样本的user ID对样本进行排序,以便属于同一个用户的样本会出现在相同的batch中
  • 一个batch的数据可能会包含许多不同的user IDs,我们将batch划分成sub-batches,在sub-batch中的user ID是相同的

接着我们应用DAOM loss到每个sub-batch中,并将个性化DAOM loss定义为:

\[L_{PDAOM} = \sum\limits_{u \in U} \phi( \underset{x^+ \sum P_u^+}{min} f(x^+) - \underset{x^- \sim P_u^-}{max} f(x^-))\]

…(6)

其中,U表示由user ID分组的sub batches。在训练一个二分类器的条件下,提出的PDAOM loss与cross entropy一起来形成最终的objective function:

\[L = -y log(f(x)) - (1-y) log(1 - f(x)) + \lambda \sum\limits_{u \in U} \phi( \underset{x^+ \sim P_u^+}{min} f(x^+) - \underset{x^- \sim P_u^-}{max} f(x^-))\]

…(7)

其中:y是label,\(\lambda\)会对cross entropy和PDAOM loss的weight进行balance。

实验