今天给大家带来一篇华为在CIKM2021上中稿的文章。通过在并行CTR预估模型引入信息共享机制来提升特征交互的效果,一起来看一下。
1、背景
CTR预估中的特征交互可以分为显式特征交互和隐式特征交互两类。不同的CTR预估模型对这两类特征交互建模形式存在一定的差异,主要可以分为两种结构:并行结构(parallel structure)和堆叠结构(stacked structrue),如下图所示:
其中,堆叠结构如PIN、DIN和DIEN,而并行结构如DeepFM、DCN、XDeepFM等。本文主要关注如何在并行结构的CTR模型中进行创新。先来回顾一下上述并行模型的结构,如下图:
对于上述的并行结构的CTR预估模型,以DCN为基础,论文提出了两点可能影响模型效果的问题:
1)隐层信息共享不充分:DCN的整体模型结构分为cross网络和deep网络,分别用于建模显式和隐式的特征交互,并在最后的输出层进行结果的融合。论文称这种方式为late fusion。在这种方式下,两个并行的网络在中间层不存在任何的特征交互,这容易导致梯度倾斜问题(skewed gradients)
2)网络输入过度共享:cross网络和deep网络共享同一个embedding层作为输入,但不同的特征可能适合于不同的交互方式,不加区分的将所有特征输入到并行的多个网络中可能导致次优的结果。
针对上述两方面的问题,论文提出了Enhanced Deep & Cross Network (简称EDCN),在DCN的基础上增加了bridge module和regulation module,前者用于在cross和deep网络之间进行信号传递 ,后者则用于筛选用于不同网络的特征组合。接下来,对EDCN进行详细介绍。
2、EDCN介绍
2.1 DCN回顾
首先来简单回顾一下DCN的模型结构,如下图所示:
在DCN中,Embedding分别输入两个并行的网络中,分别为Cross network和Deep network,用于建模特征之间的显式和隐式交互。两部分网络的输出在最后进行融合,进而得到CTR的预估值。
前文也提到,论文提出了DCN主要存在的两点问题,分别是隐层信息共享不充分和网络输入过度共享。为了克服这两方面的问题,论文提出了EDCN,结构如下图所示:
可以看到,EDCN在DCN的基础上,引入了Bridge Module和Regulation Module。接下来,对这两个模块进行介绍。
2.2 Regulation Module
这里与论文介绍的顺序进行了调换,先来介绍下Regulation Module,主要是为了方便后续Bridge Module的介绍。
DCN中将所有的特征都输入到两个子网络中,而在论文《AutoFeature: Searching for Feature Interactions and Their Architectures for Click-through Rate Prediction》中提到,不同的特征适合不同的交互方式。因此,论文借鉴MMoE中的门控机制,在DCN中引入了Regulation Module,图示如下:
可以看到,每一个子网络都有一组可学习的权重向量G(从Embedding层得到子网络输入时,权重是field-wise的),经过softmax之后与输入的Embedding进行如下运算,得到每个子网络的输入:
2.3 Bridge Module
前文也提到,DCN这类只在最后输出层对两个并行子网络输出进行融合的方式,称之为late fusion,对这种方式而言,无法捕捉到中间层中两个并行网络之间的相关性,削弱了显式和隐式特征交互之间的交互信号,同时在反向传播时可能出现梯度倾斜的现象。
论文引入了Bridge Module,来捕获并行网络之间层级的交互信号。这种融合的方式,论文称为dense fusion策略,两种融合策略的对比如下图所示:
那么Bridge Module具体是如何实现的呢,其实就是将Cross Network和Deep Network的中间层的输出做了一个融合fl=f(xl,hl),需要保证两个网络中间层的输出长度是一样的,而融合后的结果也是相同的长度。f是提前定义好的交互公式,可以随意定义,论文给出了其中四种方式:
1)对位相加:
2)对位相乘(哈达玛积):
3)拼接后经过一层MLP:
4)Attention Pooling:
经过Bridge Module之后得到的融合向量,并不是直接输入到下一层子网络中的。这个时候,Regulation Module又派上用场了,融合向量会经过Regulation Module分别得到两个子网络的下一层输入。论文中也指出,Cross Network中每一层的输出是初始输入x0的线性变换,因此filed信息还保留在Bridge Module之后的融合向量中,所以中间层的Regulation Module仍然使用field-wise的形式。
最后值得一提的是,论文中提出的Bridge Module和Regulation Module是具有一定的可扩展性的,比如Regulation Module可以应用在任意的并行结构中,如DeepFM、xDeepFM、AutoInt等,而Bridge Module需要并行的子网络的具有相同的网络层数和中间维度,可扩展性较差,Wide & Deep、DeepFM都不行。
3、实验结果
最后来看一下实验结果,首先是和base模型的对比:
接下来看一下Bridge Module和Regulation Module的可扩展性分析,将Bridge Module应用于XDeepFM等模型中,在不同数据集上都有一定效果的提升:
而将Regulation Module分别应用在DeepFM、XDeepFM等模型中,同样在不同数据集上都有一定效果的提升:
然后再看下Bridge Module不同计算方式的效果,哈达玛积的效果最优:
最后看一下线上效果,尽管耗时有一定的提升,但是在CTR和eCPM上提升明显:
好了,论文就介绍到这里,有一点疑惑没有解开,那就是对于梯度倾斜现象的分析,论文中一直在强调这一点但最后的实验中并没有给出相应的解释和数据。另外,对于DCN来说,两个子网络是具有明确的作用的,即分别建模显式和隐式交互,中间加入Bridge Module之后,两个网络的作用反而不是那么明显了。总之论文的创新点是有的,但感觉有些地方不是特别严谨。感兴趣的小伙伴可以阅读原文~~
网友评论