优酷多目标保量模型

Reading time ~3 minutes

youku在《Multi-objective Optimization for Guaranteed Delivery in Video Service Platform》提出了一种方法:

1.介绍

对于在线视频提供商,例如:Netflix、Youku等,这里通常是一个widget/drawer,需要分发最新发布 或者 热门视频内容(通常是:TV综艺和电视剧)。在一天内访问该drawer的所有用户不会过多变化,因为一个视频服务平台的日活用户总数在一定期限内是相当稳定的。因此,该widget的一个非常重要的问题是,如何对给定的视频内容分配有限的曝光(impressions),以便确保对他们来说有足够的曝光并且相对公平。该drawer应关注那些新/热视频的商业化需求或合同需求;例如:保证每个内容的固定数目的曝光。这就是一个典型的保量分发系统(Guaranteed-Delivery system)。如果只依赖推荐系统是不够的,因为它是面向个人的。为了解决该问题,一个有效的曝光资源分配系统,会规划(plans)一个特定周期内的曝光资源(impression resources)。总之,操作周期可以是一天或者数小时,这依赖于特定需求。曝光资源首先会对每个内容在周期开始时考虑所有需求,接着分发系统(通常是推荐系统)会获得分配给每个内容的曝光量作为参考,然后尝试寻找最合适的用户。因而,整个系统可以平衡商业化需求和用户的个性化需求。

然而,在每个操作周期前的曝光分配是很复杂的,因为涉及到许多约束(constraints)。当前的曝光系统(impression system)是靠人工操作的,它高度依赖于人的经验,因而这是次优的。另一方面,在该widget中的一个视频内容的实际曝光分发,大多情况是由它的ctr来决定的,但是人工分配策略不能精准预测这些内容在一个给定曝光下的点击(CLICK)。另一方面,对人类来说设计这样一个分配策略:它对于每个视频来说,可以达到高点击量 & 不与所有约束冲突下的公平性(对于该场景来说是个常见目标),是很困难的。一个常见的场景是,不同的视频内容行为,在PV和VV上很不同,因为内容属性的不同。一些视频内容使用很少的曝光就可以达到高点击,而另一些可能会消耗更多曝光。如果我们分配太多曝光给这些内容,总CTR会在一个更低的水平。尽管有一些广告的曝光分配算法(也称为:保量分发系统: guaranteed delivery algorithm)提出,但对于内容曝光分配问题并没有提出这样的一些算法。内容的保量分配(GD allocation)问题具有它的独特之处,主要有两点:

  • 1)对于视频分发,特别是IP视频,内容平台需要重复曝光这些内容给定向消费者,因为对比起广告和商品来说,内容的数目很有限。再者,内容通常对于具有大量的潜在消费者,对比起广告,重复曝光过多会具有更大的概率带来更多潜在消费者来看视频。因此,跟随PV的CTR(有效指标)是一个内容分发要考虑的关键因素;
  • 2) 建模内容的曝光分配问题时考虑上CTR动态趋势(trends)作为约束,这对于模型和解决方案来说都是个新挑战。

在本paper中,为了解决上述挑战,我们设计了一个two-stage框架。第一个stage是预估(forecasting),第二个stage是分配(allocating)。在预估stage,我们会寻找开发有效的预估模型,它的目标是:预测用户在给定历史PV和点击记录的前提下预测用户的行为点击。特别的,为了描述随不同PV变化的CTR趋势,我们基于ODE(ordinal differential equation)提出了一个预测模型(称为:pv-click-ctr模型)。接着,在分配stage,我们提供了一个多目标非线性规划模型(multiple objective nonlinear progammming),它遵循CTR趋势及其它约束。

通过组合CLICK预估模型以及分配模型,它提供给我们一个解决方案来处理内容的保量分发问题。我们会执行离线和在线实验,表明我们提出的解决方案,在模型性能和效果上都比较好。据我们所知,这是第一个工业界解决方案来处理保量分发问题。应该承认的是,存在许多其它相关因素,比如:在widget内的曝光影响位置(location)、推荐系统对每个内容的性能,等。当前我们不会考虑这些因子,因为他们会让问题变得更难处理,后续我们将进一步解决。主要的贡献有:

  • 提出了一种参数化的pv-click-ctr预估模型来描述CTR trends with PV。
  • 设计了一个框架,它会在考虑上每个内容的CTR趋势以及曝光资源限制等约束下的保量下,最大化特定目标,比如:内容的VV、每个内容的公平性(fairness)。
  • 在线和离线实验:验证了pv-click-ctr model和保量分发策略的效果

2.相关工作

2.2 保量分发策略

最优化(Optimization)技术已经成功被应用到解决许多决策问题上,比如:广告分配问题。 通常,一个广告分配问题与一个数学运输问题(mathematical transportation)相似,它可以被建模成一个二部图(bipartite graph),供应节点、需求节点表示观看者类型(viewer types)和广告活动(ad campaigns)。【19】研究了发现对于一个广告的最可能安置组合的问题。该问题被建模成一个整数规划问题(integer program(IP)),目标是:在遵循有限广告预算下,具有最高的rating。【3,4】考虑上了单个广告主的商业计划问题(commercial scheduling problem)。为了满足所有通过自动化进行商业计划的需求,问题被公式化为一个Integer Program问题。【2】研究了在一个可能的slots集合中计划一个商业集合的问题。。。【15】描述了在一个广播公司的一个计划问题,广告主会为广告放置顺序,它们的预定播出时间不固定。。。【22】开发了一个decision support系统来计算对于一个主要TV电视台的周播空间的最佳安排。。。【9】提出了一个差分game model来进行媒介预算和分配。【8】使用层次化线性规划。。。【27】定义了一个Guaranteed Targeted Display Advertising。。。 【1】。。。

3.内容的曝光分配模型

在本节中,首先给出内容的保量分发策略的一些概念关于:内容的保量分发策略、pv-click-ctr预估模型的公式化。接着我们导出PV分配策略,并讨论分配策略的特性。

3.1 前提

我们只考虑需要GD策略的抽屉或者模块(drawers),它被表示为:

\[S = \lbrace s_j, j \in Z_n \rbrace\]

其中:

  • \(Z_n\)表示从1到n的整数集合

在drawer \(s_j\)的位置集合被表示为:

\[D_{s_j}=\lbrace d_{jk}, j \in Z_n, k \in Z_{\Theta(s_j)}\rbrace\]

其中:

  • \(\Theta_{s_j}\)表示在drawer \(s_j\)的位置数目

假设需要考虑在这些drawer的内容集合被表示为:

\[Q=\lbrace q_i, i \in Z_m \rbrace\]

其中:m是内容数目

在每个位置\(d_{jk}\)的整体天级PV限制被表示为\(C(d_{jk})\)。不失一般性,后面章节,我们将PV value表示为x,将CLICK value表示为y

考虑到每个drawer和position的资源容量(resource capacity),以及每个内容的CTR趋势,我们的目标是:为每个内容发现合适的天级PV,它可以最大化整个频道的VV,同时尽可能避免”过曝光(over-exposure)”和“欠曝光(under-exposure)”。因此,GD策略的主要问题是:给定一个内容的PV value x,我们估计它的click value值y。正式的,点击预估模型是一个”mapping”函数,它可以根据历史天级PV和CLICK数据来学到相应的patterns,并能预测一天的click value。

3.2 pv-click-ctr预估模型

每个内容的CTR趋势(trend)涉及到许多因素,很难对这些因素枚举并基于它的历史数据进行模型构建。因而,我们从其它视角对该问题进行研究。

总的来说,点击来自于曝光。在大多数case下,越多的曝光会带来越多点击数。然而,每个内容的目标消费者的总数目是有限的。当曝光量过大时,对同一消费者进行重复曝光在统计上不能带来更多的点击。这种“饱和”现象可以在我们的产品中通过历史数据观察到,这与经济学系统中的人口模型相似。受[13]的启发,我们引入一个参数化模型(parametric model)来捕获以上的观点。

特别的,假设:

  • y(x)表示点击值,它与在一天内某一内容的一个PV value x一一对应
  • \(\Delta x\)是PV增量
  • \(\Delta y\)是对应于\(\Delta x\)的点击增量
  • r是相对增长率系数。不同内容的相对增长率是不同的,因为它主要依赖于内容质量

如果PV值x很小,我们可以将CLICK增长率看成是与PV成比例关系,因为越多的曝光通常会带来越多的点击:

\[\frac{y(x+\Delta x) - y(x)}{\Delta x} \approx r * y(x)\]

…(1)

然而,当PV value x很大时,点击会具有“饱和”效应,增长率会递减。正式的,它可以写成:

\[\frac{y(x+\Delta x) - y(x)}{\Delta x} < 0\]

…(2)

与paper[13]相类比,我们使用一个关于y(x)的线性递减函数,来描述“饱和”效应,例如:

\[\frac{y(x+\Delta x) - y(x)}{\Delta x} = r(1 - \frac{y(x)}{y_m}) y(x)\]

…(3)

其中:\(y_m\)被称为中心点击值(pivot CLICK value)。

当PV超过对应于\(y_m\)的PV量时,相对增长率会为负,例如:如果\(y(x) > y_m, 1-\frac{y(x)}{y_m} < 0\)。其中:r和pivot CLICK \(y_m\)是核心content-based参数,表示内容的属性

假设:\(\Delta x \rightarrow 0\),那么等式(3)将是一个在CLICK和PV值间的ODE常微分方程模型:

\[\frac{dy}{dx} = r ( 1 - \frac{y}{y_m}) y\]

…(4)

等式(4)的解为:

\[y = \frac{y_m y_0}{y_0 - (y_0 - y_m) e^{-r(x - x_0)}}\]

…(5)

其中:

  • \(x_0\)和\(y_0\)表示初始PV和初始CLICK。

  • 如果\(y_0 < y_m\),CLICK value会增长,随着\(x \rightarrow \infty\)时会渐近逼近\(y_m\);
  • 如果\(y_0 > y_m\),CLICK value会递减,随着\(x \rightarrow \infty\)仍会渐近逼近\(y_m\)

事实上\(y = y_m\)是等式(4)的平衡点(equilibrium)。

因而,\(y = y_m\)的均衡点(equilibrium)。因而,等式(4)的正均衡点\(y=y_m\)是全局稳定的,也就是说,对等式(4)的y(x)求解\(\lim_{n \rightarrow \infty} y(x) = y_m\),其中任意初始值\(x_0\)。

为了描述每个视频内容的CTR趋势,在等式(5)中的参数r和\(y_m\)需要通过历史PV和CLICK数据来拟合。我们将所有内容相关的因子归属为这些参数,期望它们来表示内容自己的CTR趋势。我们使用least square fitting方法来估计这些参数。

3.3 曝光分配公式

基于3.2节提出的pv-click-ctr预估模型,该子部分目标是,开发一个最优化程序模型来解决PV分配问题。假设:

  • \(x_{ijk}\)表示内容\(q_i\)从位置\(d_{jk}\)获得的PV value
  • \(f(x_{ijk})\)是对应于\(x_{ijk}\)对应的CLICK value,它可以使用等式(5)进行计算

我们的目标是:通过最优化\(x_{ijk}\)来最大化总视频观看数(video views: VV),以及最小化CTR的方差(variance)。通过分析最优化目标和约束,分配问题可以被定义如下:

\[max \sum\limits_{i=1}^m \sum\limits_{j=1}^n r_{ij} f(x_{ijk}), k \in Z_{\Theta(s_j)} \\ min \frac{\sum\limits_{i=1}^m (p_i - P)^2}{m - 1} \\ p_i = \frac{\sum_{j=1}^n f(x_{ijk})}{\sum_{j=1}^n x_{ijk}}, \forall i \in \lbrace 1, 2, \cdots, m \rbrace, \forall k \in Z_{\Theta(s_j)} \\ P = \frac{\sum\limits_{i=1}^m \sum\limits_{j=1}^n f(x_{ijk})}{\sum\limits_{i=1}^m \sum_{j=1}^n x_{ijk}}, \forall k \in Z_{\Theta(s_j)}\]

….(6)(7)(8)(9)

约束条件为:

s.t.

\[\sum\limits_{i=1}^m x_{ijk} < C(s_j), \forall j \in \lbrace 1, 2, \cdots, n \rbrace, \forall k \in Z_{\Theta(s_j)}\]

…(10)

\[\sum\limits_{i=1}^m \sum_{j=1}^n x_{ijk} < R, \forall k \in Z_{\Theta(s_j)}\]

…(11)

\[x_{ijk} < max \lbrace C(d_{jl}), l \in Z_{\Theta(s_j)} \rbrace, \\ \forall i \in \lbrace 1,2, \cdots, m\rbrace, \forall j \in \lbrace 1,2, \cdots, n\rbrace, \forall k \in Z_{\Theta(s_j)}\]

…(12)

\[|C_{jk}| \leq k, C_{jk} = \lbrace x_{ijk} | x_{ijk} \geq C(d_{jk}), 1 \leq i \leq m \rbrace, \\ \forall j \in \lbrace 1, 2, \cdots, n \rbrace, \forall k \in Z_{\Theta(s_j)}\]

…(13)

其中:

  • \(r_{ij}\):是对于内容\(q_i\)在drawer \(s_j\)中CLICK和VV间的正相关系数
  • \(C(s_j)\):是drawer \(s_j\)的总PV资源数
  • R:是drawer set S的总可供资源数

等式(6)的最优化目标是在所有drawers上最大化总VVs。其它最优化目标是,在最小化等式(7)-(9)描述的的不同内容间的CTR variance。

  • 等式(10)描述的约束意味着:内容集合Q在drawer \(s_j\)中的资源分配不能超过它的资源容量(capacity)
  • 等式(11)表示drawer set S的资源约束
  • 等式(12)是位置资源约束,它表示资源分配给在任意drawer中的一个内容,不能超过它的最大位置资源容量
  • 等式(13)可以确保它们必须是一个drawer的一且只有一个位置分配给一个内容,也就是说:我们不能在相同时间展示相同内容给用户。

4.GA-based内容分配算法

为了获得在第3节中建模的分配问题的最优或次优解,提出了一个遗传算法(Genetic Algorithm)GA分配算法,它是一个迭代算法,其中会嵌入pv-click-ctr预测模型。

注意,等式(6)-(13)中表示的PV分配问题,对应于一个多目标约束优化问题(MCOP: Multi-objective Constrained Optimization Problem),它的最优解是很难找出的。通常,一个MCOP可以通过加权法( weighting)被转化成一个单目标最优化问题,接着PV分配问题定义如下:

\[max \ g(X | \lambda) = \sum\limits_{i=1}^m \sum\limits_{j=1}^n r_{ij} f(x_{ij}) + \lambda \frac{1} {\frac{\sum\limits_{i=1}^m (p_i - P)^2}{m-1}} \\ p_i = \frac{\sum\limits_{j=1}^n f(x_{ij})}{\sum\limits_{j=1}^n x_{ij}}, \forall i \in \lbrace 1,2, \cdots, m \rbrace \\ P = \frac{\sum\limits_{i=1}^m \sum\limits_{j=1}^n f(x_{ij})}{\sum\limits_{i=1}^m \sum\limits_{j=1}^n x_{ij}}\]

…(14)(15)(16)

\[s.t. X \in \Omega\]

…(17)

其中:

  • \(\lambda\)表示weight参数
  • \(\Omega\)是等式(10)-(13)描述的决策(变量)空间
  • \(g(X \mid \lambda)\)是目标函数

应该注意的是,通过等式(14)-(17)建模的分配问题是一个组合优化问题,并且它是非线性和非平滑的。组合优化问题是,它的可行解集合是离散的。该问题是NP-hard完全问题,它在多项式时间内全局最优的求解是相当难的。像branch和bound的搜索算法可以退化成完全枚举,并且CPU时间需要求解,可能会在最坏情况下指数级增长。为了实际求解这样的问题,必须合理寻找合适的近似最优解。作为搜索一个近似最优解的经典算法,GA提供了一个可选的方法。不同于通用的GA,我们提出的GA框架包含了以下主要两个部分:

  • coding scheme考虑上ODE约束
  • 局部搜索操作(带elitist策略的选择、交叉和突变)

4.1 Coding Scheme和ODE-based Fitness

根据GA的常用框架,分配问题的解是一个染色体(chromosome)或个体(individual)。特别的,在我们问题中的chromosome是一个矩阵,其中,elements是从drawers的相应位置分配的PV value。chromosome会以两步生成:

  • 1) 对于任意内容\(q_i\),会生成一个关于PV values的排列\(x_i = [x_{i,1}, x_{i,2}, \cdots, x_{i,n}]\),其中\(x_i\)的长度为n (注:n为drawer模块数)
  • 2) 对于不同内容合并所有的排序,是为了形成关于chromosome的最终形式\(X= [x_1, x_2, \cdots, x_m]\). (注:m是内容数目)

在GA中,每个个体(individual)的适应度(fitness)函数的值,例如(fitness),是与生存(survival)概率是高度相关的。高适应度的个体相对于整体人口来说具有一个较高概率的被选中进行交配(mating),而低适应度的个体具有一个较低概率被选中。特别的,在该问题中的个体X的适应度(fitness)函数等于在等式(14)中定义的目标函数。需要注意的是,等式(14)的主要部分是\(f(x_{ij})\)。如上所述,\(f(x_{ij})\)是一个对应于PV value \(x_{ij}\)的CLICK value,它可以通过第3.2节提到的pv-click-ctr模型来获得。假设个体X的fitness函数是F(X),假设:\(U=\lbrace u_1, u_2, \cdots, u_l \rbrace\),以及\(V=\lbrace v_1, v_2, \cdots, v_l\rbrace\)分别表示历史天级PV数据和CLICK数据的集合。由于在等式(4)中定义的两个参数通过使用U和V的数据进行fit,假设\(l \geq 4\)。对于一个PV value \(x_{i,j} \in X\),寻找一个element \(u_k \in U\)如下:

\[u_k = argmin || u_{\bar{k}} - x_{i,j} ||, u_{\bar{k}} \in U\]

…(18)

根据等式(3),我们可以获得\(x_{i,j}\)的一个相应CLICK value:

\[f(x_{i,j}) = v_k + r(1 - \frac{v_k}{v_{max}}) v_k(x_{i,j} - u_k)\]

…(19)

其中,r和\(v_{max}\)是通过将来自U和V的数据作为input来fit的参数。接着根据等式(14),fitness function F(X)可以获得:

\[F(X) = g(X|\lambda)\]

…(20)

4.2 Elitist策略的局部搜索操作

局部搜索操作(local selection operation)涉及到一系列操作,比如:选择(selection)、突变(mutation)、交叉(crossover)。主要目标是,继承高质量基因到下一代中,并进一步提升计算效率以及全局收全敛的概率。

在选择阶段,我们会使用elitism策略来保留“好”基因到下一代中。具体的,假设\(X_u^k\)是在第k代的个体,对应\(X_u^k\)的下一代如下:

\[X_i^k = \begin{cases} X_u^k, & F(X_u^k) \geq F(X_i^{k-1}) \\ X_i^{k-1}, & \text{otherwise} \end{cases}\]

…(21)

这意味着,我们只要保留具有高fitness value的个体到下一代即可。

交叉操作会随机将高质量个体的基因片段进行随机交叉。交叉概率的范围推荐0.4-0.99. 我们使用Order Crossover(OX) strategy。

突变(mutation)操作在GA中具有探索效应,这被期望可以达到大概率的全局最优。通过突变操作,一个新的染色体会通过在交叉之后在染色体中变更某些基因的编码来生成。为了确保人口演进的稳定性,突变概率通常会设得更小的值。本paper使用一种自适应突变概率,如下所示:

\[p_m = \begin{cases} \frac{p_{max} \ (p_{max} \ - p_{min} \ )(F - F_{avg} \ )}{(F_{max} \ - F_{avg}\ )}, & F \geq F_{avg} \\ p_{max}, & F < F_{avg} \end{cases}\]

…(22)

其中\(p_{max}\)和\(p_{min}\)表示最大和最小突变概率,其中在本paper分别采用0.05和0.01. F是fitness function,\(F_{max}\)和\(F_{avg}\)是对于当前人口的fitness function的最大值和平均值。

5.实验

本节中,我们会基于以下的问题开展实验:

  • 提出的pv-click-ctr模型效要会好于在CLICK预测问题中的“smoothing CTR方法”吗?
  • GA中的elitist策略影响是如何的?
  • 曝光分配算法对比SOTA的人工策略效果如何?

为了回答上述问题,我们通过在线、离线实验进行验证。

5.1 实验Settings

为了测试ODE模型和提出的GA分配算法,我们会执行offline/online实验。offline和online实验会在Youku.com的电视剧频道的“最新热门(Latest Hits)”模块进行。对于离线实验,来自“Latest Hits”模块的真实流量日志会进行收集。由于在线数据非常大,我们只用了一个月的数据。对于在线实验(A/B testing),我们在线部署模型服务于30%的PVs,并使用60%的人工分配作为控制组。表1总结了关于配置的统计。

图片名称

表1: 离线和在线实验的基础信息

5.1.1 参数settings

表2展示了所有参数的settings,缺省通过粗体高亮。

图片名称

表2 参数settings

  • R:这里的模块总资源通过R来表示
  • Pop: 表示GA中使用的size
  • \(\theta\)用来控制终止条件
  • \(\lambda\)是GA中的参数,用来平衡两个目标

特别的,参数\(\alpha\)用于最小平方拟合法中,来减少overfitting. 在所有的实验中,我们会调节一个参数,并保持其余参数不变。

5.1.2 评估指标和对比方法

为了评估pv-click-ctr模型的效果,我们会利用Root Mean Square Error(RMSE)、以及绝对百分比误差(APE:)来作为评估指标。

\[RMSE(y, \hat{y}) = \sqrt{\frac{1}{N} \sum_{i=1}^N (y_i - \hat{y_i})^2} \\ APE(y_i, \hat{y_i}) = \frac{|| y_i - \hat{y_i}||}{y_i}\]

…(23)(24)

其中:

  • \(\hat{y_i} \in \hat{y}\):表示一天内一个视频内容的预测PV值 或者 预测CLICK值
  • \(y_i \in y\)是相应的实际PV值 或 CLICK值
  • N:表示测试天的数目

5.2 离线实验结果

5.2.1 pv-click-ctr模型效果

为了回答第1个问题,我们使用表1中的9个在线视频内容来测试pv-click-ctr模型的效果。我们选择[29]中提出的“smoothing CTR方法”作为baseline。这里的“smoothing CTR方法”使用一个empirical Bayes方法来处理层次化的天然数据。实验结果如表3所示。

图片名称

表3 pv-click-ctr模型与smoothing CTR方法在在线数据上的对比

在参数拟合pv-click-ctr模型之前,会预处理历史天级PV和CLICK数据以及参数。

  • (i) 采样过滤(Sample filtering)。我们在天级历史PV和CLICK数据序列中分别选择最大的增量子序列。
  • (ii) 参数预处理(Parameter preprocessing)。由于CLICK的饱和值\(y_m\)的幅度通常很大,相关系数r通常是一个很小的值,为了避免“大数吃掉小数(cecimals)”,需要在两个参数上分别执行数据转换。比如:\(y_m \rightarrow log_{10} y_m, r \rightarrow e^r\)
  • (iii) 样本预处理(Sample preprocessing)。为了避免当执行参数拟合时落入局部最优解,,可以在历史样本上进行数据转换:\(x \rightarrow log_{10} x, y \rightarrow log_{10} y\)

9个内容的点击预测曲线如图1所示,其中“REAL”意味着true value,“MEAN”是从smoothing CTR方法获得的预测结果。我们可以清楚看到,CTR具有与PVs的趋势,我们的模型可以定性捕获该模式。定性评估如表3所示,对比起在给定内容上的smoothing CTR方法,pv-click-ctr会执行更好。

图片名称

图1 9个内容在pv-click-ctr模型与smoothing CTR方法上的点击预测曲线

5.2.2 超参数灵敏度

我们会评估:使用离线数据,根据超参数\(\alpha\)的不同选择来影响pv-click-ctr模型在参数拟合中的效果。这里我们使用初始的5天数据来评估每个内容的初始参数,接着评估接着n天的结果。在该天之前该内容的所有数据会被预测,也会被使用。参数\(\alpha\)的选择为:

\[\alpha \in \lbrace 0.006, 0.008, 0.01, 0.05, 0.1 \rbrace\]

我们可以看到在表4中,RMSE的最佳平均值对于所有测试内容为\(\alpha=0.01\)。

图片名称

表4 超参数敏感度分析结果

5.2.3 GA算法的评估

我们在VV和PV上,对比了GA离线实验结果和在线数据。在线效果如表5所示,其中“REAL”是在线数据。如表5所示,对于5个给定的内容,GA在VV上达到了3.836%的平均APE,这表明在GA中pv-click-ctr模型的功效。

图片名称

表5 在线数据和GA结果对比

5.2.4 GA中elitist策略的影响

为了回答第二个问题,我们开展实验表明了在GA上elitist策略的影响。下面,GA/E指的是没有elitist策略的GA。我们会通过使用在线历史数据来运行提出的算法GA和GA/E各十次。实验结果如表6所示,其中obj、vv和var分别意味着objective function、内容的total VV和CTR variance。从结果中,我们观察到:elitist策略对于GA具有一个重要影响,因为在10次运行中,GA在obj values和vv values上要胜过GA/E。GA也会获得一个比GA/E更好的CTR variance,因为它会在6/10中获得更小的var values。这是合理的,因为elitist策略会保留最好的解给下一代,这会让GA提升到一个更大的扩展上。这也表明elitist策略的潜力,它的效果可以进一步通过更多良好设计的模型而增强。

图片名称

表6 不同搜索策略的实验结果

表6中的index 1的objective value的evolution process如图2给出。从图2中,我们发现,当前最好的解会随着genreations的数目而增加。这在经验上意味着我们的算法会朝着最优解收敛。

图片名称

图2 当前最好解的变化趋势

5.3 在线实验结果

为了回答第3个问题,需进行在线实验。我们部署了pv-click-ctr模型,以及最优化框架到在线系统中,与已存在的GD系统(它可以通过操作专家进行人工操作)并列存在。我们在在线实验中主要关注两个指标:CTR variance和total CTR,它与3.3节中的公式一致,其中total CTR由下式给定:

\[CTR = \frac{\sum_{i=1}^m (click_i)}{\sum_{i=1}^m (pv_i)}\]

…(25)

其中,\(pv_i\)和\(click_i\)分别表示内容\(q_i\)的天级PV和CLICK。该系统会一直运行直到现在,我们只展示了在系统部署后的头7周的在线效果。

为了详细演示对比,表7展示了前30天结果的一个snapshot。出于数据安全性的目的,会使用一些转换来进行数据脱敏,无需影响结果比较。从表7所示,我们观察到GA在CTR variance和total CTR上在30天内要胜过人工策略。注意,GA在total CTR上达到了巨大提升,这表明了pv-click-ctr模型的优点。

图片名称

表7 30天内对于最优化策略和人工策略的A/B test结果

我们也提供了在7周内的统计对比结果,如表8所示。可以观察到,在CTR variance上的提升是巨大的(平均超过50%)。详细结果和整体结果两者都表明,在本paper中提出的内容的GD模型可以帮助我们比现有的GD系统做出更有效的决策,它要比当前解决方案更好。

图片名称

表8 最优化策略与人工策略在7周内的A/B test结果

# 6.结论

参考

Netflix关于cosine相似度的讨论

Netflix团队发了篇paper《Is Cosine-Similarity of Embeddings Really About Similarity?》,对cosine相似度做了相应的研究。# 摘要余弦相似度(cosine similarity)是指两个向量间夹角的余弦...… Continue reading

Meta AdaTT介绍

Published on January 02, 2024

SATrans介绍

Published on December 02, 2023