p-k独1 0单与双顺势方法;流量pink是什么牌子多少钱种方式?

本文的PDF版本、代码实现和数据可以在取到。

NFM的主要创新点是在FM过程中添加了逐元素相乘的运算来增加模型的复杂度。但没有在此基础上添加更复杂的运算过程,比如对加权求和。Jun Xiao等在2017年提出了注意力因子分解模型(Attentional Factorization Machine,AFM)就是在这个方向上的改进。其计算图如下所示: 

  1. AFM与NFM都是致力于充分利用二阶特征组合的信息,对嵌入后的向量两两进行逐元素乘法,形成同维度的向量。而且AFM没有MLP部分。
  2. AFM通过在逐元素乘法之后形成的向量进行加权求和,而且权重是基于网络自身来产生的。其方法是引入一个注意力子网络(Attention Net)
  3. 当权重都相等时,AFM退化成无全连接层的NFM
  4. “注意力子网络”的主要操作是进行矩阵乘法,其最终输出结果为softmax,以保证各分量的权重本身是一个概率分布

11.PNN:通过改进向量乘法运算延迟FM的实现过程

再回到FM。既然AFM、NFM可以通过添加逐元素乘法的运算来增加模型的复杂度,那向量乘法有这么多,可否用其他的方法增加FM复杂度?答案是可以的。Huifeng Guo等在2016年提出了基于向量积的神经网络(Product-based Neural Networks,PNN)就是一个典型例子。其简化计算图如下所示: 


对比之前模型的计算图,我们可以发现PNN的基本特点是:

  1. 利用二阶向量积层(Pair-wisely Connected Product Layer)对FM嵌入后的向量两两进行向量积,形成的结果作为之后MLP的输入。计算图中用圆点?表示向量积运算。PNN采用的向量积有内积与外积两种形式。
  2. 需要说明的是,本计算图中省略了PNN中向量与常数1进行的乘法运算。这部分其实与FNN类似,不是PNN的主要创新点。故在此图中省略。
  3. 对于内积形式的PNN,因为两个向量相乘的结果为标量,可以直接把各个标量“拼接”成一个大向量,就可以作为MLP的输入了。
  4. 当MLP的全连接层都是恒等变换且最后一层参数全为1时,内积形式的PNN就退化成了FM
  5. 对于外积形式的PNN,因为两个向量相乘相当于列向量与行向量进行矩阵相乘,得到的结果为一个矩阵。各个矩阵向之前内积形式的操作一样直接拼接起来维数太多,论文的简化方案是直接对各个矩阵进行求和,得到的新矩阵(可以理解成之后对其拉长成向量)就直接作为MLP的输入。
  6. 观察计算图发现外积形式的PNN与NFM很像,其实就是PNN把NFM的逐元素乘法换成了外积

此处分别附上PNN的内积与外积形式代码,完整数据和代码请。

 
 
 
 

 
以上的FM推广形式,主要是对FM进行二阶特征组合。高阶特征组合是通过MLP实现的。但这两种实现方式是有很大不同的,FM更多是通过向量embedding之间的内积来实现,而MLP则是在向量embedding之后一层一层进行权重矩阵乘法实现。可否直接将FM的过程在高阶特征组合上进行推广?答案是可以的。Ruoxi

  1. Deep部分就是普通的MLP网络,主要是全连接。
  2. 可以证明,cross网络是FM的过程在高阶特征组合的推广。完全的证明需要一些公式推导,感兴趣的同学可以直接参考原论文的附录。
  3. 而用简单的公式证明可以得到一个很重要的结论:只有两层且第一层与最后一层权重参数相等时的Cross网络与简化版FM等价。
  4. 此处对应简化版的FM视角是将拼接好的稠密向量作为输入向量,且不做领域方面的区分(但产生这些稠密向量的过程是考虑领域信息的,相对全特征维度的全连接层减少了大量参数,可以视作稀疏链接思想的体现)。而且之后进行embedding权重矩阵W只有一列——是退化成列向量的情形。
  5. 与MLP网络相比,Cross部分在增加高阶特征组合的同时减少了参数的个数,并省去了非线性激活函数
 

 
开篇已经提到,本文思路有两条主线。到此为止已经将基于FM的主线介绍基本完毕。接下来将串讲从embedding+MLP自身的演进特点的CTR预估模型主线,而这条思路与我们之前的FM思路同样有千丝万缕的联系。
Google在2016年提出的宽度与深度模型(Wide&Deep)在深度学习CTR预估模型中占有非常重要的位置,它奠定了之后基于深度学习的广告点击率预估模型的框架。
Wide&Deep将深度模型与线性模型进行联合训练,二者的结果求和输出为最终点击率。其计算图如下:


我们将Wide&Deep的计算图与之前的模型进行对比可知:
  1. Wide&Deep是前面介绍模型DeepFM与DCN的基础框架。这些模型均采用神经网络联合训练的思路,对神经网络进行并联。
  2. Wide&Deep的Wide部分是逻辑回归,可以手动设计组合特征。
  3. DeepFM的Wide部分是FM,DCN的Wide部分是Cross网络,二者均不强求手动设计特征。但此时都与字面意义上的Wide有一定差异,因为均共享了降维后的嵌入特征
 
此处附上DeepFM的代码实现,完整数据和代码请:

  
 
 

 
由K. He等提出的深度残差网络能够大大加深神经网络的深度,同时不会引起退化的问题,显著提高了模型的精度。Ying Shan等将该思路应用到广告点击率预估模型中,提出深度交叉模型(DeepCross,2016DeepCross,2016)。Deep Cross的计算图如下:


将Deep Cross与之前的模型对比,可以发现其特点是:
  1. 对embedding+MLP的改进主要是MLP部分增加跳跃连接成为残差网络
  2. Deep Cross 与传统的残差网络的区别主要是没有采用卷积操作。其中一个原因是在广告点击率预估领域,特征不具备平移不变性
  3. 因此DCN中的Cross部分可以理解为残差网络的变体:其将Deep Cross的跨越链接缩短为只有一层,而全连接部分改为与权重向量和输入向量的内积。
 

15.DIN:对同领域历史信息引入注意力机制的MLP

 
以上神经网络对同领域离散特征的处理基本是将其嵌入后直接求和,这在一般情况下没太大问题。但其实可以做得更加精细。比如对于历史统计类特征。以用户历史浏览的商户id为例,假设用户历史浏览了10个商户,这些商户id的常规处理方法是作为同一个领域的特征嵌入后直接求和得到一个嵌入向量。但这10个商户只有一两个商户与当前被预测的广告所在的商户相似,其他商户关系不大。增加这两个商户在求和过程中的权重,应该能够更好地提高模型的表现力。而增加求和权重的思路就是典型的注意力机制思路。
Bahdanau et al. (2015) 引入的现代注意力机制,本质上是加权平均(权重是模型根据数据学习出来的),其在机器翻译上应用得非常成功。受注意力机制的启发,Guorui Zhou等在2017年提出了深度兴趣网络(Deep Interest Network,DIN)。DIN主要关注用户在同一领域的历史行为特征,如浏览了多个商家、多个商品等。DIN可以对这些特征分配不同的权重进行求和。其网络结构图如下:
  1. 此处采用原论文的结构图,表示起来更清晰。
  2. DIN考虑对同一领域的历史特征进行加权求和,以加强其感兴趣的特征的影响。
  3. 用户的每个领域的历史特征权重则由该历史特征及其对应备选广告特征通过一个子网络得到。即用户历史浏览的商户特征与当前浏览商户特征对应,历史浏览的商品特征与当前浏览商品特征对应。
  4. 权重子网络主要包括特征之间的元素级别的乘法、加法和全连接等操作
  5. AFM也引入了注意力机制。但是AFM是将注意力机制与FM同领域特征求和之后进行结合,DIN直接是将注意力机制与同领域特征求和之前进行结合
 

16.多任务视角:信息的迁移与补充

 
对于数据驱动的解决方案而言,数据和模型同样重要,数据(特征)通常决定了效果的上限,各式各样的模型会以不同的方式去逼近这个上限。而所有算法应用的老司机都知道很多场景下,如果有更多的数据进行模型训练,效果一般都能显著得到提高。广告也是一样的场景,在很多电商的平台上会有很多不同场景的广告位,每个场景蕴含了用户的不同兴趣的表达,这些信息的汇总与融合可以带来最后效果的提升。但是将不同场景的数据直接进行合并用来训练(ctr/cvr)模型,结果很多时候并不是很乐观,仔细想想也是合理的,不同场景下的样本分布存在差异,直接对样本累加会影响分布导致效果负向。


而深度学习发展,使得信息的融合与应用有了更好的进展,用Multi?taskMulti?task learning(MTL)learning(MTL)的方式可以很漂亮的解决上面提到的问题。我们不直接对样本进行累加和训练,而是像上图所示,把两个场景分为两个task,即分为两个子网络。对单个网络而言,底层的embedding层的表达受限于单场景的数据量,很可能学习不充分。而上图这样的网络结合,使得整个训练过程有了表示学习的共享(Shared Lookup Table),这种共享有助于大样本的子任务帮助小样本的子任务,使得底层的表达学习更加充分。 DeepFM和DCN也用到了这个思路!只是它们是对同一任务的不同模型进行结合,而多任务学习是对不同任务的不同模型进行结合。而且,我们可以玩得更加复杂。
Multi-task learning(MTL)整个结构的上层的不同的task的子网络是不一样的,这样每个子网络可以各自去拟合自己task对应的概念分布。并且,取决于问题与场景的相似性和复杂度,可以把底层的表达学习,从简单的共享embedding到共享一些层次的表达。极端的情况是我们可以直接共享所有的表达学习(representation learning)部分,而只接不同的网络head来完成不一样的任务。这样带来的另外一个好处是,不同的task可以共享一部分计算,从而实现计算的加速。
值得一提的另一篇paper是阿里妈妈团队提出的“完整空间多任务模型”(Entire Space Multi-Task Model,ESMM),也是很典型的多任务学习和信息补充思路,这篇paper解决的问题不是ctr(点击率)预估而是cvr(转化率)预估,传统CVR预估模型会有比较明显的样本选择偏差(sample selection bias)和训练数据过于稀疏(data sparsity )的问题,而ESMM模型利用用户行为序列数据,在完整的样本数据空间同时学习点击率和转化率(post-view clickthrough&conversion rate,CTCVR),在一定程度上解决了这个问题。
在电商的场景下,用户的决策过程很可能是这样的,在观察到系统展现的推荐商品列表后,点击自己感兴趣的商品,进而产生购买行为。所以用户行为遵循这样一个决策顺序:impression → click → conversion。CVR模型旨在预估用户在观察到曝光商品进而点击到商品详情页之后购买此商品的概率,即pCVR =

传统的CVR预估任务通常采用类似于CTR预估的技术进行建模。但是不同于CTR预估任务的是,这个场景面临一些特有的挑战:1) 样本选择偏差;2) 训练数据稀疏;3) 延迟反馈等。


ESMM模型提出了下述的网络结构进行问题建模

  1. 在整个样本空间建模。pCVR 可以在先估计出pCTR 和pCTCVR之后计算得出,如下述公式。从原理上看,相当于分别单独训练两个模型拟合出pCTR 和pCTCVR,进而计算得到pCVR 。 
    注意到pCTR 和pCTCVR是在整个样本空间上建模得到的,pCVR 只是一个中间变量。因此,ESMM模型是在整个样本空间建模,而不像传统CVR预估模型那样只在点击样本空间建模。
  2. 特征表示层共享。ESMM模型借鉴迁移学习和multi-task learning的思路,在两个子网络的embedding层共享特征表示词典。embedding层的表达参数占了整个网络参数的绝大部分,参数量大,需要大量的训练样本才能学习充分。显然CTR任务的训练样本量要大大超过CVR任务的训练样本量,ESMM模型中特征表示共享的机制能够使得CVR子任务也能够从只有展现没有点击的样本中学习,从而在一定程度上缓解训练数据稀疏性问题。
 

17.各种模型的对比和总结

 
前面介绍了各种基于深度学习的广告点击率预估算法模型,针对不同的问题、基于不同的思路,不同的模型有各自的特点。各个模型具体关系比较如下表1所示:

本文从开篇就说明这些模型推演的核心思路是“通过设计网络结构进行组合特征的挖掘”,其在各个模型的实现方式如下:

  1. FM其实是对嵌入特征进行两两内积实现特征二阶组合;FNN在FM基础上引入了MLP;
  2. DeepFM通过联合训练、嵌入特征共享来兼顾FM部分与MLP部分不同的特征组合机制;
  3. NFM、PNN则是通过改造向量积的方式来延迟FM的实现过程,在其中添加非线性成分来提升模型表现力;
  4. AFM更进一步,直接通过子网络来对嵌入向量的两两逐元素乘积进行加权求和,以实现不同组合的差异化,也是一种延迟FM实现的方式;
  5. DCN则是将FM进行高阶特征组合的方向上进行推广,并结合MLP的全连接式的高阶特征组合机制;
  6. Wide&Deep是兼容手工特征组合与MLP的特征组合方式,是许多模型的基础框架;
  7. Deep Cross是引入残差网络机制的前馈神经网络,给高维的MLP特征组合增加了低维的特征组合形式,启发了DCN;
  8. DIN则是对用户侧的某历史特征和广告侧的同领域特征进行组合,组合成的权重反过来重新影响用户侧的该领域各历史特征的求和过程;
  9. 多任务视角则是更加宏观的思路,结合不同任务(而不仅是同任务的不同模型)对特征的组合过程,以提高模型的泛化能力。

当然,广告点击率预估深度学习模型还有很多,比如Jie Zhu提出的基于决策树的神经网络(Deep Embedding Forest)将深度学习与树型模型结合起来。如果数据特征存在图像或者大量文本相关特征,传统的卷积神经网络、循环神经网络均可以结合到广告点击率预估的场景中。各个深度模型都有相应的特点,限于篇幅,我们就不再赘述了。

目前深度学习的算法层出不穷,看论文确实有些应接不暇。我们的经验有两点:要有充分的生产实践经验,同时要有扎实的算法理论基础。很多论文的亮点其实是来自于实际做工程的经验。也辛亏笔者一直都在生产一线并带领算法团队进行工程研发(当然也因此荒废了近2年的博客,T△T ),积淀了一些特征工程、模型训练的经验,才勉强跟得上新论文。比如DIN“对用户侧的某领域历史特征基于广告侧的同领域特征进行加权求和”的思想,其实与传统机器学习对强业务相关特征进行针对性特征组合的特征工程思路比较相似。另一方面,对深度学习的经典、前沿方法的熟悉也很重要。从前面我们的串讲也能够看出,CTR预估作为一个业务特点很强的场景,在应用深度学习的道路上,也充分借鉴了注意力机制、残差网络、联合训练、多任务学习等经典的深度学习方法。了解博主的朋友也知道我们一直推崇理论与实践相结合的思路,我们自身对这条经验也非常受用。当然,计算广告是一个很深的领域,自己研究尚浅,串讲难免存在纰漏。欢迎大家指出问题,共同交流学习。

  1. 陈巧红,余仕敏,贾宇波. 广告点击率预估技术综述[J]. 浙江理工大学学报. 2015(11).
  2. 纪文迪,王晓玲,周傲英. 广告点击率估算技术综述[J]. 华东师范大学学报(自然科学版). 2013(03).

矿用防爆无轨胶轮车产业化项目可行性研究报告研究,分析,防爆,矿用防爆,无轨胶轮车,防爆胶轮车,可行性,胶轮车,轮车产业化,防爆胶

我要回帖

更多关于 创造101中pink啥意思 的文章

 

随机推荐