如下图所示,大多数现有的深度 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: SBD
和 Dis-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
,即 AutoDis
。AutoDis
由三个核心模块组成:meta-embedding
、automatic discretization
和aggregation
,从而实现高的模型容量、端到端的训练、以及 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 feature
的 embedding 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
表明,AutoDis
在 CTR
和 eCPM
方面比商业 baseline
提高了 2.1%
和 2.7%
。相关工作:
Embedding
:作为深度 CTR
模型的基石, embedding
模块对模型的性能有重大影响,因为它占用了大部分的模型参数。我们在此简单介绍推荐领域中基于 embedding look-up
的研究。
现有的研究主要集中在设计 adaptable
的 embedding
算法,通过为不同的特征分配可变长度的 embedding
或 multi-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
的隐式特征交互。代表性的模型包括 FNN
、IPNN
、PIN
、FiBiNET
、FGCNN
、AutoGroup
、DIN
和 DIEN
。
并行结构:利用两个并行网络分别捕捉显式特征交互信号和隐式特征交互信号,并在输出层融合信息。代表性的模型包括 Wide & Deep
、DeepFM
、AutoFIS
、DCN
、xDeepFM
和 AutoInt
。
在这些模型中,隐式特征交互是通过 DNN
模型提取的。而对于显式特征交互,Wide & Deep
采用手工制作的交叉特征,DeepFM
和 AutoFIS
采用 FM
结构,DCN
采用 cross network
,xDeepFM
采用 Compressed Interaction Network: CIN
,AutoInt
利用多头自注意力网络。
假设用于训练 CTR
模型的数据集由 categorical fields
和 numerical fields
的 multi-field
数据记录:
其中: numerical field
的标量值; categorical field
的特征取值的 one-hot vector
。
对于第 categorical field
,可以通过 embedding look-up
操作获得 feature embedding
:
其中:categorical field
的 embedding matrix
,embedding size
,categorical field
的词表规模。
因此, categorical field
的 representation
为:
对于 numerical field
,现有的 representation
方法可以总结为三类:No Embedding
、Field Embedding
、Discretization
。
No Embedding
:这种方式直接使用原始值或原始值的变换,而不学习 embedding
。例如,Google Play
的 Wide & Deep
和JD.com
的 DMT
分别使用原始数值特征和归一化的数值特征。此外,YouTube DNN
利用了归一化特征取值
在 Facebook
的 DLRM
中,他们使用了一个多层感知机来建模所有的数值特征:
其中 DNN
的结构为 512-256-d
,
直观而言,这些 No Embedding
方法由于容量太小,很难捕获到 numerical field
的 informative
知识。
Field Embedding
:学术界常用的方法是 Field Embedding
,即同一个 field
内的的所有数值特征共享一个 uniform field embedding
,然后将这个 field embedding
与它们的特征取值相乘:
其中:numerical field
的 uniform embedding vector
。
然而,由于单个共享的 field-specific embedding
、以及field
内不同特征之间的线性缩放关系,Field Embedding
的 representation
容量是有限的。
例如,收入
和收入 ,根据 Field Embedding
的做法:即,收入分别为
1
和10000
的两个用户,其相似度大于收入分别为1
和1
的两个用户。这在实际场景中是不恰当的。
Discretization
:在工业推荐系统中,处理数值特征的一个流行方法是 Discretization
,即把数值特征转化为 categorical feature
。对于第 numerical field
的特征 feature embedding
discretization
和 embedding look-up
:
其中:numerical field
的 embedding matrix
;numerical field
人工设计的离散化函数,它将该特征内的每个特征取值映射到
具体来说,有三种广泛使用的离散化函数:
Equal Distance/Frequency Discretization: EDD/EFD
:EDD
将特征取值划分到 numerical field
的特征取值范围为 interval width
定义为 EDD
离散化函数
类似地,EFD
将范围
Logarithm Discretization: LD
:Kaggle
比赛中 Criteo advertiser prediction
的冠军利用对数和 floor
操作将数值特征转化为 categorical
形式。离散化后的结果 LD
离散化函数
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]
确定为中年,这导致数值 40
和 41
的 embedding
明显不同。
Dis-similar value But Same embedding: DBS
:现有的离散化策略可能将明显不同的元素分组同一个桶中,导致无法区分的 embedding
。使用同一个例子(Age field
),18
和 40
之间的数值在同一个桶里,因此被分配了相同的 embedding
。然而,18
岁和 40
岁的人可能具有非常不同的特征。基于离散化的策略不能有效地描述数值特征变化的连续性。
综上所述,下表中列出了 AutoDis
与现有 representation
方法的三方面比较。我们可以观察到,这些方法要么因为容量小而难以捕获 informative
知识、要么需要专业的特征工程,这些可能会降低整体性能。因此,我们提出了 AutoDis
框架。据我们所知,它是第一个具有高模型容量、端到端训练、以及保留 unique representation
特性的 numerical features embedding learning
框架。
AutoDis
框架如 Figure 3
所示,它可以作为针对数值特征的可插拔的 embedding framework
,与现有的深度 CTR
模型兼容。AutoDis
包含三个核心模块:meta-embedding
、automatic discretization
、aggregation
。
代码实现比较简单直观: 数值特征
(标量) -> 单层 DNN
网络(隐层维度为, softmax
激活函数) -> 单层DNN
网络(隐层维度为,无激活函数)。
对于第 numerical field
,AutoDis
可以通过如下方式为每个数值特征 unique representation
(如 Figure 4
所示):
其中:
numerical field
的 meta-embedding matrix
。
numerical field
的 automatic discretization
函数。
所有
numerical field
都使用相同的聚合函数。
最后,categorical
特征和数值特征的 embedding
被拼接起来,并馈入一个深度 CTR
模型进行预测:
Meta-Embeddings
: 为了平衡模型的容量和复杂性,对于第 numerical field
,我们设计了一组 meta-embeddings
field
内的特征所共享,meta-embedding
的数量。 每个 meta-embedding
可以被看作是潜在空间中的一个子空间,用于提高表达能力和容量。通过结合这些 meta-embedding
,学习到的 embedding
比 Field Embedding
方法更 informative
,因此可以很好地保留高的模型容量。此外,所需参数的数量由 scalable
。
对于不同的
field
, 的数量可以不同。对于均匀分布的 field
,可以取较大的值;对于取值聚焦于几个点的 field
,可以取较小的值。
Automatic Discretization
:为了捕获数值特征的值和所设计的 meta-embeddings
之间的复杂关联,我们提出了一个可微的 automatic discretization
模块 numerical field
的每个数值特征被离散化到 bucket embedding
对应于上面提到的 meta-embedding
。
具体而言,利用一个带有 skip-connection
的两层神经网络,将numerical field
特征取值
其中:
automatic discretization network
在第 numerical feature field
上的可学习参数。Leaky-ReLU
为激活函数,skip-connection
的控制因子 control factor
。投影结果为:numerical field
特征取值 Softmax
函数将numerical field
特征取值 meta-embedding
其中:discretization
分布。因此,通过 automatic discretization
函数
numerical field
特征取值 numerical field
特征取值 meta-embedding
(即 bucket embedding
)之间的相关性。这种离散化方法可以理解为 soft discretization
。与前面提到的 hard discretization
相比, soft discretization
没有将特征取值离散化到一个确定的桶中,这样就可以很好地解决 SBD
和 DBS
问题。此外,可微的 soft discretization
使我们的 AutoDis
能够实现端到端的训练,并以最终目标进行优化。
值得注意的是:当温度系数 discretization
分布趋于均匀分布;当 discretization
分布趋于 one-hot
分布。因此,温度系数 automatic discretization distribution
中起着重要作用。此外,不同 field
的特征分布是不同的,因此对不同的 features
学习不同的 temperature coefficient adaptive network
(双层网络),它同时考虑了 global field statistics feature
和 local input feature
,公式如下:
其中:
numerical field
特征的全局统计特征向量,包括:采样的累积分布函数 Cumulative Distribution Function: CDF
、均值。local input feature
。为了指导模型训练, rescale
为
是什么?作者没有说。读者认为这里是一个超参数。 这个温度系数自适应网络的设计不太简洁,工程实现也更复杂。根据实验部分的结论,这里完全可以微调
global
温度来实现。
Aggregation Function
:在得到 feature value
和 meta-embeddings
之间的相关性后,可以通过对 meta-embeddings
进行聚合操作 embedding
。我们考虑了以下聚合函数
Max-Pooling
:选择最相关的 meta-embedding
(具有最高概率
其中:meta-embedding
的索引, meta-embedding
。
然而,这种 hard selection
策略使 AutoDis
退化为一种 hard discretization
方法,从而导致上述的 SBD
问题和 DBS
问题。
Top-K-Sum
:将具有最高相关性 top-K
个 meta-embedding
相加:
其中 meta-embedding
的索引, meta-embedding
。
然而,Top-K-Sum方法
有两个局限性:
Max-Pooling
相比,可能生成的 embedding
数量从 DBS
问题。embedding
Weighted- Average
:充分地利用整个 meta-embeddings
集合、以及 meta-embedding
与特征取值的相关性:
通过这种加权聚合策略,相关的元嵌入对提供一个信息丰富的嵌入有更大的贡献,而不相关的元嵌入则在很大程度上被忽略了。此外,这种策略保证了每个特征都能学到 unique representation
,同时,学到的 embedding
是 Continuous-But-Different
,即,特征取值越接近则 embedding
就越相似。
训练:AutoDis
是以端到端的方式与具体的深度 CTR
模型的最终目标共同训练的。损失函数是广泛使用的带有正则化项的LogLoss
:
其中:ground truth label
和预测结果;L2
正则化系数;categorical field
的 feature embedding
参数、meta-embedding
和 automatic discretization
参数、以及深度 CTR
模型的参数。
为了稳定训练过程,我们在数据预处理阶段采用了特征归一化技术,将数值特征取值缩放到 [0, 1]
。第 numerical field
的取值
数据集:
Criteo
:Criteo Display Advertising Challenge 2013
发布的,包含 13
个 numerical feature field
。AutoML
:AutoML for Lifelong Machine Learning Challenge in NeurIPS 2018
发布的,包含 23
个numerical feature field
。41
个 numerical feature field
。数据集的统计数据如下表所示。
评估指标:AUC, LogLoss
。
所有的实验都通过改变随机数种子重复 5
次。采用 two-tailed unpaired t-test
来检测 AutoDis
和最佳 baseline
之间的显著差异。
baseline
方法:为了证明所提出的 AutoDis
的有效性,我们将 AutoDis
与数值特征的三类 representation learning
方法进行了比较:No Embedding
(YouTube, DLRM
)、Field Embedding: FE
(DeepFM
)、Discretization
(EDD
,如 IPNN
;LD
以及 TD
,如 DeepGBM
)。
此外,为了验证 AutoDis
框架与 embedding-based
的深度 CTR
模型的兼容性,我们将 AutoDis
应用于六个代表性模型:FNN
、Wide & Deep
、DeepFM
、DCN
、IPNN
、xDeepFM
。
实现:
mini-batch Adam
优化所有的模型,其中学习率的搜索空间为 {10e-6, 5e-5, ... , 10e-2}
。Criteo
和 AutoML
数据集中, embedding size
分别被设置为 80
和 70
。CTR
模型中的隐层默认固定为1024-512-256-128
,DCN
和 xDeepFM
中的显式特征交互(即 CrossNet
和 CIN
)被设置为 3
层。L2
正则化系数的搜索空间为 {10e-6, 5e-5, ... , 10e-3}
。AutoDis
,每个 numerical field
的 meta-embedding
数量为:Criteo
数据集为 20
个,AutoML
数据集为 40
个。skip-connection
控制因子的搜索空间为 {0, 0.1, ... , 1}
,temperature coefficient adaptive network
的神经元数量设置为 64
和其它 Representation Learning
方法的比较:我们在三个数据集上执行不同的 numerical feature representation learning
方法,并选择 DeepFM
作为深度 CTR
模型。结果如下表所示。可以看到:
AutoDis
在所有数据集上的表现都远远超过了所有的 baseline
,显示了其对不同数值特征的优越性和鲁棒性。
No Embedding
和 Field Embedding
方法的表现比 Discretization
和 AutoDis
更差。No Embedding
和 Field Embedding
这两类方法存在容量低和表达能力有限的问题。
No Embedding, Field Embedding
二者之间的差距不大,基本上在0.1%
以内。
与现有的三种将数值特征转化为 categorical
形式的 Discretization
方法相比,AutoDis
的 AUC
比最佳 baseline
分别提高了 0.17%
、0.23%
、以及 0.22%
。
不用 CTR
模型的比较:AutoDis
是一个通用框架,可以被视为改善各种深度 CTR
模型性能的插件。为了证明其兼容性,这里我们通过在一系列流行的模型上应用 AutoDis
进行了广泛的实验,结果如下表所示。可以看到:与 Field Embedding representation
方法相比,AutoDis
框架显著提高了这些模型的预测性能。numerical feature discretization
和 embedding learning
过程的优化是以这些 CTR
模型为最终目标的,因此可以得到 informative representation
,性能也可以得到提高。
Online A/B Testing
:我们在一个主流广告平台上进行在线实验从而验证 AutoDis
的优越性能,该平台每天有数百万活跃用户与广告互动,并产生数千万的用户日志事件。对于控制组,数值特征通过 hybrid manually-designed rules
(如 EDD
、TD
等)进行离散化。实验组则选择 AutoDis
对所有数值特征进行离散化和自动学习 embedding
。将 AutoDis
部署到现有的 CTR
模型中很方便,几乎不需要 online serving
系统的工程工作。
AutoDis
实现了 0.2%
的离线 AUC
的提升。此外,相对于对照组,实验组在线 CTR
和 eCPM
分别提升了 2.1%
和 2.7%
(统计学意义),这带来了巨大的商业利润。
此外,随着 AutoDis
的融合,现有的数值特征不再需要任何离散化规则。此外,在未来引入更多的数值特征将更加有效,而不需要探索任何人工制作的规则。
Embedding Analysis
:为了更深入地理解通过 AutoDis
学到的 Continuous-But-Different embedding
,我们分别在 embeddings
的宏观分析、以及 soft discretization
的微观分析中做了进一步的调研。
Embeddings
的宏观分析:下图提供了 DeepFM-AutoDis
和 DeepFM-EDD
在 Criteo
数据集的第 3
个 numerical field
中得出的 embedding
的可视化。我们随机选择 250
个 embedding
,并使用 t-SNE
将它们投影到一个二维空间。具有相似颜色的节点具有相似的值。可以看到:
AutoDis
为每个特征学习了一个 unique embedding
。此外,相似的数值特征(具有相似的颜色)由密切相关的 embeddings
(在二维空间中具有相似的位置)来表示,这阐述了 embedding
的 Continuous-But-Different
的特性。EDD
为一个桶中的所有特征学习相同的 embedding
、而在不同的桶中学习完全不同的 embedding
,这导致了 to step-wise "unsmooth" embedding
,从而导致了较差的任务表现。Soft Discretization
的微观分析:我们通过调查 DeepFM-AutoDis
的 soft discretization
过程中的 Softmax
分布进行一些微观分析。我们从 Criteo
数据集的第 8
个 numerical field
中选择一个相邻的 feature-pair
(特征取值为 1
和 2
)、以及一个相距较远的feature-pair
(特征取值为 1
和 10
),然后在下图中可视化它们的 discretization distribution
。可以看到:相邻的feature-pair
具有相似的 Softmax
分布,而相距较远的feature-pair
具有不同的分布。
这一特点有利于保证相似的特征取值能够通过 AutoDis
学习相似的 embedding
,从而保持 embedding
的连续性。
Numerical Fields Analysis
:为了评估 DeepFM-AutoDis
对每个 numerical field
的影响,在 Criteo
数据集中,我们选择了所有26
个 categorical fields
作为基础特征,并每次累积添加 13
个 numerical fields
中的一个。下图展示了根据数据集的原始顺序和随机顺序添加 numerical fields
的预测性能。可以看到:
numerical field
,AutoDis
也能提高性能。AutoDis
对多个 numerical fields
具有 cumulative improvement
。AutoDis
取得的性能改善更加显著和稳定。Model Complexity
:为了定量分析我们提出的 AutoDis
的空间复杂度和时间复杂度,我们比较了 DeepFM
上的 EDD
离散化方法的模型参数、以及 batch inference time
,结果如下表所示。可以看到:
EDD
相比,AutoDis
增加的模型参数量可以忽略不计。AutoDis
的计算效率也是可比的。消融研究和超参数敏感性:
聚合策略:下图总结了 DeepFM-AutoDis
采用 Max-Pooling
、Top-K-Sum
、Weighted-Average
等聚合策略的预测性能。可以看到:Weighted-Average
策略实现了最好的性能。原因是:与其他策略相比,Weighted-Average
策略充分利用了 meta-embeddings
及其相应的关联性,完全克服了 DBS
和 SBD
问题。
温度系数:为了证明 temperature coefficient adaptive network
在生成 feature-specific
Criteo
和AutoML
数据集上,最佳全局温度分别为 1e-5
和 4e-3
左右。temperature coefficient adaptive network
取得了最好的结果(红色虚线),因为它可以根据 global field statistics feature
和 local input feature
,针对不同的特征自适应地调整温度系数,获得更合适的 discretization distribution
。Meta-Embeddings
的数量:实验结果如下图所示。可以看到:
Meta-Embeddings
数量的增加有助于在开始时大幅提高性能,因为 meta-embeddings
中涉及更丰富的信息。meta-embeddings
不仅会增加计算负担,而且会使性能受挫。考虑到预测效果和训练效率,我们将 Criteo
和 AutoML
数据集的数量分别设定为 20
和 40
。
标准的 embedding
做法是:将 objects
以固定的统一纬度 uniform dimension: UD
当 embedding
维度
当 embedding
维度 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-object
的 embedding
维度随着该object
的 popularity
而变化,而不是保持全局统一。论文的案例研究和理论分析表明:MD embedding
的效果很好,因为它们不会在rare embedding
上浪费参数,同时也不会欠拟合 popular embedding
。此外,在测试期间,MD embedding
通过有效地分配参数从而最小化 popularity-weighted loss
。
论文贡献:
mixed dimension embedding layer
,并提供了一种新颖的数学方法来确定具有可变 popularity
的特征的尺寸。这种方法训练速度快、易于调优、并且在实验中表现良好。matrix completion
和 factorization model
,论文证明了在有足够的 popularity
倾斜的情况下, mixed dimension embedding
在内存有限的情况下会产生较低的失真,在数据有限的情况下会有更好的泛化效果。popularity
、参数预算、以及pairwise
交互的奇异值谱。与典型的协同过滤 collaborative filtering: CF
相比,CTR
预测任务包括额外的上下文。这些上下文特征通过索引集合(categorical
)和浮点数(continuous
)来表达。这些特征可以代表关于点击事件或个性化事件的上下文的任意细节。第 categorical
特征可以用一个索引 categorical
特征,我们还有 one-hot
向量。
我们使用 SOTA
的 deep learning recommendation model: DLRM
作为一个现成的深度模型。各种深度 CTR
预测模型都是由内存密集型的 embedding layer
驱动的。 embedding layer
的大小和预测性能之间的权衡似乎是一个不可避免的权衡。对于一个给定的模型 embedding layer
categorical
特征。通常,每个 categorical
特征都有自己的独立的 embedding matrix
:embedding layer
,categorical
的 embedding matrix
。
相关工作:最近的工作提出了类似、但实质上不同的 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
的工作相比,我们从理论上分析了我们的方法。此外,过去的工作并没有从经验上验证他们的方法所推测的工作机制。
从 popularity
倾斜的角度来看, embedding normalization
实际上隐含了对 rare embeddings
的惩罚,而不是对 popular embeddings
的惩罚。这是因为更大一部分的 training updates
仅包含 rare embeddings
的 norm penalty signal
(而很少包含 rare
出现的事件)。
如下图所示,图 (a)
表示 Criteo Kaggle
数据集中所有特征的 access
的直方图;图 (b), (c)
分别为 MovieLens
数据集的 user feature, item feature
的 access
的直方图。
这些图都是典型的长尾分布。
MD embedding layer
架构 block
组成,每个 block
对应一个 categorical field
。这些 block
定义为
block
的矩阵;categorical
特征的 embeding size
;categorical
特征的词表大小;categorical
特征共享的 base dimension
,且满足 MD embedding
,然后 一个关键问题是如何确定 embedding size
Power-law Sizing Scheme
:我们定义 block-level
概率 block
中的 embedding
的平均查询概率。当 block
与特征一一对应(我们这里的情况),那么
假设
categorical feature
都是单值(而不是多值的),那么对于词表大小为的 categorical feature
,每个取值出现的平均概率为。
更一般的情况下,block-wise
伯努利采样矩阵。那么 Popularity-Based Dimension Sizing
为:
其中:无穷范数是元素绝对值中的最大值;embedding size
都等于 embedding size
与它们的 popularity
成正比。
理论分析见原始论文。
注意:这里仅考虑
field-level
的popularity
,而没有考虑value-level
的popularity
。例如,“学历” 这个field
中,低学历的value
占比更大,需要更高的维度。论文中的这种维度分配方式,使得词表越大的
field
,其维度越小;词表越小的field
,其维度越大。例如,“性别” 只有两个取值,该field
被分配的embedding
维度最大。论文中的这种维度分配是启发式的规则,并不是从数据中学到的。
baseline
方法:统一的 DLRM
。
实验结果:
MD embedding
产生的 learning curve
与 UD embedding
相当(下图 (a)
),但是参数规模减少了 16
倍。MD embedding layer
改善了每种 parameter budget
下的 memory-performance
(下图 (b)
)。parameter budget
,对于较小的预算,较高的温度会导致更低的 loss
。embedding
获得的性能以 0.1%
的准确性优势略微优于 UD embedding
,但是参数规模约为 UD embedding
的一半。MD embedding
的训练速度比 UD embedding
快两倍(下图 (c)
)。大多数现代神经网络模型可以被认为是由两个组件组成的:
categorical
的)输入数据转换为浮点值的输入组件。representation learning
组件。自 《Neural Architecture Search with Reinforcement Learning》
发表以来,以自动化的、数据驱动的方式设计神经网络架构(AutoML
)最近吸引了很多研究兴趣。然而,该领域以前的研究主要集中在 representation learning
组件的自动化设计上,而对输入组件的关注很少。这是因为大多数研究都是在图像理解问题上进行的,其中 representation learning
组件对模型性能非常重要,而输入组件是微不足道的,因为图像像素已经是浮点形式。
对于工业界经常遇到的大规模推荐问题,情况则完全不同。虽然 representation learning
组件很重要,但输入组件在模型中起着更关键的作用。这是因为许多推荐问题涉及到具有大 cardinality
的 categorical
特征,而输入组件为这些离散特征的每一项分配 embedding
向量。这就导致了输入组件中有大量的 embedding
参数,这些参数在模型大小和模型归纳偏置 inductive bias
上都占主导地位。
例如,YouTube
视频推荐模型使用了一个规模为 1M
的 video ID vocabulary
,每个 video ID
有 256
维的 embedding
向量。这意味着仅 video ID
特征就使用了 256M
个参数,而且随着更多离散特征的加入,这个数字还会迅速增长。 相比之下, representation learning
组件只包括三个全连接层。因此,模型参数的数量主要集中在输入组件,这自然对模型性能有很高的影响。在实践中,尽管 categorical
特征的 vocabulary size
和 embedding size
很重要,但它们往往是通过尝试一些具有不同手工制作的配置的模型从而以启发式的方式选择的。由于这些模型通常体积大,训练成本高,这种方法计算量大,可能会导致次优的结果。
在论文 《Neural Input Search for Large Scale Recommendation Models》
中,作者提出了 Neural Input Search: NIS
,这是一种新颖的方法,为模型输入组件的每个离散特征自动寻找 embedding size
和 vocabulary size
。NIS
创建了一个由 Embedding Blocks
集合组成的搜索空间,其中 blocks
的每个组合代表不同的 vocabulary and embedding
配置。最佳配置是通过像 ENAS
这样的强化学习算法在单个 training run
中搜索而来。
此外,作者提出一种新的 embedding
类型,称之为 Multi-size Embedding : ME
。 ME
允许将较大尺寸(即,维度)的 embedding
向量分配给更常见的、或更 predictive
的 feature item
,而将较小尺寸的 embedding
向量分配给不常见的、或没有predictive
的 feature item
。这与通常采用的方法相反,即在词表的所有 item
中使用同样维度的 embedding
,这称之为 Single-size Embedding: SE
。作者认为,SE
是对模型容量和训练数据的低效利用。这是因为:
predictive
的 item
,我们需要一个大的 embedding
维度来编码它们与其他 item
的细微关系 nuanced relation
。item
,由于它们在训练集中的稀有性 rarity
,训练相同维度的 good embedding
可能需要太多的 epoch
。并且当训练数据有限时,对于 rare item
采用大维度的 embedding
可能会过拟合。有了 ME
,在相同的模型容量下,我们可以覆盖词表中更多的 item
,同时减少所需的训练数据规模和计算成本从而为长尾item
训练良好的 embedding
。
下图概览了基于 Embedding Blocks
的搜索空间、以及强化学习控制器如何对候选 SE
和 ME
进行采样。
图
(a)
:Single-size Embedding
,其中仅保留top 2M
个item
,embedding
维度192
。图
(b)
:Multi-size Embedding
,其中top 2M
个item
的embedding
维度为192
、剩余7M
个item
的embedding
维度为64
。注意:这要求词表中的
id
是根据频次来降序排列。这对于频次分布的波动较大的field
而言,需要经常重新编码id
和重新训练。
embedding table
包含两个超参数:emebdding size
、以及词表大小(即,保留高频的多少个item
)。这篇论文保留了所有的item
,并针对性地优化embedding size
。
作者通过在两个广泛研究的推荐问题的公共数据集上的实验,证明了 NIS
在为 SE
和 ME
寻找良好的 vocabulary size
和 embedding size
配置方面的有效性。给定 baseline
推荐模型,NIS
能够显著提高它们的性能,同时在所有实验中显著减少 embedding
参数的数量(从而减少模型的规模)。此外,作者将 NIS
应用于 Google App store
中的一个真实世界的大规模 App ranking
模型,并进行了离线实验和在线 A/B test
,结果是 +1.02%
的 App Install
,而模型大小减少了 30%
。这个新的 NIS App ranking
模型已经部署在生产中。
相关工作:几乎所有以前的 NAS
研究工作都集中在为图像/视频理解问题寻找最佳的 representation learning
组件。对于大规模的推荐问题,通过利用先进的representation learning
组件(如 CNN, RNN
等)也取得了很大的成果。然而,尽管输入组件由于 embedding
从而包含了很大一部分模型参数,但它在整个工业界中经常被启发式地设计,如 YouTube, Google Play, Netflix
等。据我们所知,我们的工作首次将自动化的神经网络设计引入输入组件从而用于大规模推荐问题。
categorical
特征 vocabulary
。embedding
变量 vocabulary size
,embedding
维度。对于任何 item
的 embedding
向量。"memory budget"
,它指的是模型的 embedding
矩阵使用的浮点数的总数。对于一个