数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 MCMC 采样
- 机器学习方法概论
统计学习
深度学习
- 深度学习简介
- 深度前馈网络
- 反向传播算法
- 正则化
- 深度学习中的最优化问题
- 卷积神经网络
- CNN:图像分类
- 循环神经网络 RNN
- Transformer
- 一、Transformer [2017]
- 二、Universal Transformer [2018]
- 三、Transformer-XL [2019]
- 四、GPT1 [2018]
- 五、GPT2 [2019]
- 六、GPT3 [2020]
- 七、OPT [2022]
- 八、BERT [2018]
- 九、XLNet [2019]
- 十、RoBERTa [2019]
- 十一、ERNIE 1.0 [2019]
- 十二、ERNIE 2.0 [2019]
- 十三、ERNIE 3.0 [2021]
- 十四、ERNIE-Huawei [2019]
- 十五、MT-DNN [2019]
- 十六、BART [2019]
- 十七、mBART [2020]
- 十八、SpanBERT [2019]
- 十九、ALBERT [2019]
- 二十、UniLM [2019]
- 二十一、MASS [2019]
- 二十二、MacBERT [2019]
- 二十三、Fine-Tuning Language Models from Human Preferences [2019]
- 二十四 Learning to summarize from human feedback [2020]
- 二十五、InstructGPT [2022]
- 二十六、T5 [2020]
- 二十七、mT5 [2020]
- 二十八、ExT5 [2021]
- 二十九、Muppet [2021]
- 三十、Self-Attention with Relative Position Representations [2018]
- 三十一、USE [2018]
- 三十二、Sentence-BERT [2019]
- 三十三、SimCSE [2021]
- 三十四、BERT-Flow [2020]
- 三十五、BERT-Whitening [2021]
- 三十六、Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings [2019]
- 三十七、CERT [2020]
- 三十八、DeCLUTR [2020]
- 三十九、CLEAR [2020]
- 四十、ConSERT [2021]
- 四十一、Sentence-T5 [2021]
- 四十二、ULMFiT [2018]
- 四十三、Scaling Laws for Neural Language Models [2020]
- 四十四、Chinchilla [2022]
- 四十七、GLM-130B [2022]
- 四十八、GPT-NeoX-20B [2022]
- 四十九、Bloom [2022]
- 五十、PaLM [2022] (粗读)
- 五十一、PaLM2 [2023](粗读)
- 五十二、Self-Instruct [2022]
- 句子向量
- 词向量
- 传统CTR 预估模型
- CTR 预估模型
- 一、DSSM [2013]
- 二、FNN [2016]
- 三、PNN [2016]
- 四、DeepCrossing [2016]
- 五、Wide 和 Deep [2016]
- 六、DCN [2017]
- 七、DeepFM [2017]
- 八、NFM [2017]
- 九、AFM [2017]
- 十、xDeepFM [2018]
- 十一、ESMM [2018]
- 十二、DIN [2017]
- 十三、DIEN [2019]
- 十四、DSIN [2019]
- 十五、DICM [2017]
- 十六、DeepMCP [2019]
- 十七、MIMN [2019]
- 十八、DMR [2020]
- 十九、MiNet [2020]
- 二十、DSTN [2019]
- 二十一、BST [2019]
- 二十二、SIM [2020]
- 二十三、ESM2 [2019]
- 二十四、MV-DNN [2015]
- 二十五、CAN [2020]
- 二十六、AutoInt [2018]
- 二十七、Fi-GNN [2019]
- 二十八、FwFM [2018]
- 二十九、FM2 [2021]
- 三十、FiBiNET [2019]
- 三十一、AutoFIS [2020]
- 三十三、AFN [2020]
- 三十四、FGCNN [2019]
- 三十五、AutoCross [2019]
- 三十六、InterHAt [2020]
- 三十七、xDeepInt [2023]
- 三十九、AutoDis [2021]
- 四十、MDE [2020]
- 四十一、NIS [2020]
- 四十二、AutoEmb [2020]
- 四十三、AutoDim [2021]
- 四十四、PEP [2021]
- 四十五、DeepLight [2021]
- 图的表达
- 一、DeepWalk [2014]
- 二、LINE [2015]
- 三、GraRep [2015]
- 四、TADW [2015]
- 五、DNGR [2016]
- 六、Node2Vec [2016]
- 七、WALKLETS [2016]
- 八、SDNE [2016]
- 九、CANE [2017]
- 十、EOE [2017]
- 十一、metapath2vec [2017]
- 十二、GraphGAN [2018]
- 十三、struc2vec [2017]
- 十四、GraphWave [2018]
- 十五、NetMF [2017]
- 十六、NetSMF [2019]
- 十七、PTE [2015]
- 十八、HNE [2015]
- 十九、AANE [2017]
- 二十、LANE [2017]
- 二十一、MVE [2017]
- 二十二、PMNE [2017]
- 二十三、ANRL [2018]
- 二十四、DANE [2018]
- 二十五、HERec [2018]
- 二十六、GATNE [2019]
- 二十七、MNE [2018]
- 二十八、MVN2VEC [2018]
- 二十九、SNE [2018]
- 三十、ProNE [2019]
- Graph Embedding 综述
- 图神经网络
- 一、GNN [2009]
- 二、Spectral Networks 和 Deep Locally Connected Networks [2013]
- 三、Fast Localized Spectral Filtering On Graph [2016]
- 四、GCN [2016]
- 五、神经图指纹 [2015]
- 六、GGS-NN [2016]
- 七、PATCHY-SAN [2016]
- 八、GraphSAGE [2017]
- 九、GAT [2017]
- 十、R-GCN [2017]
- 十一、 AGCN [2018]
- 十二、FastGCN [2018]
- 十三、PinSage [2018]
- 十四、GCMC [2017]
- 十五、JK-Net [2018]
- 十六、PPNP [2018]
- 十七、VRGCN [2017]
- 十八、ClusterGCN [2019]
- 十九、LDS-GNN [2019]
- 二十、DIAL-GNN [2019]
- 二十一、HAN [2019]
- 二十二、HetGNN [2019]
- 二十三、HGT [2020]
- 二十四、GPT-GNN [2020]
- 二十五、Geom-GCN [2020]
- 二十六、Graph Network [2018]
- 二十七、GIN [2019]
- 二十八、MPNN [2017]
- 二十九、UniMP [2020]
- 三十、Correct and Smooth [2020]
- 三十一、LGCN [2018]
- 三十二、DGCNN [2018]
- 三十三、AS-GCN
- 三十四、DGI [2018]
- 三十五、DIFFPOLL [2018]
- 三十六、DCNN [2016]
- 三十七、IN [2016]
- 图神经网络 2
- 图神经网络 3
- 推荐算法(传统方法)
- 一、Tapestry [1992]
- 二、GroupLens [1994]
- 三、ItemBased CF [2001]
- 四、Amazon I-2-I CF [2003]
- 五、Slope One Rating-Based CF [2005]
- 六、Bipartite Network Projection [2007]
- 七、Implicit Feedback CF [2008]
- 八、PMF [2008]
- 九、SVD++ [2008]
- 十、MMMF 扩展 [2008]
- 十一、OCCF [2008]
- 十二、BPR [2009]
- 十三、MF for RS [2009]
- 十四、 Netflix BellKor Solution [2009]
- 推荐算法(神经网络方法 1)
- 一、MIND [2019](用于召回)
- 二、DNN For YouTube [2016]
- 三、Recommending What Video to Watch Next [2019]
- 四、ESAM [2020]
- 五、Facebook Embedding Based Retrieval [2020](用于检索)
- 六、Airbnb Search Ranking [2018]
- 七、MOBIUS [2019](用于召回)
- 八、TDM [2018](用于检索)
- 九、DR [2020](用于检索)
- 十、JTM [2019](用于检索)
- 十一、Pinterest Recommender System [2017]
- 十二、DLRM [2019]
- 十三、Applying Deep Learning To Airbnb Search [2018]
- 十四、Improving Deep Learning For Airbnb Search [2020]
- 十五、HOP-Rec [2018]
- 十六、NCF [2017]
- 十七、NGCF [2019]
- 十八、LightGCN [2020]
- 十九、Sampling-Bias-Corrected Neural Modeling [2019](检索)
- 二十、EGES [2018](Matching 阶段)
- 二十一、SDM [2019](Matching 阶段)
- 二十二、COLD [2020 ] (Pre-Ranking 模型)
- 二十三、ComiRec [2020](https://www.wenjiangs.com/doc/0b4e1736-ac78)
- 二十四、EdgeRec [2020]
- 二十五、DPSR [2020](检索)
- 二十六、PDN [2021](mathcing)
- 二十七、时空周期兴趣学习网络ST-PIL [2021]
- 推荐算法之序列推荐
- 一、FPMC [2010]
- 二、GRU4Rec [2015]
- 三、HRM [2015]
- 四、DREAM [2016]
- 五、Improved GRU4Rec [2016]
- 六、NARM [2017]
- 七、HRNN [2017]
- 八、RRN [2017]
- 九、Caser [2018]
- 十、p-RNN [2016]
- 十一、GRU4Rec Top-k Gains [2018]
- 十二、SASRec [2018]
- 十三、RUM [2018]
- 十四、SHAN [2018]
- 十五、Phased LSTM [2016]
- 十六、Time-LSTM [2017]
- 十七、STAMP [2018]
- 十八、Latent Cross [2018]
- 十九、CSRM [2019]
- 二十、SR-GNN [2019]
- 二十一、GC-SAN [2019]
- 二十二、BERT4Rec [2019]
- 二十三、MCPRN [2019]
- 二十四、RepeatNet [2019]
- 二十五、LINet(2019)
- 二十六、NextItNet [2019]
- 二十七、GCE-GNN [2020]
- 二十八、LESSR [2020]
- 二十九、HyperRec [2020]
- 三十、DHCN [2021]
- 三十一、TiSASRec [2020]
- 推荐算法(综述)
- 多任务学习
- 系统架构
- 实践方法论
- 深度强化学习 1
- 自动代码生成
工具
- CRF
- lightgbm
- xgboost
- scikit-learn
- spark
- numpy
- matplotlib
- pandas
- huggingface_transformer
- 一、Tokenizer
- 二、Datasets
- 三、Model
- 四、Trainer
- 五、Evaluator
- 六、Pipeline
- 七、Accelerate
- 八、Autoclass
- 九、应用
- 十、Gradio
Scala
- 环境搭建
- 基础知识
- 函数
- 类
- 样例类和模式匹配
- 测试和注解
- 集合 collection(一)
- 集合collection(二)
- 集成 Java
- 并发
三十九、AutoDis [2021]
如下图所示,大多数现有的深度
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
利用多头自注意力网络。
39.1 模型
39.1.1 基础概念
假设用于训练
CTR
模型的数据集由 $ Q $ 个实例 $ (\mathbf{\vec x}, y) $ 组成,其中 $ y $ 是标签, $ \mathbf{\vec x} $ 是包括 $ M $ 个categorical fields
和 $ N $ 个numerical fields
的multi-field
数据记录:其中:
$ x_{j} $ 是第 $ j $ 个numerical field
的标量值; $ \mathbf{\vec x}_{N+i} $ 是第 $ i $ 个categorical field
的特征取值的one-hot vector
。对于第
$ i $ 个categorical field
,可以通过embedding look-up
操作获得feature embedding
:其中:
$ \mathbf E_{N+i}\in \mathbb R^{v_{N+i}\times d} $ 为第 $ i $ 个categorical field
的embedding matrix
, $ d $ 为embedding size
, $ v_{N+i} $ 为第 $ i $ 个categorical field
的词表规模。因此,
categorical field
的representation
为: $ \left[\mathbf{\vec e}_{N+1},\mathbf{\vec e}_{N+2},\cdots,\mathbf{\vec e}_{N+M} \right]\in \mathbb R^{M\times d} $ 。对于
numerical field
,现有的representation
方法可以总结为三类:No Embedding
、Field Embedding
、Discretization
。No Embedding
:这种方式直接使用原始值或原始值的变换,而不学习embedding
。例如,Google Play
的Wide & Deep
和JD.com
的DMT
分别使用原始数值特征和归一化的数值特征。此外,YouTube DNN
利用了归一化特征取值 $ \tilde x_{j} $ 的几种变换(即平方、平方根):在
Facebook
的DLRM
中,他们使用了一个多层感知机来建模所有的数值特征:其中
DNN
的结构为512-256-d
, $ \mathbf{\vec e}_\text{DLRM}\in \mathbb R^d $ 。直观而言,这些
No Embedding
方法由于容量太小,很难捕获到numerical field
的informative
知识。Field Embedding
:学术界常用的方法是Field Embedding
,即同一个field
内的的所有数值特征共享一个uniform field embedding
,然后将这个field embedding
与它们的特征取值相乘:其中:
$ \mathbf{\vec e}_{j} \in \mathbb R^d $ 为第 $ j $ 个numerical field
的uniform embedding vector
。然而,由于单个共享的
field-specific embedding
、以及field
内不同特征之间的线性缩放关系,Field Embedding
的representation
容量是有限的。例如,收入
$ x=1 $ 和收入 $ x=10000 $ ,根据Field Embedding
的做法:即,收入分别为
1
和10000
的两个用户,其相似度大于收入分别为1
和1
的两个用户。这在实际场景中是不恰当的。Discretization
:在工业推荐系统中,处理数值特征的一个流行方法是Discretization
,即把数值特征转化为categorical feature
。对于第 $ j $ 个numerical field
的特征 $ x_{j} $ ,可以通过两阶段操作得到feature embedding
$ \mathbf{\vec e}_{j} $ :离散化discretization
和embedding look-up
:其中:
$ \mathbf E_{j}\in \mathbb R^{H_{j}\times d} $ 为第 $ j $ 个numerical field
的embedding matrix
; $ H_{j} $ 为离散化之后的桶数量; $ d_{j}(\cdot) $ 为针对第 $ j $ 个numerical field
人工设计的离散化函数,它将该特征内的每个特征取值映射到 $ H_{j} $ 个桶中。具体来说,有三种广泛使用的离散化函数:
Equal Distance/Frequency Discretization: EDD/EFD
:EDD
将特征取值划分到 $ H_{j} $ 个等宽的桶中。假设第 $ j $ 个numerical field
的特征取值范围为 $ \left[x^\min_{j}, x_{j}^\max\right] $ ,区间宽度interval width
定义为 $ w_{j} = \left(x_{j}^\max - x_{j}^\min\right)/H_{j} $ 。因此,通过EDD
离散化函数 $ d_{j}^\text{EDD}(\cdot) $ 得到离散化结果 $ \hat x_{j} $ :类似地,
EFD
将范围 $ \left[x^\min_{j}, x_{j}^\max\right] $ 划分为若干个桶,使得每个桶包含相同数量的样本。Logarithm Discretization: LD
:Kaggle
比赛中Criteo advertiser prediction
的冠军利用对数和floor
操作将数值特征转化为categorical
形式。离散化后的结果 $ \hat x_{j} $ 通过LD
离散化函数 $ d_{j}^\text{LD}(\cdot) $ 得到: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
框架。
39.1.2 AutoDis
AutoDis
框架如Figure 3
所示,它可以作为针对数值特征的可插拔的embedding framework
,与现有的深度CTR
模型兼容。AutoDis
包含三个核心模块:meta-embedding
、automatic discretization
、aggregation
。代码实现比较简单直观: 数值特征
$ x $ (标量) -> 单层DNN
网络(隐层维度为 $ H $ ,softmax
激活函数) -> 单层DNN
网络(隐层维度为 $ d $ ,无激活函数)。对于第
$ j $ 个numerical field
,AutoDis
可以通过如下方式为每个数值特征 $ x_{j} $ 学习一个unique representation
(如Figure 4
所示):其中:
$ \mathbf {ME}_{j} $ 是第 $ j $ 个numerical field
的meta-embedding matrix
。 $ d_{j}^\text{Auto}(\cdot) $ 是第 $ j $ 个numerical field
的automatic discretization
函数。 $ f(\cdot) $ 为聚合函数。所有
numerical field
都使用相同的聚合函数。
最后,
categorical
特征和数值特征的embedding
被拼接起来,并馈入一个深度CTR
模型进行预测:Meta-Embeddings
: 为了平衡模型的容量和复杂性,对于第 $ j $ 个numerical field
,我们设计了一组meta-embeddings
$ \mathbf {ME}_{j}\in \mathbb R^{H_{j}\times d} $ ,其中 $ \mathbf {ME}_{j} $ 由该field
内的特征所共享, $ H_{j} $ 为meta-embedding
的数量。 每个meta-embedding
可以被看作是潜在空间中的一个子空间,用于提高表达能力和容量。通过结合这些meta-embedding
,学习到的embedding
比Field Embedding
方法更informative
,因此可以很好地保留高的模型容量。此外,所需参数的数量由 $ H_{j} $ 所决定,因此模型的复杂性是高度可控的,使我们的方法scalable
。对于不同的
field
$ j $ , $ H_j $ 的数量可以不同。对于均匀分布的field
, $ H_j $ 可以取较大的值;对于取值聚焦于几个点的field
, $ H_j $ 可以取较小的值。Automatic Discretization
:为了捕获数值特征的值和所设计的meta-embeddings
之间的复杂关联,我们提出了一个可微的automatic discretization
模块 $ d_{j}^\text{Auto}(\cdot) $ 。由于有 $ d_{j}^\text{Auto}(\cdot) $ ,第 $ j $ 个numerical field
的每个数值特征被离散化到 $ H_{j} $ 个桶,每个bucket embedding
对应于上面提到的meta-embedding
。具体而言,利用一个带有
skip-connection
的两层神经网络,将numerical field
特征取值 $ x_{j} $ 离散化到 $ H_{j} $ 个桶中:其中:
$ \mathbf{\vec w}_j\in \mathbb R^{H_j}, \mathbf W_j\in \mathbb R^{H_j\times H_j} $ 为automatic discretization network
在第 $ j $ 个numerical feature field
上的可学习参数。Leaky-ReLU
为激活函数, $ \alpha $ 为skip-connection
的控制因子control factor
。
投影结果为:
$ \tilde{\mathbf{\vec x}}_j = \left[\tilde x_{j,1},\tilde x_{j,2},\cdots,\tilde x_{j,H_j}\right] $ ,其中 $ \tilde x_{j,h} $ 为numerical field
特征取值 $ x_j $ 在第 $ h $ 个桶的投影输出。最后,通过Softmax
函数将numerical field
特征取值 $ x_j $ 与每个meta-embedding
$ \mathbf {ME}_j $ 之间的相关性进行归一化:其中:
$ \tau $ 为温度系数,用于控制discretization
分布。因此,通过automatic discretization
函数 $ d_{j}^\text{Auto}(\cdot) $ ,得到离散化的结果 $ \hat{\mathbf{\vec x}}_j\in \mathbb R^{H_j} $ : $ \hat{\mathbf{\vec x}}_j $ 是一个向量,其中每个元素 $ \hat x_{j,h} $ 表示numerical field
特征取值 $ x_j $ 被离散化到第 $ h $ 个桶中的概率,它表示numerical field
特征取值 $ x_j $ 与第 $ h $ 个meta-embedding
(即bucket embedding
)之间的相关性。这种离散化方法可以理解为soft discretization
。与前面提到的hard discretization
相比,soft discretization
没有将特征取值离散化到一个确定的桶中,这样就可以很好地解决SBD
和DBS
问题。此外,可微的soft discretization
使我们的AutoDis
能够实现端到端的训练,并以最终目标进行优化。值得注意的是:当温度系数
$ \tau\rightarrow \infty $ 时,discretization
分布趋于均匀分布;当 $ \tau\rightarrow 0 $ 时,discretization
分布趋于one-hot
分布。因此,温度系数 $ \tau $ 在automatic discretization distribution
中起着重要作用。此外,不同field
的特征分布是不同的,因此对不同的features
学习不同的 $ \tau $ 具有很大的必要性。具体而言,我们提出了一个温度系数自适应网络temperature coefficient adaptive network
(双层网络),它同时考虑了global field statistics feature
和local input feature
,公式如下:其中:
$ \bar{\mathbf{\vec n}}_j $ 为第 $ j $ 个numerical field
特征的全局统计特征向量,包括:采样的累积分布函数Cumulative Distribution Function: CDF
、均值。 $ x_j $ 为local input feature
。 $ (\cdot ||\cdot) $ 为拼接操作。 $ \mathbf W_j^{(1)}, \mathbf W^{(2)}_j $ 为待学习的权重参数。
为了指导模型训练,
$ \tau_{x_j} $ 的输出范围从 $ (0,1) $rescale
为 $ (\tau-\epsilon, \tau+\epsilon) $ ,其中 $ \tau $ 是一个全局的超参数。 $ \epsilon $ 是什么?作者没有说。读者认为这里是一个超参数。这个温度系数自适应网络的设计不太简洁,工程实现也更复杂。根据实验部分的结论,这里完全可以微调
global
温度来实现。Aggregation Function
:在得到feature value
和meta-embeddings
之间的相关性后,可以通过对meta-embeddings
进行聚合操作 $ f(\cdot) $ ,将相关性作为选择概率来生成embedding
。我们考虑了以下聚合函数 $ f(\cdot) $ :Max-Pooling
:选择最相关的meta-embedding
(具有最高概率 $ \hat x_{j,h} $ ):其中:
$ k $ 是具有最高概率 $ \hat x_{j,h} $ 的最相关meta-embedding
的索引, $ \mathbf {ME}_{j,k} $ 是 $ \mathbf {ME}_j $ 中的第 $ k $ 个meta-embedding
。然而,这种
hard selection
策略使AutoDis
退化为一种hard discretization
方法,从而导致上述的SBD
问题和DBS
问题。Top-K-Sum
:将具有最高相关性 $ \hat x_{j,h} $ 的top-K
个meta-embedding
相加:其中
$ k_l $ 是第 $ l $ ( $ 1\le l\le K $ )大的 $ \hat x_{j,h} $ 的meta-embedding
的索引, $ \mathbf {ME}_{j,k} $ 是 $ \mathbf {ME}_j $ 中的第 $ k $ 个meta-embedding
。然而,
Top-K-Sum方法
有两个局限性:- 尽管与
Max-Pooling
相比,可能生成的embedding
数量从 $ H_j $ 增加到 $ C_{H_j}^K $ ,但它不能从根本上解决DBS
问题。 - 学习到的
embedding
$ \mathbf{\vec e}_j $ 未考虑相关性的取值。
- 尽管与
Weighted- Average
:充分地利用整个meta-embeddings
集合、以及meta-embedding
与特征取值的相关性:通过这种加权聚合策略,相关的元嵌入对提供一个信息丰富的嵌入有更大的贡献,而不相关的元嵌入则在很大程度上被忽略了。此外,这种策略保证了每个特征都能学到
unique representation
,同时,学到的embedding
是Continuous-But-Different
,即,特征取值越接近则embedding
就越相似。
训练:
AutoDis
是以端到端的方式与具体的深度CTR
模型的最终目标共同训练的。损失函数是广泛使用的带有正则化项的LogLoss
:其中:
$ y_i $ 和 $ \hat y_i $ 为第 $ i $ 个样本的ground truth label
和预测结果; $ Q $ 为总的训练样本数; $ \lambda $ 为L2
正则化系数; $ \Theta=\{\Theta_\text{Cat-Emb},\Theta_\text{AutoDis},\Theta_\text{CTR}\} $ 为categorical field
的feature embedding
参数、meta-embedding
和automatic discretization
参数、以及深度CTR
模型的参数。为了稳定训练过程,我们在数据预处理阶段采用了特征归一化技术,将数值特征取值缩放到
[0, 1]
。第 $ j $ 个numerical field
的取值 $ x_j $ 被归一化为:
39.2 实验
数据集:
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
$ \tau_{x_j} $ 的有效性,我们将 $ \tau_{x_j} $ 与不同全局温度 $ \tau $ 进行比较。如下图所示:- 在
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
。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论