如何看待Google推荐系统大佬Steffen Rendle发文讨论何向南的NCF方法中的问题?

公众号关注 “ML_NLP”
设为 “星标”,重磅干货,第一时间送达!

在这里插入图片描述因为这两年主要在做深度学习+推荐,而@Xiangnan He博士的“Neural Collaborative Filtering”可以说是这个方向上被引用次数最多并被广泛用作baseline的方法之一,自己也曾经在NCF的基础上做过拓展的工作,所以对这个问题挺感兴趣的。

文章很好读,大部分是实验和分析。先快速列一下重点,这篇文章的主要内容包括:

  1. 重访NCF论文中的实验,证明在相同的实验设定下,调参后普通的矩阵分解模型能大幅度优于MLP;
  2. 通过实验表明,MLP要学习出内积函数需要较大的模型容量与大量的训练数据,难度随着embedding的维数上升而上升;
  3. 解释在线上serving时点积函数相比MLP的优势,前者可以通过高效的最大内积搜索算法来快速找到预测分数最高的物品,后者则无高效的算法;

再快速剧透一下我的收获和思考:

  1. 使用Rendle开源的代码(仅基于numpy,没用DL库)能完美复现文章给出的实验效果(虽然没怀疑过,但不跑一下怎么有底气讲结论呢~),不过Rendle这篇文章跑的MF和NCF论文中跑的MF在训练方法上有较大差异,这也是造成效果差异巨大的主要原因;
  2. 基于点积的方法在工业界占主导,因为我们已经有很成熟的工具(比如:Faiss)可以快速地找到点积最大的向量,读过Youtube DNN应该也会对serving问题有印象。这个点虽然大家都知道,但在设计模型时还是很值得注意的,毕竟推荐是离应用很近的一门技术,如果只追求效果,脱离了实际就没有意义了;
  3. MLP虽然理论上是universal approximator,但用MLP来近似点积是低效的。这个点在NCF论文里也有提到一下,Rendle这篇论文进一步通过实验来证明这一点。“万能的”MLP在很多任务上都不一定是最佳选择,这也是为什么这些年这么多的工作提出了各种各样的模型结构,某种程度上都是希望引入对问题有用的归纳偏置;
  4. 推荐在某种程度上可以简化为用户和物品之间的匹配问题,为合适的用户匹配上合适的物品。但是否匹配不等价于是否相似,所以我不完全认同Rendle论文里类似“MLP-based similarities”的用词,MLP学的是未必是相似性,未必要像传统的MF那样学习用户和物品共有的因素。换句话说,用户和物品是否也有一些自己独有的因素是对解决推荐问题有用的呢?这些因素是否能被MLP学习到呢?这需要进一步的研究;
  5. We need benchmark!引用@王鸿伟博士的一个回答,我们需要“对一些常用的数据集引入leaderboard机制,固定train-test的划分机制,固定评价指标,这样能最大限度保证公平比较。”虽然这样难免会出现一些side effect,但总体来说对推荐领域的研究者应该是一件好事情。
重磅!忆臻自然语言处理-学术微信交流群已成立
我们为大家整理了李航老师最新书籍的ppt课件

在这里插入图片描述


添加小助手领取,还可以进入官方交流群!

注意:请大家添加时修改备注为 [学校/公司 + 姓名 + 方向]

例如 —— 哈工大+张三+对话系统。

号主,微商请自觉绕道。谢谢!

Alt

Alt

推荐阅读:
PyTorch Cookbook(常用代码段整理合集)
通俗易懂!使用Excel和TF实现Transformer!
深度学习中的多任务学习(Multi-task-learning)——keras实现

在这里插入图片描述

你可能感兴趣的:(技术经验,深度学习,机器学习)