Deep Crossing - 学习笔记

动机

在广告推荐领域,工程师可利用的初始输入非常多。如何从海量特征中制作高质量的特征,在当时成为一个迫切问题。虽然有经验的工程师可以手工制作高质量的特征,但是,在大数据规模的业务场景下,手工制作特征的可行性很低。能不能让网络自己从初始输入中学习到高质量的特征呢?这就是Deep Crossing解决的问题——完整地解决了从特征工程、稀疏向量稠密化、多层神经网络进行优化目标的整个流程。

特征的预处理

特征类别

论文中提到的数目繁多的特征中,主要有三种特征

  • 数值型特征,如点击率,也称为计数型特征
  • 样例特征,如广告计划、点击样例等,样例特征是多种特征的组合,需要进一步处理
  • 类别型特征,如用户搜索词、广告关键词等,可以转换为One-hot和Multi-hot向量
细节

一、当类别过多,比如样例特征中的样例id通常有百万个,这时候进行分类就会有问题。Deep Crossing的做法是筛选出点击率Top10000的样例id,然后把剩余的其他id看作一个id。

二、上述提到的特征都是互相独立的单一特征,其实还存在另外一种特征:组合特征。组合特征虽然能反映两个特征之间的共性,但是组合特征的维度通常比较大。所以Deep Crossing没有采用组合特征,都是采用单一特征。

模型

Deep Crossing的模型主要有4个部分

  • Embedding层
  • Stacking层
  • Multiple Residual层
  • Scoring层
Embedding层

主要作用是稀疏的Multi-Hot或者One-Hot向量转化为稠密的特征向量。需要注意的是,Embedding层的参数极大影响了整个模型的参数量,这也是为什么不用组合特征的原因。

Embedding层的主要构成是一层线性网络层,通过映射将维度缩减,并使稀疏向量稠密化:
在这里插入图片描述
初始输入,维度小于等于256维的,不通过Embedding层,直接进入Stacking层。

Stacking层

Stacking层的作用比较简单,就是把特征进行拼接(concatenated)。
在这里插入图片描述

Multiple Residual层

这一层主要是借鉴了ResNet的思想,引入了残差连接,改善了深层网络在训练过程中的网络退化问题。并且使用了ReLU函数,防止梯度消失,函数表达式为:
在这里插入图片描述
网络结构图为:
在这里插入图片描述
引入残差层的好处是网络层参数 F ( ⋅ ) F(·) F()拟合的是输出与输出的残差 X o − X i X_o-X_i XoXi,学习难度比较低,有利于防止网络退化。

Scoring层

这一层作为输出层,就是为了拟合优化目标而存在。

  • CTR这类二分类问题,Scoring层采用的是逻辑回归模型。
  • 图像分类问题,Scoring层采用softmax模型。

目标函数是:
在这里插入图片描述

总结

以现在的眼光来看,Deep Crossing的模型架构非常简单,只是Embedding层 + 网络层的组合。但是,它提供了从特征工程到目标优化的整个流程。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值