用对抗网络生成ctr模型中的负样本

论文:Disguise Adversarial Networks for Click-through Rate Prediction

背景

正负样本不均衡的问题,常见方法通过过采样和欠采样解决。
欠采样未能丰富缺乏的点击数据
过采样拟合点击数据,进而采样。首先,实际点击数据不是well-structured,难以拟合。其次,基于已有的点击数据拟合,默认已有的点击数据可以代表全部点击数据。
一个理想的数据扩充方法需满足两个条件:足够健壮和泛化,生成新数据的方法不应仅仅来自于已有的点击数据。
借鉴了gan思想。generator包装负样本,discriminator尝试分辨出包装过的负样本。把一些未被点击的广告伪装成“点击”广告,discriminator需要正确判断这些伪装的广告

在训练样本变为10%的情况下,保持好的效果


用对抗网络生成ctr模型中的负样本_第1张图片
Disguise Adversarial Network结构图

实现方式

对于discriminator如何判别样本,有两种实现方式:

  1. 把所有伪装的样本判别成负样本。
    过于严苛。应该允许一部分样本被成功伪装成正样本。
  2. 对所有伪装对样本,分成“成功伪装”,“不成功伪装”两类
    需要针对discriminator设计一个聚类目标

disguise目标

disguise网络的目标函数

左边是一个KL散度,右边是一个L1距离,约束disguise的改动不要太大。

对于论文提出的dan网络,与普通gan的区别在于,普通gan随机采样生成非真实数据,而dan网络所有采样均来自真实的样本数据,其目的是将真实的非点击数据“包装”成点击数据

discriminator目标

最大的难点是如何区分伪装样本是否成功。
论文使用了一种信息理论间隔的方法。在loss function中加入了如下的条件熵。

用对抗网络生成ctr模型中的负样本_第2张图片
信息熵公式

从公式中可以看到,当 =0.5时,最大。为了最小化, 应尽量逼近0或者1。

结合上述公式和对有标签样本的判别,最终discriminator网络的loss function如下:


用对抗网络生成ctr模型中的负样本_第3张图片
discriminator网络loss function

和普通gan不同的是,通过对$M_D(x)项的引入,dan网络实际上引入了半监督网络的思想。一般的半监督网络未标注样本是固定的,而dan网络里的未标注样本是游disguise network生成的伪装样本。同时,这个disguise network也在不断训练进化中,生成更多的未标注的伪装样本。这也是论文作者任务dan网络强于其他半监督学习的原因
最后整个dan网络的训练过程如下图所示:

用对抗网络生成ctr模型中的负样本_第4张图片
dan网络训练结果

其实就是接替训练

实验结果

在展示广告和移动广告上做了测试。
论文采用了几种方法进行比较:

  1. dnn,svm
  2. Centroid,ADASYN,SMOTE(一些上采样方法)
  3. Modified-GAN,SGAN(modified-gan是用gan生成fake ads)
  4. TL-DAN, Noise-DAN(tl-dan是所有伪装的广告也被discrimnator判断成负样本。noise-dan是所有假样本是由噪声产生的)
    除了传统的auc指标,论文还考察了两种指标Rd-frequency和Rd-CTR。Rd-frequency是有多少样本被预测成正样本,Rd-CTR是预测为正样本的样本的ctr。

    实验结果如下:
    用对抗网络生成ctr模型中的负样本_第5张图片
    各模型实验结果

由结果可以看出,Rd-frequency这项指标都处在较低的水平,而论文的dan在Rd-CTR上取得了显著提升。同时,Centroid这些消除不平衡的办法,相比dnn没有大的提升。猜测是dnn这种深度学习方法本身能消除不平衡性。

另外,由于dan网络的训练占用性能较大,尝试了采样数据。当降低数据量时,auc有降低,但没有显著降低。10%样本,auc从0.75到0.70,0.73到0.68。
即使到10%样本,论文发现,dan网络的auc依然比上述大多数其他方法好。可能是因为,对抗框架具有自扩充数据的特质,意味着dan网络在降低数据量和良好性能之间,能取得良好平衡

你可能感兴趣的:(用对抗网络生成ctr模型中的负样本)