以下为个人对文章的理解记录,如有错误,欢迎指正~~
如果觉得有帮助或者写的还行,点个赞呗~~~
Zhu J, Liu J, Yang S, et al. FuxiCTR: An Open Benchmark for Click-Through Rate Prediction[J]. arXiv preprint arXiv:2009.05794, 2020.
原文链接:https://arxiv.org/pdf/2009.05794.pdf
在许多应用程序中,如推荐系统、在线广告、产品搜索,点击率(CTR)预测是一个重要的任务,因为它的准确性直接影响这两个平台的收入和用户体验。近年来,随着深度学习的发展,CTR预测已经被广泛的研究在学术界和产业界,出现了大量的CTR模型。不幸的是,仍然有缺乏标准化和统一的评价基准协议CTR预测。这导致了不可复制,甚至这些研究中不一致的实验结果。
大家阅读文章的时候或多或少都已经注意到了这一现象。在这篇文章中,作者给出了一个数据划分的基准(FuxiCTR),并且在这个基准上重新评估了24个主流或者最新的CTR预估模型,作者运行了4600+的实验,超过12000 GPU hours。并且在Kaggle的两个竞赛数据集Criteo和Avazu数据集上进行了比较。在本文的结果中,许多模型的结果和预期不同,甚至和原文中给出的结论不一致。
本文主要的贡献:
- 1、通过海量的实验结果,试图构建CTR中的benchmark。
- 2、公开了完善的实验记过和benchmark代码,以便于进行可重复性研究。现在在github上我没有找到。
- 3、通过实验说明现存的很多模型存在不可复现性和不一致性。
总而言之,本文并没有提出新的算法,更多的是对过往的算法进行复现&对比,希望成为CTR界的Benchmark。
一、FuxiCTR的动机
近几年,CTR预估任务已经被广泛关注,但是缺乏类似ImageNet和GLUE的BenchMark,导致了不可复现性。
要满足实验结果的可复现,一般需要满足以下七个要求:
- 数据分割(Data partition)
- 数据预处理(Data preprocessing)
- 开源模型代码(Model code)
- 训练代码(Training code)
- 模型超参(Model hyper-parameters)
- Baseline的模型超参(Baseline hyper-parameters)
- Baseline的代码(Baseline code)
同时作者统计了一些流行或者最新的模型是否满足以上要求。
可以看到几乎没有一篇文章满足所有的要求。
文中,作者按照以上七个要求,对自己的实现细节进行了介绍,具体还是要看开源的代码。这里就不详细介绍了。
二、对比结果
作者对比了24个CTR模型在Criteo和Avazu上的结果。
在Criteo数据集上的评估情况 在Criteo数据集上的评估情况
实验小结:
(1)Best Repoted一列的结果显示出一定的不一致性:许多模型在结果上不如LR。例如InterHAt、PNN、DeepCross。虽然数据集相同,但是由于数据的划分和数据的预处理不同,以及实现和训练的细节不透明,导致了结果的不一致。所以相同的数据划分和数据数据预处理对于公平的实验对比很重要。
(2)“Reproduced”一栏表明,在大多数情况下,可以复制现有研究报告的模型性能。但是,即使在这些实验中使用相同的数据分区和数据预处理,也会出现一些不一致的情况。例如在Criteo数据集中,DeepFM的结果比原来的差,但是xDeepFM的结果得到改善。说明了重新调参的必要性,在很多论文中,他们遵循了原文中的基线超参数,但是由于数据划分的不同导致了结果对比的不公平。
(3)通过重新调整模型的超参数,对比现在的结果都获得了较大的提升(超过1%)。这个实验结果建议在很多文章中,基线模型应该更仔细地调整,以做出更有说服力的比较。
(4) 可以看到在两个数据集上xDeepFM和ONN的表现都很稳定,而且很多18年之后的模型结果都比不上这两个模型。这对于一些参加CTR预估竞赛的同学可以给到一些启发。
三、个人总结
虽然本文没有提出新的模型,但是本文的实际意义还是挺大的。我本文刚学习CTR文章的时候,就苦于没有一致的数据集划分和数据预处理方法。而且也统计过不同文章中的实验结果,发现差异很大。我经常说的一句话“在我的数据划分中,没有其他的模型可以打败我”。如果有类似ImageNet和GLUE的BenchMark确实对新入门的研究人员友好很多,同时也对后续的模型研究提出了更加严格和统一的要求。不过是否按照作者在本文中提到的方式构建benchmark还是值得探究的。希望有更多的人关注这一方面。遗憾的是,目前本文提到的所有源码都还没有公布,希望作者尽快公布。
网友评论