数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 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
- 并发
三十六、InterHAt [2020]
现有
CTR
预测模型的架构复杂度和计算复杂度一直在增加,以便学到多个特征的联合效应,即高阶特征(也叫做交叉特征),并获得更好的预测准确性。具体而言, $ k $ 阶特征指的是一个变量,该变量是原始特征集的一个 $ k $ 阶多项式。深度神经网络由于层数和单元数很多,具有很强的捕获丰富高阶信息的能力。然而,不断增长的模型复杂度有两个缺点:可解释性差、效率低。
就可解释性而言,预测过程很难得到合理的解释,因为神经网络层的权重和激活
activation
通常被认为是不可解释的。例如,Wide&Deep
的Wide
组件将叉积变换cross-product transformation
应用于feature embedding
,但未能量化和证明其对实际点击率预测性能的有效性。模型预测缺乏令人信服的理由,这给模型的可靠性和安全性蒙上了阴影。就效率而言,现有方法的效率低,因为深度神经网络的高阶交互特征的生成涉及
DNN
中极其繁重的矩阵计算。例如,xDeepFM
中的compressed interaction network: CIN
通过一个外积层和一个全连接层来计算第 $ (k+1) $ 阶特征矩阵,这需要embedding
维度的立方复杂度。Wide&deep
中的Deep
组件具有多个全连接层,其中每个全连接层都涉及矩阵乘法。在实际应用中,效率问题是普遍而关键的。利用现有方法,学习大量现有特征、或新兴特征的
representation
在计算上可能是难以处理的。
除了可解释性和效率问题,论文
《Interpretable Click-Through Rate Prediction through Hierarchical Attention》
还指出了另一个障碍:模型会影响重要的交叉特征的评估。不同的交叉特征可能对CTR
具有冲突的影响,必须全面分析。例如,电影推荐记录movie.genre = horror, user.age = young, time = 8am
具有冲突的因素:前两者的组合鼓励点击,而后两者的组合抑制点击(因为电影观看通常发生在晚上)。这种冲突问题是由特征交互在不同语义子空间中的多义性引起的。在这个例子中,当user.age=young
与两个不同的属性movie.genre
和time
组合时,user.age
的多义性交互对CTR
产生相反的影响。然而,这个问题在很大程度上被现有的方法所忽略。为了解决上述问题,在论文
《Interpretable Click-Through Rate Prediction through Hierarchical Attention》
中,该论文提出了一个Interpretable CTR prediction model with Hierarchical Attention: InterHAt
模型。InterHAt
模型以端到端的方式有效地学习不同阶次的显著特征作为解释性的洞察,并同时准确地预测CTR
。具体而言,
InterHAt
通过一种新颖的hierarchical attention
机制显式地量化任意阶次的特征交互的影响,聚合重要的特征交互以提高效率,并根据学到的特征显著性来解释推荐决策。与《Hierarchical attention networks for document classification》
的研究语言的hierarchy
(单词和句子)的hierarchical attention network
不同,InterHAt
对特征阶次采用hierarchical attention
,高阶特征是在低阶特征的基础上生成的。为了适应特征交互在不同语义子空间中的多义性,
InterHAt
利用具有multi-head self-attention
的Transformer
来全面研究不同的潜在特征交互。作者利用Transformer
来检测特征交互的复杂多义性,并学习一个多义性增强的feature list
,该列表用作hierarchical attention layer
的输入。论文贡献如下:
- 论文提出使用
InterHAt
进行CTR
预测。具体而言,InterHAt
采用hierarchical attention
来精确定位对点击有很大贡献的重要的单个特征、或不同阶次的交互特征。然后,InterHAt
可以基于各阶特征交互为CTR
预测组成attention-based
解释。 InterHAt
利用具有multi-head self-attention
的Transformer
,从而在不同潜在语义子空间中彻底分析特征之间可能的交互关系。据作者所知,InterHAt
是第一个方法使用具有multi-head self-attention
的Transformer
来学习潜在特征的多义性,从而以进行CTR
预测。InterHAt
预测CTR
时无需使用需要大量计算成本的深层MLP
。相反,它聚合了特征,因此节省了枚举指数级数量的特征交互的指开销。因此,它在处理高阶特征方面比现有算法更有效。- 在三个主要的
CTR
基准数据集(Criteo, Avazu, Frappe
)、一个流行的推荐系统数据集(MovieLens-1M
)和一个合成数据集上,论文进行了大量的实验来评估InterHAt
的可解释性、效率和有效性。结果表明,InterHAt
解释了决策过程,在训练时间上实现了巨大的改善,并且仍然具有与SOTA
的模型相当的性能。
相关工作:
CTR
预测模型:FM
为每个不同特征分配一个 $ d $ 维可训练的embedding
向量 ,并通过一阶特征和二阶特征的线性组合来进行预测。虽然FM
可以推广到高阶情况,但高阶FM
的计算复杂度为指数级,并且浅层架构的模型容量较低。Field-aware Factorization Machine: FFM
假设特征在不同的field
下可能具有不同的语义,并通过field-specific feature representation
来扩展FM
的思想。虽然它获得了比FM
更好的效果,但是也增加了参数规模和计算量,并且更容易发生过拟合。Attentional Factorization Machine: AFM
通过attention net
扩展了FM
,不仅提高了性能,还提高了可解释性。然而,由于FM
固有的结构限制,AFM
只能学习二阶特征交互。Wide&Deep
由wide
组件和deep
组件构成,它们本质上分别是广义线性模型和MLP
。注意,deep
组件,即MLP
,破坏了可解释性,因为layer-wise transformation
是在unit level
而不是feature level
进行的,并且单个unit level
取值不能携带特征的具体的、完整的语义信息。Deep&Cross Network: DCN
与Wide&Deep
略有不同,因为DCN
用叉积变换取代了线性模型,从而将高阶信息与非线性深度特征相结合。DeepFM
通过用FM
作为wide
组件来改进这两个模型,其中deep MLP
组件捕获高阶特征交互,wide FM
捕获二阶特征交互。xDeepFM
声称MLP
实际上是建模隐式特征交互,因此作者引入compressed interaction network: CIN
来建模显式特征交互。- 工业实践的最新成果包括
DIN
和DIEN
,它们分别建模用户的静态购物兴趣和动态购物兴趣。这两种方法都严重依赖于深度前馈网络,而这种网络通常是不可解释的。
所有上述
CTR
预测模型都严重依赖于深度神经网络,并实现不断提高的性能。然而,正如一把双刃剑,深度学习算法在可靠性和安全性方面存在潜在风险。隐层的权重和激活activation
很难解释,输入和输出之间的因果关系是掩藏的、不确定的。它们都没有提供任何feature-level
的线索来解释为什么这种深度feature learning
策略会增强或减弱CTR
性能。相反,
InterHAt
在feature-level
上使用attention-based
的解释来解决CTR
预测。也就是说,InterHAt
没有不合理的深度MLP
模块,并且InterHAt
仅工作在feature level
上,这也提高了InterHAt
的效率。attention
机制:attention
机制最初是为neural machine translation: NMT
提出的,它为源语言和目标语言之间密切相关的单词分配更大的权重,以便在翻译中关注重要的单词。NLP
中另一种形式的attention
是自注意力,如Transformer
架构。我们采用注意力机制来解释InterHAt
模型的CTR
预测。
36.1 模型
InterHAt
模型的整体架构如下图所示。Transformer with Multi-head Self-attention
可以视为是单个交互层的AutoInt
模型。实验部分表明,该组件很重要,移除该组件会导致模型性能较大的下降。但是,实验部分并没有比较InterHAT
和AutoInt
的比较,因为二者都宣称是可解释的,并且InterHAT
将AutoInt
作为组件。Attentional Aggregation Layer
通过自注意力机制来获得不同阶次的、聚合所有field
信息的representation
向量,并将其用于预测和可解释。Embedding Layer
:输入特征包含一组field
$ \mathcal F $ ,每个field
$ f\in \mathcal F $ 要么是categorical
的、要么是numerical
的。- 对于
categorical field
,每个categorical value
$ v $ 被分配一个可训练的 $ d $ 维embedding
$ \mathbf{\vec e}_v^{(f)}\in \mathbb R^d $ 。令categorical field
$ f\in \mathcal F $ 的取值为 $ v $ ,则该field
的的representation
$ \mathbf{\vec x}^{(f)} $ 就是 $ v $ 的emebdding
,即 $ \mathbf{\vec x}^{(f)} = \mathbf{\vec e}_v^{(f)} $ 。 - 对于
numerical field
,我们为每个field
分配一个可训练的 $ d $ 维embedding
。令 $ v_f $ 为数值field
$ f\in \mathcal F $ 的归一化值, $ \mathbf{\vec e}^{(f)}\in \mathbb R^d $ 为该field
分配的embedding
,那么该field
的representation
为 $ \mathbf{\vec x}^{(f)}=v_f\times \mathbf{\vec e}^{(f)} $ 。
考虑所有的
field
,定义初始的input representation matrix
为:其中:
$ m=|\mathcal F| $ 为field
数量。- 对于
Multi-head Transformer
:在CTR
预测任务重,我们将特征朝着不同极性(消极或积极)的协同效应(即,特征交互)定义为多义性polysemy
。因此,我们为InterHAt
采用了一个Multi-head Transformer
从而捕获丰富的pair-wise
特征交互,并且学习不同语义子空间中特征交互的多义性。给定输入矩阵
$ \mathbf X_0 $ ,Transformer head
$ i $ 的representation
$ \mathbf H_i $ 被定义为:其中:
$ \mathbf W_i^{(Q)}, \mathbf W_i^{(K)}, \mathbf W_i^{(V)}\in \mathbb R^{d\times d_K} $ 为投影矩阵, $ d_k $ 为第 $ i $ 个head
的维度。hidden feature
$ \mathbf H_i $ 的组合构成了augmented representation matrix
$ \mathbf X_1 $ ,该矩阵保留了每个特征的固有信息和多义信息。我们拼接 $ \{\mathbf H_i\} $ ,然后馈入到一个带ReLU
的前馈层从而学习非线性:其中:
$ \mathbf W_m\in \mathbb R^{(hd_k)\times d} $ , $ h $ 为head
数量,“ $ ; $ ” 表示矩阵拼接(沿着embedding
维度)。Hierarchical Attention
:augmented representation matrix
$ \mathbf X_1 $ 作为hierarchical attention layer
的输入。hierarchical attention layer
学习特征交互并同时产生解释。然而,由于组合爆炸,通过枚举所有可能的组合来计算高阶multi-feature interaction
是昂贵的。因此,我们在计算更高阶次的特征交互之前,首先聚合当前阶次的特征交互。即,为了生成第 $ (i+1) $ 阶的交叉特征 $ \mathbf X_{i+1} $ ,我们首先将第 $ i $ 阶的交叉特征 $ \mathbf X_i=\left(\mathbf{\vec x}_i^{(1)},\mathbf{\vec x}_i^{(2)},\cdots,\mathbf{\vec x}_i^{(m)}\right) $ 聚合到向量 $ \mathbf{\vec u}_i $ :其中:
$ \alpha_i^{(j)} \in \mathbb R $ 为第 $ j $ 个field
在第 $ i $ 个attentional aggregation layer
的注意力权重; $ \mathbf W_i\in \mathbb R^{s\times d} $ 为layer weight
; $ \mathbf{\vec c}_i\in \mathbb R^s $ 为上下文向量; $ s $ 为注意力空间大小。这里也可以采用其它注意力机制,如gated attention mechanism
。这里采用的是自注意力机制。
然后我们根据
$ \mathbf{\vec u}_i $ (代表了 $ \mathbf X_i $ )和 $ \mathbf X_1 $ 来计算 $ \mathbf X_{i+1} $ :其中:
$ \circ $ 表示Hadamard product
。根据
$ \mathbf{\vec x}_{i+1}^{(j)} = \mathbf{\vec u}_i\circ \mathbf{\vec x}_{1}^{(j)} + \mathbf{\vec x}_{i}^{(j)} = \sum_{j^\prime=1}^m \alpha_i^{(j^\prime)}\times \left(\mathbf{\vec x}_{i}^{(j^\prime)}\circ\mathbf{\vec x}_{1}^{(j)}\right) + \mathbf{\vec x}_{i}^{(j)} $ ,则第 $ i+1 $ 层的第 $ j $ 个特征 $ \mathbf{\vec x}_{i+1}^{(j)} $ 是由两部分组成:- 第
$ i $ 层的第 $ j $ 个特征 $ \mathbf{\vec x}_{i}^{(j)} $ ,这是残差连接。 - 第
1
层的第 $ j $ 个特征 $ \mathbf{\vec x}_{1}^{(j)} $ 与所有第 $ i $ 层特征的交叉的加权和,权重为第 $ i $ 层的self-attention
的权重。
那么,是否可以用
$ \mathbf{\vec x}_1^{(j)} $ 作为query
向量从而用传统的注意力机制来计算 $ \alpha_i^{(j^\prime)} $ ?最后,模型预测时利用的是
$ \mathbf{\vec u}_i $ 而不是 $ \mathbf{\vec x}_{i}^{(j)} $ 。通过一系列的
attentional aggregation layer
,我们得到了从第1 ~ k
阶的交叉特征。这些层组成了一个hierarchy
,表示从低阶到高阶所抽取的特征。最后,我们联合所有的
attentional aggregation
$ \mathbf U = \left(\mathbf{\vec u}_1,\mathbf{\vec u}_2,\cdots,\mathbf{\vec u}_k\right) $ 来预测点击率。 $ \mathbf U $ 收集了 $ k $ 阶的所有的组合特征的语义。- 第
目标函数和优化:最终的预测函数为
$ \hat y = g(\mathbf U) $ :其中:
$ \alpha_f^{(j)}\in \mathbb R $ 为 $ \mathbf{\vec u}_j $ 的聚合权重; $ \mathbf{\vec c}_f, \mathbf W_f $ 为待学习的参数。目标函数为交叉熵:
其中:
$ \mathcal D $ 为训练集, $ \Theta $ 为所有的训练参数, $ \lambda $ 为L2
正则化系数。我们采用
Adam
优化器来优化目标函数。可解释性:我们使用注意力分布
$ \left(\vec \alpha_1,\vec \alpha_2,\cdots,\vec \alpha_k,\vec \alpha_f\right) $ 作为理解CTR
预测结果的重要因素,其中: $ \vec\alpha_f = \left(\alpha_f^{(1)},\alpha_f^{(2)} ,\cdots,\alpha_f^{(k)} \right) $ 为final attentional aggregation layer
的注意力分布,其中的top
权重确定了那些阶次的交叉特征 $ \mathbf X_i $ 对于预测结果最重要。 $ \vec\alpha_i = \left(\alpha_i^{(1)},\alpha_i^{(2)} ,\cdots,\alpha_i^{(m)} \right), 1\le i\le k $ 为第 $ i $ 个attentional aggregation layer
的注意力分布,其中的top
权重决定了哪些单个feature field
$ \mathbf{\vec x}_i^{(j)} $ 对于交叉特征 $ \mathbf X_i $ 最重要。
注意,注意力机制仅突出了特征的显著性,因此不期望它生成完全人类可读的解释。
最后,根据上述步骤,我们可以识别不同阶次的所有特征。对点击行为的解释是通过逐层地、逐阶次地识别显著特征来解释的。
36.2 实验
数据集:
Criteo, Avazu, Frappe
。下表展示了数据集的统计信息,其中训练集/验证集/测试集的大小之比为8:1:1
。baseline
方法:FM
:通过一阶特征和二阶特征(feature embedding
向量的内积)的线性组合来进行预测CTR
。Wide&Deep
:广义线性模型和deep MLP
的ensemble
。DCN
:用于计算高阶特征的cross-product transformation
、以及deep MLP
的ensemble
。PNN
:基于乘积的方法,它的架构由简单的内积、外积、以及非线性激活函数所组成。DeepFM
:FM
和deep MLP
的组合。xDeepFM
:显式建模特征交互的compress information network: CIN
、以及deep MLP
的组合。
评估指标:
Logloss, AUC
。实现:
InterHAt
是通过Python 3.7 + TensorFlow 1.12.0
实现的,在单个16GB Nvidia Tesla V100 GPU
上运行。默认的超参数如下:
36.2.1 实验结果
效率测试:下图展示了在
Criteo
和Avazu
上不同模型之间的运行时间比较。Frappe
不用于效率测试,因为它的数据集规模相对较小。FM
不参与比较,因为只有CPU-based
实现可用,而其它模型都是GPU-based
的。y
轴显示了在五个训练epoch
内,每个epoch
的平均运行时间。可以看到:InterHAt
在每个epoch
上的训练时间最短,表现出了出色的效率。InterHAt
的两个性质实现了巨大的加速:- 跨所有特征的
attentional aggregation
操作通过避免在 $ k $ 阶中枚举所有可能的特征组合,将问题规模从指数级降低到线性级。 - 与
baseline
模型中使用的deep MLP
相比,IntarHAt
中仅涉及shallow MLP
。深度神经网络由于庞大的参数规模而大大降低了计算速度。
- 跨所有特征的
效果测试:不同模型的效果比较如下表所示。可以看到:
InterHAt
在Frappe
和Avazu
数据集的所有两个指标上都优于所有模型,并在Criteo
数据集上获得了可比的性能。然而,InterHAt
的结构更简单。InterHAt-S
指的是InterHAt
的变体,它移除了multi-head self-attention
模块。InterHAt-S
性能的下降证明了Multi-head Transformer
的贡献。
InterHAt
在Criteo
数据集上稍差的原因是:相比比
Avazu
和Frappe
数据集,Criteo
的特征在语义上更复杂。best baseline
模型使用不可解释的深度全连接层来捕获复杂的隐式信息并提高性能。然而,InterHAt
没有使用损害可解释性的深度全连接层。此外,当前的
field-aware embedding
策略(numerical field
仅有单个embedding
)破坏了numerical-numerical
和categorical-numerical
特征交互的能力。我们把对适当的feature representation
方案的探索留给未来的工作。可以考虑和
AutoDis
结合,从而自动离散化numerical feature
。
Transformer head
数量的敏感性:下图给出了不同head
数量的InterHAt
的效果。我们将head
数量从1
增加到12
,保持其他setting
不变,并训练模型直到收敛。可以看到:- 对于
Criteo
和Avazu
数据集,最佳head
数量分别为8
和4
。 - 对于
Frappe
数据集,最佳head
数量为1
。
这与我们的观察一致,即
Frappe field
的语义彼此隔离,没有任何潜在的交互(即,每个field
只有一个语义空间)。研究结果证明了复杂数据集的样本中存在特征多义性,并证明了
multi-head Transformer
的有用性。随着
head
数量的增加,模型性能会因过度参数化而下降。- 对于
36.2.2 可解释性
在得到
CTR
预测的同时,我们也得到了解释,这是InterHAt
的主要贡献之一。这里我们通过可视化学到的、显著的低阶特征或高阶特征来演示可解释性。然而,Criteo
和Avazu
数据集中,field
内容因为隐私保护问题而被加密,这使得无法证明由InterHAt
构造的解释是否合理。为此,我们使用一个真实数据集、以及一个人工合成的数据。真实数据集:
MovieLens-1M
数据集,具有明文属性。每个样本都有用户画像、电影属性、以及1~5
的评级。用户画像包括年龄、性别、职业,电影属性包括发型年份、电影风格(18
种风格)。我们将评分动作视为点击,即label = 1
的正样本,然后通过随机采样(movie, user) pair
来创建与正样本数量相同的负样本。正样本和负样本没有重叠。我们绘制了从一阶到三阶注意力权重的热力图,即
$ \{\vec\alpha_1,\vec\alpha_2,\vec\alpha_3\} $ 。我们选择 $ k=3 $ ,因为我们发现更高阶的特征中绝大多数是不重要的。由于篇幅有限,我们没有 $ \vec\alpha_f $ 的结果。我们选择用于可视化的 $ i $ 阶的样本,在它们各自的 $ \vec\alpha_f $ 中具有最大的 $ \alpha_f^{(i)} $ 。Figure 5/6/7
中,深色的cell
表示InterHAt
学到的更大的特征重要性。横轴为电影流派,被简写为三个字母。在Raw genre
行,黑色的cell
表示输入数据中包含对应的电影派别属性。Figure 5
显示了对电影《终结者》(1984
) 的可解释结果,该样本在 $ \vec\alpha_f $ 中具有相对最大的 $ \alpha_f^{(1)} $ (一阶特征最重要)。Figure 6
显示了对电影《Léon: The Professional (1994) 》
的可解释结果,该样本在 $ \vec\alpha_f $ 中具有相对最大的 $ \alpha_f^{(2)} $ (二阶特征最重要)。Figure 7
显示了对电影《玩具总动员2 》(1999
) 的可解释结果,该样本在 $ \vec\alpha_f $ 中具有相对最大的 $ \alpha_f^{(3)} $ (三阶特征最重要)。
人工合成数据集:考虑到
MovieLens-1M
是评级数据而不是点击数据,我们使用人工合成的点击数据集。合成数据包含10
个field
$ \mathcal F=[f_1,\cdots,f_{10}] $ ,每个field
是独立创建的,并且取值空间全部都是 $ [\beta_1,\cdots,\beta_{10}] $ 。label
根据feature group
来决定,其中feature group
如下表所示:例如,对于第二条规则,当条件
$ \text{value}(f_3) = \beta_3, \text{value}(f_4) = \beta_4 $ 时,label
取值为1
的概率为 $ 1-p_1 $ 。否则label
取值为1
的概率为 $ 1-p_2 $ 。我们将 $ p_1 $ 设置为0.9
、 $ p_2 $ 设置为0.2
。评估结果如下图所示。我们通过每一层中注意力的热力图来呈现显著的特征。以下热图中第
$ i $ 阶的每个cell
表示满足Table 4
中的 $ i $ 阶规则的所有记录中,各层的aggregation attention
$ \vec\alpha $ 的归一化平均值。Figure 8
给出了所有样本的一阶热力图。我们观察到: $ f_1 $ 的注意力最大,这与Rule 1
一致。- 此外,来自注意力的方差较小,这意味着仅使用一阶交互进行学习和预测时,稳定性较差。
Figure 9
给出了所有样本的二阶热力图。我们观察到 $ f_3,f_4 $ 的注意力最大,这与Rule 2
一致。Figure 10
给出了所有样本的一阶到四阶热力图。我们观察到:- 在前三阶中,
$ f_5,f_6,f_7 $ 的注意力最大。 - 在第四阶,所有
field
具有均匀的注意力分布。这表明数据集中不存在更高阶的特征。
- 在前三阶中,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论