优势特征蒸馏:阿里PFD

Privileged Features Distillation at Taobao Recommendations

背景

ctr&cvr预估任务中有很多非常有区分性的特征没法使用,比如用户点击之后的互动时长、点击之后的一些页面动作信息,因为只有离线训练的时候能拿到,线上预估的时候是拿不到的,为了保持线上和线下的一致性,这些“优势特征”(Privileged Features)就会被忍痛割爱舍弃掉。那么如何有效利用这些优势特征呢?

解决方案

通过蒸馏的方式,teacher模型的特征输入包含了优势特征,teacher模型和student模型结构一样,只是特征输入不同,teacher模型将学习到的信息蒸馏迁移到student模型。student的输入中没有优势特征,这样线上infer的时候,student模型可以正常工作。

方案详情

与常规的蒸馏模型不同,PFD(Privileged Features Distillation)中teacher和student模型结构上是一致的,只是输入不同。常规的MD(Model Distillation)是teacher模型结构非常复杂,student模型结构简单。
对比如下:
在这里插入图片描述
特征输入 X \mathbf X X,优势特征 X ∗ \mathbf X^* X,student的模型参数 W s \mathbf W_s Ws,teacher的模型参数 W t \mathbf W_t Wt,student模型是原来的主模型,这里加了一个蒸馏loss L d L_d Ld,蒸馏loss用来衡量是teacher模型输出和student模型输出的差异情况的。
如果teacher模型先训练好,然后再来训练student模型,loss如下
在这里插入图片描述

但是teacher模型先训练好可能会比较费时,可以同步训练teacher模型和student模型,loss如下

在这里插入图片描述

我们希望teacher和student的预测输出足够接近,可以使用均方误差如下:
L d = 1 N ∑ i = 1 N ( f ( X ∗ ; W t ) − f ( X ; W s ) ) 2 L_d = \frac {1} {N} \sum_{i=1}^N (f(\mathbf X^*;\mathbf W_t) - f(\mathbf X;\mathbf W_s))^2 Ld=N1i=1N(f(X;Wt)f(X;Ws))2

也可以使用KL 散度,将teacher和student的输出都当做一个分布,KL散度用来衡量分布差异效果较好。

特征输入示意图如下
在这里插入图片描述
粗排阶段优势特征蒸馏
蒸馏方式:交叉特征效果非常好,但是一般没法用在粗排上面,作为优势特征输入到teacher模型

精排阶段优势特征蒸馏
蒸馏方式:用户点击之后的行为特征,比如点击后的停留时长、有没有咨询客服、有没有浏览评论等信息,这些特征作为优势特征输入到teacher模型。

实验

进一步可以将MD和PFD结合起来,可以让teacher模型结构更加复杂,容量更大。
在这里插入图片描述
效果更好
在这里插入图片描述
超参数 λ \lambda λ的调节
在这里插入图片描述
同步(Synchronous)训练时teacher和student的参数共享效果更好,耗时也更低,学习的更充分。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值