广告预估模型(三)

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

广告预估模型(三)

GeorgePig   2021-03-14 我要评论

接着广告模型初探(二),这篇咱们主要聊聊广告预估模型集大成者DNN派系。

0.DNN模型

 

DNN网络结构

 

    模型结构较为简单,不再赘述。重点关注一下Embedding部分,和NLP里面的Embedding层类似,在广告模型中Embedding层会对不同类型的特征进行如下变换:

  • 单值离散特征:直接Embedding

  • 多值离散特征:在Embedding 之后接上Sum Pooling 从而将多值映射为单个Embedding(Average Pooling也未尝不可)

  • 数值型特征:一般先进行离散化(如特征分桶之类)转化为类似单值离散特征来处理

 

1.DeepFM模型

 

DeepFM网络结构

 

    DeepFM模型可以分为两个部分,一部分是上篇中提到的FM模型,另一部分就是本篇中提到的DNN模型。最终输出结果通过下面公式计算得到: 

从上面网络结构图中可以看到,最底层是输入的稀疏的原始特征,接着进入了Embedding层,将特征限定到有限的向量空间中,接着分别进入FM和DNN层。FM部分主要考虑的是低阶特征(主要是二阶特征)而DNN部分主要获取的是高阶特征,FM和DNN层共享Embedding。

2.SDNN模型

 

SDNN网络结构

 

    相比于前面两个模型,SDNN模型的结构更为复杂,当然相应的效果也是更优的。从图中可以看出,SDNN模型分为两个阶段,一个阶段是Join阶段、一个阶段是Update阶段。图中的slot1,slot2指的是不同的特征,fea1,fea2表示的不同特征的不同取值,举个例子:slot1表示用户的兴趣爱好,fea1表示足球,fea2表示篮球。不同的fea1和fea2我们会统计show和click的值,最终累加在一起,得到对应的slot1的特征的show和click值。当然show和click对应的值最终也是通过embedding化之后加入模型中训练的。

    与之前不同的是,这里的embedding是一种动态的embedding,刚开始默认的维度可以设置为1,当show&click达到一定的阈值之后,会扩展为fix+dynamic的形式。需要注意的是在Join阶段主要更新的是NN参数,从图中也可以看出梯度只回传到normalization就停止了,而在Update阶段主要更新的是Embedding参数。

    之所以采用两阶段的训练方式,主要是为了:

  • 保持线上线下预估的一致性

  • 线上预估embedding是pass内固定的,而Update NN学习的是动态变化的embedding的NN

至此,广告模型初探系列完结,下一篇和大家聊聊广告算法工程师的日常。后会有期!

欢迎关注微信公众号:计算广告那些事儿

 

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们