返回 登录
3

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

作者简介:洪亮劼,Etsy数据科学主管,前雅虎研究院高级经理。长期从事推荐系统、机器学习和人工智能的研究工作,在国际顶级会议上发表论文20余篇,长期担任多个国际著名会议及期刊的评审委员会成员和审稿人。
责编:何永灿(heyc@csdn.net
本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅2017年《程序员》

人工智能和机器学习领域的学术论文汗牛充栋。每年的各大顶级会议、研讨班录用好几千篇论文,即便是亲临现场也很难追踪到所有的前沿信息。在时间精力有限的情况下,选择精读哪些论文,学习哪些热门技术就成为了AI学者和从业人员所头痛的问题。笔者帮助大家筛选出有意思的论文,解读出论文的核心思想,为精读提供阅读指导。

涉及数据库、数据挖掘分析、应用机器学习、搜索引擎技术等多方面技术的顶级会议万维网大会(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的部分来进行抽象学习。这第二个模型也就采用了这个思路。

在第一个模型之上,第二个模型直接把不同Context信息又和已经学到的各种Embedding放在一起,成为了最后产生Relevance Score的一部分。这样的话,在一些场景下出现的结果,就被这个线性模型部分记住了。从实验的部分来说,文章当然是采用了Google的个人搜索实验数据,因此数据部分是没有公开的。从实验效果上来说,文章主要是比较了单纯的用CTR作为Feature,进行记忆的简单模型。

总体说来,文章提出的模型都能够对Baseline提出不小的提升,特别是第二个模型仍然能够对第一个模型有一个小部分但具有意义的提升。这篇文章对于研究如何用深度学习来做文档查询或者搜索的研究者和实践者而言,有不小的借鉴意义,值得精读。

Predicting Intent Using Activity Logs: How Goal Specificity and Temporal Range Affect User Behavior

摘要:这篇文章探讨了如何在Pinterest中对用户的意图进行描述。

本文作者群来自斯坦福大学Jure Leskovec研究组。文章研究的对象是Pinterest的用户群体,探讨了这些用户到Pinterest是否有特别的意图(Intent),以及这些意图是怎样影响这些人的行为,这一系列研究问题。同时,作者们还关注如何从用户的现在的行为数据来预测这个用户当前的意图。最后,作者们探讨了如何利用这篇文章的结果来设计例如推荐系统这样的系统。

这篇文章的分析主要分成两部分,第一部分是通过建立用户的调查数据来得到结果的。和其他在线系统一样,在普通的情况下,Pinterest是不知道用户为什么要访问他们的服务的。或者说是,用户的意图没有那么容易得到发现。这篇文章的作者采用了比较直接的方式获取用户的意图,那就是在用户登入的时候弹出窗口来问用户现在访问是否带有意图(但并没有具体问是哪一种意图)。这个弹出窗口还会问用户究竟对什么类别的物品感兴趣,以及用户打算用多长时间来付诸实践(比如在Pinterest上找到了Recipe,然后下面一步需要花多少时间去把Recipe做出来)。这部分调查了6000位用户。主要有以下结果(如图2):

  1. 用户是否有意图,呈现了两极分化的趋势:一部分用户有极强的目的性,另一部分用户没有太多目的,而中间用户很少。
  2. 有意图的用户,都是脑子里有一定的任务需要完成,浏览的类别比较集中,而且会相对而言更加偏重搜索行为。而没有什么目的性的用户则浏览比较广的类别的物品,而且也没有过多的搜索行为。
  3. 有意图性的用户会去翻看以前已经存储(Saved Content)过的内容,而没有意图性的用户则相对没有这方面的行为。
  4. 有意图性的用户在整个网站服务上花费更多的时间,但一旦达成任务则短期内不会返回网站。
  5. 从时间这个维度上来看,有意图的用户更愿意在短期内完成某种线下的任务(比如找到Recipe以后付诸实施),而长期目标的用户则更多是寻找灵感(Inspiration)。用户有短期目标的更容易在服务上花费更多时间。

图片描述

图2 6000位Pinterest用户的调查情况

文章还从类别上分析了Pinterest的用户行为。比如,Food和Do-It-Yourself(DIY)是Pinterest上最受欢迎的两个类别。而很多喜欢Food的用户都是在Pinterest上去寻找Recipe的。这一点似乎有一点出乎意料。当已经知道了用户的行为意图以后,就需要问一个反过来的问题了,那就是能否根据用户的一些行为数据来预测用户的意图呢?答案是肯定的。而是这篇文章采用了一系列很简单的Feature,以及一个Random Forest的模型就达到了不错的预测准确度的结果。值得注意的是,仅仅使用用户当前Session的信息,就能够基本上达到所有Feature一起使用的效果,并且是用户开始使用10分钟之后就能够比较精准得预测出结果。

这篇文章比较直接,结果也比较直白。不过结尾处作者的一些思考还是不错的。首先,作者指出通过对于用户的意图的了解,我们可以设计不同的推荐系统和不同的用户体验。从这些研究结果来看,用一种界面和系统交互模式是很难满足完全不同的用户需求的。这方面的思考的确有可能是一个新的研究方向。

Usage Patterns and the Economics of the Public Cloud

摘要:这篇文章对当前公共云平台的计价系统进行了分析,同时提出了一些有意思的结论。

本文作者群来自微软研究院和Uber。作者之一R. Preston McAfee是著名的经济学家,曾在雅虎担任副总裁和首席经济学家,2012年以后到Google的Strategic Technology担任总监,2014年之后到微软担任首席经济学家。

文章探讨现在第三方云计算平台(比如Amazon的AWS或是微软的Azure)是否能采用动态价格(Dynamic Pricing)的计价模式,特别是在所谓的“巅峰负载”(Peak-Load)的时候。

首先,这篇文章对“云服务”模式进行了一个简单的介绍。这部分内容还是有很强的科普意义。这里面有一点可能比较容易忽视的科普点是,客户公司(Firm)需要对服务和软件进行重写才能使用云服务商提供的Auto-Scaling等方便的服务。如果客户公司仅仅是简单把运行在传统数据中心上的服务给部署到云服务商的设施上面的话,则很难能够真正利用云服务的“易伸缩性”(Elastic)。

紧接着,作者们对于其他工业怎么采用动态价格进行了简单的介绍。动态价格有两个条件,那就是Capacity在短期内是恒定的(Fixed)并且恒定的一部分成本(Cost)是总成本不小的一部分。当然这都是对于服务商而言。目前我们对于动态价格的主要认识,来源于电力、航空和酒店这些行业。云服务如果按照刚才那个条件来说,是具备动态价格的一些先决条件的。因此,作者们认为应该对云服务的供需进行研究来看如何设计动态价格的策略,也就是说,作者们想看一看现在的云服务的使用率是不是不够优化,为动态服务提供了可操作的空间。

这篇文章能够被WWW录取的一个重要原因可能是因为结果比较出人意料。作者们通过对微软的云服务数据(虽然在文中没有明说)进行分析得出,当前的云服务使用率(主要是从VM这个角度来说)的差别度(Variation) ,不管是看单个客户还是整体数据中心这个级别,都在5%以下。从云服务商这个整体来说,并没有出现特别大的服务需求起落。作者们的确从单个客户的数据中看到了使用率的震荡(Fluctuation),但是在云服务商这个层级,这样的震荡随着不同的客户数据,从而达到了整体“抵消”(Average Out)的效果。作者们认为这样的现实数据为现在的计费模型,也就是恒定的价格(Static Price)提供了一定的基础。

同时,目前可以预测的使用率也为服务商充分利用资源提供了保证。这一点与电力系统不同,电力系统为在巅峰时刻的用电一般必须调用额外的设备。当然,作者们也认为这样的使用数据,以及计费模型,是现在多数客户都简单把原来的软件系统给搬运到云计算平台上,而并没有充分利用云服务的Auto-Scaling有关系。为了对以后的可能性进行探索,作者们又从CPU的使用率这个级别进行分析。与VM的使用率不同的是,CPU的使用率看出了比较大的幅度。平均的最高CPU使用率比巅峰时期CPU使用率要小40%左右。因此,如果服务商能够通过CPU使用率来进行计价,或者VM资源能够在不使用的时候自动关闭,则为动态价格提供了一种可能性。作者们的与测试,这可能是未来的一种模式。

这篇文章算是科普性质的一篇文章。对于动态价格,以及云服务商的计价模式有兴趣的读者可以泛读本文。

论文下载链接:

  1. Beyond Globally Optimal: Focused Learning for Improved Recommendations
  2. Collaborative Metric Learning
  3. Situational Context for Ranking in Personal Search
  4. Predicting Intent Using Activity Logs: How Goal Specificity and Temporal Range Affect User Behavior
  5. Usage Patterns and the Economics of the Public Cloud

相关阅读:


图片描述

CSDN AI热衷分享 欢迎扫码关注

评论