广告预估模型(三)

接着广告模型初探(二),这篇咱们主要聊聊广告预估模型集大成者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

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

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

 

给TA买糖
共{{data.count}}人
人已赞赏
经验教程

JSP、EL表达式、JSTL标签库干货(建议收藏)

2021-3-14 11:19:00

经验教程

「视频小课堂」Logstash如何成为镇得住场面的数据管道(文字版)

2021-3-14 12:11:00

⚠️
免责声明:根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。 本站为个人博客非盈利性站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途,网站会员捐赠是您喜欢本站而产生的赞助支持行为,仅为维持服务器的开支与维护,全凭自愿无任何强求。本站部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。
无意侵害您的权益,请发送邮件至 momeis6@qq.com 或点击右侧 私信:momeis 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索