三十九、AutoDis[2021]

  1. 如下图所示,大多数现有的深度 CTR 模型遵循 Embedding & Feature Interaction (FI) 的范式。由于特征交互在 CTR 预测中的重要性,大多数工作集中在设计 FI 模块的网络架构从而更好地捕获显式特征交互或隐式特征交互。虽然在文献中没有很好的研究,但 embedding 模块也是深度 CTR 模型的一个关键因素,原因有二:

    • embedding 模块是后续 FI 模块的基石,直接影响 FI 模块的效果。
    • 深度 CTR 模型中的参数数量大量集中在 embedding 模块,自然地对预测性能有很高的影响。

    然而,embedding 模块被研究界所忽视,这促使 《An Embedding Learning Framework for Numerical Features in CTR Prediction》 进行深入研究。

    embedding 模块通常以 look-up table 的方式工作,将输入数据的每个 categorical field 特征映射到具有可学习参数的潜在 embedding 空间。不幸的是,这种 categorization 策略不能用于处理数值特征,因为在一个 numerical field (如身高)可能有无限多的特征取值。

    在实践中,现有的数值特征的 representation 方法可以归纳为三类(如下图的红色虚线框):

    • No Embedding:直接使用原始特征取值或转换,而不学习 embedding
    • Field Embedding:为每个 numerical field 学习单个 field embedding
    • Discretization:通过各种启发式离散化策略将数值特征转换为 categorical feature ,并分配 embedding

    然而,前两类可能会由于 representation 的低容量而导致性能不佳。最后一类也是次优的,因为这种基于启发式的离散化规则不是以 CTR 模型的最终目标进行优化的。此外, hard discretization-based 的方法受到 Similar value But Dis-similar embedding: SBDDis-similar value But Same embedding: DBS 问题的影响,其细节将在后面讨论。

    为了解决现有方法的局限性,论文 《An Embedding Learning Framework for Numerical Features in CTR Prediction》 提出了一个基于 soft discretization 的数值特征的 automatic end-to-end embedding learning framework ,即 AutoDisAutoDis 由三个核心模块组成:meta-embeddingautomatic discretizationaggregation ,从而实现高的模型容量、端到端的训练、以及 unique representation 等特性。具体而言:

    • 首先,论文为每个 numerical field 精心设计了一组 meta-embedding ,这些 meta-embedding 在该field 内的所有特征取值之间是共享的,并从 field 的角度学习全局知识,其中 embedding 参数的数量是可控的。
    • 然后,利用可微的 automatic discretization 模块进行 soft discretization ,并且捕获每个数值特征和 field-specific meta-embedding 之间的相关性。
    • 最后,利用一个 aggregation 函数从而学习 unique Continuous-But-Different representation

    据作者所知,AutoDis 是第一个用于 numerical feature embedding 的端到端 soft discretization 框架,可以与深度 CTR 模型的最终目标共同优化。

    论文主要贡献:

    • 论文提出了AutoDis ,一个可插拔的用于 numerical featureembedding learning 框架,它具有很高的模型容量,能够以端到端的方式生成 unique representation 并且具有可管理的参数数量。
    • AutoDis 中,论文为每个 numerical field 设计了 meta-embedding 从而学习全局的共享知识。此外,一个可微的 automatic discretization 被用来捕获数值特征和 meta-embedding 之间的相关性,而一个 aggregation 过程被用来为每个特征学习一个 unique Continuous-But-Different representation
    • 在两个公共数据集和一个工业数据集上进行了综合实验,证明了 AutoDis 比现有的数值特征的 representation 方法更有优势。此外,AutoDis 与各种流行的深度 CTR 模型兼容,大大改善了它们的推荐性能。在一个主流广告平台的 online A/B test 表明,AutoDisCTReCPM 方面比商业 baseline 提高了 2.1%2.7%
  2. 相关工作:

    • Embedding:作为深度 CTR 模型的基石, embedding 模块对模型的性能有重大影响,因为它占用了大部分的模型参数。我们在此简单介绍推荐领域中基于 embedding look-up 的研究。

      现有的研究主要集中在设计 adaptableembedding 算法,通过为不同的特征分配可变长度的 embeddingmulti-embeddings ,如Mixed-dimension《Mixed dimension embeddings with application to memory-efficient recommendation systems》),NIS《Neural Input Search for Large Scale Recommendation Models》)和AutoEmb《AutoEmb: Automated Embedding Dimensionality Search in Streaming Recommendations》)。

      另一条研究方向深入研究了 embedding compression ,从而减少 web-scale 数据集的内存占用。

      然而,这些方法只能以 look-up table 的方式应用于 categorical feature 、或离散化后的数值特征。很少有研究关注数值特征的 embedding learning ,这在工业的深度 CTR 模型中是至关重要的。

    • Feature Interaction:根据显式特征交互和隐式特征交互的不同组合,现有的 CTR 模型可以分为两类:堆叠结构、并行结构。

      • 堆叠结构:首先对 embeddings 进行建模显示特征交互,然后堆叠 DNN 来抽取 high-level 的隐式特征交互。代表性的模型包括 FNNIPNNPINFiBiNETFGCNNAutoGroupDINDIEN

      • 并行结构:利用两个并行网络分别捕捉显式特征交互信号和隐式特征交互信号,并在输出层融合信息。代表性的模型包括 Wide & DeepDeepFMAutoFISDCNxDeepFMAutoInt

        在这些模型中,隐式特征交互是通过 DNN 模型提取的。而对于显式特征交互,Wide & Deep 采用手工制作的交叉特征,DeepFMAutoFIS 采用 FM 结构,DCN 采用 cross networkxDeepFM 采用 Compressed Interaction Network: CINAutoInt 利用多头自注意力网络。

39.1 模型

39.1.1 基础概念

  1. 假设用于训练 CTR 模型的数据集由 Q 个实例 (x,y) 组成,其中 y 是标签,x 是包括 Mcategorical fieldsNnumerical fieldsmulti-field 数据记录:

    (1)x=[x1,x2,,xNscalars;xN+1,xN+2,,xN+Mone-hot vectors]

    其中: xj 是第 jnumerical field 的标量值; xN+i 是第 icategorical field 的特征取值的 one-hot vector

    对于第 icategorical field ,可以通过 embedding look-up 操作获得 feature embedding

    (2)eN+i=EN+ixN+i

    其中:EN+iRvN+i×d 为第 icategorical fieldembedding matrixdembedding sizevN+i 为第 icategorical field 的词表规模。

    因此, categorical fieldrepresentation 为:[eN+1,eN+2,,eN+M]RM×d

  2. 对于 numerical field ,现有的 representation 方法可以总结为三类:No EmbeddingField EmbeddingDiscretization

    • No Embedding:这种方式直接使用原始值或原始值的变换,而不学习 embedding 。例如,Google PlayWide & DeepJD.comDMT 分别使用原始数值特征和归一化的数值特征。此外,YouTube DNN 利用了归一化特征取值 x~j 的几种变换(即平方、平方根):

      (3)eYouTube=[x~12,x~1,x~1,x~22,x~2,x~2,,x~N2,x~N,x~N]R3N

      FacebookDLRM 中,他们使用了一个多层感知机来建模所有的数值特征:

      (4)eDLRM=DNN([x1,x2,,xN])

      其中 DNN 的结构为 512-256-deDLRMRd

      直观而言,这些 No Embedding 方法由于容量太小,很难捕获到 numerical fieldinformative 知识。

    • Field Embedding:学术界常用的方法是 Field Embedding,即同一个 field 内的的所有数值特征共享一个 uniform field embedding ,然后将这个 field embedding 与它们的特征取值相乘:

      (5)eFE=[x1e1,x2e2,,xNeN]RN×d

      其中:ejRd 为第 jnumerical fielduniform embedding vector

      然而,由于单个共享的 field-specific embedding 、以及field 内不同特征之间的线性缩放关系,Field Embeddingrepresentation 容量是有限的。

      例如,收入 x=1 和收入 x=10000 ,根据 Field Embedding 的做法:

      (6)(1×e)(1×e)<(1×e)(10000×e)

      即,收入分别为110000 的两个用户,其相似度大于收入分别为 11 的两个用户。这在实际场景中是不恰当的。

    • Discretization:在工业推荐系统中,处理数值特征的一个流行方法是 Discretization ,即把数值特征转化为 categorical feature 。对于第 jnumerical field 的特征 xj ,可以通过两阶段操作得到 feature embedding ej:离散化 discretizationembedding look-up

      (7)ej=Ejdj(xj)

      其中:EjRHj×d 为第 jnumerical fieldembedding matrixHj 为离散化之后的桶数量;dj() 为针对第 jnumerical field 人工设计的离散化函数,它将该特征内的每个特征取值映射到 Hj 个桶中。

      具体来说,有三种广泛使用的离散化函数:

      • Equal Distance/Frequency Discretization: EDD/EFDEDD 将特征取值划分到 Hj 个等宽的桶中。假设第 jnumerical field 的特征取值范围为 [xjmin,xjmax],区间宽度 interval width 定义为 wj=(xjmaxxjmin)/Hj 。因此,通过 EDD 离散化函数 djEDD() 得到离散化结果 x^j

        (8)x^j=djEDD(xj)=floor(xjxjminwj)

        类似地,EFD 将范围 [xjmin,xjmax] 划分为若干个桶,使得每个桶包含相同数量的样本。

      • Logarithm Discretization: LDKaggle 比赛中 Criteo advertiser prediction 的冠军利用对数和 floor 操作将数值特征转化为 categorical 形式。离散化后的结果 x^j 通过LD 离散化函数 djLD() 得到:

        (9)x^j=djLD(xj)=floor(log(xj)2)
      • Tree-based Discretization: TD:除了深度学习模型外,tree-based 模型(如 GBDT )在推荐中被广泛使用,因为它们能够有效地处理数值特征。因此,许多 tree-based 方法被用来离散化数值特征。

      虽然 Discretization 在工业界被广泛使用,但它们仍然有三个限制(如下图所示):

      • Two-Phase Problem: TPP:离散化过程是由启发式规则或其他模型决定的,因此它不能与 CTR 预测任务的最终目标一起优化,导致次优性能。

      • Similar value But Dis-similar embedding: SBD:这些离散化策略可能将类似的特征(边界值)分离到两个不同的桶中,因此它们之后的 embedding 明显不同。

        例如, Age field 常用的离散化是将 [18,40] 确定为青少年、[41,65] 确定为中年,这导致数值 4041embedding 明显不同。

      • Dis-similar value But Same embedding: DBS:现有的离散化策略可能将明显不同的元素分组同一个桶中,导致无法区分的 embedding。使用同一个例子(Age field ),1840 之间的数值在同一个桶里,因此被分配了相同的 embedding 。然而,18 岁和 40 岁的人可能具有非常不同的特征。基于离散化的策略不能有效地描述数值特征变化的连续性。

  3. 综上所述,下表中列出了 AutoDis 与现有 representation 方法的三方面比较。我们可以观察到,这些方法要么因为容量小而难以捕获 informative 知识、要么需要专业的特征工程,这些可能会降低整体性能。因此,我们提出了 AutoDis 框架。据我们所知,它是第一个具有高模型容量、端到端训练、以及保留 unique representation 特性的 numerical features embedding learning 框架。

39.1.2 AutoDis

  1. AutoDis 框架如 Figure 3 所示,它可以作为针对数值特征的可插拔的 embedding framework ,与现有的深度 CTR 模型兼容。AutoDis 包含三个核心模块:meta-embeddingautomatic discretizationaggregation

    代码实现比较简单直观: 数值特征 x (标量) -> 单层 DNN 网络(隐层维度为 Hsoftmax 激活函数) -> 单层 DNN 网络(隐层维度为 d ,无激活函数)。

    对于第 jnumerical fieldAutoDis 可以通过如下方式为每个数值特征 xj 学习一个 unique representation (如 Figure 4 所示):

    (10)ej=f(djAuto(xj),MEj)

    其中:

    • MEj 是第 jnumerical fieldmeta-embedding matrix

    • djAuto() 是第 jnumerical fieldautomatic discretization 函数。

    • f() 为聚合函数。

      所有 numerical field 都使用相同的聚合函数。

    最后,categorical 特征和数值特征的 embedding 被拼接起来,并馈入一个深度 CTR 模型进行预测:

    (11)y^=CTR(e1,e2,,eNnumerical embeddings;eN+1,eN+2,,eN+Mcategorical embeddings)

  2. Meta-Embeddings: 为了平衡模型的容量和复杂性,对于第 jnumerical field ,我们设计了一组 meta-embeddings MEjRHj×d ,其中 MEj 由该 field 内的特征所共享,Hjmeta-embedding 的数量。 每个 meta-embedding 可以被看作是潜在空间中的一个子空间,用于提高表达能力和容量。通过结合这些 meta-embedding ,学习到的 embeddingField Embedding 方法更 informative ,因此可以很好地保留高的模型容量。此外,所需参数的数量由 Hj 所决定,因此模型的复杂性是高度可控的,使我们的方法 scalable

    对于不同的 field jHj 的数量可以不同。对于均匀分布的fieldHj 可以取较大的值;对于取值聚焦于几个点的 fieldHj 可以取较小的值。

  3. Automatic Discretization:为了捕获数值特征的值和所设计的 meta-embeddings 之间的复杂关联,我们提出了一个可微的 automatic discretization 模块 djAuto() 。由于有 djAuto() ,第 jnumerical field 的每个数值特征被离散化到 Hj 个桶,每个 bucket embedding 对应于上面提到的 meta-embedding

    具体而言,利用一个带有 skip-connection 的两层神经网络,将numerical field 特征取值 xj 离散化到 Hj 个桶中:

    (12)hj=Leaky-ReLU(wjxj)x~j=Wjhj+αhj

    其中:

    • wjRHj,WjRHj×Hjautomatic discretization network 在第 jnumerical feature field 上的可学习参数。
    • Leaky-ReLU 为激活函数,αskip-connection 的控制因子 control factor

    投影结果为:x~j=[x~j,1,x~j,2,,x~j,Hj] ,其中 x~j,hnumerical field 特征取值 xj 在第 h 个桶的投影输出。最后,通过 Softmax 函数将numerical field 特征取值 xj 与每个 meta-embedding MEj 之间的相关性进行归一化:

    (13)x^j,h=exp(x~j,h/τ)k=1Hjx~j,k/τ

    其中:τ 为温度系数,用于控制 discretization 分布。因此,通过 automatic discretization 函数 djAuto() ,得到离散化的结果 x^jRHj

    (14)x^j=djAuto(xj)=[x^j,1,x^j,2,,x^j,Hj]

    x^j 是一个向量,其中每个元素 x^j,h 表示 numerical field 特征取值 xj 被离散化到第 h 个桶中的概率,它表示 numerical field 特征取值 xj 与第 hmeta-embedding (即 bucket embedding )之间的相关性。这种离散化方法可以理解为 soft discretization 。与前面提到的 hard discretization 相比, soft discretization 没有将特征取值离散化到一个确定的桶中,这样就可以很好地解决 SBDDBS 问题。此外,可微的 soft discretization 使我们的 AutoDis 能够实现端到端的训练,并以最终目标进行优化。

    值得注意的是:当温度系数 τ 时,discretization 分布趋于均匀分布;当 τ0 时,discretization 分布趋于 one-hot 分布。因此,温度系数 τautomatic discretization distribution 中起着重要作用。此外,不同 field 的特征分布是不同的,因此对不同的 features 学习不同的 τ 具有很大的必要性。具体而言,我们提出了一个温度系数自适应网络 temperature coefficient adaptive network (双层网络),它同时考虑了 global field statistics featurelocal input feature ,公式如下:

    (15)τxj=Sigmoid(Wj(2)Leaky-ReLU(Wj(1)[n¯j||xj]))

    其中:

    • n¯j 为第 jnumerical field 特征的全局统计特征向量,包括:采样的累积分布函数 Cumulative Distribution Function: CDF 、均值。xjlocal input feature(||) 为拼接操作。
    • Wj(1),Wj(2) 为待学习的权重参数。

    为了指导模型训练, τxj 的输出范围从 (0,1) rescale(τϵ,τ+ϵ),其中 τ 是一个全局的超参数。

    ϵ 是什么?作者没有说。读者认为这里是一个超参数。

    这个温度系数自适应网络的设计不太简洁,工程实现也更复杂。根据实验部分的结论,这里完全可以微调 global 温度来实现。

  4. Aggregation Function:在得到 feature valuemeta-embeddings 之间的相关性后,可以通过对 meta-embeddings 进行聚合操作 f(),将相关性作为选择概率来生成 embedding 。我们考虑了以下聚合函数 f()

    • Max-Pooling:选择最相关的 meta-embedding (具有最高概率 x^j,h ):

      (16)ej=MEj,k,k=argmax1hHjx^j,h

      其中:k 是具有最高概率x^j,h 的最相关 meta-embedding 的索引, MEj,kMEj 中的第 kmeta-embedding

      然而,这种 hard selection 策略使 AutoDis 退化为一种 hard discretization 方法,从而导致上述的 SBD 问题和 DBS 问题。

    • Top-K-Sum:将具有最高相关性 x^j,htop-Kmeta-embedding 相加:

      (17)ej=l=1KMEj,kl,kl=argmax1hHj,lthx^j,h

      其中 kl 是第 l1lK )大的 x^j,hmeta-embedding 的索引, MEj,kMEj 中的第 kmeta-embedding

      然而,Top-K-Sum方法 有两个局限性:

      • 尽管与 Max-Pooling 相比,可能生成的 embedding 数量从 Hj 增加到 CHjK,但它不能从根本上解决 DBS 问题。
      • 学习到的 embedding ej 未考虑相关性的取值。
    • Weighted- Average:充分地利用整个 meta-embeddings 集合、以及 meta-embedding 与特征取值的相关性:

      (18)ej=h=1Hjx^j,hMEj,h

      通过这种加权聚合策略,相关的元嵌入对提供一个信息丰富的嵌入有更大的贡献,而不相关的元嵌入则在很大程度上被忽略了。此外,这种策略保证了每个特征都能学到 unique representation ,同时,学到的 embeddingContinuous-But-Different ,即,特征取值越接近则 embedding 就越相似。

  5. 训练:AutoDis 是以端到端的方式与具体的深度 CTR 模型的最终目标共同训练的。损失函数是广泛使用的带有正则化项的LogLoss

    (19)L=[1Qi=1Qyilogy^i+(1yi)log(1y^i)+λ||Θ||2]

    其中:yiy^i 为第 i 个样本的 ground truth label 和预测结果;Q 为总的训练样本数;λL2 正则化系数;Θ={ΘCat-Emb,ΘAutoDis,ΘCTR}categorical fieldfeature embedding 参数、meta-embeddingautomatic discretization 参数、以及深度 CTR 模型的参数。

    为了稳定训练过程,我们在数据预处理阶段采用了特征归一化技术,将数值特征取值缩放到 [0, 1] 。第 jnumerical field 的取值 xj 被归一化为:

    (20)xjxjxjminxjmaxxjmin

39.2 实验

  1. 数据集:

    • CriteoCriteo Display Advertising Challenge 2013 发布的,包含 13numerical feature field
    • AutoMLAutoML for Lifelong Machine Learning Challenge in NeurIPS 2018 发布的,包含 23numerical feature field
    • 工业数据集:从一个主流的在线广告平台上采样收集的,有 41numerical feature field

    数据集的统计数据如下表所示。

  2. 评估指标:AUC, LogLoss

    所有的实验都通过改变随机数种子重复 5 次。采用 two-tailed unpaired t-test 来检测 AutoDis 和最佳 baseline 之间的显著差异。

  3. baseline 方法:为了证明所提出的 AutoDis 的有效性,我们将 AutoDis 与数值特征的三类 representation learning 方法进行了比较:No EmbeddingYouTube, DLRM)、Field Embedding: FEDeepFM )、DiscretizationEDD ,如 IPNNLD 以及 TD,如 DeepGBM)。

    此外,为了验证 AutoDis 框架与 embedding-based 的深度 CTR 模型的兼容性,我们将 AutoDis 应用于六个代表性模型:FNNWide & DeepDeepFMDCNIPNNxDeepFM

  4. 实现:

    • 我们用 mini-batch Adam 优化所有的模型,其中学习率的搜索空间为 {10e-6, 5e-5, ... , 10e-2}
    • 此外,在 CriteoAutoML 数据集中, embedding size 分别被设置为 8070
    • 深度 CTR 模型中的隐层默认固定为1024-512-256-128DCNxDeepFM 中的显式特征交互(即 CrossNetCIN )被设置为 3 层。
    • L2 正则化系数的搜索空间为 {10e-6, 5e-5, ... , 10e-3}
    • 对于 AutoDis ,每个 numerical fieldmeta-embedding 数量为:Criteo 数据集为 20 个,AutoML 数据集为 40 个。
    • skip-connection 控制因子的搜索空间为 {0, 0.1, ... , 1}temperature coefficient adaptive network 的神经元数量设置为 64
  5. 和其它 Representation Learning 方法的比较:我们在三个数据集上执行不同的 numerical feature representation learning 方法,并选择 DeepFM 作为深度 CTR 模型。结果如下表所示。可以看到:

    • AutoDis 在所有数据集上的表现都远远超过了所有的 baseline ,显示了其对不同数值特征的优越性和鲁棒性。

    • No EmbeddingField Embedding 方法的表现比 DiscretizationAutoDis 更差。No EmbeddingField Embedding 这两类方法存在容量低和表达能力有限的问题。

      No Embedding, Field Embedding 二者之间的差距不大,基本上在 0.1% 以内。

    • 与现有的三种将数值特征转化为 categorical 形式的 Discretization 方法相比,AutoDisAUC 比最佳 baseline 分别提高了 0.17%0.23% 、以及 0.22%

  6. 不用 CTR 模型的比较:AutoDis 是一个通用框架,可以被视为改善各种深度 CTR 模型性能的插件。为了证明其兼容性,这里我们通过在一系列流行的模型上应用 AutoDis 进行了广泛的实验,结果如下表所示。可以看到:与 Field Embedding representation 方法相比,AutoDis 框架显著提高了这些模型的预测性能。numerical feature discretizationembedding learning 过程的优化是以这些 CTR 模型为最终目标的,因此可以得到 informative representation ,性能也可以得到提高。

  7. Online A/B Testing:我们在一个主流广告平台上进行在线实验从而验证 AutoDis 的优越性能,该平台每天有数百万活跃用户与广告互动,并产生数千万的用户日志事件。对于控制组,数值特征通过 hybrid manually-designed rules (如 EDDTD 等)进行离散化。实验组则选择 AutoDis 对所有数值特征进行离散化和自动学习 embedding 。将 AutoDis 部署到现有的 CTR 模型中很方便,几乎不需要 online serving 系统的工程工作。

    AutoDis 实现了 0.2% 的离线 AUC 的提升。此外,相对于对照组,实验组在线 CTReCPM 分别提升了 2.1%2.7% (统计学意义),这带来了巨大的商业利润。

    此外,随着 AutoDis 的融合,现有的数值特征不再需要任何离散化规则。此外,在未来引入更多的数值特征将更加有效,而不需要探索任何人工制作的规则。

  8. Embedding Analysis:为了更深入地理解通过 AutoDis 学到的 Continuous-But-Different embedding ,我们分别在 embeddings 的宏观分析、以及 soft discretization 的微观分析中做了进一步的调研。

    • Embeddings 的宏观分析:下图提供了 DeepFM-AutoDisDeepFM-EDDCriteo 数据集的第 3numerical field 中得出的 embedding 的可视化。我们随机选择 250embedding ,并使用 t-SNE 将它们投影到一个二维空间。具有相似颜色的节点具有相似的值。可以看到:

      • AutoDis 为每个特征学习了一个 unique embedding 。此外,相似的数值特征(具有相似的颜色)由密切相关的 embeddings (在二维空间中具有相似的位置)来表示,这阐述了 embeddingContinuous-But-Different 的特性。
      • 然而,EDD 为一个桶中的所有特征学习相同的 embedding 、而在不同的桶中学习完全不同的 embedding ,这导致了 to step-wise "unsmooth" embedding ,从而导致了较差的任务表现。

    • Soft Discretization 的微观分析:我们通过调查 DeepFM-AutoDissoft discretization 过程中的 Softmax 分布进行一些微观分析。我们从 Criteo 数据集的第 8numerical field 中选择一个相邻的 feature-pair (特征取值为 12 )、以及一个相距较远的feature-pair (特征取值为 110 ),然后在下图中可视化它们的 discretization distribution 。可以看到:相邻的feature-pair 具有相似的 Softmax 分布,而相距较远的feature-pair 具有不同的分布。

      这一特点有利于保证相似的特征取值能够通过 AutoDis 学习相似的 embedding ,从而保持 embedding 的连续性。

  9. Numerical Fields Analysis:为了评估 DeepFM-AutoDis 对每个 numerical field 的影响,在 Criteo 数据集中,我们选择了所有26categorical fields 作为基础特征,并每次累积添加 13numerical fields 中的一个。下图展示了根据数据集的原始顺序和随机顺序添加 numerical fields 的预测性能。可以看到:

    • 即使只有一个 numerical fieldAutoDis 也能提高性能。
    • AutoDis 对多个 numerical fields 具有 cumulative improvement
    • 与现有方法相比,AutoDis 取得的性能改善更加显著和稳定。

  10. Model Complexity:为了定量分析我们提出的 AutoDis 的空间复杂度和时间复杂度,我们比较了 DeepFM 上的 EDD 离散化方法的模型参数、以及 batch inference time ,结果如下表所示。可以看到:

    • EDD 相比,AutoDis增加的模型参数量可以忽略不计。
    • 此外,AutoDis 的计算效率也是可比的。

  11. 消融研究和超参数敏感性:

    • 聚合策略:下图总结了 DeepFM-AutoDis 采用 Max-PoolingTop-K-SumWeighted-Average 等聚合策略的预测性能。可以看到:Weighted-Average 策略实现了最好的性能。原因是:与其他策略相比,Weighted-Average 策略充分利用了 meta-embeddings 及其相应的关联性,完全克服了 DBSSBD 问题。

    • 温度系数:为了证明 temperature coefficient adaptive network 在生成 feature-specific τxj 的有效性,我们将 τxj 与不同全局温度 τ 进行比较。如下图所示:

      • CriteoAutoML 数据集上,最佳全局温度分别为 1e-54e-3 左右。
      • 然而,我们的 temperature coefficient adaptive network 取得了最好的结果(红色虚线),因为它可以根据 global field statistics featurelocal input feature ,针对不同的特征自适应地调整温度系数,获得更合适的 discretization distribution

    • Meta-Embeddings 的数量:实验结果如下图所示。可以看到:

      • Meta-Embeddings 数量的增加有助于在开始时大幅提高性能,因为 meta-embeddings 中涉及更丰富的信息。
      • 然而,使用过多的 meta-embeddings 不仅会增加计算负担,而且会使性能受挫。

      考虑到预测效果和训练效率,我们将 CriteoAutoML 数据集的数量分别设定为 2040

四十、MDE[2020]

  1. 标准的 embedding 做法是:将 objects 以固定的统一纬度 uniform dimension: UD d 嵌入到 Rd 中。

    • embedding 维度 d 太小时,下游任务的预测性能会受到影响。

    • embedding 维度 d 太大、并且需要表示的 objects 数量很大时,内存消耗就成为一个问题。例如,在推荐模型中, embedding layer 可以占到存储模型所需内存的 99.9% 以上,而在 large-scale setting 中,它可能会消耗数百 GB 甚至数百TB

      不仅内存消耗是一个瓶颈,模型太大也容易过拟合。

    因此,寻找新颖embedding representation 是一个重要的挑战,其中该embedding representation 使用更少的参数,同时保留下游模型的预测性能。

    在现实世界的applications 中,object 的频率往往是严重倾斜的。例如:

    • 对于 full MovieLens 数据集,top 10% 的用户收到的 query 数量和剩余 90% 的用户一样多、top 1%item 收到的 query 数量和剩余 99%item 一样多。
    • 此外,在 Criteo Kaggle 数据集上, top 0:0003%indices 收到的 query 数量与剩余 3200 万个 indices 一样多。

    为了在推荐中利用 heterogeneous object popularity ,论文 《Mixed Dimension Embeddings with Application to Memory-Efficient Recommendation Systems》提出了 mixed dimension(MD) embedding layer ,其中一个 specific-objectembedding 维度随着该objectpopularity 而变化,而不是保持全局统一。论文的案例研究和理论分析表明:MD embedding 的效果很好,因为它们不会在rare embedding 上浪费参数,同时也不会欠拟合 popular embedding 。此外,在测试期间,MD embedding 通过有效地分配参数从而最小化 popularity-weighted loss

    论文贡献:

    • 论文提出了一种用于推荐系统的 mixed dimension embedding layer ,并提供了一种新颖的数学方法来确定具有可变 popularity 的特征的尺寸。这种方法训练速度快、易于调优、并且在实验中表现良好。
    • 通过矩阵补全 matrix completionfactorization model ,论文证明了在有足够的 popularity 倾斜的情况下, mixed dimension embedding 在内存有限的情况下会产生较低的失真,在数据有限的情况下会有更好的泛化效果。
    • 对于内存有限的领域,论文推导出最佳特征维度。这个维度只取决于特征的popularity、参数预算、以及pairwise 交互的奇异值谱。

40.1 背景

  1. 与典型的协同过滤 collaborative filtering: CF 相比,CTR 预测任务包括额外的上下文。这些上下文特征通过索引集合(categorical )和浮点数(continuous )来表达。这些特征可以代表关于点击事件或个性化事件的上下文的任意细节。第 icategorical 特征可以用一个索引 xi{1,2,,ni} 来表达,i=1,,κ 。 除了 categorical 特征,我们还有 s 个标量特征,这些标量一起产生一个稠密的特征向量 xRs 。因此,给定 (x1,x2,,xκ,x)Rn1+n2++nκ+s ,我们想预测点击事件y{0,1} ,其中 xixione-hot 向量。

    我们使用 SOTAdeep learning recommendation model: DLRM 作为一个现成的深度模型。各种深度 CTR 预测模型都是由内存密集型的 embedding layer 驱动的。 embedding layer 的大小和预测性能之间的权衡似乎是一个不可避免的权衡。对于一个给定的模型 fθθ 为参数),标准的做法是用 embedding layer E 来表示 categorical 特征。通常,每个 categorical 特征都有自己的独立的 embedding matrixE[(x1,,xκ)]=(E(1)x1,,E(κ)xκ) ,其中 E[]embedding layerE(i) 为第 icategoricalembedding matrix

  2. 相关工作:最近的工作提出了类似、但实质上不同的 non-uniform embedding 架构的技术,尤其是针对自然语言处理领域(《Groupreduce: Block-wise low-rank approximation for neural language model shrinking》《Adaptive input representations for neural language modeling》)。这些方法都不适合用于 CTR 预测,因为它们忽略了 CTR 中固有的 feature-level 结构。

    还有一些方法是为 RecSys embedding layer 提出神经架构搜索neural architecture search : NAS《Neural input search for large scale recommendation models》),其中使用强化学习算法来构建 embedding layer 。与计算昂贵的 NAS 相比,我们表明 non-uniform embedding layer 的架构搜索可以简化为调优一个超参数,而不需要 NAS 。由于我们的理论框架,模型搜索的这种简化是可能的。此外,与以前所有的 non-uniform embedding 的工作相比,我们从理论上分析了我们的方法。此外,过去的工作并没有从经验上验证他们的方法所推测的工作机制。

  3. popularity 倾斜的角度来看, embedding normalization 实际上隐含了对 rare embeddings 的惩罚,而不是对 popular embeddings 的惩罚。这是因为更大一部分的 training updates 仅包含 rare embeddingsnorm penalty signal (而很少包含 rare 出现的事件)。

  4. 如下图所示,图 (a) 表示 Criteo Kaggle 数据集中所有特征的 access 的直方图;图 (b), (c) 分别为 MovieLens 数据集的 user feature, item featureaccess 的直方图。

    这些图都是典型的长尾分布。

40.2 模型

  1. MD embedding layer 架构 E¯κblock 组成,每个 block 对应一个 categorical field 。这些 block 定义为 2κ 个矩阵:E¯=(E¯(1),,E¯(κ),P¯(1),,P¯(κ)),其中:

    • E¯(i)Rni×di,P¯(i)Rdi×d¯ 为第 iblock 的矩阵;di 为第 icategorical 特征的 embeding sizeni 为第 icategorical 特征的词表大小;d¯ 为所有 categorical 特征共享的 base dimension ,且满足 d¯dii=1,,κ
    • E¯(i) 作为 MD embedding,然后 P¯(i) 作为投影矩阵从投影到维度 d¯ 的公共空间。
  2. 一个关键问题是如何确定 embedding size d=(d1,d2,,dκ)

    Power-law Sizing Scheme:我们定义 block-level 概率 pRκ ,其中 pi 为第 iblock 中的 embedding 的平均查询概率。当 block 与特征一一对应(我们这里的情况),那么 pi=1ni

    假设 categorical feature 都是单值(而不是多值的),那么对于词表大小为 nicategorical feature,每个取值出现的平均概率为 1/ni

    更一般的情况下,pi=ji,j ,其中 block-wise 伯努利采样矩阵。那么 Popularity-Based Dimension Sizing 为:

    (21)dd¯×pαpα

    其中:无穷范数是元素绝对值中的最大值;0α1 为温度系数,当 α=0embedding size 都等于 d¯ ,当 α=1embedding size 与它们的 popularity 成正比。

    理论分析见原始论文。

    注意:这里仅考虑 field-levelpopularity,而没有考虑 value-levelpopularity 。例如,“学历” 这个 field 中,低学历的 value 占比更大,需要更高的维度。

    论文中的这种维度分配方式,使得词表越大的 field,其维度越小;词表越小的 field,其维度越大。例如,“性别” 只有两个取值,该 field 被分配的 embedding 维度最大。

    论文中的这种维度分配是启发式的规则,并不是从数据中学到的。

40.3 实验

  1. baseline 方法:统一的 d=32DLRM

  2. 实验结果:

    • α=0.3MD embedding 产生的 learning curved=32UD embedding 相当(下图 (a)),但是参数规模减少了 16 倍。
    • MD embedding layer 改善了每种 parameter budget 下的 memory-performance (下图 (b))。
    • 最佳温度 α 取决于 parameter budget ,对于较小的预算,较高的温度会导致更低的 loss
    • α=0.2embedding 获得的性能以 0.1% 的准确性优势略微优于 UD embedding,但是参数规模约为 UD embedding 的一半。
    • MD embedding 的训练速度比 UD embedding 快两倍(下图 (c))。

四十一、NIS[2020]

  1. 大多数现代神经网络模型可以被认为是由两个组件组成的:

    • 一个是将原始(可能是 categorical 的)输入数据转换为浮点值的输入组件。
    • 另一个是将输入组件的输出结合起来并计算出模型的最终输出的 representation learning 组件。

    《Neural Architecture Search with Reinforcement Learning》 发表以来,以自动化的、数据驱动的方式设计神经网络架构(AutoML )最近吸引了很多研究兴趣。然而,该领域以前的研究主要集中在 representation learning 组件的自动化设计上,而对输入组件的关注很少。这是因为大多数研究都是在图像理解问题上进行的,其中 representation learning 组件对模型性能非常重要,而输入组件是微不足道的,因为图像像素已经是浮点形式。

    对于工业界经常遇到的大规模推荐问题,情况则完全不同。虽然 representation learning 组件很重要,但输入组件在模型中起着更关键的作用。这是因为许多推荐问题涉及到具有大 cardinalitycategorical 特征,而输入组件为这些离散特征的每一项分配 embedding 向量。这就导致了输入组件中有大量的 embedding 参数,这些参数在模型大小和模型归纳偏置 inductive bias 上都占主导地位。

    例如,YouTube 视频推荐模型使用了一个规模为 1Mvideo ID vocabulary ,每个 video ID256 维的 embedding 向量。这意味着仅 video ID 特征就使用了 256M 个参数,而且随着更多离散特征的加入,这个数字还会迅速增长。 相比之下, representation learning 组件只包括三个全连接层。因此,模型参数的数量主要集中在输入组件,这自然对模型性能有很高的影响。在实践中,尽管 categorical 特征的 vocabulary sizeembedding size 很重要,但它们往往是通过尝试一些具有不同手工制作的配置的模型从而以启发式的方式选择的。由于这些模型通常体积大,训练成本高,这种方法计算量大,可能会导致次优的结果。

    在论文 《Neural Input Search for Large Scale Recommendation Models》 中,作者提出了 Neural Input Search: NIS ,这是一种新颖的方法,为模型输入组件的每个离散特征自动寻找 embedding sizevocabulary sizeNIS 创建了一个由 Embedding Blocks 集合组成的搜索空间,其中 blocks 的每个组合代表不同的 vocabulary and embedding 配置。最佳配置是通过像 ENAS 这样的强化学习算法在单个 training run 中搜索而来。

    此外,作者提出一种新的 embedding 类型,称之为 Multi-size Embedding : MEME 允许将较大尺寸(即,维度)的 embedding 向量分配给更常见的、或更 predictivefeature item ,而将较小尺寸的 embedding 向量分配给不常见的、或没有predictivefeature item 。这与通常采用的方法相反,即在词表的所有 item 中使用同样维度的 embedding ,这称之为 Single-size Embedding: SE 。作者认为,SE 是对模型容量和训练数据的低效利用。这是因为:

    • 对于频繁出现的、或高 predictiveitem ,我们需要一个大的 embedding 维度来编码它们与其他 item 的细微关系 nuanced relation
    • 但对于长尾item ,由于它们在训练集中的稀有性 rarity ,训练相同维度的 good embedding 可能需要太多的 epoch 。并且当训练数据有限时,对于 rare item 采用大维度的 embedding 可能会过拟合。

    有了 ME ,在相同的模型容量下,我们可以覆盖词表中更多的 item ,同时减少所需的训练数据规模和计算成本从而为长尾item 训练良好的 embedding

    下图概览了基于 Embedding Blocks 的搜索空间、以及强化学习控制器如何对候选 SEME 进行采样。

    (a)Single-size Embedding,其中仅保留 top 2Mitemembedding 维度 192

    (b)Multi-size Embedding,其中 top 2Mitemembedding 维度为 192 、剩余 7Mitemembedding 维度为 64

    注意:这要求词表中的 id 是根据频次来降序排列。这对于频次分布的波动较大的 field 而言,需要经常重新编码 id 和重新训练。

    embedding table 包含两个超参数:emebdding size 、以及词表大小(即,保留高频的多少个 item)。这篇论文保留了所有的 item,并针对性地优化 embedding size

    作者通过在两个广泛研究的推荐问题的公共数据集上的实验,证明了 NIS 在为 SEME 寻找良好的 vocabulary sizeembedding size 配置方面的有效性。给定 baseline 推荐模型,NIS 能够显著提高它们的性能,同时在所有实验中显著减少 embedding 参数的数量(从而减少模型的规模)。此外,作者将 NIS 应用于 Google App store 中的一个真实世界的大规模 App ranking 模型,并进行了离线实验和在线 A/B test ,结果是 +1.02%App Install ,而模型大小减少了 30% 。这个新的 NIS App ranking 模型已经部署在生产中。

  2. 相关工作:几乎所有以前的 NAS 研究工作都集中在为图像/视频理解问题寻找最佳的 representation learning 组件。对于大规模的推荐问题,通过利用先进的representation learning 组件(如 CNN, RNN 等)也取得了很大的成果。然而,尽管输入组件由于 embedding 从而包含了很大一部分模型参数,但它在整个工业界中经常被启发式地设计,如 YouTube, Google Play, Netflix 等。据我们所知,我们的工作首次将自动化的神经网络设计引入输入组件从而用于大规模推荐问题。

41.1 模型

  1. 假设模型的输入由一组 categorical 特征 F 组成。对于每个特征 FF,我们有一个其可能取值的列表,这个列表中的元素按照在数据集中出现的频率递减的顺序排序。这个列表将每个特征取值隐式地映射为一个整数,我们把这个列表称为词表 vocabulary
  2. 一个 embedding 变量 ERv×d 是一个可训练的矩阵,其中 vvocabulary sizedembedding 维度。对于任何 0i<v 的情况,eiRd 表示 E 的第 i 行,即词表内第 iitemembedding 向量。
  3. B 为我们的 "memory budget" ,它指的是模型的 embedding 矩阵使用的浮点数的总数。对于一个 Rv×d<