前言
第一次在掘金发文章。本期推广的文章是我自己的GitHub开源项目:Recommended System with TF2.0 。使用Tensorflow2.0对经典的推荐论文进行复现,欢迎大家star。
微信文章地址:传送门
建立原因
开源项目Recommended System with TF2.0主要是对阅读过的部分推荐系统、CTR预估论文进行复现。建立的原因有三个:
-
理论和实践似乎有很大的间隔,学术界与工业界的差距更是如此;
-
更好的理解论文的核心内容,增强自己的工程能力;
-
很多论文给出的开源代码都是TF1.x,因此想要用更简单的TF2.0进行复现; 当然也看过一些知名的开源项目,如DeepCTR等,不过对自己目前的水平来说,只适合拿来参考。
项目特点
项目特点:
-
使用TF2.0-CPU进行复现;
-
每个模型都是相互独立的,不存在依赖关系;
-
模型基本按照论文进行构建,实验尽量使用论文给出的的公共数据集。如果论文给出github代码,会进行参考;
-
对于实验数据集有专门详细的介绍;
-
代码源文件参数、函数命名规范,并且带有标准的注释;
-
每个模型会有专门的代码文档(.md文件)或者其他方式进行解释;
目前复现模型
目前复现的模型有(按复现时间进行排序):
-
NCF
-
DIN
-
Wide&Deep
-
DCN
-
PNN
-
Deep Crossing
-
DeepFM 持续更新中······
具体内容
开源项目的具体内容如下:
1、数据集的介绍
对复现过程中所使用的数据集进行简单的介绍、对其中的特征进行分析以及处理数据集的过程。
例如:
Criteo
Criteo广告数据集是一个经典的用来预测广告点击率的数据集。2014年,由全球知名广告公司Criteo赞助举办Display Advertising Challenge比赛。但比赛过去太久,Kaggle已不提供数据集。现有三种方式获得数据集或其样本:
-
Criteo_sample.txt:包含在DeepCTR中,用于测试模型是否正确,不过数据量太少;
-
kaggle Criteo:训练集(10.38G)、测试集(1.35G);(实验大部分都是使用该数据集)
-
Criteo 1TB:可以根据需要下载完整的日志数据集; Criteo数据集的具体介绍与处理:传送门【https://github.com/BlackSpaceGZY/Recommended-System-with-TF2.0/blob/master/Dataset%20Introduction.md#3-criteo】
2、论文模型
该部分主要分为:
-
模型结构图;
-
实验数据集;
-
代码解析:即当前模型开源代码的简单文档介绍【完善更新中...】;
-
原文开源代码:如果有的话;
-
原文地址;
-
原文笔记:对应自己对该论文的笔记;
例如:
Deep Interest Network for Click-Through Rate Prediction(DIN)
模型:
数据集: Amazon数据集中Electronics子集。 代码解析:
参考原文开源代码地址:
github.com/zhougr1993/…
原文地址:
arxiv.org/pdf/1706.06…
原文笔记:
mp.weixin.qq.com/s/uIs_Fpeow…
接下来的任务
由于昨天晚上有一位同学问我会不会复现某一篇文章,这我也说不准。因此对接下来的复现任务可以计划一下: 会对已经读过(其实之前的复现的论文都是读过两遍的)的论文进行复现:FNN、xDeepFM、AFM等; 会加入2020年新的论文导读和部分论文复现:DMR等;
总结
如果对项目有疑问的话,可以在Issue留言或者通过公众号加我好友进行交流。 最后再贴一遍地址:github.com/BlackSpaceG…