阿里在《Adaptive Domain Interest Network for Multi-domain Recommendation》中提出了一种思路来解决multi-domain推荐问题:

摘要

工业界推荐系统通常会持有来自多个商业场景的数据,并同时为这些场景提供推荐服务。在检索阶段,topK的高质量items会从大量corpus中选出,通常对于多个场景来说是多样的。以alibaba展示广告系统为例,不仅因为淘宝用户的行为模式很多样,同时广告主对场景的竞价分配也非常多样。传统方法会针对不同场景独立训练模型,忽略掉user groups和items的cross-domain overlapping,或者简单将所有样本进行混合并使用一个共享模型(它很难捕获不同场景上的多样性)。在本paper中,我们提出Adaptive Domain Interest network,它会自适应处理不同场景的共性和差异,在训练期充分利用多场景数据。接着,在在线inference期间,通过对不同场景给出不同的topK候选,提出的方法能够提升每个business domain的效果。特别的,我们提出的ADI会通过共享网络以及domain-specific networks来建模不同domains的共性和差异。另外,我们会应用domain-specific batch normalization并设计domain interest adaptation layer进行feature-level domain adaptation。一个自训练策略(self training strategy)也会被包含进来捕获跨domains的label-level connections。ADI已经被部署到Alibaba的展示广告系统中,并且获得了1.8%的提升。

1.介绍

2.相关工作

3.前提

3.1 问题公式

在本节中,我们会对multi-domain retrieval任务进行公式化定义。Multi-domain retrieval task的目标是:从一个非常大的corpus中,为multiple domains检索high-quality items。更特别的,online multi-domain retrieval任务可以被公式化:

\[S_{u,d} = \underset{v \in V}{arg \ Topk} \ f_{\theta}(v | u, d)\]

…(1)

其中:

  • U和V: 分别表示user set 和item set
  • d: 表示domain indicator
  • \(f_{\theta}(v \mid u, d)\): 是使用可训练参数\(\theta\)的estimated matching function,给定user u和domain indicator d后,用于measuring u到V的quality
  • \(S_{u,d}\): 是一个set,它包含了对应于\(f_{\theta}(v \mid u, d)\)的topK items的set

在neural-based retrieval模型中,学习这样的一个模型 \(f_{\theta}(v \mid u, d)\)可以看成是一个instance-level的分类问题。从V中胜出的postive item v的分布基于softmax function:

\[s_{\theta}(v | u, d) = \frac{exp(f_{\theta}(v |u, d))}{\sum_{v' \in V} exp(f_{\theta}(v' \mid u, d))}\]

…(2)

接着\(\theta\)会训练在训练数据上用来最小化negative log likelihood:\(log s_{\theta}(v \mid u, d)\):

\[\theta^{*} = \underset{\theta}{argmin} \sum\limits_d \sum\limits_u \sum\limits_{v \in B_{u,d}} - log s_{\theta}(v \mid u, d)\]

…(3)

其中:

  • \(B_{u,d}\)是在给定user u和domain indicator d后,与u的交叉items的集合

实际上,由于V通常相当大,sub-sampling被广泛用来减小等式(2)分母的计算复杂度。根据[3,6],我们会使用sampled softmax loss[33],并将等式(2)中的\(f_{\theta}(v \mid u, d)\)替换成:

\[\bar{f}_{\theta} (v | u, d) = f_{\theta}(v | u, d) - log Q(v)\]

…(4)

有了sub-sampling,我们有等式(5)。\(N_{u,d}\)是不相关items的集合,它从V中根据分布\(Q: V \rightarrow R\)进行采样,以便它的size可以满足\(\mid N_{u,d} \mid << \mid V \mid\)。

\[\theta^{*} = argmin_{\theta} \sum_{d,u,v \in B_{u,d}} - \bar{f}_{\theta}(v | u, d) + log(exp(\bar{\theta}(v | u, d)) + \sum_{v' \in N_{u,t}} exp(\bar{f}_{\theta} (v' |u, t))\]

…(5)

4.方法论

在本节中,我们会引入我们提出的方法来解决multi-domain retrieval问题。整个模型结构如图1所示。总模型结构被设计成:对于来自三个角度(angles)的不同domains的共性和不同。

  • 首先,后端网络(backbone network)会从来自不同domains收集到的数据来抽取参数级共性(parameter-level)和多样性
  • 第二,domain adaptation方法会学到feature-level diversities
  • 第三,self-training策略会捕获label-level的共性

图片名称

图1 ADI的整体架构展示。根据灰色箭头,一个样本会首先进行embedded,接着feed到Domain Interest Adaptation Layer,Shared Domain-Specific Network, Fusion Layer和Domain-Specific Forward Network。在通过user/item tower获得user/ item representations后,inner product会被生成,在最后会计算sampled softmax loss。domain indicator会被用来选择:使用哪个domain-related network

4.1 Backbone Network

为了有效学习来自不同domains的数据分布的共性与不同,我们会在底部使用设计shared networks和domain-specific networks,在顶部使用domain-specific forward networks。当处理multi-domain retrieval问题时,对比起普通DNN【3】、share-bottom network【28】以及MMoE【29】,这样的架构效果更好。它会在下面实验中证明。

4.1.1 Shared Embedding Layer

如表1所示,training/testing samples包含了丰富的feature信息。因此,第一阶段是,将这样的高维稀疏one-hot vectors转化成低维embedding vectors,所有domains会共享相同的embedding layers。

\[F_i = EMBED(f_i) \\ F = concat(F_1 | \cdots | F_n)\]

…(6)(7)

其中:

  • \(F_i\)表示第i个embedded feature,F表示user/item inputs。

4.1.2 Shared Network & Domain-Specific Network

在获得encoded user representations和item representations后,我们会引入shared network和domain-specific network,如图1所示。受[18]启发,我们设计了shared network来学习由所有domains共享的representations,以及domain-specific network来在每个domain上学习domain-specific representations:

\[\begin{align} & a_k = \frac{W_{shared}^k (f_{domain}) + b_{shared}^k}{\sum\limits_{n=1}^K (w_{shared}^n(f_{domain}) + b_{shared}^n)} \\ & E_{shared} = \sum\limits_{k=1}^K a_k MLP_{shared}^k (F) \\ & E_{spec}^{(d)} = MLP_{spec}^{(d)} (F^{(d)}) \end{align}\]

…(8)(9)(10)

其中:

  • MLP表示multilayer perceptron,
  • \(f_{domain}, F^{(d)}\)表示domain相关的features,数据从domain d中收集到。在我们的实践中,我们会使用domain indicator embedding作为\(f_{domain}\)。
  • \(W_{shared}^n, b_{shared}\):是一个one-layer shallow neural network的weights和bias。

从所有domains中的数据会feed到shared networks中,而从domain d中的数据会feed到第d个domain-specific network中。更特别的,假设,存在来自D个domains的训练数据,我们会构建K个shared network以及D个specific network。FCs的总数是D+K

4.1.3 Fusion Layer

fusion layer的目标是学习一个来自Domain-Specific Network和Shared Network的最优化组合,它可以描述如下:

\[\beta_1^{(d)} = \sigma (W_{fusion\_spec}^{(d)} (f_{domain})) \\ \beta_2^{(d)} = \sigma (W_{fusion\_shared}^{(d)} (f_{domain})) \\ E_{fusion}^{(d)} = concat(\beta_1^{(d)} E_{spec}^{(d)} | \beta_{1}^{(d)}E_{spec}^{(d)} \odot \beta_2^{(d)} E_{shared} | \beta_2^{(d)} E_{shared})\]

…(11)(12)(13)

其中:

  • \(\sigma\)表示sigmoid函数
  • \(\odot\)表示hadamard product
  • \(\beta_1^{(d)}, \beta_2^{(d)}\)表示分配给\(E_{spec}^{(d)}, E_{shared}\)feature weights。

我们将提出的fusion layer命名为:CONCAT version。因此,shared和specific network会为每个domain生成domain-related \(E_{fusion}^{(d)}\)。另外,我们会引入两个变种,它们是由MMoE、SAR-NET使用的SUM version,以及由STAR【11】提出的Network-Mul version。对于SUM version,我们会使用MMoE的gating network作为fusion layer。\(W_{gate}, b_{gate}\)表示gating network的weights和bias:

\[a^{(d)} = \sigma(W_{gate}^{(d)}(f_{domain}) + b_{gate}) \\ E_{fusion}^{(d)} = \alpha^{(d)} E_{spec}^{(d)} + (1 - \alpha^{(d)}) E_{shared}\]

…(14)(15)

对于Network-Mul version,我们使用STAR-Topology FCN作为fusion layer。\(W_{shared}, b_{shared}, W_{spec}^{(d)}, b_{spec}^{(d)}\)分别表示在\(FC_{shared}\)和\(FC_{spec}\)中的参数:

\[FC_{Net-Mul}(X) = (W_{shared} \odot W_{spec}^{(d)}) \cdot X + b_{shared} + b_{spec}^{(d)} \\ E_{fusion}^{(d)} = FC_{Net-Mul} (F^{(d)})\]

在第5.3.1节中的实验表明,我们提出的CONCAT version会达到最好的效果,它会被用作fusion layer。

4.1.4 Domain-Specific Forward Network

在获得domain-related \(E_{fusion}^{(d)}\)后,最后outputs会feed到domain-related forward network中,描述如下:

\[E = FC_{forward}^{(d)} (E_{fusion}^{(d)})\]

…(18)

由user tower以及item tower生产的output E会被用作随后的inner product和sampled softmax计算。

4.2 Domain Adaptation

在multi-domain推荐任务中,我们提供了两种方法来解决domain adaptation问题:domain-specific batch normalization和domain intereset adaptation layer。

图片名称

图2

4.2.1 Domain-Specific Batch Normalization

batch normalization技术已经广泛被用于训练非常深的neural network。假设:\(\mu\)表示input X的均值,而\(\sigma^2\)表示方差。batch normalization方法可以描述如下:

\[\hat{X} = \alpha \frac{X-\mu}{\sqrt{\sigma^2 + \epsilon}} + \beta\]

…(19)

其中:\(\alpha\)和\(\beta\)是可学习的参数,\(\epsilon\)是非常小的quantity,以避免分母为0. BN假设input X会满足i.i.d的假设,它会在单个场景上有效。然而,multi-domain retrieval问题会面临着一个混合数据分布的问题。计算全局的BN参数,并忽略在不同domain间的静态差异,可能会损伤最终效果。受[35]的启发,我们会使用domain-specific batch normalization(DSBN)来解决提到的问题:

\[\hat{X}^{(d)} = \alpha^{(d)} \frac{X^{(d)} - \mu^{(d)}}{\sqrt{(\sigma^{(d)})^2 + \epsilon}} + \beta^{(d)}\]

…(20)

其中:

  • \(X^{(d)} \in X\) 表示:来自domain d的样本。

通过估计在batch normalization中的domain-specific batch统计:\(\mu^{(d)}, (\sigma^{(d)})^2, \alpha^{(d)}, \beta^{(d)}\),我们相信:该模型可以捕获domain-specific信息。

4.2.2 Domain Interst Adaptation Layer

domain interest adaptation layer来自直觉,不同domains假设只关注在raw features的不同部分。我们实现了三种类型的domain interest adaptation layer:linear domain transformation, vanilla domain attention,以及SE-Block-based domain attention:

Linear domain transformation:[14]使用的Linear domain transformation会将original features映射到domain-related features中。假如:\(F_i^{(d)}\)表示来自domain d的embedded input的第i个feature,\(W^{(d)}, b^{(d)}\)共享着与input \(F^{(d)}\)相同的维度。Linear domain transformation方法的描述如下:

\[\alpha_i^{(d)} = \sigma(Q_i^{(d)} F_i^{(d)}) \\ \hat{F}^{(d)} = concat(\alpha_1^{(d)} F_1^{(d)} | \cdots | \alpha_n^{(d)} F_N^{(d)})\]

…(23)(24)

SE-Block based domain attention:Squeeze-and-Excitation Network (SE-Net) 【36】在许多计算机视觉任务上达到了SOTA的结果。我们会讨论SE-Block是另一种形式的attention机制,它可以捕获在不同domains下的特征重要性差异。\(F_{se}\)表示一个(FC, Relu, FC) block和\(F_{avg}\)表示average pooling操作符。\(\alpha^{(d)}\)表示domain d下的N维的SE attention scores vector。

\[F^{(d)} = concat(F_1^{(d)} | \cdots | F_N^{(d)}) \\ \hat{F}^{(d)} = \alpha^{(d)} \odot concat(F_1^{(d)} | \cdots | F_N^{(d)})\]

…(25)(26)

SE-Block based domain adaptation layer会为不同domains学习不同domain attention weights,并以一种轻量且高效的方式来迁移cross-domain知识。

通过添加domain interest adaptation layer给backbone network,raw features会迁移到domain-related features中。在第5.3节中的实验和可视化表明:提出的domain interest adaptation layer。

4.3 Self Training

self training方法已经证明是一种有效的学习策略,可以在模型训练期利用unlabeled data。我们会应用该技术在multi-domain推荐的retrieval step中,有两个原因:

  • 1) 在训练数据中,当在domains间存在数据重合时,有一个潜在的label-level connection。为了更准确,在一个domain中的与user交叉的一个item,在另一个domain中仍会被相同的一个user进行交叉。该假设是有效的,特别是当更大的domain会帮助那些labeled data有限的小domains或新domains。
  • 2) 添加pseudo-labeld data到训练中,必然会变更原始的数据分布,然而,我们会讨论我们提出的self-training方法更适合于召回模型(retrieval models),而非ranking models. 在广告系统中的ranking models需要预测准确的CTR scores】【38】,添加额外的pseudo-labeled data可能会导致未知的效果,因为数据分布已经变化,CTR模型对数据分布非常敏感。然而,广告系统的retrieval models的目标是提供candidates set给下流任务。换句话说,对于retrieval models不需要精准的CTR score,因为多个candidates会平等的生成。因此,额外的潜在兴趣信号可以添加到model中,即使对于生成高质量topK candidates来说数据分布会发生微弱变化。已经存在的方法主要关注sample-level【32】,feature level【14】,parameter level【11】转换,从而忽略label-level transferring。因此,我们提出这种有效的self training方法,通过domains来挖掘潜在的label-level transferring knowledge,它被证明是有效的。

给定一个item v与user u在domain d上交叉,self training方法遵循以下两个steps:

  • a) 对于在除了domain d外的其它domains v,freeze住模型来生成pseudo-labels
  • b) freeze住pseduo-labels,接着fine-tune模型。

根据算法 1,对于每个step,我们会选择具有最高置信分的pseudo-labels,并且在训练期间选择部分(selection portion)会渐近增加。最后对于在其它domains中的v获得pseudo-labels,等式(3)中的\(\theta\)被训练来最小化在训练数据和pseudo-labeled data上的negative log likelihood:\(log s_{\theta}(v \mid u, d)\):

\[\theta^* = argmin_{\theta} \sum_d \sum_u \sum_{v \in B_{u,d}} - (log s_{\theta} (v | u, d) + log s_{\theta}(\bar{v} | u, d))\]

…(27)

其中,\(\bar{v}\)是在给定user u和domain d下,选中的潜在postive pseudo-items。

表3

5.实验

ali在《ATNN: Adversarial Two-Tower Neural Network for New Item’s Popularity Prediction in E-commerce》中提出了ATNN。

3.ADVERSARIAL TWO-TOWER NEURAL NETWORK

本节中,首先描述了new arrivals预估问题。CTR被认为是该问题的最重要的indicator。接着我们描述了ATNN,它会根据它们的流行度(popularity)对所有new arrivals进行排序。

A.问题描述

我们的目标是解决在电商平台上预估关于new arrivals的流行度的冷启问题。由于对于new arivals的流行度(popularity)没有公共评估,我们会使用CTR预估作为一个关键任务来解决该cold-start问题。在平台上有新items发出时,我们会利用模型根据CTR预估来做出个性化推荐。精准的CTR预估可以让购买者(buyers)看到它们更偏好的items,这会满足buyers对于new arrivals的消费期望,增强用户体验。同时,卖家(sellers)也愿意在该平台上提供更新的items,因为增加new arrivals的交易数可以获得利润。

另外,我们的主要目标是,在new arrivals间发现潜在的流行items。然而,对于一个模型来说,评估item流行性是很难的。我们会采用:如果一个item对于大多数购买者(buyers)具有较高CTR,那么它会具有一个高可能性是吸引人的。因此,我们会基于大规模工业界数据,将模型进行扩展,以获得new arrivals在所有用户上的流行度。在new items放到平台上前,该模型能获得关于new items的流行度

特别的,我们会使用item被释放到平台上的前30天信息作为训练数据。我们接着收集这些items的静态数据,包括:Page Views(PV)、UV(Unique Visotors)、用户行为序列(比如:点击、加购物车、加收藏、购买)。我们也会获得item profiles和user profiles作为训练数据的features。Item profiles包含了买家信息、产品名、产品图片、类别。User profiles包含了私人数据,经如:用户名、性别、位置信息、购买偏好、购买力等级等。New arrivals只有item profiles没有item统计信息。我们的目标是对所有new arrivals对在所有用户上的流行度进行排序。

B.普通pairwise user-item CTR预估的双塔模型

DNNs被广泛用来进行普通CTR预估,自动学习feature表示和高阶特征交叉。由DNNs获得的Item vectors可以被用于多个任务,包括new arrivals的流行度估计。

图2展示了一个标准的DNN model,用于pairwise user-item CTR预估。这是一个经典的方法,会首先将一个item embedding和一个user embedding进行concatenate在一起。通过该模型我们不能获得item vector和user vector。

图片名称

图2

为了显式捕获对new item流行度预估的item vectors,我们会构建一个two-tower网络,如图3所示。左塔会从item profiles和item统计信息中抽取信息,来达到item vectors;右塔会利用user profiles来获得user vectors。我们可以显式捕获item vector和user vector,可以用来训练其它模型,并求解与pairwise CTR预估相关的其它任务。我们使用ATNN获得的item vectors来训练一个generator,它会在后描述。

我们会训练模型,通过将每个item,user pair给到network中,包括它们的交叉。一条input样本如下:

\[[itemID, x_{i1}, x_{i2}, x_{i3}, \cdots, userID, x_{u1}, x_{u2}, x_{u3}, \cdots, y]\]

其中:

  • itemID和user ID是唯一标识符
  • \(x_i\)和\(x_u\)表示一个item和一个user的features
  • \(y\)是label

图片名称

图3

C.对new arrivals进行ATNN预估

New arrivals CTR预估与普通CTR预估不同,因为缺少user-item交叉。对于平台新上的items,对比起普通item,通常在它们之上具有少量的用户行为。用户行为非常稀疏,很难训练。另外,对于还没有上的new arrivals,还不存在item统计数据。所有经典方法面临着item统计信息(包括:PV、UV、用户行为预行)的缺失。

受GANs思想的启发,我们设计了一个item generator以及一个discriminator,它可以更好学习只有item profiles的item vectors。如上所述,一个原始的two-tower DNN模型能达到item vectors和user vectors,因为在item encoder和user encoder间存在一个显式层(explicit layer)。我们会利用由双塔网络生成的item vectors来增强generator的feature extraction能力。生成的item vector和user vector的quality会影响CTR预估的精准度。

我们提出在双塔结构中引入一个对抗网络(adversarial network)来进行CTR预估,称为:Adversarial Two-tower Neural Network (ATNN)。ATNN结论如图4所示。左部分是对抗组件,它使用没有任何item统计信息的item profiles来学习更好抽取item vectors。

图片名称

图4

generator设计的目的是:用来从item profiles生成item vectors,以便生成的item vectors与由item encoder生成的item vectors很相似,其中:item encoder从item profile和item统计数据中学习得到。discriminator被设计用来区分:由item generator生成的item vectors、由item encoder生成的item vectors。该generator和discriminator会做一个极大极小博弈(minimax game)来提升效果。discriminator的loss function会基于两类item vectors间的相似度,被定义为\(L_s\)。

另外,我们会使用由generator和encoder两者生成的所有item vectors来训练CTR预估模型。原始two-tower模型的loss function被定义为:\(L_i\)。generated item vectors和user vectors间的CTR预估的loss function被定义为\(L_g\):

\[L_i = - \frac{1}{N} (y_i log\hat{y}_i + (1-y_i) log(1-\hat{y}_i)) \\ L_g = - \frac{1}{N} (y_i log\hat{y}_i^{(g)} + (1-y_i) log(1-\hat{y}_i^{(g)}))\]

其中:

  • \(y_i \in \lbrace 0, 1\rbrace\)是label indicator,表示用户是否对该item有点击
  • \(\hat{y} \in (0,1)\):是基于item vector和user vector的预估label
  • \(\hat{y}^{(g)} \in (0,1)\):是基于generated item vector和user vector的预估label
  • N表示训练样本数

我们会feed每对item\user pair、以及每个user-item pair的交互信息给网络来训练该模型。我们会迭代式最小化loss的方式来最优化ATNN。生成能力以及CTR的预估质量可以被增强。

在gnerators和encoders中会使用DCN。略

另外受transfer learning和multi-task learning的启发,我们让两个item embedding layers共享它们的embeddings。embedding layers会将large-scale sparse features映射到low-rank vectors中,需要大量input样本来训练一个更好模型。在embedding layers间共享features会改善generator组件的能力,以便将item profiles映射到vectors中。

我们在算法1中将ATNN的训练过程进行总结。

图片名称

算法1

在每轮迭代,我们会首先通过以下的loss function来最优化ATNN:

\[L_i(H(f_i(X_i), f_u(X_u)), y)\]

其中,

  • \(X_i\)和\(X_u\)分别表示一个item和一个user的features
  • \(f_i(X_i)\)和\(f_u(X_u)\)表示由item encoder和user encoder获得的item vector和user vector
  • \(H(\cdot)\)函数表示在一个item和一个user间的CTR预估得分

\(L_i\)会使用LR从item profiles和item统计信息,根据给定labels来进行CTR预估。在该步,我们会通过使用item tower和user tower来最优化CTR prediction。

接着,我们会通过以下的loss function来最优化ATNN:

\[L_g(H(g(X_{ip}), f_u(X_u)), y) + \lambda L_s(S(g(X_{ip}), f_i(X_i)))\]

其中:

  • \(X_{ip}\)是一个item profiles的features
  • \(g(X_{ip})\)是generated item vector
  • \(\lambda\)是一个weighting参数,用来对两个loss进行balance
  • \(S(\cdot)\)函数表示在一个generated item vector和一个普通item vector间的相似度

根据给定labels,\(L_g\)使用logistic regression从只有item profiles信息中来评估CTR预估,\(L_s\)会使用mean squared error,如下:

\[L_s(X) = mean((1 - x_i)^2)\]

其中,\(L_s\)会评估在generated item vectors和normal item vectors间的平均相似度。在该step中,我们会最小化在来自generator的generated item vector与item encoder的item vector间的差异。

D.基于ATNN进行大规模new arrivals的流行度预估

我们的目标是:通过对所有items进行流行度排序,来发现潜在的流行new arrivals。然而,对于items流行度的打分没有通用评估。基于合理假设:如果一个item对于大量买家来说具有一个较高CTR,我们认为该商品很可能更吸引人,我们可以利用ATNN来估计new arrivals的流行度。

然而,使用一个pairwise user-item CTR预估模型来完成new arrivals流行度,面临着高时间复杂度的挑战。实际上,对于new arrivals的排序,我们需要获得所有new arrivals流行度。在预估阶段,我们需要构建一个关于所有new arrivals和所有users的笛卡尔积 ( Cartesian product)。因此,预估阶段的时间复杂度是\(O(N_u * N_{NA})\),其中:\(N_{NA}\)表示new arrivals的数目。在电商平台上,每天会来数百万已存在用户和数百万新items。在实际系统中\(O(N_u * N_{NA})\)复杂度的算法是不用运转的。

为了对new arrivals进行排序,没必要获得所有user-item pairs。作为替代,我们选择top 2000w偏好new arrivals的活跃用户,将他们看成一个用户组。我们在训练阶段学习和存储它们的mean user vector。当预估一个item的流行度时,我们只需要使用存储好的mean user vector来做出预估,它可以减少时间复杂度:每个item从\(O(N_u)\)到\(O(1)\)。图5展示了ATNN模型对于new arrivals流行度预估的效率。

图片名称

图5

参考

google在《DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-scale Learning to Rank Systems》提出了一个DCNv2的改进模型:

摘要

学习有效的特征交叉是构建推荐系统的关键。然而,稀疏且庞大的特征空间需要穷尽搜索来识别有效的交叉。深度交叉网络(DCN)被提出以自动且高效地学习有限阶(bounded-degree)的预测性特征交互。不幸的是,在为数十亿训练样本提供服务的Web规模流量模型中,DCN在其交叉网络中表现出有限的表现力,难以学习更具预测性的特征交互。尽管取得了显著的研究进展,但许多生产中的深度学习模型仍然依赖传统的前馈神经网络低效地学习特征交叉。

鉴于DCN的优缺点以及现有的特征交互学习方法,我们提出了一个改进的框架DCN-V2,以使DCN在大规模工业环境中更加实用。通过广泛的超参数搜索和模型调优的全面实验研究,我们观察到DCN-V2在流行的基准数据集上超越了所有最先进的算法。改进后的DCN-V2更具表现力,同时在特征交互学习中保持成本效益,特别是与低秩架构结合时。DCN-V2简单易用,可以作为构建块轻松采用,并在Google的许多Web规模学习排序系统中实现了显著的离线准确性和在线业务指标提升。

1 引言

学习排名(LTR)[4, 27] 仍然是现代机器学习和深度学习中最重要的问题之一。它在搜索、推荐系统[17, 39, 41]和计算广告[2, 3]等领域有着广泛的应用。在LTR模型的关键组件中,学习有效的特征交叉继续吸引着学术界[26, 35, 46]和工业界[1, 6, 13, 34, 50]的大量关注。

有效的特征交叉对许多模型的成功至关重要。它们提供了超出单个特征的额外交互信息。例如,“国家”和“语言”的组合比其中任何一个都更有信息量。在线性模型时代,机器学习从业者依靠手动识别这些特征交叉[43]来增加模型的表达能力。不幸的是,这在web规模应用中涉及一个庞大而稀疏的组合搜索空间,数据大多是类别型的。在这样的环境下进行搜索是费力的,通常需要领域专业知识,并使模型更难泛化。

后来,嵌入技术被广泛采用,将高维稀疏向量投影到低维dense向量。因子分解机(FMs)[36, 37]利用嵌入技术并通过两个潜向量的内积构建成对特征交互。与线性模型中的传统特征交叉相比,FM具有更强的泛化能力。

在过去十年中,随着更多的计算能力和海量数据的出现,工业界的LTR模型逐渐从线性模型和基于FM的模型迁移到深度神经网络(DNN)。这显著提高了搜索和推荐系统的模型性能[6, 13, 50]。人们普遍认为DNN是通用函数逼近器,可以潜在地学习各种特征交互[31, 47, 49]。然而,最近的研究[1, 50]发现,DNN甚至近似建模二阶或三阶特征交叉都是低效的

为了更准确地捕捉有效的特征交叉,常见的补救措施是:通过更宽或更深的网络进一步增加模型容量。这自然是一把双刃剑,我们在提高模型性能的同时使模型变得更慢。在许多生产环境中,这些模型处理极高的查询每秒(QPS),因此对实时推理有非常严格的延迟要求。可能,服务系统已经被推到极限,无法承受更大的模型。此外,更深层次的模型通常会引入可训练性问题,使模型更难训练。

这凸显了设计一个能够高效且有效地学习预测性特征交互的模型的关键需求,特别是在资源受限的环境中处理来自数十亿用户的实时流量。许多最近的工作[1, 6, 13, 26, 34, 35, 46, 50]试图解决这一挑战。共同的主题是:利用从DNN中学到的隐式高阶交叉,以及在线性模型中被发现有效的显式且有限阶的特征交叉。隐式交叉意味着交互是通过端到端函数学习的,没有任何明确的公式来建模这种交叉。另一方面,显式交叉是通过一个具有可控交互阶数的明确公式建模的。我们将在第2节详细讨论这些模型。

在这些工作中,深度交叉网络(DCN)[50]是有效且优雅的,但在大规模工业系统中实现DCN面临许多挑战。其交叉网络的表达能力受限的。由交叉网络产生的多项式类由$O(input\ size)$个参数表征,大大限制了其在建模随机交叉模式(random cross pattern)方面的灵活性。此外,交叉网络和DNN之间的分配能力不平衡。当将DCN应用于大规模生产数据时,这种差距显著增加。大部分参数将用于在DNN中学习隐式交叉。

在本文中,我们提出了一个新的模型DCN-V2,以改进原始的DCN模型。我们已经成功地在谷歌的许多学习排名系统中部署了DCN-V2,并在离线模型准确性和在线业务指标方面取得了显著收益。DCN-V2首先通过交叉层学习输入的显式特征交互(通常是嵌入层),然后与深度网络结合学习互补的隐式交互。DCN-V2的核心是交叉层,它继承了DCN交叉网络的简单结构,但在学习显式且有限阶(bounded-degree)的交叉特征方面显著更具表达能力。本文研究了以点击为正标签的数据集,但DCN-V2是标签无关的,可以应用于任何学习排名系统。本文的主要贡献有五个方面:

  • 我们提出了一种新颖的模型——DCN-V2,用于学习有效的显式和隐式特征交叉。与现有方法相比,我们的模型更具表达能力,同时保持高效和简单。
  • 观察到DCN-V2中学习矩阵的低秩特性,我们提出利用低秩技术在一个子空间中近似特征交叉,以实现更好的性能和延迟权衡。此外,我们提出了一种基于混合专家架构[19, 45]的技术,将矩阵进一步分解为多个较小的子空间。这些子空间通过门控机制聚合在一起。
  • 我们进行了广泛的实验研究,使用合成数据集展示了传统ReLU基神经网络在学习高阶特征交叉时的低效性
  • 通过全面的实验分析,我们证明了我们提出的DCN-V2模型在Criteo和MovieLen-1M基准数据集上显著优于最先进的算法。
  • 我们提供了一个案例研究,并分享了在大规模工业排序系统中实现DCN-V2的经验教训,这些经验带来了显著的离线和在线收益。

本文的组织结构如下。第2节总结了相关工作。第3节描述了我们提出的模型架构DCN-V2及其内存高效的版本。第4节分析了DCN-V2。第5节提出了几个研究问题,这些问题在第6节的合成数据集和第7节的公共数据集上的全面实验中得到了回答。第8节描述了在大规模web推荐系统中实现DCN-V2的过程。

2 相关工作

近期特征交互学习工作的核心思想是:利用显式和隐式(来自DNNs)的特征交叉。为了建模显式交叉,大多数近期工作引入了乘法操作($x_1 \times x_2$),这在DNN中效率不高,并设计了一个函数$f(x_1,x_2)$来有效地显式建模特征$x_1$和$x_2$之间的成对交互。我们根据它们如何结合显式和隐式组件来组织工作。

并行结构。一条工作线受到wide&deep模型[6]的启发,联合训练两个并行的网络,其中wide组件接受原始特征的交叉作为输入;而deep组件是一个DNN模型。然而,为wide组件选择交叉特征又回到了线性模型的特征工程问题。尽管如此,wide&deep模型已经激发了许多工作采用这种并行架构并改进wide组件

  • DeepFM[13]通过采用FM模型自动化了wide组件中的特征交互学习。
  • DCN[50]引入了一个交叉网络,该网络自动且高效地学习显式且有界的特征交互。
  • xDeepFM[26]通过生成多个特征图增加了DCN的表达能力,每个特征图编码当前级别和输入级别之间所有特征对的交互。此外,它还将每个特征嵌入$x_{i}$视为一个单元,而不是将其元素$x_{i}$视为一个单元。不幸的是,其计算成本显著较高(参数的10倍),这使得它在工业规模的应中不切实际。此外,DeepFM和xDeepFM都需要所有特征嵌入的大小相等,这是另一个在应用于工业数据时的限制,因为词汇表大小(分类特征的大小)从O(10)到数百万不等。
  • AutoInt[46]利用多头自注意力机制和残差连接。InterHAt[25]进一步采用了分层注意力。

堆叠结构。另一条工作线在嵌入层和DNN模型之间引入了一个交互层,该层创建显式的特征交叉。这个交互层在早期阶段捕获特征交互,有助于后续隐藏层的学习。

  • Product-based neural network(PNN)[35]引入了内积(IPNN)和外积(OPNN)层作为成对交互层。OPNN的一个缺点是其计算成本高。
  • Neural FM(NFM)[16]通过用Hadamard积替换内积扩展了FM;
  • DLRM[34]遵循FM通过内积计算特征交叉;

这些模型只能创建最多2阶的显式交叉。

  • AFN[7]将特征转换到对数空间并自适应地学习任意阶的特征交互。类似于DeepFM和xDeepFM,它们只接受大小相等的嵌入。

尽管取得了许多进展,但我们广泛的实验(第7节)表明DCN仍然是一个强大的基线。我们认为这归功于其简单的结构,这有助于优化。然而,正如所讨论的,其有限的表达能力阻止了它在网络规模系统中学习更有效的特征交叉。接下来,我们将介绍一种新的架构,它继承了DCN的简单结构,同时增加了其表达能力。

3 提出的架构:DCN-V2

本节描述了一种新颖的模型架构(DCN-V2),用于学习显式和隐式特征交互。DCN-V2从一个嵌入层开始,接着是一个包含多个交叉层的交叉网络,该网络对显式特征交互进行建模,然后与一个深度网络结合,对隐式特征交互进行建模。DCN-V2中的改进对于将DCN投入高度优化的生产系统至关重要。DCN-V2显著提高了DCN[50]在建模复杂显式交叉项方面的表达能力,同时保持了其优雅的公式以便于部署。DCN-V2研究的函数类是DCN所建模的函数类的严格超集。总体模型架构如图1所示,有两种方式将交叉网络与深度网络结合:(1)堆叠和(2)并行。此外,观察到交叉层的低秩特性,我们提出利用关于低秩交叉层(low-rank cross layers)的一种混合(mixture)方式来达到在模型性能和效率之间实现更健康的权衡。

图片名称

图1 DCN-V2的可视化图示。$\odot$表示公式(1)中的交叉运算,即:$x_{𝑙+1} = x_0 \odot (𝑊_𝑙 x_𝑙 + b_𝑙) + x_𝑙$。

3.1 嵌入层

嵌入层接收类别型(sparse)特征和dense特征的组合输入,输出$x_0 \in R^d$。对于第$i$个类别型特征,我们通过$x_{\text{embed},i} = W_{\text{embed},i} \ e_i$将其从高维稀疏空间投影到低维稠密空间,其中:

  • $e_i \in \lbrace 0,1 \rbrace^{v_i}$:为one-hot向量
  • $W \in R^{e_i \times v_i}$为可学习投影矩阵
  • $x_{\text{embed},i} \in R^{e_i}$为稠密嵌入向量
  • $v_i$和$e_i$分别表示词表大小和嵌入维度

对于多值特征,我们使用嵌入向量的均值作为最终向量。输出层将所有嵌入向量与归一化后的稠密特征拼接:

\[x_0 = [x_{\text{embed},1}\ ; \ldots\ ; x_{\text{embed},n}\ ; x_{\text{dense}}]\]

与许多需要$e_i = e_j \forall i,j$的研究[13,16,26,34,35,46]不同,我们的模型支持任意嵌入维度。这对工业级推荐系统尤为重要——词表规模可能从$O(10)$到$O(10^5)$不等。此外,我们的框架不仅限于上述嵌入方法,也可兼容哈希等其他嵌入技术。

3.2 Cross网络

DCN-V2的核心在于显式构建特征交叉的交叉层。第$(l+1)$层交叉层计算如式(1)所示: \(x_{l+1} = x_0 \odot (W_lx_l + b_l) + x_l \tag{1}\) 其中:

  • $x_0 \in R^d$是包含原始一阶特征的base layer,通常设为嵌入层输入
  • $x_l, x_{l+1} \in R^d$分别表示第$(l+1)$层的输入和输出
  • $W_l \in R^{d \times d}$和$b_l \in R^d$为可学习参数

图片名称

图2 [交叉层可视化图示]

对于$l$层交叉网络,最高多项式阶数为$l+1$,且包含直至最高阶的所有特征交叉组合(详见第4.1节从比特级和特征级的分析)。当$W = \mathbf{1}w^\top$($\mathbf{1}$为全1向量)时,DCN-V2退化为DCN。交叉层只能生成有限阶数的多项式函数类,其他复杂函数空间仅能近似1。因此我们引入深度网络来补充建模数据内在分布。

3.3 Deep网络

第$l$层深度网络计算公式为:

\[h_{l+1} = f(W_l h_l + b_l)\]

其中:

  • $h_l \in R^{d_l}$, $h_{l+1} \in R^{d_{l+1}}$:分别为第$l$层的输入输出
  • $W_l \in R^{d_l \times d_{l+1}}$:为权重矩阵
  • $b_l \in R^{d_{l+1}}$:为偏置向量
  • $f(\cdot)$:采用ReLU激活函数(其他激活函数也适用)

3.4 Deep & Cross组合结构

我们探索两种组合结构:

  • 堆叠结构(图1a):输入$x_0$先经过交叉网络再输入深度网络,最终层$x_{\text{final}} = h_{L_d}$, $h_0 = x_{L_c}$,建模方式为:$f_{\text{deep}} \circ f_{\text{cross}}$
  • 并行结构(图1b):输入$x_0$并行输入两个网络,最终拼接输出$x_{\text{final}} = [x_{L_c}; h_{L_d}]$,建模方式为:$f_{\text{cross}} + f_{\text{deep}}$

预测值$\widehat{y}_i$计算为:

\[\widehat{y}_i = \sigma(w_{\text{logit}}^\top \ x_{\text{final}})\]

其中:

  • $w_{\text{logit}}$为logit权重向量
  • $\sigma(x)=1/(1+\exp(-x))$

损失函数采用排序学习系统中常用的对数损失(适用于二分类如点击预测):

\[\text{loss} = -\frac{1}{N}\sum_{i=1}^N y_i\log(\widehat{y}_i) + (1-y_i)\log(1-\widehat{y}_i) + \lambda\sum_l \|W_l\|_2^2\]

其中:

  • $\widehat{y}_i$为预测值
  • $y_i$为真实标签
  • $N$为样本总数
  • $\lambda$为$L_2$正则化系数

3.5 高性价比的低秩DCN混合架构

在实际生产模型中,模型容量常受限于计算资源与严格的延迟要求。我们通常需要在保持精度的前提下降低成本。低秩技术[12]被广泛用于降低计算成本[5,9,14,20,51,52],其通过两个瘦高矩阵$U,V \in R^{d \times r}$来近似稠密矩阵$M \in R^{d \times d}$。当$r \leq d/2$时可降低计算成本,但该技术仅在矩阵在奇异值(singular values)上存在较大间隙(gap)或快速谱衰减时最有效。实践中我们确实观察到学习到的矩阵具有数值低秩特性。

图3a展示了生产模型中DCN-V2(式(1))权重矩阵$W$的奇异值衰减模式。与初始矩阵相比,学习后的矩阵呈现更快的谱衰减。定义容忍度为$T$的数值秩$R_T$为$\underset{k}{argmin} (\sigma_k < T \cdot \sigma_1)$,其中$\sigma_1 \geq \sigma_2 \geq … \geq \sigma_n$为奇异值。在机器学习领域,即使容忍度$T$较高,模型仍能保持优异性能$^2$。

图片名称

图3:左图:学习到的DCN-v2权重矩阵奇异值衰减(+表示随机初始化矩阵,×表示训练后矩阵);右图:低秩混合交叉层结构

因此对$W$施加低秩结构具有充分动机。式(2)给出第$(l+1)$层低秩交叉层的计算:

\[x_{l+1} = x_0 \odot \left( U_l V_l^\top x_i + b_l \right) + x_i \tag{2}\]

其中$U_l, V_l \in R^{d \times r}$且$r \ll d$。该式有两种解释:

  • 在子空间中进行特征交叉学习
  • 将输入$x$投影到低维空间$R^r$后再重构回$R^d$

这两种解释启发了以下改进:

解释1 启发我们采用混合专家(MoE)[10,19,30,45]思想。不同于单一专家(式(2)),我们使用多个专家在不同子空间学习特征交叉,并通过门控机制动态组合。式(3)和图3b展示了低秩混合交叉层

\[x_{l+1} = \sum_{i=1}^K G_i(x_l)E_i(x_l) + x_l \\ E_i(x_l) = x_0 \odot \left( U_l^i V_l^{i\top} x_l + b_l \right) \tag{3}\]

其中:

  • $K$为专家数量
  • $G_i(\cdot): R^d \mapsto R$为门控函数(常用sigmoid/softmax)
  • $E_i(\cdot): R^d \mapsto R^d$为第$i$个特征交叉专家

当$G(\cdot) \equiv 1$时,式(3)退化为式(2)

解释2 启发我们利用投影空间的低维特性。在从$d’$维重构到$d$维($d’ \ll d$)之前,先在投影空间进行非线性变换以精炼表示[11]:

\[E_i(x_l) = x_0 \odot \left( U_l^i \cdot g\left( C_l^i \cdot g\left( V_l^{i\top} x_l \right) \right) + b_l \right) \tag{4}\]

其中:

  • $g(\cdot)$为任意非线性激活函数。

讨论

本节核心是在固定内存/时间预算下有效学习特征交叉。从式(1)到式(4),每个公式在参数量固定的情况下都定义了更丰富的函数类。

不同于多数在训练后进行的模型压缩技术,我们的方法在训练前就植入结构先验,并联合学习所有参数。由于交叉层是下面非线性系统的一个组成部分:

\[f(x) = (f_k(W_k) \circ \cdots \circ f_1(W_1))(x)\]

其中:

\[(𝑓_{𝑖+1} \circ 𝑓_𝑖)(\cdot) := 𝑓_{𝑖+1}(𝑓_𝑖(\cdot))\]

其整体系统的训练动态性会受影响,如果你感兴趣,可以观察全局统计量(如Jacobian和Hessian矩阵)是如何被影响的,相关研究将留待未来工作。

3.6 复杂度分析

设:

  • d表示嵌入大小,
  • $L_{c}$ 表示交叉层数,
  • K表示低秩DCN专家数。

此外,为简单起见,我们假设每个专家都有相同的较小维度r(秩的上限)

  • 交叉网络的时间和空间复杂度为 $O\left(d^{2} L_{c}\right)$
  • 对于低秩DCN混合(DCN-Mix),当 $r K\ll d $ 时,它是高效的,复杂度为 $O\left(2 d r K L_{C}\right)$。

4 模型分析

本节从多项式逼近的角度分析DCN-V2,并与相关工作建立联系。我们采用文献[50]中的符号体系。

符号定义

设嵌入向量 $x = [x_1; x_2; \ldots; x_k] = [x_1, x_2, \ldots, x_d] \in R^d$ 为列向量,其中:

  • $x_i \in R^{e_i}$ 表示第$i$个特征嵌入,
  • $x_i$ 表示$x$中的第$i$个元素。

定义:

  • 多重指标 $\alpha = [\alpha_1, \ldots, \alpha_d] \in \mathbb{N}^d$,且 $\mid \alpha \mid = \sum\limits_{i=1}^d \alpha_i$。

定义:

  • 全1向量 $\mathbf{1}$ 和单位矩阵 $\mathbf{I}$。
  • 矩阵用大写字母表示,粗体小写字母表示向量,普通小写字母表示标量

4.1 多项式逼近

我们从两个角度分析DCN-V2的多项式逼近特性:

  • 1)将每个元素(比特)$x_i$视为单位,分析元素间交互(Theorem 4.1)
  • 2)将每个特征嵌入$x_i$视为单位,仅分析特征间交互(Theorem 4.2)

定理4.1 (比特级)

假设$l$层交叉网络的输入为$x \in R^d$,输出为$f_l(x) = \mathbf{1}^\top x_l$,第$i$层定义为:

\[x_i = x \odot w^{(i-1)}x_{i-1} + x_{i-1}\]

则多元多项式$f_l(x)$可表示为以下多项式类:

\[\left\{ \sum_{\alpha} c_{\alpha} \left( w^{(1)}, \ldots, w^{(l)} \right) x_1^{\alpha_1} x_2^{\alpha_2} \ldots x_d^{\alpha_d} \;\Bigg|\; 0 \leq |\alpha| \leq l+1, \alpha \in \mathbb{N}^d \right\}\]

其中系数$c_{\alpha}$为:

\[c_{\alpha} = \sum_{j \in C_{|\alpha|-1}^l} \sum_{i \in P_{\alpha}} \prod_{k=1}^{|\alpha|-1} w_{jk}^{(i_k i_{k+1})}\]

这里:

  • $w_{jk}^{(k)}$表示矩阵$w^{(k)}$的第$(i,j)$个元素,
  • $P_{\alpha}$是满足$\cup_i {i, \ldots, i_{\alpha_i}}$($\alpha_i \neq 0$)的所有排列组合。

定理4.2 (特征级)

在相同设定下,假设输入$x = [x_1; \ldots; x_k]$包含$k$个特征嵌入,将每个$x_i$视为单位。则$l$层交叉网络的输出$x_l$能生成所有阶数不超过$l+1$的特征交互。具体地,对于特征索引集合$I$中的特征(允许重复索引),设$P_I = \text{Permutations}(I)$,则其$p$阶交互为:

\[\sum_{i \in P_I} \sum_{j \in C_{p-1}} x_{i_1} \odot \left( w^{(j_1)}_{i_1,i_2} x_{i_2} \odot \ldots \odot w^{(j_k)}_{i_k,i_{k+1}} x_{i_{l+1}} \right)\]

从比特级和特征级两个角度看,$l$层交叉网络都能生成阶数不超过$l+1$的所有特征交互。相比DCN-V,DCN-V2用更多参数刻画了相同的多项式类,具有更强的表达能力。此外,DCN-V2的特征交互既可以从比特级也可以从特征级进行解释,而DCN仅支持比特级交互[26,46,50]。

4.2 与相关工作对比

我们研究DCN-V2与其他SOTA特征交互学习方法的联系,仅关注各模型的特征交互组件,忽略DNN部分。为便于比较,假设所有特征嵌入维度相同为$e$。

DCN

我们的模型主要受DCN[50]启发。从高效投影视角看,DCN隐式生成所有成对交叉后投影到低维空间;DCN-V2采用不同的投影结构:

\[x^\top_{\text{DCN}} = x_{\text{pairs}} \begin{bmatrix} w_0 & 0 & \cdots & 0 \\ 0 & w & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & w_d \end{bmatrix}, \quad x^\top_{\text{DCN-V2}} = x_{\text{pairs}} \begin{bmatrix} w_1 & 0 & \cdots & 0 \\ 0 & w_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & w_d \end{bmatrix}\]

其中$x_{\text{pairs}} = [x_i \widetilde{x}j]{\forall i,j}$包含$x_0$与$\widetilde{x}$间所有$d^2$个成对交互;$w \in R^d$是DCN-V的权重向量,$w_i \in R^d$是DCN-V2权重矩阵的第$i$列(式(1))。

DLRM与DeepFM

二者本质上是去掉DNN组件的二阶FM(忽略微小差异)。因此我们简化分析与FM比较,其公式为:

\[x^\top \boldsymbol{\beta} + \sum_{i<j} w_{ij} \langle x_i, x_j \rangle\]

这等价于无残差项的1层DCN-V2(式(1))配合结构化权重矩阵:

\[\mathbf{1}^\top \begin{bmatrix} 0 & w_{12}\mathbf{I} & \cdots & w_{1k}\mathbf{I} \\ 0 & 0 & \cdots & w_{2k}\mathbf{I} \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 0 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_k \end{bmatrix} + \begin{bmatrix} \beta_1 \\ \beta_2 \\ \vdots \\ \beta_k \end{bmatrix}\]

xDeepFM

第$k$层第$h$个特征图定义为:

\[x_{k,h,*} = \sum_{i=1}^{k-1} \sum_{j=1}^m w_{k,h}^{ij} (x_{k-1,i,*} \odot x_j)\]

第1层第$h$个特征图等价于无残差项的1层DCN-V2:

\[x_{1,h,*} = [\mathbf{I}, \mathbf{I}, \ldots, \mathbf{I}] (x \odot (wx)) = \sum_{i=1}^k x_i \odot (w_{i,:}x)\]

其中:

  • $(i,j)$块$w_{i,j} = w_{ij}\mathbf{I}$,$w_{i,:} = [W_{i,1}, \ldots, W_{i,k}]$。

AutoInt

交互层采用多头自注意力机制。为简化分析,假设使用单头注意力(多头情况可通过拼接交叉层比较)。

从高层视角看,AutoInt第1层输出$e_x = [e_{x1}; e_{x2}; \ldots; e_{xk}]$,其中$e_{xi}$编码第$i$个特征的所有二阶交互。然后将$e_x$输入第2层学习高阶交互,这与DCN-V2相同。

从底层视角(忽略残差项):

\[e_{xi} = \text{ReLU} \sum_{j=1}^k \frac{\exp(\langle w_q x_i, w_k x_j \rangle)}{\sum_j \exp(\langle w_q x_i, w_k x_j \rangle)} (w_v x_j) = \text{ReLU} \sum_{j=1}^k \text{softmax}(x_i^\top w_f x_j) w_v x_j\]

其中$\langle\cdot,\cdot\rangle$表示内积,$w_e = w_qw_k$。而在DCN-V2中:

\[e_{xi} = \sum_{j=1}^k x_i \odot (w_{i,j} x_j) = x_i \odot (w_{i,:}x)\]

(式(5)),其中:

  • $w_{i,j}$表示$w$的第$(i,j)$块。显然差异在于特征交互的建模方式:AutoInt认为非线性来自ReLU(·),而我们认为每个求和项都有贡献;DCN-V2采用$x_i \odot w_{i,j}x_j$的形式。

PNN

内积版本(IPNN)与FM类似。外积版本(OPNN)先显式生成所有$d^2$个成对交互,再用$d’ \times d^2$稠密矩阵投影到低维空间$d’$。与之不同,DCN-V2通过结构化矩阵隐式生成交互。

参考

https://arxiv.org/pdf/2008.13535

microsoft在《Predictive Model Performance: Offline and Online Evaluations》中提出在线评估与离线评估中 AUC的特性:

1.介绍

对于一个常见的机器学习问题,训练和评估(or test)样本会从模型所需要的population中随机选出,预估模型会基于训练样本构建。接着,学到的模型会被应用到evaluation data上,模型的qualities会使用选中的evaluation metrics进行measure。这被称为“offline evaluation”。

另外,高度复杂的现代应用,比如:google/bing的搜索引擎,经常会在一个controlled AB testing平台上对最好的离线模型进行开展在线评估(称为online evaluation)。

现实中模型评估的一个问题是:在离线评估中模型效果的提升有时不会收到实际效果,或者有时在在线评估时获得相反结果。不同于静态offline evaluation,在controlled环境下的online Testing是高度动态的,当然,在离线建模期间都没有考虑的许多因素会对结果有重要影响。然而,这些observations会抛出一个问题:是否存在会导致这样差异在离线评估指标上的基础biases或限制。

另一个问题是:使用不同类型的数据构建的模型所进行的效果对比,特别是那些带有稀有事件(rare events)数据。稀有事件(rare events)会比其它事件以更低频率出现,从而导致在classes间的倾斜样本分布。在真实世界问题中,这是个相当常见的现象。(rare events)的样本包含了在web search结果链接上的点击、展示广告的点击、在产品广告上的购买。之前的研究已经表明,一些metrics可能会过度估计对于倾斜样本的模型效果。该observations会导致以下的问题:

  • 有了该bias,我们如何解释和对比应用不同类型数据的模型效果
  • 例如,当我们构建对于文本广告和展示广告的预估模型时,我们可以使用离线指标作为可对比度量(comparative measures)来预估它的真实效果吗
  • 假设我们知道一个模型的真实效果,并且我们获得了另一个模型(the other model)相当的离线指标(offline metrics)。我们是否就可以估计该另一个模型(the other model)的真实效果呢?如果不能,我们应使用哪种metrics进行替代?

我们提出一种新的模型评估范式:仿真指标(simulated metrics)。对于在线行为的离线仿真,我们实现了 auction simulation,并使用simulated metrics来估计该点击预估模型的在线模型效果。由于simulated metrics被设计用于模拟在线行为,我们期望更少遭受效果差异问题。另外,由于simulated metrics直接估计像user CTR等在线指标,他们可以被直接对比,即使模型基于不同数据进行构建。

4.评估指标

我们集中关注点击预估问题中的metrics。一个点击预估模型会估计:给定query下,广告的位置无偏(position-unbiased) CTR。我们将它看成是一个二分类问题。

我们将NDCG排除在外,是因为它更偏向于ranking算法,在eariler ranks位置放置更多相关结果。如第2.1节所述,在搜索广告领域,排序(ranks)不光由pClick scores(例如:预估点击)决定,也会由rank scores影响。因此,使用NDCG的rank顺序来对pClick的效果进行measure是不合适的

我们也会在review中排除Precision-Recall(PR)分析,因为在PR曲线和ROC曲线间有一个连接,从而在PR曲线和AUC间会有一个连接【9】。Davis等人展示了:当且仅当在PR空间内主导的曲线,会在ROC空间中主导。

4.1 AUC

考虑一个二元分类器,它会产生:

  • p:表示一个事件发生的概率
  • 1-p:表示事件不会发生的概率

p和1-p表示:每个case是两种事件其中之一。为了预估所属class,threshold是必要的。AUC(Area under the ROC (Receiver Operating Characteristic) 曲线),提供了一个在threshold所有可能范围间的判别式衡量(discriminative measure).

在一个混淆矩阵中,4个不同部分的概率对比:

  • 真阳率- true positive rate (TPR) :也叫做sensitivity
  • 真阴率- true negative rate (TNR) :也叫做specificity
  • 假阳率- false positive rate (FPR) :也叫做 commission
  • 假阴率- false negative rate (FNR) :也叫做 omission errors

从混淆矩阵中派生出的这4个scores和其它关于accuracy的measures,比如:precision, recall, or accuracy 都依赖于threshold。

ROC曲线是一个关于sensitivity (or TPR)的一个图形描述,是一个关于二分类的FPR的函数,随threshold变化。AUC计算如下:

  • 按模型预估分的降序进行sort
  • 为每个预估值计算真阳率(TPR)和假阳率(FPR)
  • 绘制ROC曲线
  • 使用梯形近似(trapezoid approximation)来计算AUC

经验上,AUC是一个关于任意scoring model的预估能力的可靠指标。对于付费搜索,AUC,特别是只在主线广告上measure的AUC,是关于模型预估能力的最可靠指标。一个好的模型(AUC>0.8),如果AUC能提升1个点(0.01),通常具有统计显著提升(statistically significant improvement)

预估模型使用AUC的好处包括:

  • AUC提供了一个:在所有可能threshold范围上,对整个模型效果的单值判别式得分归纳。这可以避免在threshold选择中的主观因素
  • 可以应用到任意scoring function的预估模型上
  • AUC得分介于[0, 1]之间,得分0.5表示随机预估,1表示完美预估
  • AUC可以同时被用于预估模型的offline和online监控中

4.2 RIG

RIG (Relative Information Gain:相对信息增益)是一个关于log-loss的线性转换:

\[RIG = 1 - \frac{log loss}{Entropy(\gamma)} \\ = 1 - \frac{-c \cdot log(p) - (1-c) log(1-p)}{-\gamma \cdot log(\gamma) - (1-\gamma) log(1 - \gamma)}\]

其中:

  • c和p分别表示observed click和pClick。
  • \(\gamma\)表示评估数据的CTR

Log-loss表示click的期望概率(expected probability)。最小化log-loss意味着pClick应收敛到expected click rate上,RIG score会增加。

4.3 MSE

MSE (Mean Squared Error)会对average squared loss进行measure:

\[MSE(P) = \frac{\sum\limits_{i=1}^n (c_i \cdot (1 - p_i)^2 + (1 - c_i) \cdot p_i^2)}{n}\]

其中:

  • \(p_i\)和\(c_i\)分别样本i是pClick和observed click

NMSE(Normalized MSE)是由CTR, \(\gamma\)归一化的MSE

\[NMSE(P) = \frac{MSE(P)}{\gamma \cdot (1-\gamma)}\]

4.4 MAE

Mean Absolute Error (MAE) 由以下公式给出:

\[MAE(P) = \frac{1}{n} \sum\limits_{i=1}^n e_i\]

其中:\(e_i = p_i - c_i\)是一个 absolute error.

MAE会权衡在prediction和observation间的distance,同时忽略掉到关键operating points的距离。MAE常用于measure在时序分析中的forecast error。

经验上,对于付费搜索(sponsored search),预估pClick模型的功率来说,该指标具有一个好的效果。它与AUC一起,是最可靠的指标之一。

4.5 Prediction Error

Prediction Error(PE)会measure由CTR归一化的平均pClick:

\[PE(P) = \frac{avg(p)}{\gamma} - 1\]

当平均pClick score准确估计CTR时,PE会变0。另一方面,当pClick scores相当不准时(有可能欠估计、过估计的混合,平均值与underlying CTR相似),PE可能接近0。这使得prediction error相当不稳定,它不能被用来可靠估计分类accuracy

4.6 Simulated Metric

尽管在controlled AB testing环境下的在线实验会提供关于用户engagement方面的模型的真实效果对比指标,AB testing环境是通过一些固定参数值集合预设定的,因而,在testing环境上的模型效果指标只对应于operating points的给定集合。在多个operating points集合上开展实验,是不实际的,因为在线实验不仅耗时,而且如果新模型效果欠佳,对于用户体验和收益都很昂贵。

作为在线评估的替代,在整个可行operating points的范围(span)上,一个模型的效果可以使用历史在线用户engagement data进行仿真。Kumar et.为federated search 开发了一种在线效果仿真方法[20]

Auction simulation,首先:为给定query会离线复现ad auctions,并基于新的模型预估分、以及多个operating points集合选择一个ads集合

我们使用付费搜索(sponsored search)点击日志数据来实现auction simulation,并生成多个simulated metrics。Auction simulation,首先,为给定query离线复现ad auctions,并基于新模型预估分选择ads的一个集合。在仿真期间,会使用在日志中提供的(query, ad) pair的历史用户点击来预估用户点击:

  • 如果(query, ad) pair在日志中被发现,但仿真的ad-position与在日志中的posiiton不同,expected CTR会通过position-biased histric CTR(或click曲线)被校准(calibirated)。一般的,对于相同的(query, ad) pair,主线广告(mainline ads)会比sidebar ads获得更高的大CTR,在相同ad block内,对于相同的(query, ad) pair,在更高位置的广告会获得更高的CTR。
  • 如果predicted(query, ad) pair不会出现在historic logs中,会使用在ad-position上的平均CTR(也被称为:reference CTR)

Click曲线和reference CTR来源于自在搜索广告日志中的historic user responses。

经验上,对于operating points的给定集合,auction simulation会生成高度准确的ads集合,它们会被新模型选中。 Simulated metric通常结果是在线模型效果的最强离线估计之一。

5.METRICS在真实世界中的问题

在本节中,我们分析了行为、限制以及缺点。注意,我们不打算建议:由于限制和缺陷,这些指标被一起排除。我们会宁可建议metrics被小心应用和说明,特别是那些会产生误导估计的metrics。

5.1 AUC

AUC是一个可以评估预估模型效果的相当可靠的方法,它在样本数据的特定条件下仍会有缺点。该假设是:AUC是一个需要被重新检查模型效果的充分测试指标。

首先,它忽略了预估的概率值(predicted probability values)。这使得它对于预估概率的保序变换不敏感。

  • 一方面,这也是个优点,它使得在不同的measurement scales上生成的数值结果是可对比测试的。
  • 另一方面,对于两个tests来说,生成具有相似AUC scores、并且非常不同的预估输出是相当可能的。它可能是一个较差拟合模型(poorly fitted model)(对所有预估过拟合、或者欠拟合),具有一个良好的判别能力;而一个良好拟合模型(well-fitted model),如果出现概率略微高于不出现概率时,会具有较差的判别。

表2中的示例展示了:一个poorly-fitted model,它使用大量负样本,具有非常低的pClick scores,从而有更低的CTR,反而具有较高AUC score。在相对更高的pClick scores范围内,它会影响FPR的降低,从而提高AUC score

图片名称

表2 AUC反常示例1:一个poorly fitted model,具有更高AUC,现在大量负样本集中在pClick score范围的低端(图中的第一张图展示了:better1-fitted模型)

第二,在整个ROC空间的spectrum上(包括很少操作的区域),它会总结测试效果。例如,对于付费搜索,在mainline上放置一个ad会显著影响CTR。不管ad在mainline上被展示、还是不被展示,predicted CTR如何拟合actual CTR并不是个大问题。换句话说,ROC的极左和极右通常很少用。Baker and Pinsky提出了partial ROC曲线作为整个ROC曲线的一个替代选择。

图片名称

表3 AUC反常示例2: 在FPR的两端上,样本分布的变化会非常影响AUC score,尽管实际效果提升与在practical operating point很相近

已经观察到,更高的AUC并不必然意味着更好的rankings。如表3所示,在FPR两端上样本分布的变化会非常影响AUC score。然而,模型效果在CTR上的影响可能是相同的,特别是在threshold的practical operating points上。由于AUC不会区分ROC空间的多个区域,一个模型仅仅通过在数据的两端最优化模型效果,就能最大化AUC score。这会导致在实际在线流量上,低于期望效果增益。

第三,它会等价权衡omission和omission errors。例如,在付费搜索中,在mainline中没有放置最优ads的惩罚(penalty)(omission error)远远超过放置一个次优ads的惩罚(penalty)。当误分类代价不等时,对所有可等threshold进行汇总是有瑕疵的。

图片名称

表4 AUC反常示例3: 一个poorly fitted model与well-fitted model具有相似的AUC

最后,AUC高度依赖于数据底层分布。AUC会对两个具有不同负样本率的数据集进行计算。如表4所示,一个具有较低内在CTR的poorly-fitted模型,会与一个well-fitted模型具有相同的AUC。这意味着,一个使用更高负样本率训练的模型,具有较高AUC score时,并不必然意味着模型具有更好的预估效果。图1绘制了关于付费搜索和contextual ads的pClick模型的ROC曲线。如图所示,contextual ads的AUC score要比付费搜索的AUC高3%,尽管前者会更不准:付费搜索为\(\frac{avg \ pClick}{actual \ CTR} = 1.02\),而contextual ads为0.86。

图片名称

图1

5.2 RIG

类似于AUC,RIG的一个问题是,它对评估数据的底层分布是高度敏感的。由于评估数据的RIG score的范围会随着数据分布非常不同,我们不能仅评RIG scores来决定一个预估模型有多好。

图片名称

图2

图2展示了RIG(实线:solid curve)和PE(虚线:doted curve)随着一个关注的CTR区间的变化情况。我们观察到,RIG scores会随着dataset中的CTR的增加而降低,即使是相同的预估模型。图2中的prediction error意味着,prediction score与true CTR有多接近。正如所期望的,click prediction error要比低的pClick score区间要高。

这种行为符合我们关于不同点击预估数据集的早期观察,它会随intrinsic CTR的level而不同。该observations建议实践时如下:

  • 不应直接使用RIG scores的实际值 来对比两个预估模型效果,如果得分来自不同分布的多个数据集合。
  • RIG scores可以被用于对比多个模型在同一个数据上进行test的相对效果
  • 一个独立的RIG score,信息不足够去估计预估模型的效果,因为该score不仅取决于模型效果的质量,也会非常受数据分布的偏向性影响

6.离线和在线效果差异

实践中,关于离线评估指标,一个非常显著的问题是:离线和在线间的效果差异。存在这样的情况:一个预估模型在离线指标上达到显著增益,在online testing环境部署时发现效果表现并不好

表5总结了一个点击预估模型在Bing付费搜索数据上构建的离线和在线指标,并在一个线上真实流量上进行online AB testing环境实验。Click yield(CY)是一个在线用户点击指标,它会measure每个搜索PV上广告的点击数。Mainline CY是在每次搜索PV下mainline ads的点击数。新模型vs baseline模型,会在在线环境中在user clicks上显著下降,即使在离线评估数据上AUC和RIG会有显著收益。

表5

图3对比了:在感兴趣pClick scores范围内,每个分位下(quantile),两个点击预估模型的log-loss(baseline:model-1,test:model2)。Model-2会在较低pClick score范围的分位上大量过度估计(overestimates)pClick scores。图4绘制了相同数据的prediction error。

图片名称

图3

图片名称

图4

对比起低pClick score范围的过度估计,pClick scores的更高范围上于click概率做出过度估计对于在线效果影响较小,因为在高pClick score范围上的广告最可能被多个模型选中。一旦展示给用户,user clicks大多数由ad-position和ads的relevances决定,而非分配的pClick scores。

另一方面,在较低pClick范围上对pClick scores的过度估计,会对在线指标做出显著负影响;对比起base model,较低质量的ads有更高机率被选中。选中的较低质量的ads,由于过度估计pClick scores,会导致对user clicks的较低rate,从而伤害在线指标。

大多数离线指标包括:RIG和AUC,不能捕获这些行为,因为:指标会贯穿pClick scores的整个范围累积该影响。

6.1 Simulated Metrics

我们会通过第4.6节描述的 auction simulation来计算simulated metric。 simulated click metrics的实验结果会伴随着表6中归纳的offline和online指标。我们首先会训练一个新模型,并最优化参数设定,来通过基于历史日志数据的auction simulation提供最好的期望用户点击指标。具有最好表现的click metrics如表所示。

JADIDINEJAD在《The Simpson’s Paradox in the Offline Evaluation of Recommendation Systems》中提出推荐系统中的Simpson’s Paradox:

1.介绍

推荐系统通常会以online(A/B testing或interleaving)或offline方式进行评估。然而,由于online evaluation[6,14]部署研究系统的难度,推荐系统的离线评估仍然是大范围使用的evaluation方式。实际上,很难以离线方式通过使用历史用户交互日志可靠地评估一个推荐模型的效果【7,16,43】。该问题是因为存在混淆因子(confounders),例如:那些可以影响items的曝光(exposure)以及结果(outcomes)(比如:ratings)的变量。在当一个平台尝试建模用户行为时,如果没有解释在曝光的推荐items的选择偏差(selection bias),这时会出现confounding问题,从而导致不可预料的结果。在这种情况下,很难区别用户交互是来自于用户的真实偏好、还是受部署推荐系统(deployed recommender system)的影响

通常,推荐系统的离线评估会具有两个阶段:

  • 1) 收集来自一个deployed system的用户反馈集合
  • 2) 使用这样的feedback来经验性评估和比较不同的推荐模型

第一阶段可以服从不同类型的confounders,即可以是由用户关于item的选择行为来初始化,或者通过受deployed推荐系统的动作影响来初始化。例如,除了其它交互机制(比如:搜索)之外,用户更可能会与被曝光的items进行交互。在这种方式下,在一个新推荐模型的离线评估中使用历史交互,而这样的交互从deployed推荐系统中获取得到,形成一个closed loop feedback,例如:deployed recommender system存在对收集到的feedback的具有一个直接影响,它可以被用来进行对其它推荐模型的离线评估。因而,新的推荐模型会根据它趋向于模拟由deployed model收集到的交互有多像来进行评估,而非有多满足用户的真实偏好。另一方面,在一个open loop(随机化)场景中,deployed model是一个随机推荐模型,例如:为users曝光随机的items。因此,在deployed model与新的推荐model间的feedback loop会打破,deployed model不会对收集到的feedback dataset具有影响,相应的,它对于在基于收集到的feedback dataset上对任意新模型的离线评估都没有影响。然而,为users曝光随机items是天然不实际的,用户体验会降级。因此,基于closed loop feedback对推荐系统进行训练和评估会是一个严重问题

Simpson’s paradox是统计学中的一个现象,当多个不同分组的观察数据中出现的一个显著趋势,会在这些分组组合在一起时消失或者逆转【29】。在推荐场景中,当曝光(例如:推荐items)和结果(例如:用户的隐式和显式反馈)相关联时,并且曝光和结果会受一个第三方变量强烈影响时,会发生Simpson’s paradox。在统计学上,如果观察到的feedback是Simpson’s paradox的一个产物,根据confounding variable对feedback进行分层,可以消除悖论。我们会讨论:在推荐系统的情况下,该confounding variable是交互数据被收集的deployed model(或系统),a.k.a:closed loop feedback【17】。在本paper中,我们的核心目标是,对于closed loop feedback在推荐系统离线评估上提供一个in-depth研究,并提供了一个健壮的解来解决该问题。特别的,我们会讨论:从一个deployed model收集到的feedback datasets会偏向于deployed model的特性,并导致证实Simpson’s paradox的结论。我们通过研究在推荐系统离线评估上的confounding variable(例如:deployed model’s的特性),可以观察到显著趋势;当从经典离线setting中上报observations时,该趋势接着会消失或逆转。另外,我们提出了一种新的评估方法,它可以解决Simpson’s paradox,以便产生一种更合理的推荐系统离线评估方法。

为了更好地理解该问题的微妙之处,考虑一个deployed推荐模型,它会提升一个指定分组的items(例如:流行的items)——对比起只有少量交互的长尾items,存在一些少量的头部items,它们会被广泛曝光给用户并获得大量交互。当我们基于从前面deployed model收集到的feedback来评估一个新的推荐模型时,如果没有解释不同的items曝光的有多频繁,评估过程会被deployed model的特性所混淆,例如:任意模型的效果会具有这样一个趋势,展示与已经存在的deployed model相似的属性,这很可能会引起过估计(over-estimated)。在这种情况下,我们可能会选择部署一个匹配已deployed model的特性的新模型,从实际用户角度看,它会比另一个模型更低效。在本paper中,我们通过研究该问题在标准离线评估中做出结论的结果,并提出一种新的方法来解决该问题。特别的,本paper的贡献有两块:

  • 我们提出了一种in-depth分析
  • 为了解决该问题,提出了一个新的propensity-based stratified evaluation方法

2.相关工作

我们的工作主要受三块相关工作的启发:

  • 在l2r中解决bias(2.1节)
  • 算法混淆(algorithmic confounding)或closed loop feedback(2.2节)
  • 在counterfactual learning和evaluation中的工作(2.3)

3.离线评估法

本节中,我们会将当前offline evaluation方法进行总结,称为标准holdout evaluation和counterfactual evaluation。

3.1 Holdout Evaluation

3.2 Counterfactual Evaluation

4.介绍

辛普森悖论(Simpson’s paradox)是统计学中的一种观察现象:在观察数据集的许多不同groups中都出现的一个显著趋势,当将这些groups组合在一起时会消失甚至反转。该topic在许多文献上被广泛讨论。在该现象中会出现一个明显的悖论,当聚合数据时会支持这么一个结论:它与在数据聚合前的相同的分层数据的结论相反。当两个变量间的关系被研究时,如果这些变量会被一个协变量(confounding variable)所强烈影响时,就会发生辛普森悖论。当该数据根据混杂变量(confounding variable)进行分层时,该悖论会展示出相悖的结论。在这种情况下,使用一个显著性检验(significance test)可以识别出在一个指定层做出的错误结论;然而,如第7节所示,显著性检验不可能识别出这样的统计趋势(trends)。在推荐系统的评估场景,会在所有用户上进行testing,这里讨论的悖论通常会涉及到user-item feedback生成过程。在另一方面,当因果关系(causal relations)在统计建模中被合理解决时,辛普森悖论可被解决。

在本节中,为了演示辛普森悖论,我们会从一个paper[8]中呈现一个真实示例,它会对比肾结石(kidney stone disease)的两种治疗方法(treatments)的成功率。这里的目标是:基于观察找出哪个treatment更高效。【8】会随机抽样350个病人,它们会接受每个治疗,并上报如表1所示的成功率。一个合理的结论是:treatment B要比treatment A更高效(83% vs. 78%的康复率)。另一方面,悖论是,当考虑上结石大小时,比如:treatment A对于小size(93% vs. 87%),大size(73% vs. 69%)两者都要有效,但最终的成功率会反转。[8]会讨论treatment (A vs. B) 以及结果(成功 vs. 失败)会与一个第三个混杂变量(confounding variable:这里的结石大小)有关。

图片名称

表1 a) 肾结石示例。每个条目表示:恢复数/总病人数,成功率见括号 b) 推荐系统中离线评估的辛普森悖论。每个条目表示了受检模型在相应分层上的效果。*表示对比其它模型的一个显著差异(paired t-test, p<0.05)

假设 1: 医生趋向于对不严重病例(例如:小结石)选择treatment B,对于更严重病例(例如:大结石)使用treatment A进行治疗

表1验证了以上的假设,例如:大多数接受treatment A的病人都是大结石病例(group 3中350个随机病人中有263个),而大多数接受treatment B的病人都是小结石病例(Group 2的350中的270)。因此,当从接受A或B治疗的病人中被随机挑选样本时,抽样过程并不纯随机,例如:样本会倾向于:严重病例进行treatment A进行measuring,而轻症病例进行treatment B进行measuring。这就是因果分析中著名的现象:辛普森悖论。

表1b展示了在推荐系统的离线评估中的辛普森悖论示例。我们对两个推荐模型的有效性进行评估,如表1b中的A、B模型。两个模型会在相同的dataset上使用相同的evaluation metric进行评估。根据一个paired t-test,在检查的数据集上的标准离线评估表明:模型A要明显好于模型B。然而,将待检测数据集划分成两个层(Q1和Q2)表明:模型B对于待测数据集的99%(Q1)要更好,而模型A在1%(Q2)上面要更好。当Q1和Q2进行聚合时,模型B在99%待测数据集上的的统计优势会消失。在以下部分,我们会呈现:辛普森悖论是如何影响推荐系统的离线评估的,并讨论这样的悖论的原因,以及提出一个新的评估方法来解决它。

5.基于倾向的分层评估(PROPENSITY-BASED STRATIFIED EVALUATION)

当为一个推荐系统的离线评估创建一个数据集时,用户反馈不仅会用户与来自deployed recommendation system推出的items交互上被收集到到,也会通过其它形式(比如:当浏览item的目录时发生的交互、或者点了sponsored items的链接)进行收集得到。对于区分用户的不同反馈源来说并不简单,因为没有公共数据集提供这样的数据来确定用户反馈的source。因此,在本paper中,我们的研究主要关注于用户反馈的主源,称为deployed system。为了演示在推荐系统中的辛普森悖论,我们需要一个因果假设,它与第4节中的假设1相似。

图片名称

图1 推荐系统中的Closed loop feedback

图1a展示了一个典型推荐系统的信息流,其中用户反馈会通过deployed system进行收集。

  • 部署好的推荐系统组件(通过RecSys表示)会为target user(例如:通过推荐items的一个ranked list)过滤出items进行曝光(exposure: e)
  • 另一方面,用户在items上记录的偏好(例如:ratings或clicks)(用r表示)会被作为交互数据来训练 或 评估推荐模型的下一次生成(next-generation)。

因而,由于用户点击是从RecSys曝光的items获得的,模型本身会影响数据的生成,而它们则会被用于训练和评估。图1a中的系统是一个动态系统,其中,系统进行简单联想推理(associative reasoning )的原因是很难的,因为每个组件会互相影响。图1b表明了在这样一个闭合循环反馈场景下的因果关系图。实线表示了在原因和效果间一个explicit/observed关系,而虚线表示了一个implicit/unobserved关系。如上所示,在推荐系统的case中,主要的混合变量是,来自交互数据的deployed model会被收集。我们的目标是,基于来自deployed model收集到的封闭循环反馈(r))评估一个推荐模型(Y)的效果会影响主干扰因子(main confounder),例如:deployed model的特性。在该情况下,很难区分: 来源于用户真实偏好影响的的用户交互,或者受deployed recommendation model影响的用户交互。因此,在该场景下,用户反馈通常会通过deployed system进行收集,我们会假定,基于闭循环反馈数据集的推荐模型离线评估,会受以下deployed recommendation model的强烈影响:

假设2: 闭环循环反馈(closed loop feedback)会从一个deployed recommendation model来收集到,并倾向于deployed model的特性(characteristics)(例如:曝光items)deployed model的该特性会在推荐模型的离线评估中作为一个混淆因子(confounding factor)。

deployed recommendation model的核心问题是:尝试建模潜在的用户偏好,在没有解释算法混淆的情况下,这使得它很难对用户行为(或者使用用户数据)做出断言。另一方面,如果图1a中的RecSys组件是一个random模型,那么在User和RecSys组件间的连接会被移除,RecSys组件会在收集到的feedback dataset上没有影响,这种情况 称为“开环循环反馈(open loop feedback)”,对比起在collection中的任意其它item,没有items会接收到或多或少的期望曝光。

如图1b所示,如果deployed model的特性(e)可以被标识和评估,离线评估(Y)会与confounder独立。因此,为了验证在推荐系统中(假设2)closed loop feedback的影响,我们必须量化deployed model的特性。结尾处,根据5,47,我们会如下定义propensity score:

定义5.1 propensity score \(p_{u,i}\)是deployed model(如图1a中的RecSys描述)对于expose item \(i \in I\)的曝光给user \(u \in U\)的趋势

propensity \(p_{u,i}\)是在一个闭环反馈场景下,deployed model将item i曝光给user u的概率。该值会对来自一个无偏开环曝光(unbiased open loop exposure)场景的系统偏差(deviation)进行量化,其中:随机items会被曝光给该用户,deployed model对收集到的feedback没有影响。propensity score \(p_{u,i}\)允许我们基于观察到的闭环feedback来设计并分析推荐模型的离线评估,因此它会模拟一些开环场景的特殊特性。

分层(Stratification)是用来标识和估计因果效应的知名方法,会在每个层调查因果效应之前,首先标识出潜在层(underlying strata)。总意图是:在confounding variable上进行分层,并研究在每个层上的潜在结果。因此,衡量不考虑confounding variable的潜在结果是可能的。在这种情况下,在confounding variable上的边缘化(marginalisation)可以作为一个组合估计(combined estimate)被使用。如前所述,在推荐系统中的假设condounding variable是deployed model的特征(假设2)。定义5.1会将该变量量化成倾向(propensities)。在这种情况下,在propensity scores上的分层会允许我们分析deployed model特性在推荐模型的离线评估上的该效应。

出于简洁性,假设我们具有一个单一的categorical confounding variable X。如果我们基于X的可能值将观察到的结果进行分层,那么潜在结果(Y)的期望值如下所示:

\[E(Y) = \sum\limits_x E(Y | X=x) P(X=x)\]

…(4)

其中:

  • \(E(Y \mid X = x)\)是在给定分层x下对于observed结果的条件期望,
  • \(P(X=x)\)是x的边缘分布。

例如,在肾结石的示例中,condounding variable是结石大小,基于它进行分层(\(X = \lbrace small, large \rbrace\)),潜在结果是treatment效果。我们可以基于等式(4)计算每个treatment的期望值。例如:treatment A的期望值可以按如下方式计算:

\[E(A) = E(A | X = small) P(X=small) + E(A | X = large) P(X = large)\]

…(5)

例如:基于表1a和等式(5)中的数字,treatment A的期望值(resp. B)分别计算为:0.832和0.782,

计算:

  • P(X=small)=(87+270)/(87+270+263+80)=0.51,
  • P(X=large)=(263+80)/(87+270+263+80)=0.49
  • E(A) = 0.93 x 0.51 + 0.49 x 0.73 = 0.832
  • E(B) = 0.87 x 0.51 + 0.69 x 0.49 = 0.782

E(A) > E(B),它可以更好地估计treatments的实验效果。

相似的,对于表1b的推荐示例,模型A和模型B的期望值分别被计算为:0.343和0.351(计算所需数据参考第7节),计算如下:

  • E(A) = 0.339 * 0.99 + 0.695 * 0.01 = 0.343
  • E(B) = 0.350 * 0.99 + 0.418 * 0.01 = 0.351

从而得到E(B) > E(A)。

如上所示,在推荐系统中,主要的假设混淆变量是deployed model(假设2)。该变量可以量化成propensity scores(定义5.1)。Propensity是一个连续变量。在本paper中,我们会通过将propensity scores进行排序和分片成将它转换成一个categorical variable,然后转成一个预定义好数目的分层,例如:表1b中的Q1和Q2分层。在表1a和表1b的两个case,都基于假设混淆变量并使用等式(4)对等验证分层进行边缘化,会解决Simpson’s paradox。例如:在表1b中,模型B会被认为更好的model,因为它对于99%的user-item feedback在效果上要好。这个重要的趋势会被提出的分层评估进行捕获,而在标准离线评估中,当将Q1和Q2分层聚合在一起时,结论会完全逆转。在下节中,我们会研究simpson paradox的效应,以及提出的propensity-based分层评估的好处。特别的,我们研究了以下问题:

研究问题1:在closed loop feedback场景下,推荐系统的离线评估有多大程度是受deployed model特性所影响的

然而,我们的目标是评估deployed model特性在推荐模型离线评估中的confounding effect,如图1b所示。就这一点而言,相似的原理图示例如第4节所示,我们对于将基于deployed model的特性的observed closed-loop feedback进行分层这一点比较感兴趣。这样的分层分析使得我们可以去评估:在推荐系统的标准离线评估中辛普森悖论的存在。从而,我们会研究许多不同推荐模型的相关关系的显著趋势,其中:在大多数层上观察到的一个趋势,在标准离线评估中会消失或者逆转。

研究问题2:当进行一个可比离线评估时,propensity-based stratified evaluation是否可以帮助我们更好地估计实际的模型效果

在上述研究问题中,我们的目标是:评估在推荐模型的离线评估中,提出的提出的propensity-based stratified evaluation是否有效。如等式(4)所示,我们可以利用在confounding variable分布上的边缘化(marginalisation)作为潜在结果的一个组合估计。在该研究问题上,我们会评估:该估计是如何与open loop(randomised) evaluation相关的,其中deployed model是一个随机推荐模型(例如:random items会被曝光给该user)。特别的,给定一个特别的评估方法(open loop、closed loop等),我们可以去measure基于标准的rank-based评估指标(nDCG)多种推荐模型的效果,并记录这些模型的所用metrics的相对排序。我们接着研究在examined models的相对排序间的相关性,并对比从一个open loop(随机化)设定下获得的rankings,以及使用propensity-based evaluation这两者的评估。我们会利用适当的显著性检测,如第6节所述,来决定:在对比标准的离线holdout evaluation时,由d propensity-based stratified evaluation评估的模型效果要比open loop(随机) evaluation更好。

6.实验设定

下面,我们会通过实验来解决两个前面的研究问题。图2表示了实验的总结构。每个评估方法(X, Y和Z)会会基于它们的相对表现对多个检查的推荐模型进行排序。我们会使用Kendall’s \(\tau\) rank相关系数来对受检模型在每个评估方法上(Y or Z)的相对顺序间的联系,对比ground truth进行measure,例如:open loop(randomiszed) evaluation(X)。这样的相关值会在图2中被描述成\(\tau_{XY}\)和\(\tau_{XZ}\)。另外,我们会使用Steiger’s方法来测试在两个评估方法间的差异显著性,例如:baseline evaluation method(Y)以及提出的evaluation method(Z)。我们会对比propensity-based stratified evaluation、标准offline holdout和counterfactual evaluation方法作为baseline两者。以下,我们描述了我们实验设定的详情,包含:使用的数据集和评估指标、受检推荐模型、以及如何在实验中估计propensities。

图片名称

图2 基于Steiger’s方法的依赖相关度(dependent correlations)显著性测试。每种评估方法(Y and Z)的效果可以通过基于与open loop (randomised) evaluation (X)之间的Kendall’s \(\tau\) rank collrelation进行measur。在baseline evaluation方法(Y)和提出的evaluation方法(Z)间的显著性差异可以基于Steiger’s方法进行measure。

6.1 Datasets和Evaluation Metrics

我们会使用4种数据集,它们被推荐系统的离线评测所广泛使用,称为:MovieLens、Netflix、Yahoo! music rating、Coat shopping dataset。

  • MovieLens包含了6k users对4k items的1M的ratings
  • Netflix包含了10k users对5k items的607k ratings
  • 而Yahoo! dataset包含了300K ratings,它由15.4k个users对1k items进行rate得到
  • Coat shopping dataset:模拟以在线方式购买coat。包含了mh 290 users对 300 items的7k ratings。

所有datasets都通过一个unknown deployed recommendation system以closed loop方式进行收集得到。另外,Yahoo! dataset还有一个独特的feature:一个关于users(5.4k)的子集会被要求对10个随机选中的items(open loop场景)进行评分(rate)。因此,对于该子集,我们会具有closed loop和open loop(random) feedback。相似的,对于Coat dataset,每个用户会被要求提供对于24个self-selected(closed loop) items、以及16个随机选中(open loop) items进行ratings。然而,在一个真实的evaluation setup中,模型会基于收集到的closed loop feedback进行训练;因为实际评估会基于open loop(random) feedback进行很难进行收集。

我们会使用normalised Discounted Cumulative Gain(nDCG@k) metric 对不同的cut-offs(k={5,10,20,30,100}),而非使用不带rank cutoff的nDCG。以便表示对于每个user的所有items的rank metric。对于所有datasets的用户rating值是一个整数 \(r \in [0, 5]\)。我们的目标是:对每个user的最相关items进行排序。因此,我们会将所有explicit rating values进行二值化,通过(r>=4)来保留最高的推荐items。在closed loop evaluation中,我们会使用80%的closed loop dataset(MovieLens, Yahoo!和Coat)来进行训练,另外20% random split作为testing另一方面,对于open loop evaluation(Yahoo! & Coat),我们会在所有提供的open loop(randomised) feedback上进行评估。

6.2 推荐模型

我们使用由Cornac framework提供的实验来评估以下的模型:

  • BO: 一个简单的baseline model:会在忽略用户偏好的情况下,推荐一个随机的items组合给每个用户
  • GA:一个baseline model,会在忽略用户偏好的情况下,推荐全局平均rating给每个user
  • POP:一个baseline model,会在忽略用户偏好的情况下,它会基于流行度(popularity:例如:一个指定item被评分的次数)来对items进行rank
  • MF:Matrix Factorisation,一个rating prediction模型,它会将users和items表示为latent vectors。该模型会被用来预测每个user-item pair的observed rating
  • PMF:Probabilistic Matrix Factorisation。MF的扩展版本。
  • SVD++:
  • WMF:Weighted MF。MF的扩展版本。
  • NMF:Non-negative Matrix Factorisation。
  • BPR:Bayesian Personalised Ranking。
  • MMMF:Maximum Margin Matrix Factorisation
  • NCF: Neural Collaborative Filtering
  • MLP: Multi-Layer Perceptron
  • GMF: Generalised Matrix Factorisation
  • NeuMF: Neural Matrix Factorisation

我们对在closed-loop和open loop场景下的模型效果的相对顺序比较关心。因此,根据以下研究,我们会采用不同的超参数来控制latent factors的size:{10, 20, …, 100},从而导致有104个模型需要评估。每个受检模型会指定相应的latent variable size。比如:size m=40 MF,则为\(MF^{40}\)。我们的代码和数据集可以在: https://github.com/terrierteam/stratified_recsys_eval.提供。

6.3 估计Propensity Scores

propensity score \(p_{u,i}\)会被定义成:deployed model将item i曝光给user u的趋势(定义5.1)。由于它对于deployed model来曝光每个item给user是不实际的,我们必须为多个user/item pairs 估计propensity scores \(p_{u,i}\)。[47]提出了一种简单方法来估计propensity scores,它基于如下的简单假设:

假设1: propensity score是用户独立的(user independent),例如:\(p_{u,i} = p_{*,i}\)。该假设是为了解决:在公开数据集中的辅助用户信息的缺失。

user independent propensity score \(p_{*,i}\)可以使用一个2-step的生成过程(generative process)来估计:

\[p_{*,i} = p_{*,i}^{select} * p_{*,i}^{interact \mid select}\]

…(6)

其中:\(p_{*,i}^{select}\)是先验概率(prior probability),item i通过deployed model被推荐出来,\(p_{*,i}^{interact \mid select}\)是user 与推荐出来的item i进行交互下的条件概率。基于这样的温和假设,我们可以估计user independent propensity score \(p_{*,i}\)如下:

\[\hat{p}_{*,i} \propto (n_i^*)^{\frac{\gamma + 1}{2}}\]

…(7)

其中,\(n_i^*\)是item i被交互的总次数,\(\gamma\)是一个参数,它影响着在items上具有不同流行度的propensity分布。power-law参数\(\gamma\)会影响着在items上的propensity分布,具体取决于dataset。根据之前的研究,对于每个dataset,我们会使用极大似然来估计\(\gamma\)参数。

7.实验结果与分析

我们在第5节提出使用一个propensity-based的直接评估方法,它会在推荐系统的离线评估中,考虑上deployed model的混杂角色( confounding role)。在第6节中,我们提出使用Kendall’s \(\tau\)相关系数来量化在propensity-based stratified evaluation方法以及open loop evaluation间多个目标推荐模型的相对顺序间的相似度。下面,我们会会分别根据在第5节的两个研究问题开展实验,并关注和验证在标准离线评估的中 Simpson’s paradox,以及使用提出的propensity-based ed stratified evaluation方法的效果(7.2)。

7.1 RQ1: 研究Simpson’s Paradox

RQ1会研究:在推荐系统的离线评估中,基于假设2中提到的一个closed loop feedback dataset来研究deployed model的confounding effect。在第6.3节中,我们表述了一个简单的统计方法来表示deployed model的角色作为propensity scores。在下面,我们会使用estimated propensity score \(\hat{p}_{*,i}\)来将数据集划分成两个相同大小的层( strata),称为Q1层和Q2层。

Q1和Q2 strata来分别表示用户与长尾items和头部items的交叉,我们会根据等式(7),基于每个item交互的总次数来估计propensity scores。

首先,我们会在closed loop dataset(MovieLens和Netflix)和open loop dataset(Yahoo!和Coat)上举例说明Simpson’s paradox。表2和表3会对比评估方法的效果(称为:holdout、IPS、提出的stratified评估法)。出于简洁,以下,我们会关注MovieLens dataset,分析两个模型(BPR、WMF)以及一个metric(nDCG)。我们观察到:在使用holdout和IPF评估法时,BPR要比WMF都好。然而,在同样的test dataset上进行分层分析(Q1和Q2层)表明:对于Q1分层,WMF要比BPR好很多;对于Q2分层,BPR则是支配模型。另外,我们观察到:Q1和Q2分层会分别覆盖99%和1%的user-item interactions。实际上,对于99%的test dataset(例如:Q1分层),WMF要比BPR好很多,但当我们结合Q2分层上1%的feedback时趋势会逆转,如holdout evaluation表示所示。因此,实际问题是:当使用holdout evaluation方法进行评估时认为的,BPR是否会比WMF执行的更好?分层分析表明:通过我们提出的分层评估法,WMF会被认为是更优的模型。我们注意到,BPR只会在1%的feedback dataset上是更优的模型,holdout和IPS evaluation方法两都都会受在test dataset上少量user-item interactions的影响。例如:在Q2分层中的1%的user-item interactions。该分层对应在MovieLens dataset的3499个items中只有4个items。在表3中,在MMMF和MF models间,在Netflix dataset中观察到相同的pattern。

在MovieLens和Netflix datasets中,我们不会访问open loop feedback,例如:feedback会通过一个随机曝光items进行收集。结果是,我们不能measure在一个open loop场景下的模型实验效果,对比起相应的closed loop场景。如第6.1节,我们对于在Coat dataset中的所有users,都有一些open loop feedback;而在Yahoo! dataset上只有一部分users有。表4和表5会表示在Yahoo! dataset中模型的两个pairs的效果对比。特别的,在表4中,我们会对比BPR和MF,它使用nDCG评估指标,并观察到:使用经典holdout evaluation方法,BPR要明显好于MF。另一方法,IPS评估法更偏向于MF,但,基于paired t-test(p < 0.05)上的差异没有显著。然而,基于估计倾向(Q1和Q2分层)的分层分析表明:对于Q1分层,MF要好于BPR;它可以覆盖在test dataset上92%的feedback;而BPR对于Q2分层则是更好的模型,它在closed loop test dataset上覆盖了8%的feedback。确实,对于test dataset中的大多数feedback和items(92%和99.5%),MF要胜过BPR。因此,我们会争论:通过任意的评估法(我们提出的分层评估法,或者open loop evaluation),MF应该被认为是一个更好的模型。当我们基于Q1和Q2分层(例如:holdout evaluation)的聚合数据进行评估模型时,在Yahoo! dataset上,1000个总items中只有少量5个items它对应于只有8%的总user-item interactions,会在受检模型的离线评估中,扮演着一个混杂因子的角色。当考虑上Coat dataset(表5)时,当评估GMF和SVD推荐模型的效果时,我们也会观察到相同的现象。表2、表3、表5中观察到的现象可以通过从一个closed loop场景收集到的datasets(MovieLens、Netflix、Yahoo!和Coat)被解释。因此,收集到的closed loop dataset会倾向于deployed model的特性(如表2、表4和表5中的Q2分层所捕获的)。

接着,为了完整回答RQ1,我们会评估以上观察的总结,通过验证在所有104个模型上的评估中 Simpson’s paradox的盛行。图3表明了,所有受检模型()在Yahoo!和Coat datasets上在open loop evaluation和closed loop evaluation间的相关性。我们观察到,模型会表现出在Q1和Q2分层上的一个imbalanced效果,例如:Q1分层的nDCG score与Q2分层不成比例(\(nDCG_{Q2} >> nDCG_{Q1}\))。另一方法,在Q1分层和open loop evaluation上Kendall’s \(\tau\)相关性,对比起Q2分层要更高。特别的,对于Coat dataset(图3b),基于Q2分层的closed loop evaluation对比open loop evaluation具有一个负向correlation。因此,在holdout evaluation中通过组合这两个异构分层,如图3a和3b所示,不能说明Q1分层覆盖feedback的大多数(在Yahoo!和Coat datasets上分别是92%和93%的total feedback),会导致不可预料的后果。特别的,在open loop evaluation和holdout evaluation间的Kendall’s \(\tau\)相关性,会比Q1分层和open loop evaluation间的对应相关性要低很多,例如:对于Yahoo!和Coat datasets,分别为:0.62 < 0.72 和 0.20 < 0.51. 这回答了RQ1: 推荐系统的offline holdout evaluation会受deployed model特性的影响(在Q2分层捕获),会导致对Simpson’s paradox的一个证实。

总之,在本节中,我们强调了在推荐系统的标准离线评估中,基于于closed loop和open loop datasets,证实了Simpson’s paradox的存在。接着,我们会研究提出的propensity-based分层评估法来解决该问题。

7.2 RQ2: 评估Propensity-based Stratified Evaluation方法

在本节中,我们会研究提出的propensity-based分层评估法会导致:对比IPS和holdout evaluation方法,结论与从open loop(随机化)evaluation获取的结果对齐的范围。确实,我们的目标是:研究每种评估法对应于open loop evaluation的范围。相反的,我们会考虑open loop evaluation,它与在线评估(A/B testing或interleaving)更相似,其中:评估过程不会受任意混淆因子的影响。如第6.2节所示,我们会利用在evaluation方法与open loop evaluation间Kendall’s \(\tau\)的rank相关系数。

表6展示了,在评估方法和ground truth(例如:open loop evaluation)间的Kendall’s \(\tau\)的rank相关系数。在分析该表时,我们会观察到,对于Yahoo! dataset,在holdout evaluation和open loop evaluation间的\(\tau\)相关系数是medium-to-strong(\(0.599 \leq \tau \leq 0.729\));而对于Coat dataset, weaker(\(-0.40 \leq \tau \leq 0.327\)),对于更大的截止点,两个数据集上的相关度都会轻微上升。确实,我们注意到,Coat dataset吃饭休息发货呢MovieLens/Netflix/Yahoo!会有一个不同的数据生成过程。另外,受检用户和items的数目会低于在Yahoo!dataset中数目。该发现与我们之前的研究一致:基于标准rank-based metrics的离线评估不必与在线评估的结果正相关,研究者们会质疑离线评估的合法性。

接着,我们会考虑在counterfactual evaluation(IPS)和open loop evaluation方法间的Kendall’s \(\tau\)相关性。表6表明,IPS评估方法效果要比holdout评估要稍微好些,例如:对于两个数据集中nCDG cut-offs的绝大多数,IPS的相关值要大于holdout evalution方法。然而,根据Steiger’s test,这些相关度差异没有任何在统计上是显著的。因此,我们会下结论,在评估期间,对比起holdout evaluation方法,counterfactual(IPS) evaluation方法不会更好地表示无偏用户偏好。这是因为:在IPS评估方法中,每个feedback是基于它的propensity进行加权独立(weighted individually)的。feedback sampling process(例如:从closed loop feedback中收集到的过程),并不是一个随机过程(random process)。因此,抽样的feedback会倾斜,相应的estimated propensity scores是不均的。在这种情况下,基于disproportionate propensities对feedback进行reweighting会导致在使用IPS评估模型效果评估上的高variance。

我们现在考虑表6中分层评估的相关性。这表明:在两个数据集中,对于nDCG cut-offs的绝大多数,特别是更深的cut-offs,分层评估的效果要好于holdout和IPS评估方法。例如:考虑将nDCG作为evaluation metric,我们会观察到,提出的分层评估方法效果要显著好于holdout evaluation和IPS evaluation,例如:对于Yahoo! dataset,0.710 > 0.622,0.710 > 0.644;对于Coat dataset,有0.283 > 0.202和0.283 > 0.225. 总体上,我们发现,对于两个datasets中更深的nDCG cut-offs,我们的propensity-based evaluation方法,效果要显著好于holdout和counterfactual evaluation。这可以回答RQ2.

然而,holdout evaluation的效果,IPS evaluation和提出的propensity-based分层评估方法,对于shallow nDCG cut-offs并不显著(对于Yahoo! dataset和Coat dataset来说,分别是:\(10 \leq k \leq 20 和 20 \leq k \leq 30\))。对于deeper rank cut-offs的增加的sensitivity,支持了之前的研究:它对于推荐系统评估上deeper cut-offs的sparsity和discriminative pwoer来说更健壮。【43】发现,在feedback sampling process期间,由于只有少量items会曝光给该user,使用deeper cut-offs会允许研究者执行更健壮和discriminative evaluations。由【25】中,deeper rank cut-offs的使用对于训练listwise learning2rank技术来说可以做出相似的观察。

在feedback sub-populations (表6中的Q1和Q2分层)的进一步实验表明:受检模型的离线评估,它只基于long-tail feedback(Q1分层)更好地与open loop evaluation相关。特别的,对于Coat dataset,基于Q2分层的受检模型的离线评估,会与open loop evaluation具有一个负相关性。这支持了[9]的工作,它发现:非常少量的头部流行items会对推荐系统的rank-based evaluation进行倾斜。他们建议:当评估推荐模型的效果时,排除非常流行的items

而表6演示了提出的分层评估方法对于两个sub-populations(Q1和Q2分层)的效果,我们接着检查了所使用分层数目的影响。特别的,在图4中,演示了提出的分层评估对于Coat和Yahoo! datasets的分层数目的影响。水平轴(X={1,2, …, 10})会表示分层的数目,而竖直轴表示在提出的分层数目上与open loop(随机化)评估间对于104个受检模型的相关性。当我们只具有一个分层时(例如:在图4a和图4b中的X=1),提出的分层评估法对应于表6中的holdout evaluation。我们观察到,对于在两个数据集中的分层数目,对比起holdout评估(例如:X=1),提出的分层评估方法可以更好地与open loop(随机)评估相关。然而,在提出的分层评估和open loop(随机)评估间的相关度上,分层数目具有一个边缘效应(marginal effect),例如:在提出的分层评估(2<=X <=10)对于Coats和Yahoo! datasets间的平均相关度(mean correlations)是:\(0.266 \pm 0.021\)以及\(0.706 \pm 0.026\),对比在holdout evaluation(X=1)中分别是0.202和0.622相关度。另外,对于\(2 \leq X \leq 10\),大多数cases(coats和Yahoo!中分别是5/9和7/9)表示显著高于holdout evaluation的相关度。注意,每个dataset中的分层数目,可以使用分层原则(stratification principle)【24】来决定,它倾向于使用在每个层(stratum)内的层(strata),用户的反馈尽可能会相似。尽管不同数据集具有不同级别的closed loop effect,它取决于deployed model的特性,我们的实验表明:没有关于deployed model的进一步信息,基于estimated propensities将closed loop feedback分层为sub-populations,允许研究者们说明来自收集到的feedback dataset的closed loop effect。

8. 结论

参考