专栏名称: 人工智能头条
专注人工智能技术前沿、实战技巧及大牛心得。
目录
相关文章推荐
51好读  ›  专栏  ›  人工智能头条

Etsy 数据科学主管洪亮劼带你读:WWW 2017 精选论文

人工智能头条  · 公众号  · AI  · 2017-06-15 19:37

正文

涉及 数据库、数据挖掘分析、应用机器学习、搜索引擎技术等多方面技术的顶级会议 万维网大会(26th International World Wide Web Conference) 今年在南半球的澳大利亚珀斯举行。历史上, 万维网大会都是讨论重要学术成就的,特别是关于互联网科技发布的重要学术和技术大会 。因为这个会议涵盖非常广泛的主题,而且一般的读者很难从浩如烟海的文献中即刻抓取到有用信息,笔者从众多文章中精选出5篇有代表性的文章,为读者提供思路。

Beyond Globally Optimal: Focused Learning for Improved Recommendations


概要:这篇文章探讨的是如何平衡一个全局的目标函数和一个局部的目标函数,从而使得推荐系统的结果最佳。

本文来自一群前CMU学者,目前在Google和Pinterest。这篇文章试图解决什么问题呢?具体说来,就是作者们发现, 传统的推荐系统,基于优化一个全局的目标函数,通常情况下往往只能给出一个非常有“偏差”(Skewed)的预测分布 。也就是说,传统的推荐系统追求的是平均表现情况,在很多情况下的预测其实是十分不准确的。这个情况在评价指标是Root Mean Squared Error(RMSE)的时候,尤为明显。 作者定义了一个叫做Focused Learning的问题,如何让模型在一个局部的数据上能够表现出色。 那么,为什么需要模型在一个局部的数据上表现出色呢?作者们做了这么一件事情,那就是对每个用户,以及每一个物品的预测误差(Error)进行了分析统计,发现有不小比例用户的预测误差比较大,也有不小比例的物品预测误差比较大。

作者们发现模型在一些数据上存在着系统性的误差较大的问题,而不是偶然发生的情况。于是又从理论上进行了对这个问题一番讨论。这里的讨论十分巧妙,大概的思路就是,假定现在全局最优的情况下,模型参数的梯度已经为0,但模型的Loss依然不为0(这种情况很常见)。那么,就一定存在部分数据的参数梯度不为0,因为某一部分数据的Loss不为0。这也就证明了部分数据的模型参数在这些数据上的表现一定不是最优的。值得注意的是,这个证明非常普遍,和具体的模型是什么类型没有关系。

在有了这么一番讨论之后,作者们如何解决这个问题呢?本文走了Hyper-parameter Optimization的道路。文章展示了这在普通的Matrix Factorization里面是如何做到。具体说来,就是对于某个Focused Set做Hyper-parameter调优,使得当前的Hyper-parameter能够在Focused Set上能够有最好表现。而这组参数自然是针对不同的Focused Set有不同的选择。

文章提到的另外一个思路,则是对Focused Set以及非Focused Set的Hyper-parameter进行区分对待,这样有助于最后的模型能够有一个比较Flexible的表达。文章在实验的部分针对几种不同的Focused Set进行了比较实验。比如,针对Cold-Start的物品,针对Outlier的物品,以及更加复杂的libFM模型都进行了实验。我们在这里就不去复述了。

总体来说,Focused Learning在不同的数据集上都得到了比较好的提升效果。同时,作者们还针对为什么Focused Learning能够Work进行了一番探讨,总体看来, Focused Learning既照顾了Global的信息,同时又通过附加的Hyper-parameter调优对某一个局部的数据进行优化 ,所以往往好于Global的模型以及也好于单独的Local模型。本文非常适合对推荐系统有兴趣的学者和工程人员精读。


Collaborative Metric Learning


摘要:这篇文章是重新思考推荐系统中人们常常直接使用的点积的概念。文章的核心是看能否使用Metric Learning来寻找更加合适的近似表达。

本文作者来自加州大学洛杉矶分校(University of California at Los Angeles)以及康奈尔科技大学(Cornell Tech)。文章的核心思想是如何把Metric Learning和Collaborative Filtering(CF)结合起来,从而达到更好的推荐效果。

图1 Collaborative Metric Learning


为什么会想到把Metric Learning结合到CF上面呢?文章做了比较详细的交代。这里面的重点来自于传统的基于Matrix Factorization的CF模型都使用了Dot-Product来衡量用户向量(User Vector)和物品向量(Item Vector)的距离。也就是说,如果Dot-Product的值大,就代表两个向量相近,值小就代表距离远。对于Dot-Product的默认使用已经让广大研究人员和实践者都没有怎么去质疑过其合理性。

文章指出,Dot-Product并不是一个合理的距离测度,因此可能会带来对于相似度的学习不准确的问题。这里简单说一下什么是一个合理的距离测度。一个距离测度需要满足一些条件,而其中比较普遍的条件是所谓的“三角不等式”,“三角不等式”关系其实也就是说,距离的大小是有传递性的。举例来说,就是如果X与Y和Z都相近,那么Y和Z也应该相近。也就是说,相似度是可以传播的,在使用一个合理的距离测度的情况下。然而,文章指出Dot-Product并不具备这样的相似传递性,因此在实践中常常会不能有效得学习到数据中全部的信息。

Metric Learning就是如何在一定的假设下,进行有效距离测度学习的工具。 文章使用了一种Relaxed Version的Metric Learning,叫做Large-Margin Nearest Neighbor(LMNN)来学习数据之间的相似度。LMNN简单说来,就是同一个类型的数据应该更加紧密聚集在一起(通过Euclidean Distance),而不同类的数据应该远离。同时,同类的数据和不同类的数据之间保持一个Margin(模型的一个参数)的安全距离。作者们把这个概念拿过来,应用在CF的场景下,做了进一步的简化,那就是把“相同类数据聚合”这个部分去掉了,仅仅留下了“不同类远离”这个部分。作者们认为,一个物品可能被多个人喜欢,那么在这样的含义下,很难说清楚,到底怎么聚类比较有意义。具体说来,一个用户所喜欢的物品要远离这个用户所不喜欢的物品,同时这个距离会被一个与Rank(这里所说的Rank是指物品的排序)有关Weight所控制。也就是Rank越大,所产生的Penalty就越大。文章具体采用了一个叫Weighted Approximate Rank Pairwise Loss(WARP)的Loss来对Rank进行Penalty。这个WARP是早几年的时候还在Google的Weston等人提出的,目的是要对排在Rank比较大的正样本(Positive Instance)做比较大的Penalty。这里就不复述WARP的细节了。

除了外加WARP的Metric Learning,本文还为整个模型的目标函数加了不少“作料”。“作料一”使用了Deep Learning来学习从物品的Feature到物品的Latent Vector的映射,解决了Cold-start的问题。“作料二”则是对物品和用户的Latent Vector都做了正则化,使得学习起来更加Robust。文章简单描述了整个模型的训练过程。

整个模型的目标函数由三个部分组成:Metric Learning、Deep Learning、外加正则化的部分。 比较意外的是,文章并没有提及模型在训练好以后如何在Test数据上进行Inference。文章在一系列标准数据集上做了测试,对比的Baseline也比较完整。总体说来,提出的模型都能达到最好的效果,有些在目前比较好的模型基础上能够提高10%以上,这比较令人吃惊。比较遗憾的是,文章并没有很好的展示这个模型的三个模块究竟是不是都必须。值得一提的是,文章指出使用了WARP的任何模型(包括本文章提出的模型)都要好于其他的模型。这篇文章总的来说还是可以参考。虽然有一些细节很值得推敲,但是, 提出把Metric Learning引入到CF里来说,还是有一定价值的 。建议对推荐系统正在研究的学者精读,对推荐系统有兴趣的实践者泛读。


Situational Context for Ranking in Personal Search


摘要:如何通过深度学习模型和场景信息来提高个人搜索质量。

本文作者群来自于University of Massachusetts Amherst(UMASS)以及Google。UMASS因为W. Bruce Croft(Information Retrieval领域的学术权威)的原因 ,一直以来是培养IR学者的重要学校。文章做这种的Michael Bendersky以及Xuanhua Wang都是Bruce Croft过去的学生。这篇 文章想要讨论的是如何在个人搜索(Personal Search)这个领域根据用户的场景和情况(Situational Context)来训练有效的排序模型(Ranking Model)

这篇文章的核心思想其实非常直观:

  • 场景信息对于个人搜索来说很重要,比如时间、地点、Device,因此试图采用这些信息到排序算法中,是非常显而易见的。

  • 作者们尝试采用Deep Neural Networks来学习Query以及Document之间的Matching。

具体说来,作者们提出了两个排序模型来解决这两个设计问题。第一个模型应该说是第二个模型的简化版。

第一个模型是把Query、Context,以及Document当做不同的模块元素 ,首先对于每一个模块分别学习一个Embedding向量。与之前的一些工作不同的是,这个Embedding不是事先学习好的(Pre-Trained)而是通过数据End-to-End学习出来的。有了各个模块的Embedding向量,作者们做了这么一个特殊的处理,那就是对于不同的Context(比如时间、地点)学习到的Embedding,在最后进入Matching之前,不同Context的Embedding又组合成为一个统一的Context Embedding(这里的目的是学习到例如对时间、地点这组信息的统一规律),然后这个最终的Context Embedding和Query的,以及Document的Embedding,这三个模块进行Matching产生Relevance Score。

第二个模型是建立在第一个模型的基础上的。思路就是把最近的一个所谓叫Wide and Deep Neural Networks(Wide and Deep)的工作给延展到了这里。 Wide and Deep的具体思想很简单。那就是说,一些Google的研究人员发现,单靠简单的DNN并不能很好学习到过去地一些具体经验。原因当然是DNN的主要优势和目的就是学习数据的抽象表达,而因为中间Hidden Layer的原因,对于具体的一些Feature也好无法“记忆”。而在一些应用中,能够完整记忆一些具体Feature是非常有必要的。于是Wide and Deep其实就是把一个Logistic Regression和DNN硬拼凑在一起,用Logistic Regression的部分达到记忆具体数据,而用DNN的部分来进行抽象学习。这第二个模型也就采用了这个思路。







请到「今天看啥」查看全文