first commit
This commit is contained in:
0
专栏/AI技术内参/000开篇词你的360度人工智能信息助理.md
Normal file
0
专栏/AI技术内参/000开篇词你的360度人工智能信息助理.md
Normal file
0
专栏/AI技术内参/001聊聊2017年KDD大会的时间检验奖.md
Normal file
0
专栏/AI技术内参/001聊聊2017年KDD大会的时间检验奖.md
Normal file
81
专栏/AI技术内参/002精读2017年KDD最佳研究论文.md
Normal file
81
专栏/AI技术内参/002精读2017年KDD最佳研究论文.md
Normal file
@ -0,0 +1,81 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
002 精读2017年KDD最佳研究论文
|
||||
前面我们介绍过KDD大会的时间检验奖,每年大会的另外一个亮点奖项就是最佳论文奖,有两类,一类是最佳研究论文,一类是最佳应用数据科学论文。今天我就先来说说前者。
|
||||
|
||||
大会每年都会在众多的学术研究论文中,选择最有新意和价值的研究论文,评选出最佳研究论文的第一名和第二名。从过去十多年的经验来看,KDD历年的最佳研究论文,都会对之后很多领域的研究有开创性的影响。因此,不论是从阅读经典文献的角度,还是从学习最新研究成果的角度来说,认真分析和探讨每年的最佳研究论文都是一个不错的选择。
|
||||
|
||||
今天,我就带你认真剖析一下KDD 2017年的最佳研究论文《通过挖掘类比关系加速创新》(Accelerating Innovation Through Analogy Mining)。
|
||||
|
||||
作者群信息介绍
|
||||
|
||||
第一作者汤姆·霍普(Tom Hope)来自耶路撒冷的希伯来大学(The Hebrew University of Jerusalem),计算机博士,在读第三年。同时,他还是英特尔以色列的资深数据科学员,对深度学习的很多方面都有研究。目前他正在写一本基于TensorFlow的深度学习简明技术书籍。
|
||||
|
||||
第四作者达夫娜·沙哈夫(Dafna Shahaf)是霍普的博士导师,目前在希伯来大学计算机系任助理教授。达夫娜于2012年从卡内基梅隆大学博士毕业。她曾经在微软研究院以及富士通公司实习,并在斯坦福大学攻读博士后。达夫娜的论文曾获得2010年的KDD最佳研究论文,可以说她一直站在机器学习研究的前沿。
|
||||
|
||||
第二作者乔尔(Joel Chan)是来自卡内基梅隆大学人机交互学院的科学家。乔尔于2014年从匹兹堡大学毕业,获得认知心理学博士学位。他一直在人机交互领域进行研究。
|
||||
|
||||
第三作者安尼凯特·科图(Aniket Kittur)是来自卡内基梅隆大学人机交互学院的副教授。他于2009年从加州大学洛杉矶分校毕业,获得认知心理学博士学位,之后就一直在卡内基梅隆大学任教。
|
||||
|
||||
从整个作者群的情况来看,这篇文章是一个比较典型的机器学习技术与人机交互领域的交叉成果。
|
||||
|
||||
论文的主要贡献
|
||||
|
||||
我们先来看一下这篇文章的主要贡献。当然,要想深入理解这篇文章的贡献,我们还要先弄明白,这篇文章主要解决的是一个什么场景下的问题。
|
||||
|
||||
这篇文章主要阐述了帮助创新的一个重要步骤,那就是如何找到合适并且有效的类比案例。什么叫作类比案例?在人类发展的历史上,特别是科学技术的革新历程中,有很多重要的发明发现,都是因为当时的科学家借鉴了一些类似场景中的解决方案,或者是从这些场景中获取了灵感,进一步做出了创新。在这个步骤中,从类似场景中借鉴往往被称作类比。
|
||||
|
||||
比如,莱特兄弟从自行车中得到灵感,制造出了可以滑行的飞行器。再比如,诺贝尔生理学或医学奖得主萨尔瓦多·卢里亚从对赌博机运行的观察中,进一步发现了细菌基因突变的规律。同时,类比在很多国家的法律,不管是成文中或者是运行中都比比皆是。因此,我们可以看到,如何找到合适的类比,并能从中获取灵感,可能就是创新的一个关键因素。
|
||||
|
||||
时至互联网时代的今天,我们已经有很多数据库、文献库可以作为获取类比灵感的重要数据源泉。比如,谷歌学术搜索(Google Scholar)有上百万的论文和专利信息;OpenIDEO有上百份关于社会问题的分析;Quirky有超过两百万份的产品构想;InnoCentive有超过四万份的社会、政治以及科技方面的解决方案;美国专利局有超过九百万份的专利信息,类似的例子还有很多。
|
||||
|
||||
与此同时,海量数据也为寻找灵感带来了很大的挑战。如何才能在这些百万级别的信息库里快速定位可能的类比场景,就成了阻碍创新速度的一大瓶颈。
|
||||
|
||||
找到类比场景有一个很大的挑战,那就是如何定义“类似”或者“相似”。如果仅从一些表面特征来看,很多场景之间的相似程度是很低的。因此,好的类比场景一定是能够找到,刨除表象相似以外的深层次相似的案例。另外一个挑战就是,寻找类比场景中,是否能有一个非常丰富的数据结构来支持推理,如果有,往往就能有比较简单的方法。
|
||||
|
||||
这篇论文的重点是如何从海量的无结构或者弱结构的文本数据中找到这样的类比。我们可以看出,这确实是一个巨大的挑战。
|
||||
|
||||
理解了这篇论文的目的,我这里就直接给你总结一下它的贡献,那就是提出了一种自动的在海量无结构的文本数据中挖掘类比场景的方法。这篇文章关注的是产品信息数据。作者们通过实际的数据,验证了提出的方法比之前的一些文本处理方法更加有效。
|
||||
|
||||
论文的核心方法
|
||||
|
||||
了解了这篇文章的目的和贡献后,接下来,我就来剖析一下作者们究竟提出了一个什么方法。
|
||||
|
||||
首先,作者们提出了一组叫“目的”(Purpose)和“机制”(Mechanism)的概念。什么叫“目的”呢?那就是当前的产品是要解决什么问题的。什么叫“机制”呢?那就是当前的产品是使用什么手段或者方法来解决这个问题的。对于一个产品,如果我们能够明确这个产品的目的和机制,找到类比就变得更加容易。
|
||||
|
||||
比如,我们可以针对某一个问题,相同的目的,采用不同的机制或者对不同的问题采用相同的机制。作者们认为,这种对产品信息的分类符合很多工程设计的过程,是创新过程中的一个必要环节。
|
||||
|
||||
有了这种想法以后,很自然的下一个步骤就是如何从数据中学习到目的和机制,如何自动挖掘出海量产品信息的目的和机制。要想学习到这样的信息,作者们提出了一种依靠标签数据的监督学习(Supervised Leanring)机制。具体说来,作者们把文本信息中的每句话、短语交给亚马逊土耳其机器人(Amazon Mechanical Turk)上的在线工人,来标注每个文本信息是目的信息还是机制信息。也就是说,作者们依靠有标注的数据来训练提出的算法。
|
||||
|
||||
首先,我们有一组文本,每组文本都有这些文本的原始文字。针对每个文档,我们都收集K个目的标注和K个机制标注。这时,我们定义一组“目的标注”(Purpose Annotation)向量,其实也就是一组0或者1的向量。当文本原始文字中的某个字被标识为目的的时候,这个向量的相应元素置1,反之置0。类似的,我们也可以定义“机制标注”(Mechanism Annotation)向量。因为我们有K个标注,因此我们也有相应的K个“目的标注”向量和“机制标注”向量。这两组向量可以说是原始标签信息的一种向量的表达。
|
||||
|
||||
下一步就是从每一个有标签信息的文档里产生唯一的目的向量和机制向量。这篇文章采用的方法是,利用每个单词的嵌入向量(Embedding)来获得这个唯一的向量。
|
||||
|
||||
具体方法是这样的,首先,针对每一个标注(总共有K个),我们收集属于这个标注的单词的嵌入向量,并把这些嵌入向量都拼接起来。然后计算这组拼接好的向量所对应单词的TF-IDF值(Term Frequency–Inverse Document Frequency,词频-逆向文件频率),并且取TF-IDF值最高的一些单词相对应的嵌入向量,加权平均以后,就得到了相应的唯一的目的向量或者是机制向量。作者们发现这种利用TF-IDF值加权的方法可以更加有效地表达文本的各种重要信息。注意,这个步骤是依赖于文档标签的,也就是说,我们只能对训练数据进行这样的构造。
|
||||
|
||||
到目前为止,我们描述了如何从文本到达文本对应的目的向量和机制向量的步骤。那么,如何基于这样的数据以及向量,来对未知的文档进行提取目的向量和机制向量呢?文章采用了深度模型RNN(Recurrent Neural Network,循环神经网络),具体说来是双向的RNN并且有一个GRU(Gated Recurrent Unit,门控循环单元)。
|
||||
|
||||
这里我就不复述细节了,总体的思路就是,根据文档的嵌入向量信息,我们希望得到一组文档的隐含表达(中间参数),然后可以从这个隐含表达来预测目的向量和机制向量。注意,因为需要预测两组目标,目的向量和机制向量,因此,这里至少需要分别有两组参数。
|
||||
|
||||
除了预测文档的目的向量和机制向量以外,作者们还提出了一个用少数关键词来解释这两组变量的机制。具体说来,就是设立一个新的学习目标函数,希望通过少数关键词所对应的嵌入向量来重构目的向量或者机制向量,让得到的误差最小。
|
||||
|
||||
方法的实验效果
|
||||
|
||||
作者们使用了Quirky数据集,通过亚马逊土耳其机器人标注了八千多组产品信息。首先,检测了利用学习到的目的向量和机制向量,是否能够比较容易地从海量数据中提取相应的类比信息。这里,作者们直接利用把目的向量和机制向量拼接的方式来表达问题。答案是,效果非常显著。在前1%到25%的提取结果中,精度(Precision)和召回(Recall)都比之前的标准文本处理方法,比如LDA、TF-IDF、全局的嵌入向量要好10%到20%,可以说这是非常有效果的。
|
||||
|
||||
作者们还测试了,通过提出的方法,是否能够为用户推荐比较好的类比场景。这里,文章又找了38个亚马逊土耳其机器人的虚拟工人来为12个产品思路打分。在不知道推荐方法的情况下,虚拟工人认为这篇文章提出的方法能够推荐更有新意、在深层次上更加类似的场景。这也部分解决了我们前面说到的文章希望解决的问题。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了KDD 2017年的年度最佳研究论文,这篇论文提出了一种自动的方法来挖掘类比信息,为快速创新铺平道路。一起来回顾下要点:第一,我简单地介绍了这篇文章的作者群信息,帮你了解到这篇文章是机器学习和人机交互研究的一个结合。第二,我详细地介绍了这篇文章想要解决的问题以及贡献。第三,我简要地介绍了文章所提出方法的核心内容。
|
||||
|
||||
最后,给你留一个思考题,这篇文章提出的是使用标注信息来获取目的向量和机制向量,我们有没有办法能够不使用标注信息,采用完全无监督的方式呢?
|
||||
|
||||
拓展阅读:Accelerating Innovation Through Analogy Mining
|
||||
|
||||
|
||||
|
||||
|
78
专栏/AI技术内参/003精读2017年KDD最佳应用数据科学论文.md
Normal file
78
专栏/AI技术内参/003精读2017年KDD最佳应用数据科学论文.md
Normal file
@ -0,0 +1,78 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
003 精读2017年KDD最佳应用数据科学论文
|
||||
周一我们讲了2017年KDD最佳研究论文,今天我们继续来聊今年的KDD最佳应用数据科学论文。
|
||||
|
||||
与研究类论文不同的是,KDD的应用类学术论文更加强调论文所描述的方法或者系统在实际应用中发挥的作用。比如,很多论文都是对现有的已部署的系统进行总结,对工业界的很多研究人员和工程师往往都有不小的借鉴意义。和研究类论文一样,从阅读经典文献和学习最新研究成果的角度,我们都应该认真分析和探讨每年的最佳应用类论文。
|
||||
|
||||
2017年KDD最佳应用数据科学论文题目是,《HinDroid:基于结构性异构信息网络的智能安卓恶意软件检测系统》(HinDroid: An Intelligent Android Malware Detection System Based on Structured Heterogeneous Information Network)。可以说2017年是信息安全备受关注的一年,2016年美国大选过程中传出了种种关于俄罗斯利用黑客入侵大选候选人的新闻,让整个社会对信息安全的话题变得异常敏感。这是一篇有关如何智能地分析安卓恶意软件的论文,真是非常应景。
|
||||
|
||||
作者群信息介绍
|
||||
|
||||
文章的第一作者和第二作者都来自西弗吉尼亚大学(West Virginia University)的计算机科学与电气工程系。第一作者Shifu Hou是该系的博士生,先后发表过多篇论文。第二作者叶艳芳(Yanfang Ye)是该系的助理教授。叶艳芳2010年从厦门大学博士毕业,先后在金山公司和科摩多(Comodo Security Solutions)从事信息安全方面的研究和开发工作。2013年,她加入西弗吉尼亚大学任教。这篇KDD论文因为第一作者也是在读学生,因此也是最佳学生论文。
|
||||
|
||||
第三作者宋阳秋(Yangqiu Song)是来自香港科技大学的计算机系助理教授。宋阳秋有丰富的学术和工业界经历。2016年加入香港科技大学,在这之前曾经在西弗吉尼亚大学任教。2012年到2015年之间他曾在伊利诺伊大学香槟分校、香港科技大学、华为诺亚方舟实验室等地访问。2009年到2012年曾在微软亚洲研究院和IBM研究院工作。2009年于清华大学博士毕业。
|
||||
|
||||
最后一位作者是土耳其企业家米勒夫·阿杜勒哈尤格鲁(Melih Abdulhayoğlu)。他是科摩多(Comodo)的CEO,于1998年创立了公司。这篇论文挂了他的名字是因为使用了科摩多的数据。
|
||||
|
||||
论文的主要贡献
|
||||
|
||||
我们首先来看一下这篇文章的主要贡献。类似地,按照我们周一分析最佳研究论文的思路,首先必需弄明白,这篇文章主要解决了什么场景下的问题。
|
||||
|
||||
这篇文章希望解决的问题描述起来很直观,那就是如何有效地监测安卓手机系统下的恶意软件。经预测,到2019年,全球的手机市场中,77.7%将是智能手机,这里面安卓系统的市场占有率至少是80%。由于安卓系统的开放性以及分散的各类安卓手机软件市场,对安卓软件进行监控和分析存在很大难度。各类恶意软件在安卓生态系统中可以说层出不穷,比如Geinimi、DroidKungfu以及Lotoor等等。更悲观的统计来自赛门铁克(Symantec)的《互联网安全威胁报告》,认为五分之一的安卓软件是恶意软件。
|
||||
|
||||
之前很多恶意软件的分析和检测都是基于某种“指纹签字”技术,然而这种技术常常被恶意软件开发者的新手段绕过。因此,寻找更加复杂有效的检测方式就成了各种信息安全公司所追逐的目标。
|
||||
|
||||
这篇论文的主要贡献是根据安卓的API,提出了一种新的基于结构性异构信息网络的方法,来对安卓程序的API模式进行更加复杂的建模,从而能够理解整个安卓程序的语义。作者们还采用了多核学习(Multi-Kernel Learning)的方法,在结构性异构信息网络的基础上对程序语义模式进行分类。
|
||||
|
||||
最后,文章提出的方法在科摩多的真实数据上达到了非常高的准确度,远远优于现在的一些主流方法。并且,科摩多已经在产品中部署了这个方法。
|
||||
|
||||
论文的核心方法
|
||||
|
||||
了解了这篇文章的目的和贡献,接下来,我就来剖析一下作者们提出的方法。
|
||||
|
||||
首先,需要将安卓的程序代码转换为可以分析的形式。一般来说,安卓的软件被打包为后缀名为Dex的Dalivik执行文件,这个执行文件无法被直接分析。于是,需要把这个执行文件通过一个叫 Smali 的反汇编器解析成Smali代码。这个时候,软件的语义就能够通过Smali代码来解析了。作者们从Smali代码中提取所有的API调用,通过对API的分析来对程序行为建模。
|
||||
|
||||
下一步,就是要从繁复的API调用中摸索出这里面的规律。作者们这个时候构建了四类矩阵来表达API和某个App之间的基本特征:
|
||||
|
||||
|
||||
某一个App是否包含了某一个API;
|
||||
某两个API是否同时出现在某一段代码中;
|
||||
某两个API是否出现在同一个App中;
|
||||
某两个API是否使用了相同的调用方法。
|
||||
|
||||
|
||||
可以看出,这些矩阵可以抓住API和App之间的一个基本信息,还可以抓住一系列API同时出现进行某种操作的特征信息。这些矩阵成了发现高阶规律的基础。
|
||||
|
||||
为了发现更加复杂的规律,作者们在这里引入了一个工具叫异构信息网络。异构信息网络的概念最早由伊利诺伊大学香槟分校的数据挖掘权威韩家炜(Jiawei Han)和他当时的学生孙怡舟(Yizhou Sun,目前在加州大学洛杉矶分校任教)提出。异构信息网络的核心思想就是希望能够表达一系列实体(Entity)之间的复杂规律。
|
||||
|
||||
传统的方法把实体表达成图(Graph)的节点,实体之间的关系表达成节点之间的链接。这样的方式忽略了实体本身的不同以及关系的类型也有所不同。异构信息网络就是更加完整和系统地表达多种不同实体和实体关系的一种建模工具。在这篇文章中,有两类实体:App和API调用,有四类关系(和刚才定义的矩阵相同)。而刚才定义的矩阵其实就是这四类关系所对应的图的邻接矩阵。
|
||||
|
||||
把App和API的关系描述成为异构信息网络以后,下面的工作就是定义更高阶的规律关系。为了更好地定义这些复杂关系,作者们使用了一个叫元路径(Meta-Path)的工具。元路径其实是提供一个描述性的模板语言来定义高阶关系。
|
||||
|
||||
比如,我们可以定义一个从App到API再到App的“路径”,用于描述两个App可能都含有相同的API调用。这个路径就可以帮助我们从最开始的四个矩阵推出更加复杂的矩阵来表达一些信息。那么,根据人们的领域知识(这里就是安全领域),作者们就定义了多达16种元路径,从而全面捕捉App和API之间的各种关系。
|
||||
|
||||
利用异构信息网络和元路径构建了程序的语义表达后,下一步就是进行恶意软件的判别。这里,作者们采用了多核学习的思想。简而言之,就是把之前通过元路径所产生的新矩阵看作一个“核”。这里的多核学习就是要学习一个线性的分类器,特征是每个App到某一个核的一个非线性转换,这个转换是在学习过程中得到的。换句话说,这个多核学习的流程要同时学习一个分类器来判断一个程序是不是恶意程序,还需要在这个过程中学习从App到核的转换。
|
||||
|
||||
方法的实验效果
|
||||
|
||||
作者们使用了科摩多的数据集,收集了2017年两个月里1834个App的信息。正常程序和恶意程序几乎各一半。另外还有一个数据集包含3万个App信息,也几乎是正例负例各一半。从实验结果来看,结合了16个定义好的元路径的多核学习能够实现高达98%的F1值。F1值可以认为是精度和召回的一个平衡,同时准确率也是高达98%。
|
||||
|
||||
文章还比较了一些其他比较流行的方法,比如神经网络、朴素贝叶斯(Naïve Bayes)分类器、决策树以及支持向量机,这些方法基本的F1值都在85%和95%之间,和文章提到的方法有较大差距。另外,文章还和现在的一些商业软件,比如Norton、Lookout、CM做了比较。这些商业软件的准确度也在92%上下徘徊。因此,文章所采用的方法的确比之前的很多方法都更有效果。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了KDD 2017年的最佳应用类论文。这篇论文提出了,如何来分析安卓手机软件的行为进而检测手机应用是否是恶意软件。一起来回顾下要点:第一,简要介绍了这篇文章的作者群信息。第二,详细介绍了这篇文章要解决的问题以及贡献。第三,简要分析了文章提出方法的核心内容 。
|
||||
|
||||
总结一下,文章解决的问题就是如何有效监测安卓手机系统下的恶意软件,主要贡献是提出了一种新的基于结构性异构信息网络的方法,来理解安卓程序的语义。使用元路径的工具定义复杂关系,还采用了多核学习的方法完成恶意软件的判别。论文使用科摩多的数据集,验证了所提出的方法比当下流行的一些其他方法都更加有效。
|
||||
|
||||
最后,给你留一个思考题,文章中提到的多核学习方法这个步骤,是不是必需的?能否换成其他方法呢?
|
||||
|
||||
拓展阅读:HinDroid: An Intelligent Android Malware Detection System Based on Structured Heterogeneous Information Network
|
||||
|
||||
|
||||
|
||||
|
0
专栏/AI技术内参/004精读2017年EMNLP最佳长论文之一.md
Normal file
0
专栏/AI技术内参/004精读2017年EMNLP最佳长论文之一.md
Normal file
0
专栏/AI技术内参/005精读2017年EMNLP最佳长论文之二.md
Normal file
0
专栏/AI技术内参/005精读2017年EMNLP最佳长论文之二.md
Normal file
0
专栏/AI技术内参/006精读2017年EMNLP最佳短论文.md
Normal file
0
专栏/AI技术内参/006精读2017年EMNLP最佳短论文.md
Normal file
80
专栏/AI技术内参/007精读2017年ICCV最佳研究论文.md
Normal file
80
专栏/AI技术内参/007精读2017年ICCV最佳研究论文.md
Normal file
@ -0,0 +1,80 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
007 精读2017年ICCV最佳研究论文
|
||||
ICCV(International Conference on Computer Vision,国际计算机视觉大会),是每两年举办一次的计算机视觉顶级会议。从1987年开始举办,已经有30年的历史。2017年的ICCV大会于10月22日至29日在意大利的水城威尼斯举行。
|
||||
|
||||
在每届ICCV大会上,都会从众多学术论文中挑选出两篇最有新意和价值的论文作为最佳研究论文和最佳学生论文。ICCV的最佳论文奖又叫作“马尔奖项”(Marr Prize),是为了纪念英国的心理学家和神经科学家大卫·马尔(David Marr)而设计的奖项。马尔将心理学、人工智能和神经生理学的研究成果结合起来,提出了全新的关于视觉处理的理论,他被认为是计算神经科学的创始人。
|
||||
|
||||
今天,我就来带你认真剖析一下ICCV 2017年的最佳研究论文“Mask R-CNN”。这篇论文是一个集大成的工作,介绍了一个新的方法可以用于同时解决图像的“物体识别”(Object Detection)、“语义分割”(Semantic Segmentation)和“数据点分割”(Instance Segmentation)的工作。
|
||||
|
||||
什么意思呢?通俗地讲,那就是给定一个输入的图像,利用这篇论文提出的模型可以分析这个图像里究竟有哪些物体,比如是一只猫,还是一条狗;同时能够定位这些物体在整个图像中的位置;并且还能针对图像中的每一个像素,知道其属于哪一个物体,也就是我们经常所说的,把物体从图像中“抠”出来。
|
||||
|
||||
作者群信息介绍
|
||||
|
||||
这篇论文的作者全部来自Facebook的人工智能研究院(Facebook AI Research)。
|
||||
|
||||
第一作者就是近几年在计算机视觉领域升起的学术之星何恺明博士(Kaiming He)。他于2016年加入Facebook人工智能研究院,之前在微软亚洲研究院进行计算机视觉的研究工作;他还是CVPR 2016年和CVPR 2009年的最佳论文得主。目前,何恺明在计算机视觉领域有三项重大贡献。
|
||||
|
||||
第一,他与其他合作者发明的ResNet从2016年以来成为了计算机视觉深度学习架构中的重要力量,被应用到了计算机视觉以外的一些领域,比如机器翻译和AlphaGo等,相关论文引用数超过5千次。
|
||||
|
||||
第二,他与其他合作者开发的Faster R-CNN技术,发表于NIPS 2015上,是图像物体识别和语义分析的重要技术手段,也是今天我们要讨论的这篇论文的基础,论文引用数超过2千次。
|
||||
|
||||
第三,他与其他合作者在ICCV 2015年发表论文《深入研究整流器:在ImageNet分类上超越人类水平》(Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification),研究了一种改进的ReLU(Rectified Linear Unit,线性整流函数,又称修正线性单元)结构从而达到了更好的效果,论文引用数近2千次。
|
||||
|
||||
第二作者乔治亚⋅吉克里奥夏里(Georgia Gkioxari)目前是Facebook人工智能研究院的博士后研究员。乔治亚可以说是师出名门,在Facebook工作之前才从加州大学伯克利毕业,师从计算机视觉泰斗吉腾德拉⋅马利克(Jitendra Malik)。乔治亚之前还分别在谷歌大脑和谷歌研究院实习过。在过去几年中,乔治亚在计算机视觉界已经发表了多篇高质量论文。
|
||||
|
||||
第三作者皮奥特⋅多拉(Piotr Dollár)是Facebook人工智能研究院的一名经理。2007年从加州大学圣地亚哥分校获得博士学位,2014年加入Facebook,这之前在微软研究院工作。皮奥特长期从事计算机视觉的研究工作。
|
||||
|
||||
最后一个作者罗斯⋅吉尔什克(Ross Girshick)是Facebook人工智能研究院的一名科学家。他于2012年毕业于芝加哥大学,获得计算机博士。罗斯之前也在微软研究院工作,也曾在计算机视觉泰斗吉腾德拉的实验室里担任博士后的研究工作。
|
||||
|
||||
论文的主要贡献
|
||||
|
||||
我们首先来看一下这篇文章的主要贡献。还是要先去理解,这篇文章主要解决的是一个什么场景下的问题。
|
||||
|
||||
刚才我们已经简单地谈到了,这篇文章要解决的问题,就是对输入图像的物体识别、语义分割,以及数据点分割,是这三个任务的一个集成。在之前的一个工作中,“Faster R-CNN”[1]已经解决了前两个任务。那么,这篇论文其实就是Faster R-CNN在逻辑上的一个扩展。然而,这个扩展也并不是那么显而易见的。为了解决数据点分割的任务,Mask R-CNN提出了深度学习网络结构上的一个创新,这是本篇论文的一个重要贡献。
|
||||
|
||||
本文提出的模型不仅在数据点分割的标准数据集COCO上表现强劲,击败所有之前提出的模型以外,还能够很容易地扩展到其他的任务中,比如“人体形态估计”(Human Pose Estimation),从而奠定了Mask R-CNN作为一个普适性框架的地位。
|
||||
|
||||
论文的核心方法
|
||||
|
||||
要想理解Mask R-CNN的核心思想,我们就必须先简要理解Faster R-CNN的一些基本原理。刚才说到了,Mask R-CNN就是在其之上的一种改进和延伸。
|
||||
|
||||
Faster R-CNN对于每一个输入图像中的每一个候选物体,都会有两个输出,一个是候选物体的标签(比如,猫、狗、马等),还有一个就是一个矩形框(Bounding Box),用于表达这个物体在图像中的位置。第一个标签输出是一个分类问题(Classification),而第二个位置预测则是一个回归问题(Regression)。
|
||||
|
||||
Faster R-CNN分为两个阶段(Stage)。第一个阶段叫作“区域提交网络”(Region Proposal Network),目的是从图像中提出可能存在的候选矩形框。第二个阶段,从这些候选框中使用一个叫“RoIPool”的技术来提取特征从而进行标签分类和矩形框位置定位这两个任务。这两个阶段的一些特性可以共享。
|
||||
|
||||
区域提交网络的大体流程是这样的。最原始的输入图像经过经典的卷积层变换之后形成了一个图像特征层。在这个新的图像特征层上,模型使用了一个移动的小窗口(Sliding Window)来对区域进行建模。这个移动小窗口有这么三个任务需要考虑。
|
||||
|
||||
首先移动小窗口所覆盖的特征经过一个变换达到一个中间层,然后经过这个中间层,直接串联到两个任务,也就是物体的分类和位置的定位。其次,移动的小窗口用于提出一个候选区域,有时候也叫ROI,也就是矩形框。而这个矩形框也参与刚才所说的定位信息的预测。
|
||||
|
||||
当区域提交网络“框”出了物体的大致区域和类别之后,模型再使用一个“物体检测”(Object Detection)的网络来对物体进行最终的检测。在这里,物体检测实际是使用了Fast R-CNN[2]的架构。所以,也就是为什么Faster R-CNN的名字里用“Faster”来做区分。Faster R-CNN的贡献,在于区域提交网络和Fast R-CNN的部分,也就是物体检测的部分达到了共享参数,或者叫共享网络架构,这样也就起到了加速的作用。
|
||||
|
||||
Mask R-CNN在第一部分完全使用Faster R-CNN所提出的区域提交网络,在此基础上,对第二部分进行了更改。也就是说,不仅仅在第二部分输出区域的类别和框的相对位置,同时,还输出具体的像素分割。然而,和很多类似工作的区别是,像素分割、类别判断、位置预测是三个独立的任务,并没有互相的依赖,这是作者们认为Mask R-CNN能够成功的一个重要的关键。对比之前的一些工作,像素分割成了类别判断的依赖,从而导致这几个任务之间互相干扰。
|
||||
|
||||
Mask R-CNN在进行像素分割的时候,因为要在原始的图像上进行分割,因此需要在整个流程中保留原始图像的位置关系。这个需求是类别判断和位置预测所不具备的。而在Faster R-CNN中,因为不需要这个需求,因此类别判断和位置预测所依赖的信息是一个压缩过后的中间层。那么很明显,Mask R-CNN依靠这个压缩层就不够了。在这篇文章中,作者们提出了一个叫RoIAlign的技术来保证中间提取的特征能够反映在最原始的像素中。如果对这部分内容感兴趣,建议你去细读文章。
|
||||
|
||||
方法的实验效果
|
||||
|
||||
作者们使用Mask R-CNN在目前流行的图像物体检测任务数据集COCO 2015和COCO 2016上做了检测,相对于之前的这两个竞赛的冠军,实验结果表明Mask R-CNN的精度都大幅度增加。在一个“平均精度”(Average Precision)的度量上,Mask R-CNN比COCO 2015的最佳结果好了近13%,而比COCO 2016的最佳结果好了4%,可以说效果非常明显。在实验结果中,作者们非常细致地测试了整个Mask R-CNN中每一个部件的效果。其中,把三个任务分开、以及RoIAlign方法都有非常显著的作用,证明了这些模型组件是优秀结果的必要步骤。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了ICCV 2017年的最佳研究论文,这篇文章介绍了目前在图像物体识别中的最新算法Mask R-CNN的大概内容。
|
||||
|
||||
一起来回顾下要点:第一,我们简要介绍了这篇文章的作者群信息。第二,我们详细介绍了这篇文章要解决的问题以及贡献 。第三,我们简要地介绍了文章提出方法的核心内容 。
|
||||
|
||||
最后,给你留一个思考题,你觉得为什么Mask R-CNN,包括之前的一些工作,要把物体检测的工作分为两步,第一步先分析一个大的矩形框,第二步进行物体检测,这两步都是必要的吗?
|
||||
|
||||
参考文献
|
||||
|
||||
|
||||
Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks. IEEE Trans. Pattern Anal. Mach. Intell. 39, 6 (June 2017), 1137-1149, 2017.
|
||||
Ross Girshick. Fast R-CNN. Proceedings of the 2015 IEEE International Conference on Computer Vision (ICCV) (ICCV ‘15). IEEE Computer Society, Washington, DC, USA, 1440-1448, 2015.
|
||||
|
||||
|
||||
|
||||
|
||||
|
75
专栏/AI技术内参/008精读2017年ICCV最佳学生论文.md
Normal file
75
专栏/AI技术内参/008精读2017年ICCV最佳学生论文.md
Normal file
@ -0,0 +1,75 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
008 精读2017年ICCV最佳学生论文
|
||||
周一我们认真剖析了ICCV 2017年的最佳研究论文“Mask R-CNN”。今天我们来分享ICCV 2017的最佳学生论文《焦点损失用于密集物体检测》(Focal Loss for Dense Object Detection)。
|
||||
|
||||
可以说,这篇文章是我们周一分享的最佳论文的孪生兄弟。首先,这篇论文的作者群也基本是Facebook人工智能研究院的班底。其次,这篇文章解决的问题也很类似,也是物体识别和语义分割,只是不解决数据点分割的问题。
|
||||
|
||||
作者群信息介绍
|
||||
|
||||
除第一作者外,这篇论文的作者都来自Facebook的人工智能研究院。
|
||||
|
||||
第一作者林仓义(Tsung-Yi Lin),目前在谷歌大脑(Google Brain)团队工作,发表论文的时候在Facebook人工智能研究院实习。林仓义在台湾国立大学获得本科学位,在加州大学圣地亚哥分校获得硕士学位,2017年刚从康奈尔大学博士毕业。博士期间,他师从计算机视觉专家塞尔盖⋅比隆基(Serge Belongie),发表了多篇高质量的计算机视觉论文。
|
||||
|
||||
第二作者皮里亚⋅高耶(Priya Goyal)是Facebook人工智能研究院的一名研究工程师。在加入Facebook之前,皮里亚从印度理工大学获得了学士和硕士学位。
|
||||
|
||||
第三作者罗斯⋅吉尔什克(Ross Girshick),第四作者何恺明,还有最后一个作者皮奥特⋅多拉(Piotr Dollár),这三位作者也是周一的最佳研究论文的作者,我们已经介绍过了,你可以回去再了解一下。
|
||||
|
||||
论文的主要贡献
|
||||
|
||||
我们首先来看一下这篇文章的主要贡献。
|
||||
|
||||
刚才我们已经简单地谈到了,这篇文章要解决的问题,就是对输入图像进行物体识别和语义分割这两个任务。对于这个问题有两种主要的思路,这两个思路都在不断地发展。
|
||||
|
||||
第一种思路,那就是直接从输入图像入手,希望能够从输入图像中提取相应的特征,从而能够直接从这些特征中判断当前的图像区域是否属于某个物体,然后也能够一次性地找到矩形框的位置用于定位这个物体。
|
||||
|
||||
这种思路虽然直观,但有一个致命的问题,那就是对于一个输入图像来说,大量的区域其实并不包含目标物体,因此也就可以被认为是学习过程中的“负例”(Negative Instance)。如何有效地学习这么一个“不均衡”(Imbalanced)的数据集是这种思路需要考虑的问题。
|
||||
|
||||
因为这个因素,研究者们就开始思考另外一种思路,那就是先学习一个神经网络用于找到一些候选区域,然后在第二个阶段根据候选区域再去最终确定物体的类别和矩形框的位置。
|
||||
|
||||
在最近几年的实际评测中,基于两个阶段(Two-stage)的模型,包括我们在上一篇分享中提到的Faster R-CNN以及其他变种一般都有比较好的表现。而基于一个阶段(One-stage)的模型,在这篇文章发布之前还不能达到两个阶段模型的水平。
|
||||
|
||||
本篇文章提出了一个新的目标函数,叫作“焦点损失”(Focal Loss),用于取代传统的“交叉熵”(Cross Entropy)的目标函数。这个新目标函数的主要目的就是让一个阶段模型能够在正负例比例非常不协调的情况下,依然能够训练出较好的模型,从而使得一个阶段模型在效果上能够和两个阶段模型媲美。同时,文章还提出了一种比较简单易用的深度网络结构,可以简单地训练出整个模型。
|
||||
|
||||
论文的核心方法
|
||||
|
||||
在这一节,我们来讲一讲“焦点损失”的含义。因为这是一个新的目标函数,建议你还是阅读原文来理解这个目标函数的数学性质。这里,我们针对这个新的目标函数进行一个高度概括性的解释。
|
||||
|
||||
我们从普通的二分分类问题中常用的交叉熵,我们简称为CE目标函数说起。首先,我们认为模型预测类别是正例的概率是P。CE目标函数基本上可以认为是这个概率的对数的负数,也就是在机器学习中经常使用的“负对数似然”(Negative Log Likelihood)。模型的目的是最小化“负对数似然”,从而学习模型参数。
|
||||
|
||||
作者们观测到这么一个现象,那就是CE目标函数在P是一个比较大的数值时,比如大于0.5的时候,依然会有一个“损失”(Loss)。什么意思呢?就是说,某一个数值点,我们现在已经知道它可能是正例的可能性大于0.5了,也就是我们其实已经大体知道这个结果了,但是目标函数依然认为学习算法需要去对这个数据点进行作用,从而减少这个“损失”。
|
||||
|
||||
这其实也就是整个问题的核心,那就是传统的CE目标函数,并没有指导机器学习算法用在“应该使劲”的地方,而是分散到了一些原本已经不需要再去关注的数据点上。当然,这也就造成了学习困难的局面。
|
||||
|
||||
这篇文章提出的“焦点损失”对CE进行了一个看上去很小的改动,那就是在CE目标函数的“负对数似然”之前乘以一个“相反概率”的系数,并且这个系数有一个指数参数去调节这个系数的作用。如果你对这个内容感兴趣,建议你参考原论文查看细节。如果对细节不感兴趣,那重点理解这个目标函数的作用就可以了。
|
||||
|
||||
“焦点损失”有两个性质。第一,当一个数据点被分错类的时候,并且这个数据点的真实概率很小,那么,损失依然和CE类似。当一个数据点的真实概率趋近1,也就是原本算法就可以比较自信的时候,损失会相对于CE变小。第二,刚才所说的系数起到了一个调节作用,决定究竟需要对哪些“容易分类的数据点”降低损失到什么程度。
|
||||
|
||||
文章在新的“焦点损失”的基础上提出了一个新的网络结构叫RetinaNet,使用一个阶段的思路来解决物体检测和语义分割的任务。这里我简要概括一下RetinaNet的一些特点。
|
||||
|
||||
第一,RetinaNet使用了ResNet来从原始的输入图像中抽取基本的图像特性。
|
||||
|
||||
第二,文章采用了一种叫FPN(Feature Pyramid Net)的网络架构来对图像的不同分辨率或者不同大小的情况进行特性抽取。
|
||||
|
||||
第三,和Faster R-CNN相似的,RetinaNet也是用了Anchor的思想,也就是说从小的一个移动窗口中去寻找一个比较大的矩形框的可能性。
|
||||
|
||||
最后,RetinaNet把从FPN抽取出来的特性用于两个平行的网络结构,一个用于物体分类,一个用于矩形框的定位。这一点很类似两个阶段模型的做法。
|
||||
|
||||
方法的实验效果
|
||||
|
||||
作者们使用RetinaNet在目前流行的图像物体检测任务数据集COCO上做了检测。首先,RetinaNet的“平均精度” (Average Precision)要好于之前的所有一个阶段模型,初步验证了提出的目标函数和网络架构的优越性。并且,在实验中,作者们分别使用了不同的“焦点损失”指数参数来展示这个参数对于结果的重要性。同时,作者们还展示了,RetinaNet能够比Faster R-CNN这种经典的两阶段模型,以及一些变种在实验结果上至少持平甚至要更好。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了2017年ICCV的最佳学生论文,这篇文章介绍了目前在图像物体识别中的最新目标函数“焦点损失”的大概内容。
|
||||
|
||||
一起来回顾下要点:第一,我们简要介绍了这篇文章的作者群信息。第二,我们分析了这篇文章要解决的问题和主要贡献 。第三,我们详细介绍了文章提出方法的核心内容 。
|
||||
|
||||
最后,给你留一个思考题,除了这篇文章介绍的更改目标函数的方法,针对不平衡的数据集,你觉得还有哪些通常使用的方法?
|
||||
|
||||
|
||||
|
||||
|
69
专栏/AI技术内参/009如何将深度强化学习应用到视觉问答系统?.md
Normal file
69
专栏/AI技术内参/009如何将深度强化学习应用到视觉问答系统?.md
Normal file
@ -0,0 +1,69 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
009 如何将深度强化学习应用到视觉问答系统?
|
||||
本周我们一起来剖析ICCV 2017的论文,周一和周三分别讲了最佳研究论文和最佳学生论文。今天,我们来分享一篇完全不同的文章,题目是《使用深度强化学习研究协作性视觉对话机器人》(Learning Cooperative Visual Dialog Agents with Deep Reinforcement Learning),讲的是如何通过“深度强化学习”来解决视觉问答系统。
|
||||
|
||||
作者群信息介绍
|
||||
|
||||
第一作者阿布谢克·达斯(Abhishek Das)是一名来自佐治亚理工大学的在读博士生。他于2017年和2018年在Facebook人工智能研究院实习,已经获得了Adobe的研究奖学金和Snapchat的研究奖学金,可以说是一名非常卓越的博士生。之前在智能系统,特别是在利用强化学习研究智能机器人会话系统的领域已经发表了多篇论文。
|
||||
|
||||
共同第一作者萨特维克·库托儿(Satwik Kottur)来自卡内基梅隆大学,博士第四年,研究领域为计算机视觉、自然语言和机器学习。2016年暑假他在Snapchat的研究团队实习,研究对话系统中的个性化问题。2017年暑假在Facebook研究院实习,研究视觉对话系统。近两年,萨特维克已在多个国际顶级会议如ICCV 2017、ICML 2017、IJCAI 2017、CVPR 2017、NIPS 2017以及EMNLP 2017发表了多篇高质量研究论文,可以说是一颗冉冉升起的学术新星。
|
||||
|
||||
第三作者何塞·毛拉(José M. F. Moura)是萨特维克在卡内基梅隆大学的导师。何塞是美国工程院院士和IEEE院士,长期从事信号处理以及大数据、数据科学的研究工作。他当选2018年IEEE总裁,负责IEEE下一个阶段的发展。
|
||||
|
||||
第四作者斯特凡·李(Stefan Lee)是来自乔治亚理工大学的研究科学家,之前在弗吉尼亚理工大学任职,长期从事计算机视觉、自然语言处理等多方面的研究。斯特凡2016年博士毕业于印第安纳大学计算机系。
|
||||
|
||||
第五作者德鲁·巴塔(Dhruv Batra)目前是Facebook研究院的科学家,也是乔治亚理工大学的助理教授。德鲁2010年博士毕业于卡内基梅隆大学;2010年到2012年在位于芝加哥的丰田理工大学担任研究助理教授;2013年到2016年在弗吉尼亚大学任教。德鲁长期从事人工智能特别是视觉系统以及人机交互系统的研究工作。文章的第四作者斯特凡是德鲁长期的研究合作者,他们一起已经发表了包括本文在内的多篇高质量论文。
|
||||
|
||||
论文的主要贡献
|
||||
|
||||
我们首先来看一下这篇文章的主要贡献,理解这篇文章主要解决了什么场景下的问题。
|
||||
|
||||
这篇论文是建立在这么一个虚拟“游戏”(Game)的基础上的。
|
||||
|
||||
首先,我们有两个“机器人”(Agent),一个叫“Q机器人”(Q-Bot),一个叫“A机器人”(A-Bot)。这个游戏的规则是这样的。一开始,A机器人得到一张图片I,Q机器人一开始得到I的一个文字描述c,而并不知道图片本身。然后,Q机器人开始问A机器人关于图片的各种问题,A机器人听到问题之后进行作答,帮助Q机器人更进一步理解图片。Q机器人最终的目的是能够把这个图片“猜到”,也就是说能够把图片从一个数据库中“提取”(Retrieve)出来。当然在实际的操作中,这一步可以是去衡量Q机器人对于图像的理解,也就是“描述图像的向量”和“真实图像的描述向量”的差距,差距越小说明越成功。
|
||||
|
||||
那么,你可以看到,这其实是一个很难的问题。Q机器人必须从A机器人提供的图像文字描述中寻找线索,并且能够提出有意义的问题。而A机器人必须了解Q机器人到目前为止究竟理解什么信息,才能帮助Q机器人成功。
|
||||
|
||||
整个游戏,或者叫任务,常常被称作是“协作性的视觉对话系统”(Cooperative Visual Dialog System)。这篇文章的主要贡献就是第一个利用深度加强学习来对这样一个系统进行建模,并且,与之前的非加强学习模型相比,提出的解决方案极大地提高了准确度。
|
||||
|
||||
论文的核心方法
|
||||
|
||||
那么,既然要把整个问题使用深度强化学习来建模,我们肯定就需要定义强化学习的一些构件。
|
||||
|
||||
第一,我们来看看模型的“动作”(Action)。两个机器人的动作空间就是自然语言的词汇表。因为,在这个游戏或者说在强化学习的每一轮中,两个机器人都是需要根据现在的状态,来进行下一步的动作,也就是问问题的语句。这是一个离散的动作空间。除此以外,Q机器人还需要在每一轮之后对自己理解的图像向量进行更新。那么,这是一个连续的动作空间。
|
||||
|
||||
第二,我们来看看模型的“状态”(State)。对于Q机器人来说,每一轮的状态,是一个这些信息的集合,包括最初的A机器人提供的图像的描述,以及到目前为止所有轮问答的每一句话。而A机器人的状态空间,则包括最初的图像本身,图像的描述,以及到目前为止所有轮的对话。
|
||||
|
||||
第三,我们来看看模型的“策略”(Policy)。对A机器人和Q机器人来说,都是要根据现在的状态,来评估下面的语句的可能性。这里,评估的机制其实分别用两个神经网络来学习A机器人和Q机器人的策略。同时,Q机器人还需要有一个神经网络来根据现有的A机器人的回答,来更新对图像的一个认识。
|
||||
|
||||
第四,我们来看一看模型的“环境”(Environment)和“回馈”(Reward)。在这个游戏里,两个机器人都会得到一样的回馈,而这个回馈的根据是Q机器人对图像的认识所表达的向量和图像的真实表达向量的一个距离,或者更加准确地说是距离的变化量。
|
||||
|
||||
以上就是整个模型的设置。
|
||||
|
||||
那么,我们来看两个模型策略神经网络的一些细节。首先,对于Q机器人来说,有这么四个重要的部件。第一,Q机器人把当前轮自己问的问题和A给的回答,当做一个组合,用LSTM进行编码产生一个中间变量F。第二,当前步骤的F和以前的所有F都结合起来,再经过一个LSTM,产生一个中间变量S。然后第三步,我们根据这个S来产生下一步的语句,以及当前对图像的一个重新的认识。也就是说,F其实就是一个对历史所有状态的描述,而S则是一个压缩了的当前描述信息,并且我们使用S来作为下一步的一个跳板。A机器人的策略神经网络的架构非常类似,这里就不赘述了,区别在于不需要去产生图像的理解。
|
||||
|
||||
整个模型采用了目前深度强化学习流行的REINFORCE算法来对模型的参数进行估计。
|
||||
|
||||
这篇文章其实有不少技术细节,我们在今天的分享里只能从比较高的维度帮助你进行总结,如果有兴趣一定要去阅读原文。
|
||||
|
||||
方法的实验效果
|
||||
|
||||
作者们在一个叫VisDial的数据集上做了实验。这个数据集有6万8千幅图像,是从我们之前提到过的COCO数据集里抽取出来的,并且提供了超过68万对问答。可以说这个数据集还是比较大型的。
|
||||
|
||||
文章比较了利用普通的监督学习以及“课程学习”(Curriculum Learning)的方法。从效果来看,强化学习的效果还是很明显的。最直接的效果是,强化学习能够产生和真实对话相近的对话效果,而其他的办法,比如监督学习,则基本上只能产生“死循环”的对话,效果不理想。不过从图像提取的角度来讲,强化学习虽然比监督学习的效果好,但是差距并不是特别明显,基本上可以认为目前的差距依然是在误差范围内的。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了ICCV 2017的一篇有意思的文章。这篇文章介绍了如何利用深度强化学习来搭建一个模型去理解两个机器人的对话并能够理解图像信息。
|
||||
|
||||
一起来回顾下要点:第一,我们简要介绍了这篇文章的作者群信息。第二,我们详细介绍了这篇文章要解决的问题以及贡献 。第三,我们重点介绍了的文章提出方法核心内容 。
|
||||
|
||||
最后,给你留一个思考题,你认为把强化学习用在这样的对话场景中,难点是什么?
|
||||
|
||||
|
||||
|
||||
|
63
专栏/AI技术内参/010精读2017年NIPS最佳研究论文之一:如何解决非凸优化问题?.md
Normal file
63
专栏/AI技术内参/010精读2017年NIPS最佳研究论文之一:如何解决非凸优化问题?.md
Normal file
@ -0,0 +1,63 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
010 精读2017年NIPS最佳研究论文之一:如何解决非凸优化问题?
|
||||
机器学习与人工智能领域的顶级会议NIPS(Conference on Neural Information Processing Systems,神经信息处理系统大会)从1987年开始举办,已经有30多年的历史。NIPS 2017大会于2017年12月4日到9日在美国加利福尼亚州的长滩(Long Beach)举行。
|
||||
|
||||
每年大会都会在众多的学术论文中挑选出几篇最有新意和价值的论文作为最佳研究论文。在NIPS 2017上,一共有三篇论文获得了最佳论文的称号。今天,我就来带你认真剖析一下其中的一篇《具有凸目标的基于方差的正则化》(Variance-based Regularization with Convex Objectives)。这篇论文的两位作者都是来自斯坦福大学的学者。
|
||||
|
||||
这篇文章理论性很强,主要研究的是一种“健壮的优化问题”(Robust Optimization),也就是说我们在优化一个“损失函数”(Loss Function)的时候,不仅要考虑损失函数的“均值”(Mean),还要考虑损失函数的“方差”(Variance)。然而,一个既要考虑均值又要考虑方差的综合的损失函数,往往是一个“非凸”(Non Convex)的问题。对于一般的非凸优化问题来说,我们往往不能找到一个全局的最优解,甚至是找到局部最优解也很困难。这篇文章就是要来解决这么一个问题。
|
||||
|
||||
作者群信息介绍
|
||||
|
||||
第一作者洪升⋅南空(Hongseok Namkoong)是斯坦福大学“运筹学”(Operations Research)的一名在读博士研究生。他的导师分别是约翰⋅达齐(John C. Duchi)和彼得⋅格林(Peter W. Glynn)。2013年到斯坦福之前,南空在韩国的韩国科学与技术高级研究所(Korea Advanced Institute of Science and Technology),有时候又称为KAIST,获得工业工程和数学学士学位。最近两三年,南空已经在发表了两篇NIPS的文章(包括这篇最佳论文),以及一篇ICML的论文。
|
||||
|
||||
第二作者约翰⋅达齐(John C. Duchi)是南空的导师之一。达奇可以说是师出名门,他于2007年从斯坦福本科毕业,接着在斯坦福跟随机器学习权威达菲⋅科勒(Daphne Koller),拿到了计算机科学的硕士学位;然后又到加州大学伯克利分校跟随统计学习权威迈克尔⋅乔丹(Michael Jordan)拿到了计算机科学的博士学位。在博士阶段的暑假里,达奇还到Google研究院中追随约然⋅辛格(Yoram Singer)积累了非常有价值的实习经验。之后,他来到了斯坦福大学担任统计和电气电子工程系的助理教授。
|
||||
|
||||
有了这些良好的基础,达奇的学术成绩也是非常扎实。他于2010年获得了ICML最佳论文奖。紧接着,2011年在Google实习期间的工作AdaGrad,成为了现在机器学习优化领域的经典算法,这个工作的论文有超过2500次的引用,而且也是深度学习优化算法的一个重要基础。目前,达奇所有论文的引用数超过6千次。
|
||||
|
||||
论文的主要贡献
|
||||
|
||||
我们首先来看一下这篇文章的主要贡献,理解文章主要解决了一个什么场景下的问题。
|
||||
|
||||
很多机器学习问题其实都可以最终归结于优化一个目标函数(Objective Function)或者有时候叫做损失函数(Loss Function)的问题。针对训练数据集上损失函数的优化(即最大化或最小化)并且在测试集上表现优异,是可以被证明为最终能够较好“泛化”(Generalization)的一种体现。
|
||||
|
||||
那么,通常情况下,这个损失函数都是针对均值的一个描述,比如在整个训练数据集上的平均误差,或者说在整个训练数据集上的平均准确度。然而,我们都知道,在一些很“偏斜”(Skewed)的数据分布上,均值并不是很好的一个数据描述。即便我们的函数能够在“平均”的情况下优化一个损失函数,这个函数也有可能在一些,甚至大部分数据点上表现得不尽如人意。
|
||||
|
||||
于是,研究人员就引入了“健壮的优化问题”。也就是我们希望损失函数在更多的点上有优异的表现。那么,损失函数的健壮性是用损失函数的方差来衡量的。也就是说,我们希望损失函数在不同数据点上的波动要小。
|
||||
|
||||
有了这个概念之后,下一步就显得比较自然了,那就是把损失函数的均值部分,也就是我们通常要做的部分和有方差的部分串联起来,形成一个新的目标函数。这个目标函数有两个部分,第一部分就是均值部分,第二个部分就是方差的部分,中间有一个自由的参数,把这两个部分衔接起来。这样,我们就有了一个既考虑均值又考虑方差的新的健壮化的优化问题。
|
||||
|
||||
然而,一个既要考虑均值又要考虑方差的综合的损失函数,往往是一个“非凸”(Non Convex)的问题。什么叫做非凸函数?一个“凸”(Convex)问题可以简单理解为函数只有唯一的最小值,并且我们具备有效算法来找到这个最小值。而对于非凸问题来说,我们往往不能找到一个全局的最优解,或者找到局部最优解也很困难。
|
||||
|
||||
健壮优化问题已经在之前的研究中提了出来,那么这篇文章的主要贡献在于,为健壮优化问题找到了一个“凸”问题的逼近表达,并基于此提出了一个优化算法,解决了这个新提出的凸问题的近似解。
|
||||
|
||||
这里,值得注意的一点是,对于非凸问题提出凸问题的近似表达,是解决非凸问题的一个重要思路。有很多经典的非凸问题,都是通过凸问题的近似来得到解决或者部分解决的。从这个思路来说,这篇文章是延续了解决这种问题的一贯的策略。
|
||||
|
||||
论文的核心方法
|
||||
|
||||
这篇论文的核心方法以及证明都有很强的理论性,需要有一定的数学功底和类似研究背景,才能更好地理解。如果对文章内容有兴趣,建议不仅要阅读原本的NIPS论文,还需要去阅读其附加的文档,一共有50多页,才能比较全面地理解这篇文章的细节。我们在这里仅仅从概念上做一个高度浓缩的概括。
|
||||
|
||||
作者们在文章中提出了一种叫“健壮化的正则风险”(Robustly Regularized Risk)的目标函数。这个新的目标函数是建立在一个叫“经验分布”(Empirical Distribution)上的“散度”(Divergence)。而这个新的健壮化正则风险是一个凸问题。
|
||||
|
||||
直白一点说,这个健壮化的正则风险可以被认为是一个包含两项的式子,这两项是在数据集上的损失函数的期望加上一个损失函数的方差。在这个新的两项的式子中,期望和方差都是定义在数据的经验分布上的。于是这样就把这个新提出的风险式子和我们实际需要解决的问题挂上了钩。当然后面大段的论文就是要证明这两个式子之间的差距到底有多少,是不是新的式子提供了一个比较“紧”的“界限“(Bound)。
|
||||
|
||||
紧接着,这篇文章其实讨论了这个健壮化的正则风险可以写成一个更加简单的优化问题,然后文章在附录中提供了这个简化后的优化问题的求解。
|
||||
|
||||
方法的实验效果
|
||||
|
||||
虽然这篇文章的核心内容是一个理论结果,或者是算法革新。但是这篇文章依然是在两个数据集中做了实验,一个是在UCI ML的数据集上,展示了提出的新的健壮化的目标函数达到了比一般的目标函数更好的效果;另外一个则是在RCV1文本分类的问题上比一般的优化目标函数有更好的效果。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了NIPS 2017年的最佳研究论文之一,文章非常理论化。文章的一个核心观点是希望能够通过对损失函数的均值和方差同时建模从而达到让目标函数健壮化的目的。
|
||||
|
||||
一起来回顾下要点:第一,我们简要介绍了这篇文章的作者群信息。第二,我们详细介绍了这篇文章要解决的问题以及贡献 。第三,我们简要地介绍的文章提出方法的核心内容 。
|
||||
|
||||
最后,给你留一个思考题,要想控制目标函数的预测结果的方差,除了本文提出的把均值和方差都设计到目标函数里,还有没有别的方法?
|
||||
|
||||
|
||||
|
||||
|
0
专栏/AI技术内参/012精读2017年NIPS最佳研究论文之三:如何解决非完美信息博弈问题?.md
Normal file
0
专栏/AI技术内参/012精读2017年NIPS最佳研究论文之三:如何解决非完美信息博弈问题?.md
Normal file
0
专栏/AI技术内参/013WSDM2018论文精读:看谷歌团队如何做位置偏差估计.md
Normal file
0
专栏/AI技术内参/013WSDM2018论文精读:看谷歌团队如何做位置偏差估计.md
Normal file
0
专栏/AI技术内参/014WSDM2018论文精读:看京东团队如何挖掘商品的替代信息和互补信息.md
Normal file
0
专栏/AI技术内参/014WSDM2018论文精读:看京东团队如何挖掘商品的替代信息和互补信息.md
Normal file
57
专栏/AI技术内参/015WSDM2018论文精读:深度学习模型中如何使用上下文信息?.md
Normal file
57
专栏/AI技术内参/015WSDM2018论文精读:深度学习模型中如何使用上下文信息?.md
Normal file
@ -0,0 +1,57 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
015 WSDM 2018论文精读:深度学习模型中如何使用上下文信息?
|
||||
今天,我们继续来精读WSDM 2018的一篇论文《隐含交叉:在循环推荐系统中利用上下文信息》(Latent Cross: Making Use of Context in Recurrent Recommender Systems)。这篇文章同样出自谷歌团队,其核心思想是希望通过深度模型来模拟并实现在推荐系统中广泛使用的“交叉特征”(Cross Feature)的效果。
|
||||
|
||||
作者群信息介绍
|
||||
|
||||
这篇论文的所有作者都来自谷歌,我们这里对其中的主要作者做一个简单介绍。
|
||||
|
||||
文章的第一作者亚力克斯·布伦特(Alex Beutel)是谷歌的资深科学家,于2016年加入谷歌。布伦特毕业于卡内基梅隆大学,获得计算机科学博士学位,师从机器学习的权威亚力克斯·斯莫拉(Alex Smola)。
|
||||
|
||||
最后一位作者艾德·池(Ed H. Chi)是谷歌的主任科学家,他拥有39项专利,已经发表了110多篇论文。在加入谷歌之前,池是帕罗奥图(Palo Alto)研究中心的主任研究员。池毕业于明尼苏达大学,获得计算机科学博士学位。
|
||||
|
||||
论文的主要贡献
|
||||
|
||||
我们首先来看这篇文章的主要贡献,梳理文章主要解决了一个什么场景下的问题。
|
||||
|
||||
推荐系统经常需要对当下的场景进行建模,有时候,这些场景被称作“上下文”(Context)。在过去比较传统的方法中,已经有不少方法是探讨如何利用上下文信息进行推荐的,比如使用“张量”(Tensor)的形式进行建模;还有一些方法是利用对时间特性的把握,从而对上下文信息进行处理。
|
||||
|
||||
近些年,随着深度学习的发展,越来越多的深度学习模型被应用到推荐系统领域中,但还没有直接探究如何在深度学习模型中使用上下文。这篇文章就想在这一方面做一个尝试。
|
||||
|
||||
这里面有一个比较棘手的问题。过去,这样的上下文常常使用“交叉特性”,也就是两个特征的乘积成为一个新的特征。这样的方法在矩阵分解或者张量分解的模型中得到了非常广泛的使用。然而在深度学习中,过去的经验是不直接使用这样的特性。但是,在上下文非常重要的推荐系统中,不使用交叉特性的的结果,往往就是效果不尽如人意。
|
||||
|
||||
这篇文章提出了一个叫“隐含交叉”(Latent Cross)的概念,直接作用在嵌入(Embedding)这一层,从而能够在深度模型的架构上模拟出“交叉特性”的效果。
|
||||
|
||||
论文的核心方法
|
||||
|
||||
作者们首先探讨了推荐系统中一个常见的特性,那就是利用交叉特性来达到一个“低维”(Low-Rank)的表达方式,这是矩阵分解的一个基本假设。比如每一个评分(Rating)都可以表达成一个用户向量和物品向量的点积。
|
||||
|
||||
那么,作者们就提出了这样一个问题:作为深度学习的基石,前馈神经网络(Feedforward Neural Network)是否能够很好地模拟这个结构呢?
|
||||
|
||||
通过模拟和小规模实验,作者们从经验上验证了深度学习的模型其实并不能很好地抓住这样的交叉特性所带来的“低维”表达。实际上,深度学习模型必须依赖更多的层数和更宽的层数,才能得到相同的交叉特性所达到的效果。对于这一点我们或多或少会感到一些意外。同时,作者们在传统的RNN上也作了相应的比较,这里就不复述了。
|
||||
|
||||
得到了这样的结果之后,作者们提出了一个叫作“隐含交叉”的功能。这个功能其实非常直观。传统的深度学习建模,是把多种不同的信息输入直接拼接在一起。“隐含交叉”是让当前的普通输入特性和上下文信息进行乘积,从而直接对“交叉特性”进行建模。
|
||||
|
||||
这样做的好处是不言而喻的。之前,我们寄希望于深度学习模型自身能够学习到这样的交叉关系。而现在,作者们直接让上下文信息作用于输入信息和其他的中间特征,使得上下文信息的作用得到了提升。
|
||||
|
||||
这篇文章提出的办法可以说是第一个尝试解决传统推荐系统的一些想法,使之移植到深度学习的语境中。
|
||||
|
||||
方法的实验效果
|
||||
|
||||
这篇文章使用了谷歌的Youtube数据来做实验。作者们比较了一系列的方法,得出的结论是RNN配合“隐含交叉”比仅仅使用RNN的效果要好2%~3%,这个提升已经是一个非常可观的数字了。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了WSDM 2018的一篇来自谷歌团队的文章,这篇文章介绍了在传统推荐系统的模型中(比如矩阵分解等)都有的交叉特性如何应用在深度学习中。
|
||||
|
||||
一起来回顾下要点:第一,我们简要介绍了这篇文章的作者群信息;第二,我们详细介绍了这篇文章要解决的问题以及贡献 ;第三,我们分析了文章提出方法的核心内容以及实验结果。
|
||||
|
||||
最后,给你留一个思考题,深度学习模型在默认状态下并不能很好地抓住交叉特性,这是深度模型的问题吗?
|
||||
|
||||
|
||||
|
||||
|
69
专栏/AI技术内参/016TheWeb2018论文精读:如何对商品的图片美感进行建模?.md
Normal file
69
专栏/AI技术内参/016TheWeb2018论文精读:如何对商品的图片美感进行建模?.md
Normal file
@ -0,0 +1,69 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
016 The Web 2018论文精读:如何对商品的图片美感进行建模?
|
||||
“万维网大会”(The Web Conference 2018)前身叫作“国际万维网大会”(International World Wide Web Conference),从1994年开始举办,已有20多年的历史了,在Google学术排名上,是“信息系统”排名第一的国际顶级学术会议。
|
||||
|
||||
从万维网大会最初举办开始,这个会议就成为了互联网方面独一无二的权威学术会议。会议包含搜索、推荐、广告、数据库、信息提取、互联网安全等诸多领域的优秀论文,每年都吸引着上千名世界各地的学者和工程师来分享他们的最新研究成果。
|
||||
|
||||
2018年的万维网大会于4月23日~27日在法国里昂举行。整个会议收录了171篇论文,还有27个研讨班(Workshop)、19个讲座(Tutorial)、61个展板论文(Poster)和30个演示(Demo)。
|
||||
|
||||
万维网大会的一大特点就是论文成果涵盖了非常广的领域。要在这些论文中找到有价值的学习信息是一件非常耗时、很辛苦的任务。这里给你分享几篇我认为今年这个会议上最有价值的论文,希望能起到抛砖引玉的作用。
|
||||
|
||||
今天,我们就来看一篇优秀论文提名,题目是《基于美感的服装推荐》(Aesthetic-based Clothing Recommendation)。这篇论文一共有六位作者,除了两位分别来自新加坡国立大学和美国的埃默里大学之外,绝大多数作者都来自清华大学。
|
||||
|
||||
论文的主要贡献
|
||||
|
||||
在现代的电商推荐系统中,商品特别是服装服饰的图片,其美观和质量是用户进行购买决策的关键参考因素。不少过去的商品推荐系统已经考虑了图片的属性,特别是尝试同时利用图片信息和文字信息来实现多模(Multi-Modal)数据理解的目的,从而能够进行更加智能的推荐。不过,当前的大多数方案都只是考虑基本的图片特性。
|
||||
|
||||
从思路上来说,大多数的类似工作都是利用某种深度神经网络提取图片特性,然后和其他特性(例如我们说过的文本信息)加以组合,从而能够扩宽我们对商品信息的提取。这样提取出来的图像特征自然没有显式地对图像的“美感”(Aesthetic)进行建模。
|
||||
|
||||
这篇文章的作者们认为,商品图片的“美感”是非常重要的属性,针对美感进行建模会有更显著的商品推荐效果。概括来说,这篇论文的一个贡献就是提供了一种模型,来对图片的美感和一般性的图片语义特性同时进行建模。这是一个在过去的工作中都没有的创新点,我们接下来会详细说明一这个模型的架构。
|
||||
|
||||
当作者们提取出了图片的美感信息以后,接下来的一个问题就是如何利用这些特性。这篇论文使用了张量分解(Tensor Factorization)的思路。我们在前面介绍推荐系统的时候曾经提到过,张量分解是一种很有效且常用的利用上下文语义信息的推荐模型。和一些之前的工作类似,这里作者们采用了三维的张量来表达用户、商品和时间之间的关系。同时,作者们还把图片信息有效地结合到了张量分解中,从而能够利用美感信息来影响推荐结果。
|
||||
|
||||
论文的核心方法
|
||||
|
||||
了解了这篇论文的大体思路以后,我们现在来看看论文的第一个核心部件:如何利用深度神经网络来提取图片的美感信息?
|
||||
|
||||
首先,这篇论文提出的模型假设对于每一个商品,我们都有一个综合的美感标签,并且还有一个细节标签来表达这个商品图案的“图像风格”(Style)。美感的综合标签是一个1~10的打分,而图像风格则是文字的图像特征,比如“高曝光”、“对比色”等。那么,我们需要一个神经网络模型,来同时对美感标签和细节的图像风格进行建模。
|
||||
|
||||
具体来说,文章提出的模型分为了两个层次。第一个层次是用来解释细节的图像风格。在本文采用的数据中,一共有14种图像风格,作者们就用了14个子网络(Sub Network)来针对这些风格。每个风格都对应一个独立的子神经网络。每一个子神经网络都是标准的“卷积网络”(CNN)。他们的目标是尽可能地学习到特性来表示每个细节的图像风格。
|
||||
|
||||
当我们有了第一层的14个子网络之后,再把这些子网络学习到的特性都整合起来,形成中间特性层,然后再经过一个卷积网络,从而学习到一个对商品的整体美感评分进行解释的神经网络。
|
||||
|
||||
在文章中,作者们提到这两个层次的神经网络并不是分类进行训练的,而是在一个整体中进行训练。意思就是说,我们同时训练底层的针对图像风格的14个子网络的参数,以及高层次的针对美感评分的网络的参数。
|
||||
|
||||
当我们得到了图片的美感信息之后,下一步,就来看一下如何利用张量分解来进行商品推荐。
|
||||
|
||||
相比于传统的张量分解,在这篇文章中,作者们提出了一种新颖的,针对商品推荐的张量表达模式,叫作“动态协同过滤”(Dynamic Collaborative Filtering),或简称 DCF。
|
||||
|
||||
DCF认为,每一个用户对于某个商品的购买取决于两个方面的因素。第一,用户是否对这个商品有喜好。第二,这个商品是不是符合时间维度上面的“流行度”。作者们认为,只有当这两个条件同时满足的时候,也就是用户喜欢某个当季的商品时才会做出购买的决定。因此,作者们使用了两个矩阵分解来分别代表这两个假设。
|
||||
|
||||
第一个矩阵分解是针对用户和商品这个矩阵,这里我们会学习到用户对商品的喜好度。第二个矩阵分解是针对时间和商品这个矩阵,这里我们会学习到时间和商品的流行度。然后,作者把这两个矩阵分解(或者说是把两个矩阵)相乘,这就得到了一个张量,来表达用户在时间维度上对商品的喜好。
|
||||
|
||||
那么,如何把刚才学习到的图片美感信息给融入到这个新的张量学习框架下呢?作者们是这么做的,针对我们刚才所说的两个矩阵分解进行“扩展”。
|
||||
|
||||
刚才我们说,这个张量分解是基于一个假设,那就是用户在时间维度上的购买决定取决于,用户是否对这个商品有喜好,以及这个商品是不是符合时间维度上面的“流行度”。我们用了两个矩阵分解来表达这两个假设。每一个矩阵分解都是把一个大的矩阵分解成两个向量,比如用户和商品的矩阵就被分解为用户特性和商品特性。
|
||||
|
||||
基于此,作者们就在这个用户和商品的矩阵后面,再加上一个商品和图片美感信息矩阵,用来混合这两种信息。也就是说,我们刚才的第一个假设,用户对商品的好感,就被扩展成了两个矩阵的加和,用户和商品矩阵以及商品和图片信息矩阵,这两个矩阵的加和依然是一个矩阵。同理,时间和商品的流行度,被扩展成了时间和商品矩阵以及商品和图片信息矩阵的加和。也就是说,新的模型是两个矩阵的乘积组成的张量分解,而这里的每个矩阵分别又是两个矩阵的加和。这就是作者们最终提出的模型。
|
||||
|
||||
方法的实验效果
|
||||
|
||||
作者们在亚马逊的衣服数据集上做了实验来验证模型的有效性。这个亚马逊的数据集由将近四万的用户、两万多的商品和超过二十七万的购买信息构成。除了这篇文章提出的模型以外,作者们还比较了一些其他算法,例如完全随机的算法、只推荐最流行的商品、传统的矩阵分解模型以及只有基本图像信息但没有美感信息的算法。文章汇报了排序的精度NDCG以及“召回”(Recall)等指标。
|
||||
|
||||
从实验效果来看,这篇文章提出的模型要明显好于矩阵分解以及只有基本图像信息的算法,表明针对产品的图像美感进行建模是有价值的。并且,作者们提出的新的张量分解方法也被证明是切实有效的。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了今年万维网大会的一篇优秀论文。文章介绍了如何对商品的图片美感进行建模,以及如何把提取到的信息融入到一个基于张量分解的推荐系统中。
|
||||
|
||||
一起来回顾下要点:第一,我们详细介绍了这篇文章要解决的问题以及贡献;第二,我们简要地介绍了文章提出方法的核心内容;第三,我们简单分享了一下模型的实验成果。
|
||||
|
||||
最后,给你留一个思考题,有没有在没有标签情况下对图片的美感进行建模的呢?
|
||||
|
||||
|
||||
|
||||
|
0
专栏/AI技术内参/017TheWeb2018论文精读:如何改进经典的推荐算法BPR?.md
Normal file
0
专栏/AI技术内参/017TheWeb2018论文精读:如何改进经典的推荐算法BPR?.md
Normal file
0
专栏/AI技术内参/018TheWeb2018论文精读:如何从文本中提取高元关系?.md
Normal file
0
专栏/AI技术内参/018TheWeb2018论文精读:如何从文本中提取高元关系?.md
Normal file
0
专栏/AI技术内参/019SIGIR2018论文精读:偏差和流行度之间的关系.md
Normal file
0
专栏/AI技术内参/019SIGIR2018论文精读:偏差和流行度之间的关系.md
Normal file
67
专栏/AI技术内参/020SIGIR2018论文精读:如何利用对抗学习来增强排序模型的普适性?.md
Normal file
67
专栏/AI技术内参/020SIGIR2018论文精读:如何利用对抗学习来增强排序模型的普适性?.md
Normal file
@ -0,0 +1,67 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
020 SIGIR 2018论文精读:如何利用对抗学习来增强排序模型的普适性?
|
||||
今天,我们继续来精读SIGIR 2018(国际信息检索研究与发展大会)的论文,今天分享的是本次大会的最佳短论文,标题是《使用对抗学习实现神经排序模型的跨领域正则化》(Cross Domain Regularization for Neural Ranking Models using Adversarial Learning)。
|
||||
|
||||
非常有必要先简单介绍一下这篇文章的作者群,可以说这是一个“明星阵容”。
|
||||
|
||||
第一作者丹尼尔·科恩(Daniel Cohen)来自马萨诸塞大学阿默斯特分校(University of Massachusetts Amherst),是计算机科学系的博士生。2017年曾经在微软研究院剑桥分部实习。这篇获奖论文就是实习项目的总结。在深度学习模型在信息检索的应用这个方向上,科恩已经发表了多篇论文。
|
||||
|
||||
第二作者巴斯卡·米特拉(Bhaskar Mitra)是微软研究院剑桥分部的主任级科学家。近些年米特拉在信息检索领域很活跃,并且极力推动深度学习在这个领域的发展,他在这个领域发表了很多篇论文,在过去几年的很多学术会议上,也主持了多个关于深度学习和信息检索相结合的讲座。
|
||||
|
||||
第三作者卡特娜·霍夫曼(Katja Hofmann)也是来自微软研究院剑桥分部的科学家。霍夫曼在信息检索领域的主要贡献是研究在线排序学习。
|
||||
|
||||
论文的最后一位作者,布鲁斯·克罗夫特(W. Bruce Croft)是信息检索领域的学术权威,也是科恩的博士导师。他是美国ACM院士,还是信息检索领域最高学术荣誉奖杰拉德·索尔顿(Gerard Salton)奖的获得者。
|
||||
|
||||
论文的主要贡献
|
||||
|
||||
这篇论文主要涉及了这么两个重要概念的结合。第一个概念是“跨领域”(Cross Domain)信息检索,第二个概念就是“对抗学习”(Adversarial Learning)。
|
||||
|
||||
跨领域信息检索主要是指我们需要对一个以上的领域进行搜索。这里所说的领域主要是指不太相同,或者非常不同的文档集合。例如,如果我们要针对体育新闻、金融新闻等进行搜索,这里的“体育”和“金融”就是不同的领域。
|
||||
|
||||
跨领域信息检索的核心挑战是我们如何针对不同的领域都能进行有效搜索。比如,如果我们的排序算法本身或者其特性依赖于某个特定领域的信息,例如关于体育方面的搜索,需要依赖体育运动员的名字,那这种信息肯定会很少甚至完全不出现在另外一个领域。因此,依靠某些领域特有的信息很难做到真正的跨领域信息检索。
|
||||
|
||||
这篇文章的贡献是作者们认为,想要对跨领域的信息进行较好地检索,就需要训练这样的排序模型:不容易被某一个特定的领域所主导,同时也尽量不偏好某一个特定领域的具体信息。
|
||||
|
||||
如何实现这个目的呢?作者们使用了一种叫做“对抗学习”的技术。这也是这篇论文能够获奖的重要原因。
|
||||
|
||||
我在这里简单介绍一下对抗学习的原理。对抗学习最初的思想来自于利用深度产生模型解决计算机视觉中的一系列问题。最基本的对抗学习的模式主要是用于产生数据,而且是比较复杂的数据,例如图像。
|
||||
|
||||
对抗学习有两个模块,一个模块叫产生器,一个模块叫判别器。产生器的作用就是产生数据。判别器的作用是判断产生的数据是不是“真实数据”。产生器的最终目的是产生能够以假乱真的数据来扰乱判别器的判断能力。判别器的最终目的是不断提高判断能力从而能够分辨出数据的真假。
|
||||
|
||||
当然,最初的时候,产生器产生数据来源于随机噪声,因此判别器可以很容易地判断数据的真假。但是慢慢的,产生器产生的数据就会越来越接近真实数据,而判别器也很快在这个过程中得到优化,从而能够判别数据的真假。当然,这是一个动态的过程,最终,判别器和产生器的状态会稳定下来。
|
||||
|
||||
对抗学习这种思想最初被提出来的时候,主要是应用在计算机视觉领域中,用来产生以假乱真的图片。之后,这种技术被广泛应用到人工智能的各个领域。
|
||||
|
||||
这篇论文最大的一个贡献,就是利用了对抗学习的理念来增强学习到的排序模型的普适性,从而尽量避免学习到仅仅对一个领域有用的信息。
|
||||
|
||||
论文的核心方法
|
||||
|
||||
具体来说,这篇文章提出了这样一种方法。首先,我们有两套模型,一套是用于学习查询关键词和文档之间的相关关系的;一套是对抗学习的模型。然后,这两套模型的首要任务是更加精准地针对相关的文档和不相关的文档进行建模。这是整个框架里最主要的目标函数。
|
||||
|
||||
文章提出框架中新的模块是利用对抗学习来分别产生相关的和不相关的文档。具体来说,某一种类型的文档就像我们刚才提到的图片一样,我们希望能够利用产生器来进行产生这类数据。当然,我们依然需要判别器来引导产生器的工作。
|
||||
|
||||
在这篇文章中,相关的概念主要是看一个文档是不是某一个领域的。也就是说,我们希望对抗学习能够帮助识别某一个文档是不是来自于一个领域。当对抗学习模型被训练好的时候,对于查询关键词和文档的相关模型,我们就会利用一种叫做“梯度反转”的技术,强行偏离模型希望去拟合某一个领域的倾向。
|
||||
|
||||
从网络结构上看文章提出的模型,查询关键词和文档都需要经过卷积层、提取层等变换,然后进行俗称的“哈达马积”(Hadamard product),其实就是对应项乘积。这样,文档和查询关键词所提取出来的隐含特征就结合在一起。这个结果之后又经过一系列稠密层的变换,最终预测一个相关度的标签。对于对抗学习模型来说,对抗中的判别器从刚才所说的架构中提取一些中间层作为输入,然后判断这个文档是不是出现在某个领域中。
|
||||
|
||||
实验结果
|
||||
|
||||
在一个雅虎的搜索数据集以及另外两个数据集上,作者们对论文所提出的模型进行了实验。实验主要是看如果我们在某一个领域上训练出的模型,会不会在另外一个领域上表现优异。
|
||||
|
||||
一个不令人意外的结果是,如果我们在全部领域上进行训练数据,自然在所有的领域上效果都不错。当然,文章展示了,如果利用文章提出的方法,针对某一个领域,比如运动类文档,在训练的时候完全移除所有的文档,在测试集上依然有不错的表现。实验的结果比不进行对抗训练的效果要好5%以上。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了今年SIGIR上的最佳短论文。
|
||||
|
||||
一起来回顾下要点:第一,这篇论文主要涉及了两个概念,分别是跨领域信息检索和对抗学习,我们详细介绍了这篇文章的主要贡献,就是利用对抗学习的理念来增强所学排序模型的普适性;第二,我们简要地介绍了文章提出的方法核心内容,训练两套模型,利用对抗学习来分别产生相关的和不相关的文档;第三,我们简单介绍了论文的实验结果,进行对抗训练会有更好的效果。
|
||||
|
||||
最后,给你留一个思考题,除了使用对抗训练,你还能想到什么方法,能够比较好地学习到不属于某一个特定领域信息的排序模型?
|
||||
|
||||
|
||||
|
||||
|
67
专栏/AI技术内参/021SIGIR2018论文精读:如何对搜索页面上的点击行为进行序列建模?.md
Normal file
67
专栏/AI技术内参/021SIGIR2018论文精读:如何对搜索页面上的点击行为进行序列建模?.md
Normal file
@ -0,0 +1,67 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
021 SIGIR 2018论文精读:如何对搜索页面上的点击行为进行序列建模?
|
||||
今天我们将继续来精读SIGIR 2018的论文。
|
||||
|
||||
我们已经分享了SIGIR 2018的最佳论文,介绍了如何对推荐系统中的偏差进行建模,从而能够利用这种对偏差的理解,来更加准确地对待基于流行度的推荐结果。周一我们分享了本次大会的最佳短论文,主要讲了如何利用对抗学习的技术来让学习的排序模型更加“健壮”,可以被应用到多个领域上。
|
||||
|
||||
今天我们分享的论文题目是《页面搜索的点击序列模型》(A Click Sequence Model for Web Search)。
|
||||
|
||||
文章的第一作者阿列克谢·博里索夫(Alexey Borisov)来自俄罗斯的搜索引擎Yandex,并且在阿姆斯特丹大学攻读博士学位。之前,他已经发表过了多篇关于“点击模型”(Click Model)和深度学习模型结合的论文。
|
||||
|
||||
文章的第二作者马丁·万德纳(Martijn Wardenaar)、第三作者伊雅·马尔科夫(Ilya Markov)和最后的作者马顿·德里克(Maarten de Rijke)也都来自阿姆斯特丹大学。其中,马顿是荷兰的计算机科学家,欧洲的信息检索学术权威,并且还是荷兰皇家科学院成员。
|
||||
|
||||
论文的主要贡献
|
||||
|
||||
我先对这篇论文的核心思想做一个提炼,就是利用深度学习模型,来对用户在搜索页面上的点击行为进行建模。
|
||||
|
||||
传统上,这种对用户在搜索页面上的点击行为进行建模的思路就是“点击模型”。从2000年开始,对点击模型的研究,就成为了信息检索以及搜索领域中一个非常活跃的课题。在最近10年的时间里,研究人员提出了几十种不同的点击模型。总体来说,不同的点击模型主要是对不同的用户行为进行编码,从而能够更加准确地对用户的点击行为进行预测。
|
||||
|
||||
在很多传统的点击模型中,为了简化模型,经常使用的一个假设是:针对每一个查询关键词,用户在搜索结果页只进行一次点击。在这种简化了的假设下,研究人员对用户的浏览、点击以及页面的偏差(例如位置偏差)进行建模,就会变得更加容易。然而,在很多场景中,这种假设就显得过于简化了。在同一个查询关键词的搜索结果页面下,很多用户都会点击多个结果。因此,对于多个点击结果的建模就变得重要起来。
|
||||
|
||||
这篇论文就是针对用户在搜索页面上的点击行为进行了序列建模,使得我们可以轻松地对每一个搜索页面进行预测,比如会有多少点击以及在什么位置点击等。
|
||||
|
||||
同时,这篇论文还有一个贡献,就是利用了深度学习中的循环神经网络(RNN)来对查询关键词的结果进行建模,扩宽了传统的完全基于概率建模的点击模型在深度学习时代下的表现力。
|
||||
|
||||
论文的核心方法
|
||||
|
||||
论文提出方法的核心思路是针对每一个查询关键词,模型需要对所有可能的点击序列进行建模。这个任务是通过构建一个神经网络来完成的。
|
||||
|
||||
具体来说,文章提出的模型有两个重要的模块,编码器(Encoder)和解码器(Decoder)。
|
||||
|
||||
编码器的作用是利用查询关键词和搜索结果为输入,生成它们的“嵌入向量”(Embedding Vector)。近年来,嵌入向量是深度学习建模中的一个重要技术手段,它的目的往往是先把一些离散变量信息转化为连续信息。在这里,查询关键词和搜索结果都可以首先表征为离散的输入信息,然后需要映射到一个共同的语义空间。这可以被认为是一个中间结果,或者在概率模型中,这往往被认为是一个隐含变量。
|
||||
|
||||
解码器的作用是根据这个中间的嵌入向量表达下的查询关键词和搜索结果,然后决定在哪一个位置上可能会或者不会发生点击。这其实就是一个多类的分类问题。那么,怎么才能让解码器终止在某一个状态呢?作者们引入了一个特殊的符号代表序列的终止。这样,解码器也需要预测是否需要终止。类似的对解码器的操作在深度序列建模中十分常见。
|
||||
|
||||
可以说,作者们在设计编码器和解码器的结构上也是费了一番功夫的。
|
||||
|
||||
对于编码器而言,作者们认为一个好的嵌入向量必须包含当前的结果信息,以及当前结果周围的结果,或者说是上下文的信息,以及查询关键词的信息。这样,可以把每一个搜索结果都当做是一个独立的单元,有着足够丰富的信息来进行后面的建模。
|
||||
|
||||
因此,作者们首先把查询关键词和每一个搜索结果转换成为第一个层次的嵌入向量,组成一个大的第一层次的嵌入向量。然后,作者们利用这个第一层次的嵌入向量,并且引入了循环神经网络,来对当前结果前后的结果进行了两次编码,一次正向,一次逆向,从而形成了第二层次的嵌入向量。这个第二层次的嵌入向量就是最终表征每一个搜索结果的向量。
|
||||
|
||||
对于解码器而言,作者们利用了“关注”(Attention)机制来对每一个搜索结果施加不同的权重,或者说是关注度。每个时间点,也就是每一次做“是否要点击”的决策之后,都会重新生成一个关注向量,或者说是一组新的关注权重。这里的核心是一个循环神经网络,自己更新内部的状态变量,并且根据关注向量以及输入的嵌入向量,来预测下面一个点击的位置。
|
||||
|
||||
有了编码器和解码器之后,一个难点是如何生成最有可能的点击序列。我们刚才提到了,整个模型其实可以预测多种不同的点击序列。因此,生成最优可能的K个序列就成为了必要的一个步骤。在这篇文章里,作者们利用了“集束搜索”(Beam Search)的方法来近似生成最佳的K个序列,在文章中,K的值是1024。
|
||||
|
||||
模型的训练采用了标准的SGD以及Adam优化法,同时作者们还采用了“梯度裁剪”(Gradient Clipping)的方式来防止在优化过程中发生“爆炸问题”(Gradient Clipping)。
|
||||
|
||||
实验结果
|
||||
|
||||
作者们在Yandex,俄罗斯的搜索引擎数据上进行了实验。因为之前没有类似的模型,因此文章并没有可以直接比较的其他模型。作者们主要进行评估的地方是,看历史数据中已经发生的点击序列,会不会被正确预测出,会不会出现在K个模型认为最有可能发生的点击序列中。这也就是作者们为什么选择K等于1024的原因,因为在这种情况下,接近97%的历史序列都在模型的预测序列中。
|
||||
|
||||
作者们还评估了模型能否预测出总的点击次数等一系列和点击预测有关的任务,论文中提出的模型都能够以接近1的概率预测所有的点击,并击败一些过去的基于概率的点击模型。可以说,提出的模型的确可以对用户在搜索页面的点击行为进行有效的建模。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了今年SIGIR 2018的一个篇精彩论文。
|
||||
|
||||
一起来回顾下要点:第一,我们详细介绍了这篇文章要解决的问题以及贡献,主要是对用户在搜索页面上的点击行为进行序列建模;第二,我们简要介绍了文章提出方法的核心内容,主要是编码器和解码器两个模块;第三,我们简单介绍了论文的实验结果。
|
||||
|
||||
最后,给你留一个思考题,如果针对多个连续的查询关键词的点击行为进行建模,你能否用这篇论文提出的思路来扩展模型呢?
|
||||
|
||||
|
||||
|
||||
|
71
专栏/AI技术内参/022CVPR2018论文精读:如何研究计算机视觉任务之间的关系?.md
Normal file
71
专栏/AI技术内参/022CVPR2018论文精读:如何研究计算机视觉任务之间的关系?.md
Normal file
@ -0,0 +1,71 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
022 CVPR 2018论文精读:如何研究计算机视觉任务之间的关系?
|
||||
今年6月18 日~22日,计算机视觉和模式识别大会CVPR(Conference on Computer Vision and Pattern Recognition),在美国的盐湖城举行。CVPR大会从1985年开始举办,已经有30多年的历史,是计算机视觉领域的顶级会议。
|
||||
|
||||
最近几年,CVPR大会发展成为了人工智能领域的盛会。受人工智能浪潮的影响,大会的投稿数量和参会人数都有了明显增加。大会今年共收到了3300份论文投稿,录取了979篇,录取率将近30%。最终,选出了70篇论文做口头报告,224篇论文做快速汇报。近两年的参会人数都保持着近1千人的增长势头,而今年更是达到了6千多人,是2014年参会人数的3倍多。同时,大会的审稿人也达到了惊人的1万人。
|
||||
|
||||
除了主会议以外,CVPR大会还组织了21个讲座,48个研讨班和博士论坛,有超过115家公司的赞助。
|
||||
|
||||
想要在这么多论文里找到最有价值、最有影响力的信息,可以说是大海捞针。我在这里为你精选了三篇今年CVPR的论文,希望能够起到抛砖引玉的作用。
|
||||
|
||||
今天,我们来分享大会的最佳论文,题目是——Taskonomy: Disentangling Task Transfer Learning。
|
||||
|
||||
我先来简单介绍下论文的作者群。
|
||||
|
||||
第一作者阿米尔·扎米尔(Amir R. Zamir)目前是斯坦福大学和加州大学伯克利分校的博士后研究员,已经在计算机视觉领域发表了30多篇论文,还获得过CVPR 2016的最佳学生论文奖。
|
||||
|
||||
第二作者亚历山大·萨克斯(Alexander Sax)刚刚从斯坦福大学计算机系硕士毕业,即将前往加州大学伯克利分校攻读博士,已经以硕士生的身份发表了两篇CVPR论文。
|
||||
|
||||
第三作者沈博魁刚从斯坦福大学计算机系本科毕业,即将在本校继续攻读博士。尽管是本科刚刚毕业,他已经发表了2篇CVPR论文和1篇ICCV论文。
|
||||
|
||||
第四作者利昂奈达·圭巴斯(Leonidas Guibas)是斯坦福大学计算机系教授,也是ACM和IEEE院士,还是美国工程院和科学院院士。他的博士导师是图灵奖获得者高德纳(Donald Knuth)。
|
||||
|
||||
第五作者吉腾德拉·马立克(Jitendra Malik)是加州大学伯克利分校计算机系教授,也是ACM和IEEE院士,并且是美国工程院以及科学院院士。马立克是计算机视觉方向的学术权威。
|
||||
|
||||
最后一位作者西尔维奥·萨瓦瑞斯(Silvio Savarese)是斯坦福大学计算机系的教授。他的研究方向是计算机视觉和计算机图形学。我们对华人学者李飞飞都很熟悉,萨瓦瑞斯是李飞飞的丈夫。
|
||||
|
||||
论文的主要贡献
|
||||
|
||||
概括来说,这篇论文主要是研究了计算机视觉任务之间的关系,并且提出了一个计算框架,能够定量地学习到这些任务之间的相似度。同时,这些相似的任务可以帮助数据较少的任务达到比较好的效果。这其实就是迁移学习(Transfer Learning)的核心思想:如何从已经学习到的任务或者领域迁移到数据较少、学习更加困难的任务或者领域。
|
||||
|
||||
很多研究人员在平时的研究过程中可能都会有这样的感觉,一些计算机视觉任务之间有某种逻辑或者直觉上的联系。例如,在计算机视觉界,像物体识别(Object Recognition)、景深估计(Depth Estimation)、边界发掘(Edge Detection)以及姿势估计(Pose Estimation)这些任务,大家都普遍认为它们是有关系的一系列任务。但是,有一些视觉任务之间的关系则显得没有那么直观,比如,边界发掘和光影(Shading)如何帮助姿势估计,就不得而知了。
|
||||
|
||||
如果我们单独来解决每一类任务,必然会有很大的挑战。这篇论文其实展示了,很多任务之间是有关联性的,而利用这些任务的关联性其实可以带来数据上的巨大便利。也就是说,我们可以利用更少的数据来学习到更多的任务。从这个角度来看,迁移学习也为新任务带来了希望,当我们没有大量的人工标注的数据时,依然能够在新任务上获得有效的结果。
|
||||
|
||||
这篇论文的另外一个重要贡献是提出了一个计算框架,这个框架并不需要事先准备的知识,比如人为地决定哪两个任务之间是有关联的,或者说,并不像之前的一些利用概率建模的方法,需要对任务之间的结构加以一个先验概率。这篇论文提出的框架完全从数据和结果的角度出发,从而避免了这些先验信息的不完整和不准确。
|
||||
|
||||
论文的核心方法
|
||||
|
||||
这篇论文提出的方法由四个组成部分,分别是:任务相关的建模、迁移建模、任务与任务关系归一化以及最后计算任务的关系图谱。每一个组成部分都有不同的目标。
|
||||
|
||||
首先,我们需要建立的是每一个独立任务自己的一个模型。这些模型有两个任务:第一就是尽可能地提高对自身任务的精度;第二就是在这个过程中,尽可能提取有代表性的中间表征结果,能够有助于迁移学习。
|
||||
|
||||
第二个部分就是迁移建模。这个部分主要是利用第一部分学习到的中间表现层,然后再在目标任务上学习到从原本的表现层到任务目标的迁移。这里面,除了一个原表现层,或者是原任务可以借鉴以外,作者们提出还可以利用多个原任务,来达到提升效果的目的。这样也就把多个任务和一个目标任务关联了起来。
|
||||
|
||||
第三个部分是任务关系的归一化。这一部分其实是这篇文章的一个亮点。当我们得到迁移学习的结果以后,我们就可以利用每两个任务之间的关系来获得一个矩阵,这个矩阵就完全表征了所有任务的联系。然而,如果直接利用任务的迁移损失函数的值来刻画两个任务之间的关系,那么每两个任务之间的这个数值其实是没办法直接比较的。如果我们采用机器学习界归一化数据的办法,比如把数据归一到0和1之间,也是不行的,因为这样就完全没有考虑损失函数变化的速度和目标任务精度之间的关系。
|
||||
|
||||
所以,这篇论文的作者们提出了一种按照次序来做归一化的方法。简单来说,就是不再看两个任务之间的绝对的迁移数值,而是看在测试集上哪一个原任务相比于其他任务能够更多地获取目标任务的精度。这样所有的任务就可比了。总之,任务关系归一化的目的就是构建了任务与任务之间关系的矩阵。
|
||||
|
||||
最后一个部分的目的就是从这个关系矩阵中提取出所有任务的一个真正的关系图谱。也就是说,我们希望从一个完全的全连通图,找到一个最有价值的子图。在这里,作者们采用了一种叫作“布尔值整数规划”(Boolean Integer Programming)的方法,在一些限制条件下,挖掘出了一个有代表性的子图。
|
||||
|
||||
实验结果
|
||||
|
||||
作者们提出了一个有4百多万张图片的新的数据集。在这个数据集里,有26个计算机视觉任务。从实验中,作者们挖掘出了这样一些情况,例如3D的、2D的任务自然被归类到了一起,而其他的例如上下文分割、景象识别这种高层次的任务则被分在了一起。
|
||||
|
||||
为了研究这种挖掘出的结构是否真的能够实现迁移学习的目的,作者们还把不同的两两任务随机组合在一起,也就是某种随机任务的图谱,按照学习到的结构进行迁移学习,看是不是比随机结果要好。答案是,的确要好很多。在这篇论文里,作者们展示了学习到的结构不仅能够帮助目标任务提升性能,而且在任务之间关系的解释性上效果也非常不错。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了CVPR 2018的最佳论文。
|
||||
|
||||
一起来回顾下要点:第一,我们详细介绍了这篇文章要解决的问题以及贡献,论文研究了计算机视觉任务之间的关系,并且提出了一个计算框架,能够起到迁移学习的作用;第二,我们简要介绍了文章提出的核心方法,主要有四个组成部分;第三,我们简单介绍了论文的实验结果。
|
||||
|
||||
最后,给你留一个思考题,当前挖掘的关系主要是任务的两两关系,能否有一个方法挖掘任务的高维度关系,比如三个任务之间的关系?
|
||||
|
||||
|
||||
|
||||
|
79
专栏/AI技术内参/023CVPR2018论文精读:如何从整体上对人体进行三维建模?.md
Normal file
79
专栏/AI技术内参/023CVPR2018论文精读:如何从整体上对人体进行三维建模?.md
Normal file
@ -0,0 +1,79 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
023 CVPR 2018论文精读:如何从整体上对人体进行三维建模?
|
||||
今天我们来分享CVPR大会的最佳学生论文,标题是《全方位捕捉:用于跟踪面部表情,手势和身体运动的3D变形模型》(Total Capture: A 3D Deformation Model for Tracking Faces, Hands and Bodies)。
|
||||
|
||||
很多学术会议都利用最佳学生论文这个奖项来鼓励学生参与学术研究活动,所以这个奖项的一般要求是第一作者必须是在校学生。
|
||||
|
||||
这篇论文的作者群来自卡内基梅隆大学。
|
||||
|
||||
第一作者周寒星(Hanbyul Joo)是来自韩国的学者,目前在卡内基梅隆大学机器人学院(The Robotics Institute)攻读博士。他的博士论文方向是“计算行为科学”(Computational Behavioral Science)。他已经在计算机视觉方向发表了多篇CVPR、ICCV论文。
|
||||
|
||||
第二作者托马斯·西蒙(Tomas Simon)也是卡内基梅隆大学机器人学院的博士生。他的研究方向是“三维运动的时空建模”(Spatiotemporal Modeling of 3D Motion)。
|
||||
|
||||
最后一位作者是这两位学生的导师亚瑟尔·舍艾克(Yaser Sheikh),是机器人学院的教授。
|
||||
|
||||
论文的主要贡献
|
||||
|
||||
这篇论文想要解决的问题很直观,那就是希望对人体进行三维建模,并且能够跟踪(Track)人体的行为以及活动。
|
||||
|
||||
这个任务看似简单,但有不少难点。
|
||||
|
||||
首先,过去绝大多数的对人体进行三维建模的工作,都是针对人体的不同部分分别进行的,比如对脸部、对身体和对手部分别建模。在对这些部位进行建模的时候,整体的设定都不太一样。例如,对脸部的建模一般是近景(Close-Up),而对身体则主要是看身体的整体行动。也就是,对于人体不同部位的建模经常在不同的尺度下进行,那就无法把各个部分的建模很容易地对接上。
|
||||
|
||||
其次,还有一些人体的部位,过去并没有太多专门的建模工作,比如针对头发和脚,但这些在全身的建模中也是必不可少的部分。
|
||||
|
||||
这篇论文就加入了对头发和脚这些部分建模的讨论,提供了对人体从整体上进行建模的一个框架。确切地说,论文提供了两个模型:一个叫“弗兰肯斯坦”(Frankenstein),一个叫“亚当”(Adam)。
|
||||
|
||||
“弗兰肯斯坦”主要还是依靠对人体不同部分的建模,然后把这些模型连接起来,通过一些处理,能够让最终呈现的三维建模符合现实。在这个模型的基础上,“亚当”则加入了头发和脚的元素,抛弃了“弗兰肯斯坦”的一些特殊处理的地方,从模型的角度来说更加简单,并且达到了更加逼真的程度。
|
||||
|
||||
论文的核心方法
|
||||
|
||||
首先,我们来看一看这个叫“弗兰肯斯坦”的模型。这个模型的思路是尽量把能够对人体各个部分建模的最好的模型先拼接到一起。总体来说,每一个部分基本上都由三组参数组成:运动参数(Motion Parameters)、形状参数(Shape Parameters)和全局翻译参数(Global Translation Parameter)。
|
||||
|
||||
对于人的身体部分,作者们采用了SMPL模型[1]。这个模型根据人体形状的均值和形状的变化量进行线性的叠加,然后经过一个LBS变换来得到对身体部分的最终建模。
|
||||
|
||||
对人脸的部分,作者们采用了一个叫FaceWarehouse的模型[2]。这个模型是根据人脸形状的均值、形状的变化量,以及动态的变化量来进行线性的叠加。
|
||||
|
||||
对于手而言,目前并没有模型可以直接用。作者们在这篇论文中提出了自己的模型,总的来说就是对手的骨架和关节进行建模,然后进行类似于身体的LBS变换。同样,也对人体的脚进行了类似的建模。
|
||||
|
||||
当我们有了身体、人脸、手和脚的模型以后,下面的工作就是把这些部分衔接上。首先,作者们保留了人体模型,移除这个模型上的人脸、手和脚。然后利用人脸模型、手的模型以及脚的模型相应的全局翻译参数,使得这些部分的坐标能够拼接上。最后,作者们还应用了一个“融合函数”来构建出一个平滑的人体结构。
|
||||
|
||||
“弗兰肯斯坦”的模型有一个四项的目标优化函数。这个函数的第一项是拟合“关键点”(Key Points),让人体的躯干骨架能够拟合上运动轨迹。第二项是拟合“三维点云”(3D Point Cloud),也就是让人体大部分躯体的实体能够拟合运动轨迹。第三项就是作者们附加的一个“小技巧”(Heuristic)用来把人体的每个部分连接在一起。这一项解决的就是整个模型设计带来的问题,也就是每个部分都是单独的形状参数,而并没有完全在模型上连接起来。最后一项是高斯先验概率,用来帮助模型找到唯一的解。
|
||||
|
||||
在“弗兰肯斯坦”的基础上,作者们开发了“亚当”模型。为了构建“亚当”,他们捕捉了70个人体的形态数据,首先构建这些人体的“弗兰肯斯坦”模型。在这些模型基础之上,作者们加入了人体的头发和衣服的形态,并且重新定义了整个模型的框架。
|
||||
|
||||
和“弗兰肯斯坦”相比,“亚当”是对所有的人体部件直接进行建模。这个模型和我们前面描述的某个具体部分的模型其实很类似,也是把人体的形态均值、形态的变化值和人脸表现值进行线性叠加,然后进行LBS变换。
|
||||
|
||||
因为“亚当”在模型上进行了简化和创新,所以在目标优化函数中只有三项变量。而我们刚刚讲过的用于“弗兰肯斯坦”模型的小技巧在“亚当”中就变得不需要了。
|
||||
|
||||
实验结果
|
||||
|
||||
在实验中,作者们使用了140个VGA照相机对三维身体的关键点进行重建,用了480个VGA照相机,对脚进行重建,31个高清照相机用于脸部和手部关键点的重建以及三维点云的构建。
|
||||
|
||||
作者们显示了利用“弗兰肯斯坦”和“亚当”这两个模型对人体的三维运动进行建模。总体来说,这两个模型的表现非常相似。“亚当”因为有了头发和衣服的形态,在运动中显得更加真实。只是在有一些情况下,“亚当”构建的腿会显得有一些不协调的瘦,出现这种情况的原因,作者们归结于数据的缺失。
|
||||
|
||||
不过,从总体效果上来讲,这篇论文作为第一个对于人体的全身进行三维建模并动态跟踪的工作,应该算是达到了满意的结果。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了CVPR 2018的最佳学生论文。
|
||||
|
||||
一起来回顾下要点:第一,我们详细介绍了这篇文章要解决的问题,就是从整体上对人体的运动进行三维建模;第二,我们简要介绍了文章提出的两个模型,“弗兰肯斯坦”和“亚当”核心内容;第三,我们简单介绍了这篇论文所取得的不错的实验结果。
|
||||
|
||||
最后,给你留一个思考题,如果我们需要对“亚当”这个模型进行改进,你认为下一步应该做什么?
|
||||
|
||||
参考文献
|
||||
|
||||
|
||||
M. Loper, N. Mahmood, J. Romero, G. Pons-Moll, and M. J. Black. SMPL: A Skinned Multi-Person Linear Model. In TOG, 2015.
|
||||
|
||||
C. Cao, Y. Weng, S. Zhou, Y. Tong, and K. Zhou. FaceWareHouse: A 3D Facial Expression Database for Visual Computing. In TVCG, 2014.
|
||||
|
||||
|
||||
|
||||
|
||||
|
0
专栏/AI技术内参/024CVPR2018论文精读:如何解决排序学习计算复杂度高这个问题?.md
Normal file
0
专栏/AI技术内参/024CVPR2018论文精读:如何解决排序学习计算复杂度高这个问题?.md
Normal file
0
专栏/AI技术内参/025ICML2018论文精读:模型经得起对抗样本的攻击?这或许只是个错觉.md
Normal file
0
专栏/AI技术内参/025ICML2018论文精读:模型经得起对抗样本的攻击?这或许只是个错觉.md
Normal file
0
专栏/AI技术内参/026ICML2018论文精读:聊一聊机器学习算法的公平性问题.md
Normal file
0
专栏/AI技术内参/026ICML2018论文精读:聊一聊机器学习算法的公平性问题.md
Normal file
0
专栏/AI技术内参/027ICML2018论文精读:优化目标函数的时候,有可能放大了不公平?.md
Normal file
0
专栏/AI技术内参/027ICML2018论文精读:优化目标函数的时候,有可能放大了不公平?.md
Normal file
77
专栏/AI技术内参/028ACL2018论文精读:问答系统场景下,如何提出好问题?.md
Normal file
77
专栏/AI技术内参/028ACL2018论文精读:问答系统场景下,如何提出好问题?.md
Normal file
@ -0,0 +1,77 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
028 ACL 2018论文精读:问答系统场景下,如何提出好问题?
|
||||
今年7月15日~20日,计算语言学协会年会ACL 2018(56th Annual Meeting of the Association for Computational Linguistics),在澳大利亚的墨尔本举行,这是自然语言处理和计算语言学领域的顶级会议。
|
||||
|
||||
计算语言学协会(ACL)最早成立于1962年,每年都赞助举行各种学术交流和研讨大会。ACL大会是ACL的旗舰会议,可以说这个会议是了解自然语言处理每年发展情况的重量级场所。
|
||||
|
||||
会议今年收到了1018篇长论文和526篇短论文的投稿。最终,大会接收了256篇长论文以及125篇短论文,综合录用率达到24.7%。
|
||||
|
||||
今天,我们来看这次会议的一篇最佳论文,题目是《学习提出好问题:使用完美信息的神经期望价值对澄清问题进行排序》(Learning to Ask Good Questions: Ranking Clarification Questions using Neural Expected Value of Perfect Information)。
|
||||
|
||||
首先给你简单介绍下论文的作者。
|
||||
|
||||
第一作者萨德哈·饶(Sudha Rao)来自马里兰大学学院市分校(University of Maryland, College Park),是计算机系的博士生。她已经在ACL,EMNLP、NAACL等自然语言处理大会上发表了多篇论文,并且在微软研究院实习过。
|
||||
|
||||
第二作者是饶的导师哈尔·道姆三世(Hal Daume III),是马里兰大学学院市分校计算机系的一名教授,目前也在纽约的微软研究院工作。他是机器学习和自然语言处理领域的专家,在诸多领域都发表过不少研究成果,论文引用数达到9千多次。
|
||||
|
||||
论文的主要贡献
|
||||
|
||||
这篇论文关注的是“问答系统”(Question & Answering)。问答系统不仅在实用领域受到大量用户的青睐,产生了诸如Quora、知乎、Stack Overflow等知名的在线问答服务,也在人工智能系统开发领域受到研究者的关注。
|
||||
|
||||
我们曾经提到过“图灵测试”,用来衡量一个系统或者说是一个机器人是否具有真正的人工智能,这个测试其实就是建立在人机问答的交互场景下的。因此,建立有效的问答系统一直是人工智能研究,特别是自然语言处理研究的核心课题之一。
|
||||
|
||||
这篇论文的作者们认为,在问答系统的场景中,一个非常重要的手段是针对已经提出的问题进行“澄清式”(Clarification)提问,从而能够引导其他回答者更加有效地进行回答。也就是说,作者们研究的主题是,如何找到这些具有桥梁作用的“澄清式问题”,这是这篇论文的第一个重要贡献。
|
||||
|
||||
论文的第二个主要贡献是利用了“决策论”(Decision Theoretic)框架下的EVPI(Expected Value of Perfect Information,完美信息的期望价值),来衡量一个澄清式问题会对原始的问题增加多少有用的信息。简而言之,EVPI就是这篇论文提出来的一个衡量有用信息的测度(Measure)。
|
||||
|
||||
论文的第三个贡献是通过Stack Exchange平台(Stack Overflow是其一个子站点),构造了一个7万7千条含有澄清式问题的数据集。作者们从这个数据集中选取了500个样本进行了实验,并且发现,提出的模型要明显好于一些之前在问题系统中的类似算法。
|
||||
|
||||
论文的核心方法
|
||||
|
||||
既然这篇论文的一个核心贡献是提出了“澄清式提问”这么一个新的概念,用于帮助问答系统的开发。那么,究竟什么是“澄清式提问”呢?
|
||||
|
||||
实际上在这篇文章里,作者们并没有对“澄清式提问”给出一个清晰的定义,而是仅仅提供了一个实例来解释什么是“澄清式提问”。
|
||||
|
||||
例如,一个用户在Ask Ubuntu这个子论坛里,询问在安装APE程序包时遇到的问题。这个时候,如果我们需要问“澄清式问题”,究竟什么样的问题可以激发其他人或者提出澄清式问题的人来进一步解答原始的问题呢?
|
||||
|
||||
我们看下面几个从不同角度提出的问题:可以问这个用户使用的Ubuntu系统具体的版本号;也可以问用户的WiFi网卡信息,还可以问用户是不是在X86体系下运行Ubuntu。
|
||||
|
||||
那么,在这一个场景下,后两个问题要么无法为原始的问题提供更多有价值的信息,要么就是彻底的不相关,而第一个问题关于具体的版本号,很明显是用户可以提供的,并且可以帮助回答问题的人来缩小问题的范围。
|
||||
|
||||
这也带出了这篇论文的第二个贡献点,如何衡量一个帖子的价值呢?
|
||||
|
||||
要回答这个问题,我们需要知道这里有两种帖子是模型需要处理的。第一种帖子集合是候选的澄清式问题集合。第二种帖子集合是候选的最终回答集合。我们最终的目的是得到最佳的最终回答。这里面起到“搭桥”作用的就是澄清式问题。
|
||||
|
||||
所以,作者们就构造了一个针对每一个最终问题的EVPI值,用于衡量这个问题的“期望价值”。为什么是期望价值呢?因为这里面有一个不确定的因素,那就是根据不同的澄清式问题,可能会产生不同的回答。因此,作者们在这里使用了概率化的表达。
|
||||
|
||||
也就是说,EVPI的核心其实就是计算给定当前的原始问题以及某一个澄清式回答的情况下,某一个最终回答的概率,乘以这个回答所带来的“收益”。当我们针对候选最终回答集合中所有的回答都进行了计算以后,然后求平均,就得到了我们针对某一个澄清式回答的EVPI。换句话说,某一个澄清式回答的EVPI就是其所能产生的所有可能的最终回答的加权平均收益。
|
||||
|
||||
从上面这个定义中,我们有两点不确定。第一,我们并不知道给定当前的原始问题以及某一个澄清式回答的情况下,某一个最终回答的条件概率;第二,我们并不知道问题的收益。因此,作者们利用了两个神经网络模型来对这两个未知量进行联合学习(Joint Learning)。这可以算是本文在建模上的一个创新之处。
|
||||
|
||||
具体来说,首先,作者们利用LSTM来针对原始问题、候选澄清问题、以及最后解答产生相应的表达向量。然后,原始问题和某一个候选澄清问题的表达向量,通过一个神经网络产生一个综合的表达。最后,作者们定义了一个目标函数来针对这些初始的表达向量进行优化。
|
||||
|
||||
这个目标是需要我们学习到的答案的表达靠近初始得到的答案的表达,同时,也要靠近最终答案的表达,如果这个最终答案所对应的问题也靠近原来的问题。换句话说,如果两个问题的表达相近,答案的表达也需要相近。
|
||||
|
||||
那什么样的问题是相近的问题呢?作者们利用了Lucene这个信息检索工具,根据一个原始的问题寻找相近的问题。这里,作者们并没有真实的标签信息,所以利用了一些方法来标注数据,从而能够让模型知道两个问题是否相关。
|
||||
|
||||
论文的实验结果
|
||||
|
||||
作者们利用了Stack Exchange来构建一个分析澄清式问题的数据集。具体的思路是,如果原始问题曾经被作者修改过,那么后面的某一个帖子中所提出的问题就会被当作是澄清式问题,而原始问题就被当作是因为澄清式问题而得以改进的帖子。很明显,这是一个非常粗略的数据收集条件。当原始问题被作者修改过以后,并且最后因为这个修改得到回复,就被认为是一个最终的答案。经过这么一番构建,作者们整理了7万7千多条帖子。
|
||||
|
||||
作者们利用论文提出的方式和其他的经典模型进行比较。最后的结论是,提出的模型能够更好地找到最佳的澄清式问题,效果要好于仅仅是简单利用神经网络,来匹配原始问题和相应的澄清式问题。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了ACL 2018的一篇最佳论文。
|
||||
|
||||
一起来回顾下要点:第一,这篇论文提出了“澄清式提问”这个概念,来帮助问答系统的开发;第二,文章提出了一系列方法,对澄清式问题进行描述和衡量;第三,文章构建了一个数据集,通过实验论证了所提出方法的有效性。
|
||||
|
||||
最后,给你留一个思考题,通过这篇文章关于澄清式问题的介绍,你能否给澄清式问题下一个定义呢?
|
||||
|
||||
|
||||
|
||||
|
74
专栏/AI技术内参/029ACL2018论文精读:什么是对话中的前提触发?如何检测?.md
Normal file
74
专栏/AI技术内参/029ACL2018论文精读:什么是对话中的前提触发?如何检测?.md
Normal file
@ -0,0 +1,74 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
029 ACL 2018论文精读:什么是对话中的前提触发?如何检测?
|
||||
今天,我来和你分享ACL 2018的第二篇最佳论文,题目是《让我们“再”次做到:检测副词前提触发词的第一种计算方法》(Let’s do it “again”: A First Computational Approach to Detecting Adverbial Presupposition Triggers)。
|
||||
|
||||
这篇论文的作者都来自加拿大麦吉尔大学(McGill University)的计算机系。前三位学生作者是这篇论文的共同第一作者,对论文的贡献相同。他们的导师张智杰(Jackie Chi Kit Cheung)助理教授是这篇论文的最后一个作者。张智杰于2014年从多伦多大学博士毕业,之前曾两次在微软研究院实习过,他长期从事自然语言处理的研究。
|
||||
|
||||
论文的主要贡献
|
||||
|
||||
这篇论文的背景要从“语用学”(Pragmatics)说起。语用学是语言学的一个分支学科,与符号学理论相互交叉、渗透,研究语境对语言含义产生的影响和贡献。语用学包括言语行为理论、对话内涵义、交流中的对话,以及从哲学、社会学、语言学以及人类学等角度解析人类语言行为的研究。
|
||||
|
||||
语用学分析研究语言行为(如招呼、回答、劝说)的文化准绳和发言规则。不同的文化之间皆有约定俗成、客套的对话,在跨文化交流中,为了避免因为语言规范的差异而在交谈之中产生误解,社会语言学的知识与务实能力是语言学习者所不能忽视的。
|
||||
|
||||
在语用学中,“前提”(Presuppositions)是交谈的参与者共同约定的假设和认知,而且在谈话中被广泛使用。同时,在这篇论文中,作者们把提示“前提”的“表达”(Expression)定义为“前提触发”(Presupposition Triggers),包括一些动词、副词和其他短语。为了更加清晰地说明这些概念,作者们举了这么一个例子。
|
||||
|
||||
假设我们现在有两句话:
|
||||
|
||||
|
||||
约翰再次要去那家餐厅(John is going to the restaurant *again*)。
|
||||
约翰已经去过了那家餐厅(John has been to the restaurant)。
|
||||
|
||||
|
||||
第一句话要能够成立必须要建立在第二句话的基础上。特别是“前提触发”词“再”(Again)的使用,是建立在第二句话真实的情况下。换句话说,第一句话必须在第二句话的上下文中才能够被理解。值得一提的是,即便我们对第一句话进行否定,“约翰不打算再去那家餐厅了”(John is not going to the restaurant again),依然需要第二句话的支持。也就是说,“前提触发”词在这里并不受到否定的影响。
|
||||
|
||||
这篇论文的核心贡献就是对以副词为主的前提触发词进行检测。这里面包括“再”(Again)、“也”(Also)和“还”(Still)等。再此之前,还没有对这方面词汇进行检测的学术研究工作。能够对这类前提触发词进行检测,可以应用到文本的归纳总结(Summarization)和对话系统等场景中。
|
||||
|
||||
为了更好地研究这个任务,作者们还基于著名的自然语言处理数据Penn Treebank和English Gigaword,建立了两个新的数据集从而能够进行触发词的分类检测工作。最后,作者们设计了一个基于“关注”(Attention)机制的时间递归神经网络(RNN)模型来针对前提触发词进行检测,达到了很好的效果。
|
||||
|
||||
论文的核心方法
|
||||
|
||||
现在,我们来讨论这篇论文的一些细节。
|
||||
|
||||
首先,我们来看看数据集是如何生成的。数据中的每一个数据点都是一个三元组,分别是标签信息(正例还是负例),文本的单词,文本单词所对应的“词类标签”或简称为POS标签(例如动词、名词)。
|
||||
|
||||
数据点正例就表明当前数据包含前提触发词,反之则是负例。另外,因为我们需要检测的是副词性的前提触发词,因此我们还需要知道这个词所依靠的动词。作者们把这个词叫作副词的“管理词”(Governor)。
|
||||
|
||||
作者们首先针对文档扫描,看是否含有前提触发词。当发现有前提触发词的时候,提取这个触发词的管理词,然后提取管理词前50个单词,以及管理词后面到句子结束的所有的单词。这就组成了正例中的单词。当找到了所有的正例之后,作者们利用管理词来构建负例。也就是说,在文本中寻找哪些句子含有一样的管理词,但并不包括后面的前提触发词,这样的句子就是负例。
|
||||
|
||||
下面,我们来看一下作者们提出模型的一些构成。从大的角度来说,为了识别前提触发词,作者们考虑了一个双向LSTM的基本模型架构,在此之上有一个“关注机制”,在不同的情况下来选择LSTM的中间状态。
|
||||
|
||||
具体来说,整个模型的输入有两部分内容。
|
||||
|
||||
第一部分,是文本的单词进行了词向量(Embedding)的转换。我们已经反复看到了,这是在自然语言处理场景中利用深度学习模型必不可少的步骤。这样做的好处就是把离散数据转换成了连续的向量数据。
|
||||
|
||||
第二部分,是输入这些单词相对应的POS标签。和单词不一样的是,POS标签依然采用了离散的特性表达。
|
||||
|
||||
然后,连续的词向量和离散POS标签表达合并在一起,成了双向LSTM的输入。这里,利用双向LSTM的目的是让模型针对输入信息的顺序进行建模。跟我们刚才提到的例子一样,前提触发词和其所依靠的动词,在一个句子的段落中很明显是和前后的其他单词有关联的。因此,双向LSTM就能够达到对这个结构进行记忆的目的,并且提取出有用的中间变量信息。
|
||||
|
||||
下面需要做的就是从中间变量信息到最终的分类结果的变换。这里,作者们提出了一个叫“加权池化网络”(Weighted Pooling Network)的概念,并且和“关注”机制一起来进行这一步的中间转换。
|
||||
|
||||
可以说,作者们这一步其实是借助了计算机视觉中的经常使用的卷积神经网络CNN中的池化操作来对文档进行处理。具体来说,作者们把所有LSTM产生的中间状态堆积成一个矩阵,然后利用同一个矩阵乘以其自身的转置就得到了一个类似于相关矩阵的新矩阵。可以说,这个新矩阵是完全抓住了当前句子通过LSTM中间变量转换后所有中间状态的两两关系。
|
||||
|
||||
然后,作者们认为最后的分类结构就是从这个矩阵中抽取信息而得到的。至于怎么抽取,那就需要不同的权重。这种根据不同的情况来设置权重的机制就叫作“关注”机制。经过矩阵中信息的抽取,然后再经过全联通层,最终就形成了标准的分类输出。
|
||||
|
||||
论文的实验结果
|
||||
|
||||
作者们在我们上面提到的两个新数据集上进行了实验,并且和一系列的方法进行了比较。其他的方法包括简单的对数几率回归方法(Logistic Regression),简化了的但是依然利用了双向LSTM结构的模型,还有一个利用CNN来进行提取信息的模型。
|
||||
|
||||
在两个数据集上,论文提出的方法比对数几率回归以及CNN的方法都要好10%~20%左右。和简化的LSTM模型相比,优势并没有那么大,但依然有统计意义上的好效果。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了ACL 2018的另外一篇最佳论文。
|
||||
|
||||
一起来回顾下要点:第一,这篇论文的背景是语用学,核心贡献是对以副词为主的前提触发词进行检测;第二,论文的核心方法是提出一个双向LSTM的基本模型架构,并利用“关注机制”,根据不同的情况来设置权重;第三,论文构建了两个数据集,取得了较好的实验结果。
|
||||
|
||||
最后,给你留一个思考题,这篇论文使用了双向LSTM的架构,能不能使用单向LSTM呢?
|
||||
|
||||
|
||||
|
||||
|
73
专栏/AI技术内参/030ACL2018论文精读:什么是端到端的语义哈希?.md
Normal file
73
专栏/AI技术内参/030ACL2018论文精读:什么是端到端的语义哈希?.md
Normal file
@ -0,0 +1,73 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
030 ACL 2018论文精读:什么是端到端的语义哈希?
|
||||
今天,我们来看今年ACL大会的一篇最佳论文提名,题目是《NASH:面向生成语义哈希的端到端神经架构》(NASH: Toward End-to-End Neural Architecture for Generative Semantic Hashing)。
|
||||
|
||||
先来简单介绍下论文的作者群,我着重介绍三位。
|
||||
|
||||
第一作者沈丁涵(Dinghan Shen音译)是杜克大学计算机科学系的博士生。他已经发表了多篇自然语言处理和机器学习相关的论文,并且在NEC实验室和微软研究院都实习过。
|
||||
|
||||
论文的共同第一作者苏勤亮(Qinliang Su音译),目前是中山大学数据科学与计算机学院的副教授。他在香港大学取得博士学位,之后曾在杜克大学从事博士后研究工作。
|
||||
|
||||
作者中的劳伦斯·卡林(Lawrence Carin)是杜克大学教授。卡林是机器学习的权威,也是沈丁涵的导师。
|
||||
|
||||
论文的主要贡献
|
||||
|
||||
在很多的应用中,我们都需要根据一个已有的文档表达和一个文档库,找到最相近的,或者说最类似的文档。这经常被叫作“相似查找”(Similarity Search)或者“最近邻查找”(Nearest-Neighbor Search),在推荐系统、信息检索、图片检索等领域都有非常广泛的应用。
|
||||
|
||||
“语义哈希”(Semantic Hashing)被认为是解决“相似查找”的一个重要并且行之有效的方法。简单来说,“语义哈希”要做的就是把文档表达为离散的,也就是二元的向量。这些向量保留了文档在原始空间中的相似关系。因此常常被认为是带有语义的哈希过程,这也就是“语义哈希”这个名字的来历。
|
||||
|
||||
当我们把文档转换为语义哈希空间之后,文档之间相似度的计算就变成了利用“汉明距离”(Hamming Distance)来计算离散向量之间的距离。在当下的计算机体系架构中,上百万文档之间的“汉明距离”都可以在几个毫秒间完成计算。因此,我们可以看到,“语义哈希”的一个优势就是计算快捷,并且保持了原始空间的语义信息。
|
||||
|
||||
那么,看似这么有优势的“语义哈希”有没有什么劣势呢?
|
||||
|
||||
虽然已经有相当多的研究针对文字数据产生哈希,但是这些现有的方法都有一些明显的问题,其中最紧要的一个问题就是这些方法大多都需要两个阶段。
|
||||
|
||||
具体是哪些方法呢?我把这些方法归纳为两种思路。
|
||||
|
||||
第一种思路,我们首先需要在无监督的条件下学习文档的二元哈希;然后,我们需要训练L个二元分类器来预测L个二元位的哈希值,这个步骤是监督学习过程。
|
||||
|
||||
第二种思路,我们首先针对文档学习连续的表达向量,然后在测试阶段再把连续值进行二元离散化。
|
||||
|
||||
很明显,不管是哪一种思路,这种两个步骤的方法都不可避免地会仅仅得到次优的结果。这是因为两个步骤的优化流程是脱节的。而且,在从连续的表达向量到二元离散化的过程中,往往利用的是经验法则(Heuristic),因此语义信息可能被丢失。
|
||||
|
||||
基于这些问题,这篇论文提出了“端到端”(End-to-End)的“语义哈希”训练过程。作者们认为,经过一个阶段就可以得到完整哈希值的研究工作,这篇文章是第一个。在此之上,作者们利用了最新的NVI框架(Neural Variational Inference,神经化的变分推断),来学习文档的二元编码,在无监督和监督环境下都取得了不错的结果。
|
||||
|
||||
这篇论文的另一个贡献就是在提出的方法和“比率损失理论”(Rate Distortion Theory)之间建立了联系。在这个联系的基础上,作者们展示了如何在模型的训练过程中“注入”(Inject)“数据相关的噪音”(Data-Dependent Noise)来达到更好的效果。
|
||||
|
||||
论文的核心方法
|
||||
|
||||
作者们首先把从文档生成“语义哈希”看作是一种编码(Encode)和解码(Decode)的流程。文档的二元哈希向量则被看成了表达文档的一种隐变量(Latent Variable)。也就是说,作者们认为文档的哈希向量是从文档的特性(可以是TF-IDF值)产生的一组隐变量,这也被认为是一种编码的过程,是从文档的特性向量到哈希向量的编码。
|
||||
|
||||
在过去的模型中,编码过程是被反复关注的,但是解码过程则很少有模型去直接建模。所谓的解码过程就是从已经产生的哈希向量转换成为文档的特性向量的过程。也就是说,我们希望能够重新从哈希向量中生成原始的数据。
|
||||
|
||||
对原始数据和中间隐变量的编码过程统一进行建模,是当前神经网络生成式模型的一种标准方法。在这里,编码和解码都各自有不同的神经网络,用于表达相应的条件概率分布。
|
||||
|
||||
具体来说,数据的原始信息X首先经过一个多层感知网,然后再变换成为二元的中间变量Z。这时候,Z其实就是我们需要得到的哈希向量了。只不过在提出的模型中,还有第二个部分,那就是从Z得到X的一个重现,也就是我们刚才提到的利用哈希来重构数据。很明显,我们希望重构的X和原始的X之间要非常相似,也就是说距离最小。
|
||||
|
||||
作者们发现,从数据中学习一个二元编码是“信息论”(Information Theory)中典型的“有损源编码”(Lossy Source Coding)问题。因此,“语义哈希”其实也可以被看作是一个“比率损失平衡”(Rate Distortion Tradeoff)问题。
|
||||
|
||||
什么意思呢?就是说,我们希望用较少的比率来对信息进行编码,同时又希望从编码中重构的数据能够和原始的数据尽量相近。很明显,这两者有一点“鱼与熊掌不可兼得”的意思,也就是这两者需要一个平衡才能达到最优。
|
||||
|
||||
把重写模型的目标函数定为“比率损失平衡”,通过这种形式,作者们意识到模型中的从编码到重构数据的条件分布,也就是一个高斯分布中的方差值,其实控制了这个平衡的关系。那么,就需要针对不同的文档对这个方差值进行调整,从而达到最优的编码效果,同时又是比率损失平衡的。作者们并没有采用去优化这个方差值的办法,而是在一个固定的方差值周围加入一些随机噪声,从而在实际实验中收到了不错的效果。
|
||||
|
||||
论文的实验结果
|
||||
|
||||
作者们利用了三个数据集进行实验,所有的数据集都首先转换成为TF-IDF的形式。作者们把提出的方法和其他的五种基本方法进行了比较。
|
||||
|
||||
从总体上来说,文章提出的方法在没有随机噪声的情况下,已经比其他五种方法要好得多。加入随机噪声之后,模型就有了更好的表现力。同时,作者还展示了学到的二元哈希值的确能够保持语义信息,相同文本类别的文档,它们的哈希值非常类似,也就是我们之间说过的,他们之间的汉明距离很近。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了今年ACL的一篇最佳论文提名,至此,我们关于ACL 2018的分享就告一段落。
|
||||
|
||||
一起来回顾下要点:第一,这篇文章针对语义哈希产生过程的劣势,提出了“端到端”的语义哈希训练过程;第二,论文的核心方法是把文档生成语义哈希看作是一种编码和解码的流程,进一步发现“语义哈希”其实也可以被看作是一个“比率损失平衡”问题;第三,论文取得了不错的实验效果。
|
||||
|
||||
最后,给你留一个思考题,在现实中利用语义哈希,有没有什么障碍?比如要在推荐系统中做语义哈希,最大的挑战会是什么?
|
||||
|
||||
|
||||
|
||||
|
0
专栏/AI技术内参/030复盘7一起来读人工智能国际顶级会议论文.md
Normal file
0
专栏/AI技术内参/030复盘7一起来读人工智能国际顶级会议论文.md
Normal file
0
专栏/AI技术内参/031经典搜索核心算法:TF-IDF及其变种.md
Normal file
0
专栏/AI技术内参/031经典搜索核心算法:TF-IDF及其变种.md
Normal file
81
专栏/AI技术内参/032经典搜索核心算法:BM25及其变种(内附全年目录).md
Normal file
81
专栏/AI技术内参/032经典搜索核心算法:BM25及其变种(内附全年目录).md
Normal file
@ -0,0 +1,81 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
032 经典搜索核心算法:BM25及其变种(内附全年目录)
|
||||
周一我们讲了TF-IDF算法和它的四个变种,相对于TF-IDF而言,在信息检索和文本挖掘领域,BM25算法则更具理论基础,而且是工程实践中当仁不让的重要基线(Baseline)算法 。BM25在20世纪70年代到80年代被提出,到目前为止已经过去二三十年了,但是这个算法依然在很多信息检索的任务中表现优异,是很多工程师首选的算法之一。
|
||||
|
||||
今天我就来谈谈BM25算法的历史、算法本身的核心概念以及BM25的一些重要变种,帮助你快速掌握这个信息检索和文本挖掘的利器。
|
||||
|
||||
BM25的历史
|
||||
|
||||
BM25,有时候全称是Okapi BM25,是由英国一批信息检索领域的计算机科学家开发的排序算法。这里的“BM”是“最佳匹配”(Best Match)的简称。
|
||||
|
||||
BM25背后有两位著名的英国计算机科学家。第一位叫斯蒂芬·罗伯逊(Stephen Robertson)。斯蒂芬最早从剑桥大学数学系本科毕业,然后从城市大学(City University)获得硕士学位,之后从伦敦大学学院(University College London)获得博士学位。斯蒂芬从1978年到1998年之间在城市大学任教。1998年到2013年间在微软研究院剑桥实验室工作。我们之前提到过,美国计算机协会ACM现在每三年颁发一次“杰拉德·索尔顿奖”,用于表彰对信息检索技术有突出贡献的研究人员。2000年这个奖项颁给斯蒂芬,奖励他在理论方面对信息检索的贡献。BM25可谓斯蒂芬一生中最重要的成果。
|
||||
|
||||
另外一位重要的计算机科学家就是英国的卡伦·琼斯(Karen Spärck Jones)。周一我们在TF-IDF的文章中讲过。卡伦也是剑桥大学博士毕业,并且毕生致力于信息检索技术的研究。卡伦的最大贡献是发现IDF以及对TF-IDF的总结。卡伦在1988年获得了第二届“杰拉德·索尔顿奖”。
|
||||
|
||||
BM25算法详解
|
||||
|
||||
现代BM25算法是用来计算某一个目标文档(Document)相对于一个查询关键字(Query)的“相关性”(Relevance)的流程。通常情况下,BM25是“非监督学习”排序算法中的一个典型代表。
|
||||
|
||||
顾名思义,这里的“非监督”是指所有的文档相对于某一个查询关键字是否相关,这个信息是算法不知道的。也就是说,算法本身无法简单地从数据中学习到相关性,而是根据某种经验法则来“猜测”相关的文档都有什么特质。
|
||||
|
||||
那么BM25是怎么定义的呢?我们先来看传统的BM25的定义。一般来说,经典的BM25分为三个部分:
|
||||
|
||||
|
||||
单词和目标文档的相关性
|
||||
单词和查询关键词的相关性
|
||||
单词的权重部分
|
||||
|
||||
|
||||
这三个部分的乘积组成某一个单词的分数。然后,整个文档相对于某个查询关键字的分数,就是所有查询关键字里所有单词分数的总和。
|
||||
|
||||
我们先从第一部分说起,即单词和目标文档的相关性。这里相关性的基本思想依然是“词频”,也就是TF-IDF里面TF的部分。词频就是单词在目标文档中出现的次数。如果出现的次数比较多,一般就认为更相关。和TF-IDF不同,BM25最大的贡献之一就是挖掘出了词频和相关性之间的关系是非线性的,这是一个初看有违常理但细想又很有道理的洞察。
|
||||
|
||||
具体来说,每一个词对于文档相关性的分数不会超过一个特定的阈值。这个阈值当然是动态的,根据文档本身会有调整。这个特征就把BM25里的词频计算和一般的TF区分开了。也就是说,词频本身需要“标准化”(Normalization),要达到的效果是,某一个单词对最后分数的贡献不会随着词频的增加而无限增加。
|
||||
|
||||
那BM25里词频的标准化是怎么做的呢?就是某一个词的词频,除以这个词的词频加上一个权重。这个权重包含两个超参数(Hyper-parameter),这些超参数后期是可以根据情况手动调整的。这个做法在非监督的排序算法中很普遍。同时,这个权重还包括两个重要信息:第一,当前文档的长度;第二,整个数据集所有文档的平均长度。
|
||||
|
||||
这几个因素混合在一起,我们就得到了一个新的词频公式,既保证单词相对于文档的相关度和这个单词的词频呈现某种正向关系,又根据文档的相对长度,也就是原始长度和所有文档长度的一个比值关系,外加一些超参数,对词频进行了限制。
|
||||
|
||||
有了单词相对于文档的相关度计算公式作为基础,单词相对于查询关键字的相关度可以说是异曲同工。首先,我们需要计算单词在查询关键字中的词频。然后,对这个词频进行类似的标准化过程。
|
||||
|
||||
和文档的标准化过程唯一的区别,这里没有采用文档的长度。当然,对于查询关键字来说,如果需要使用长度,也应该是使用查询关键字的长度和平均长度。但是,根据BM25经典公式来说,这一部分并没有使用长度信息进行重新标准化。
|
||||
|
||||
接着我来谈谈最后一个部分,单词权重的细节,通常有两种选择。
|
||||
|
||||
第一种选择就是直接采用某种变形的IDF来对单词加权。一般来说,IDF就是利用对数函数(Log函数)对“文档频率”,也就是有多少文档包含某个单词信息进行变换。这里回顾一下周一讲的内容,IDF是“文档频率”的倒数,并且通过对数函数进行转换。如果在这里使用IDF的话,那么整个BM25就可以看作是一个某种意义下的TF-IDF,只不过TF的部分是一个复杂的基于文档和查询关键字、有两个部分的词频函数。
|
||||
|
||||
第二种单词的权重选择叫作“罗伯逊-斯巴克-琼斯”权重(Robertson-Spärck-Jones),简称RSJ值,是由计算机科学家斯蒂芬·罗伯逊和卡伦·琼斯合作发现。我们刚才讲过,这两位都是重要的信息检索学术权威。这个权重其实就是一个更加复杂版本的IDF。一个关键的区别是RSJ值需要一个监督信息,就是要看文档对于某个查询关键字是否相关,而IDF并不需要。
|
||||
|
||||
对比以上两种思路,在很多情况下,利用IDF来直接进行单词权重的版本更加普遍。如果在有监督信息的情况下,RSJ值也不失为一个很好的选择。
|
||||
|
||||
通过这里简单的介绍,我们可以很容易地发现,BM25其实是一个经验公式。这里面的每一个成分都是经过很多研究者的迭代而逐步发现的。很多研究在理论上对BM25进行了建模,从“概率相关模型”(Probabilistic Relevance Model)入手,推导出BM25其实是对某一类概率相关模型的逼近。对这一部分我在这里就不展开论述了。需要你记住的是,BM25虽然是经验公式,但是在实际使用中经常表现出惊人的好效果。因此,很有必要对这一类文档检索算法有所了解。
|
||||
|
||||
BM25算法变种
|
||||
|
||||
由于BM25的情况,一方面是经验公式,另一方面是某种理论模型的逼近,这样就出现了各式各样的BM25变种。这里我仅仅介绍一些有代表性的扩展。
|
||||
|
||||
一个重要的扩展是BM25F,也就是在BM25的基础上再多个“域”(Field)文档上的计算。这里“域”的概念可以理解成一个文档的多个方面。比如,对于很多文档来说,文档包括标题、摘要和正文。这些组成部分都可以认为是不同的“域”。那么,如何结合不同的“域”,让文档的相关性能够统一到一个分数上就是BM25F的核心内容。
|
||||
|
||||
具体来说,BM25F对于BM25的扩展很直观。那就是每一个单词对于文档的相关性是把各个域当做一个“小文档”的加权平均。也就是说,我们先把每个域当做单独的文档,计算词频,进行标准化。然后集合每个域的值,进行加权平均,再乘以词的权重(我们上面提到了,用IDF或者是RSJ值)。
|
||||
|
||||
另外一个重要的扩展就是把BM25和其他文档信息(非文字)结合起来。这个想法是在“学习排序”(Learning To Rank)这一思路出现以前的一种普遍的做法,往往就是用线性加权的形式直接把各种信息相结合。例如,在21世纪初期比较流行的做法是用BM25和PageRank的线性结合来确定网页的相关度。这里面,BM25是和某个查询关键字有联系的信息,而PageRank则是一个网页的总体权重。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了文档检索领域或者说搜索领域里最基本的一个技术:BM25。我们可以看到,BM25由三个核心的概念组成,包括词在文档中相关度、词在查询关键字中的相关度以及词的权重。BM25是一个长期积累的经验公式,也有很深的理论支持,是一个强有力的非监督学习方法的文本排序算法。
|
||||
|
||||
一起来回顾下要点:第一,简要介绍了BM25的历史。第二,详细介绍了BM25算法的三个主要组成部分。第三,简要地介绍了BM25的一些变种 。
|
||||
|
||||
最后,给你留一个思考题,虽然BM25是非监督的排序方法,并且我们提到其中有一些超参数,那么是否可以通过机器学习的手段来学习到这些超参数的最佳取值呢?
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
87
专栏/AI技术内参/033经典搜索核心算法:语言模型及其变种.md
Normal file
87
专栏/AI技术内参/033经典搜索核心算法:语言模型及其变种.md
Normal file
@ -0,0 +1,87 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
033 经典搜索核心算法:语言模型及其变种
|
||||
在信息检索和文本挖掘领域,我们之前已经讲过了TF-IDF算法和BM25算法。TF-IDF因其简单和实用常常成为很多信息检索任务的第一选择,BM25则以其坚实的经验公式成了很多工业界实际系统的重要基石。
|
||||
|
||||
然而,在信息检索研究者的心里,一直都在寻找一种既容易解释,又能自由扩展,并且在实际使用中效果显著的检索模型。这种情况一直到20世纪90年代末、21世纪初才得到了突破,一种叫“语言模型”(Language Model)的新模型得到发展。其后10多年的时间里,以语言模型为基础的各类变种可谓层出不穷,成了信息检索和搜索领域的重要研究方向。
|
||||
|
||||
今天我就来谈谈语言模型的历史,算法细节和语言模型的重要变种,帮助初学者快速掌握这一模型。
|
||||
|
||||
语言模型的历史
|
||||
|
||||
语言模型在信息检索中的应用开始于1998年的SIGIR大会(International ACM SIGIR Conference on Research and Development in Information Retrieval,国际信息检索大会)。来自马萨诸塞州大学阿姆赫斯特分校(UMass Amherst)的信息检索学者杰·庞特(Jay M. Ponte)和布鲁斯·夸夫特(W. Bruce Croft)发表了第一篇应用语言模型的论文,从此开启了一个新的时代。
|
||||
|
||||
布鲁斯是信息检索的学术权威。早年他在英国的剑桥大学获得博士学位,之后一直在马萨诸塞州大学阿姆赫斯特分校任教。他于2003年获得美国计算机协会ACM颁发的“杰拉德·索尔顿奖”,表彰他在信息检索领域所作出的突出贡献。另外,布鲁斯也是ACM院士。
|
||||
|
||||
从那篇论文发表之后,华人学者翟成祥对于语言模型的贡献也是当仁不让。他的博士论文就是系统性论述语言模型的平滑技术以及各类语言模型的深刻理论内涵。
|
||||
|
||||
翟成祥来自中国的南京大学计算机系,并于1984年、1987年和1990年分别获得南京大学的学士、硕士和博士学位,2002年他从美国卡内基梅隆大学计算机系的语言与信息技术研究所获得另外一个博士学位。
|
||||
|
||||
翟成祥曾经获得过2004年的美国国家科学基金会职业生涯奖(NSF CAREER Award)和2004年ACM SIGIR最佳论文奖。另外,2004年翟成祥还获得了著名的美国总统奖(PECASE,Presidential Early Career Award for Scientists and Engineers)。
|
||||
|
||||
语言模型详解
|
||||
|
||||
语言模型的核心思想是希望用概率模型(Probabilistic Model)来描述查询关键字和目标文档之间的关系。语言模型有很多的类型,最简单的、也是最基础的叫做“查询关键字似然检索模型”(Query Likelihood Retrieval Model)。下面我就来聊一聊这个模型的一些细节。
|
||||
|
||||
首先,我来描述什么是语言模型。简单来说,一个语言模型就是一个针对词汇表的概率分布。比如,词汇表总共有一万个英语单词,那么一个语言模型就是定义在这一万个单词上的离散概率分布。拿骰子来做类比,这里的骰子就有一万种可能性。
|
||||
|
||||
一旦语言模型的概念形成。“查询关键字似然检索模型”的下一步,就是认为查询关键字是从一个语言模型中“抽样”(Sample)得到的一个样本。什么意思呢? 就是说,和我们通常情况下从一个概率分布中抽样相同,“查询关键字似然检索模型”认为查询关键字是从这个语言模型的概率分布中进行采样,从而产生的一个随机过程。这一观点不仅是这个简单语言模型的假设,也是很多语言模型的核心假设。
|
||||
|
||||
我们假设这个语言模型,也就是这个概率分布的参数已知,那么,如何来对一个查询关键字打分(Scoring)就变成了计算在这个概率分布的情况下,一组事件,也就是这组词出现的联合概率。现实中,因为联合概率可能会很小,因此很多时候都通过一个对数变换来把概率的乘积变成概率对数的加和。
|
||||
|
||||
然而,现实情况是,我们事先并不知道这个语言模型的参数,这个信息一般来说是未知的。
|
||||
|
||||
要想确定这个语言模型的参数,我们首先要确定语言模型的形态。我刚才说过,语言模型本质上就是定义在词汇表上的离散概率分布。那么,这里就有几种经典的选择。首先,我们可以选择“类别分布”(Categorical Distribution)函数,也就是多项分布(Multinomial Distribution)去除排列组合信息。这也是最常见的语言模型的实现形式。
|
||||
|
||||
在类别分布的假设下,我们认为每一个单词都是从类别分布中采样得到的结果,而单词之间互相独立。那么,定义在一万个单词上的类别分布就有一万个参数。每个参数代表所对应的单词出现的概率,或者说可能性。当然,这个参数是未知的。
|
||||
|
||||
除了利用类别分布或者多项分布来对语言模型建模以外,其他的离散概率分布也都曾被提出来用作语言模型。比如,伯努利分布(Bernoulli Distribution)或者泊松分布(Poisson Distribution)。这些不同的假设我今天就不展开讲了。但是在实际应用中,其他概率分布假设的语言模型基本上都还属于纯研究状态。
|
||||
|
||||
还是回到刚才说的基于类别分布的语言模型。由于参数是未知的,那么问题的核心就变成了如何估计这样的参数,这里就回归到基本的统计参数估计的范畴。
|
||||
|
||||
因为类别分布是概率分布,在有观测数据的情况下(这个的观测数据就是现实中的文档和查询关键字),最直接的参数估计算法叫“最大似然估计”(Maximum Likelihood Estimation)。在这里我不展开这个算法的细节。
|
||||
|
||||
最大似然估计的核心思路就是把参数估计问题变换成一个最大化的优化问题,从而通过求解这个优化问题来达到参数估计的目的。在类别分布的假设下,最大似然估计的最优参数解,恰好有解析形式。
|
||||
|
||||
也就是说,在有数据的情况下,我们能够得到一个唯一的最优的参数估计。而且这个解非常直观,也就是每个单词出现的可能性,正好等于这个单词在目标文档中出现的次数,除以所有单词在目标文档中出现的次数。换句话说,每个单词的参数正好等于单词出现的频率。
|
||||
|
||||
这样的话,每个文档都对应一个类别分布。有多少个文档就有多少个类别分布,而且每个类别分布都可以从自己这个文档中求得所有的参数。
|
||||
|
||||
最大似然估计有一个很大的问题,那就是如果某一个单词没有在训练数据中出现过,那么这个单词的参数,根据上面的最优解,就是零。
|
||||
|
||||
什么意思呢?也就是说,在最大似然估计的情况下,没有出现过的单词的参数是零,然后模型认为这个词出现的可能性、或者概率就是零。这显然是一个非常悲观的估计。因为你可以认为,不管在任何情况下,就算一个单词没有出现过,但是出现的概率也不应该绝对是零。
|
||||
|
||||
那么,如何针对这些为“零”的概率估计,就成了语言模型研究和实践中的一个重要问题。一个通常的技术叫“平滑”(Smoothing)。这个技术的基本思想就是,给这些因为最大似然估计所产生的零值一些非零的估计值。最简单的一个做法,其实也是很有效的一个做法,就是通过整个数据集的频率来做平滑。
|
||||
|
||||
具体来说,就是对于每一个词,我们计算一个目标文档的频率,同时也计算一个全数据集的平率。然后这个单词的最终估计值,是这两个频率的一个加权平均。这个权重就成了另外一组超参数,可以动态调整。
|
||||
|
||||
另外一个常见的平滑策略是借助贝叶斯统计推断(Bayesian Inference)的方法。也就是说,为类别概率分布加上一个先验分布,通常是狄利克雷分布(Dirichlet Distribution),并且计算出某个单词在先验分布和数据都存在情况下的后验概率,我这里就不展开这个思路了。
|
||||
|
||||
在这里需要注意的是,经过研究人员发现,语言模型的平滑其实是不可或缺的。一方面是为了解决我们刚才提到的零概率估计问题;另一方面,经过一个代数变形,语言模型的平滑其实可以写成一个类似TF-IDF的形式。
|
||||
|
||||
于是,研究人员指出,这个平滑其实削减了过分流行词汇的概率,使最后的估计值并不完全只是由单词的多少而决定。我在之前介绍TF-IDF算法和BM25算法的时候,都分别提到了这个观点,那就是单词出现的多少和相关性的关系问题。从经验上看,这个关系一定是有一个阈值的。
|
||||
|
||||
语言模型变种
|
||||
|
||||
语言模型有很多类型的变种,我这里简单地提两个比较有代表的方向。
|
||||
|
||||
一个方向就是我刚才说的不同类型的平滑策略,比如,结合全数据集平滑和狄利克雷平滑。或者是先把文档分成一些聚类或者不同的类别(例如不同的话题),然后根据不同的类别或者话题进行平滑等等。
|
||||
|
||||
另外一个方向其实就是在语言模型本身的的定义上做文章。比如,在查询关键字似然检索模型里,我们假定有一个语言模型,查询关键字是这个模型的一个抽样。乍一看这很有道理,但是仔细一想,这个模型并没有明说目标文档和查询关键字之间的关系。目标文档进入视野完全是为了估计这个语言模型的参数,“相关性”这个概念并没有明确定义。
|
||||
|
||||
那么,另外一个主流的语言模型,就是认为有两个模型(分布)。查询关键字从一个分布中产生,目标文档从另外一个分布中产生,而这两个分布的距离,成为了相关性的定义。在这样的结构下,文档和查询关键字形成了一种对称的局面,而相关性也根据距离直接得到定义。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了文档检索领域或者说搜索技术里一个很有理论深度的技术:语言模型。我们可以看到,语言模型相对于TF-IDF以及BM25而言,其实更加直观,更好理解。语言模型也是一个强有力的非监督学习方法的文本排序算法。
|
||||
|
||||
一起来回顾下要点:第一,简要介绍了语言模型的历史。第二,详细介绍了简单语言模型,即“查询关键字似然检索模型”的主要组成部分。第三,简要地介绍了语言模型的两个变种方向。
|
||||
|
||||
最后,给你留一个思考题,如果根据语言模型,也就是概率分布函数的估计,无法得到我们之前提到的最优解析解的话,我们应该怎么求解语言模型的参数呢?
|
||||
|
||||
|
||||
|
||||
|
71
专栏/AI技术内参/034机器学习排序算法:单点法排序学习.md
Normal file
71
专栏/AI技术内参/034机器学习排序算法:单点法排序学习.md
Normal file
@ -0,0 +1,71 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
034 机器学习排序算法:单点法排序学习
|
||||
在专栏里我们已经讲解过最经典的信息检索技术。这些技术为2000年之前的搜索引擎提供了基本的算法支持。不管是TF-IDF、BM25还是语言模型(Language Model),这些方法和它们的各类变种在很多领域(不限文本)都还继续发挥着作用。
|
||||
|
||||
然而,自从机器学习的思想逐渐渗透到信息检索等领域之后,一个最直观的想法就是如何用机器学习来提升信息检索的性能水平。这个思想引领了2000年到2010年这个领域的研究,产生了各类基于机器学习的排序算法,也带来了搜索引擎技术的成熟和发展。
|
||||
|
||||
我今天就从最简单也是最实用的一类机器学习排序算法讲起,那就是单点法排序学习(Pointwise Learning to Rank)。这类方法在工业界非常实用,得到广泛应用,在实际效果中也表现得很强健(Robust)。同时,理解这类模型可以为后面学习复杂的排序算法打下基础。
|
||||
|
||||
单点法排序学习的历史
|
||||
|
||||
早在1992年,德国学者诺伯特·福尔(Norbert Fuhr)就在一篇论文中最早尝试了用机器学习来做搜索系统参数估计的方法。三年之前,他还发表过一篇利用“多项式回归”(Polynomial Regression)来做类似方法的论文。诺伯特因其在信息检索领域的长期贡献,于2012年获得美国计算机协会ACM颁发的“杰拉德·索尔顿奖”。
|
||||
|
||||
1992年,加州大学伯克利分校的一批学者在SIGIR上发表了一篇论文,文中使用了“对数几率”(Logistic Regression)分类器来对排序算法进行学习。可以说这篇论文是最早利用机器学习思维来解决排序算法学习的尝试。然而,由于机器学习和信息检索研究在当时都处于起步阶段,这些早期结果并不理想。
|
||||
|
||||
2000年之后支持向量机在工业界和学术界逐渐火热,随之,利用机器学习进行排序算法训练重新进入人们的视野。搜索引擎成了第一次互联网泡沫的重要阵地,各类搜索引擎公司都开始投入使用机器学习来提升搜索结果的精度。这股思潮开启了整整十年火热的机器学习排序算法的研究和开发。
|
||||
|
||||
单点法排序学习详解
|
||||
|
||||
要想理解单点法排序学习,首先要理解一些基本概念。这些基本概念可以帮助我们把一个排序问题转换成一个机器学习的问题设置,特别是监督学习的设置。
|
||||
|
||||
我之前介绍的传统搜索排序算法比如TF-IDF、BM25以及语言模型,都是无监督学习排序算法的典范,也就是算法本身事先并不知道哪些文档对于哪些关键字是“相关”的。这些算法其实就是“猜测”相关性的一个过程。因此,传统信息检索发展出一系列理论来知道算法对每一个“关键字和文档对”(Query-Document Pair)进行打分,寄希望这样的分数是反映相关性的。
|
||||
|
||||
然而,从现代机器学习的角度看,毫无疑问,这样的排序算法不是最优的,特别是当相关信息存在的时候,是可以直接用这些相关信息来帮助算法提升排序精度的。
|
||||
|
||||
要想让训练排序算法成为监督学习,首先来看需要什么样的数据集。我们要建模的对象是针对每一个查询关键字,对所有文档的一个配对。也就是说,每一个训练样本至少都要包含查询关键字和某个文档的信息。这样,针对这个训练样本,就可以利用相关度来定义样本的标签。
|
||||
|
||||
在极度简化的情况下,如果标签定义为,某个文档针对某个关键字是否相关,也就是二分标签,训练排序算法的问题就转换成了二分分类(Binary Classification)的问题。这样,任何现成的二分分类器,几乎都可以在不加更改的情况下直接用于训练排序算法。比如经典的“对数几率”分类器或者支持向量机都是很好的选择。
|
||||
|
||||
我们说这样的方法是“单点法排序学习”(Pointwise Learning to Rank)是因为每一个训练样本都仅仅是某一个查询关键字和某一个文档的配对。它们之间是否相关,完全不取决于其他任何文档,也不取决于其他关键字。也就是说,我们的学习算法是孤立地看待某个文档对于某个关键字是否相关,而不是关联地看待问题。显然,单点法排序学习是对现实的一个极大简化,但是对于训练排序算法来说是一个不错的起点。
|
||||
|
||||
知道了如何构建一个训练集以后,我们来看一看测试集,重点来看如何评估排序算法的好坏。测试集里的数据其实和训练集非常类似,也是“查询关键字和文档对”作为一个样本。标签也是这个“配对”的相关度信息。前面说了,如果这是一个二分的相关信息,那么评估排序算法其实也就变成了如何评估二分分类问题。
|
||||
|
||||
对二分分类问题来说,有两个主要的评价指标:第一,精度(Precision),也就是说,在所有分类器已经判断是相关的文档中,究竟有多少是真正相关的;第二,召回(Recall),即所有真正相关的文档究竟有多少被提取了出来。
|
||||
|
||||
因为是排序问题,和普通二分分类问题不太一样的是,这里就有一个Top-K问题。什么意思呢?就是说,针对某一个查询关键字,我们不是对所有的文档进行评估,而只针对排序之后的最顶部的K个文档进行评估。
|
||||
|
||||
在这样的语境下,精度和召回都是定义在这个K的基础上的。要是没有这个K的限制,在全部数据情况下,精度和召回都退回到了“准确度”,这个最基本的分类问题的评估测量情形。
|
||||
|
||||
在实际的应用中,K的取值往往是很小的,比如3、5、10或者25,而可能被评分的文档的数量是巨大的,理论上来说,任何一个文档对于任何一个查询关键字来说都有可能是潜在相关对象。所以,在评价排序算法的时候,这个K是至关重要的简化问题的方法。
|
||||
|
||||
除了精度和召回以外,信息检索界还习惯用F1值对排序算法进行评估。简单来说,F1值就是精度和召回“和谐平均”(Harmonic Mean)的取值。也就是说,F1结合了精度和召回,并且给出了一个唯一的数值来平衡这两个指标。需要指出的是,在很多实际情况中,精度和召回是类似于“鱼与熊掌不可兼得”的一组指标。所以,F1值的出现让平衡这两个有可能产生冲突的指标变得更加方便。
|
||||
|
||||
刚才我说的评估主要是基于二分的相关信息来说的。而相关的标签信息其实可以定义为更加丰富的多元相关信息。比如,针对某一个查询关键字,我们不再只关心某个文档是否相关,而是给出一个相关程度的打分,从“最相关”、“相关”、“不能确定”到“不相关”、“最不相关”,一共五级定义。在这种定义下,至少衍生出了另外两个评价排序算法的方法。
|
||||
|
||||
我们可以使用多类分类(Multi-Class Classification)的评价方法,也就是把五级相关度当做五种不同的标签,来看分类器的分类准确度。当然,这样的评价方式对于排序来说是有问题的。因为,对于一个实际的数据集来说,五种相关类型所对应的数据量是不同的。
|
||||
|
||||
一般来说,“最相关”和“相关”的文档数量,不管是针对某个查询关键字还是从总体上来看,都是比较少的,而“不相关”和“最不相关”的文档是大量的。因此,单单看分类准确度,很可能会得出不恰当的结果。
|
||||
|
||||
比如说,某个排序算法能够通过分类的手段把大量的“最不相关”和“不相关”的文档分类正确,而可能错失了所有的“最相关”文档。即便从总的分类准确度来说,这样的算法可能还“看得过去”,但实际上这样的算法并没有任何价值。所以,从多类分类的角度来评价排序算法是不完整的。
|
||||
|
||||
针对这样的情况,研究者们设计出了基于五级定义的排序评价方法:NDCG(Normalized Discounted Cumulative Gain)。在这里针对NDCG我就不展开讨论了,你只需要知道NDCG不是一个分类的准确度评价指标,而是一个排序的精度指标。
|
||||
|
||||
NDCG这个指标的假设是,在一个排序结果里,相关信息要比不相关信息排得更高,而最相关信息需要排在最上面,最不相关信息排在最下面。任何排序结果一旦偏离了这样的假设,就会受到“扣分”或者说是“惩罚”。
|
||||
|
||||
需要特别指出的是,我们这里讨论的NDCG仅仅是针对测试集的一个排序评价指标。我们的排序算法依然可以在训练集上从五级相关度上训练多类分类器。仅仅是在测试集上,采用了不同的方法来评价我们的多类分类器结果,而不是采用传统的分类准确度。从某种意义上来说,这里的NDCG其实就起到了“模型选择”(Model Selection)的作用。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了单点法排序学习。可以看到,整个问题的设置已经与传统的文字搜索技术有了本质的区别 。
|
||||
|
||||
一起来回顾下要点:第一,单点法排序学习起步于20世纪90年代,直到2000年后才出现了更多有显著效果的研究。第二,详细介绍了单点法排序学习的问题设置,包括训练集、测试集以及测试环境。
|
||||
|
||||
最后,给你留一个思考题,有没有什么方法可以把我们之前讨论的TF-IDF、BM25和语言模型,这些传统的排序算法和单点法排序学习结合起来?
|
||||
|
||||
|
||||
|
||||
|
0
专栏/AI技术内参/035机器学习排序算法:配对法排序学习.md
Normal file
0
专栏/AI技术内参/035机器学习排序算法:配对法排序学习.md
Normal file
0
专栏/AI技术内参/036机器学习排序算法:列表法排序学习.md
Normal file
0
专栏/AI技术内参/036机器学习排序算法:列表法排序学习.md
Normal file
0
专栏/AI技术内参/037查询关键字理解三部曲之分类.md
Normal file
0
专栏/AI技术内参/037查询关键字理解三部曲之分类.md
Normal file
0
专栏/AI技术内参/038查询关键字理解三部曲之解析.md
Normal file
0
专栏/AI技术内参/038查询关键字理解三部曲之解析.md
Normal file
70
专栏/AI技术内参/039查询关键字理解三部曲之扩展.md
Normal file
70
专栏/AI技术内参/039查询关键字理解三部曲之扩展.md
Normal file
@ -0,0 +1,70 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
039 查询关键字理解三部曲之扩展
|
||||
我们在本周的前两篇文章中分别介绍了查询关键字分类(Query Classification)和查询关键字解析(Query Parsing)的基本概念和思想。今天,我来讲一个稍微有一些不同的查询关键字理解模块:查询关键字扩展(Query Expansion)。
|
||||
|
||||
查询关键字扩展想要解决的问题和分类以及解析略微不同。其主要目的不仅仅是希望能够对用户输入的关键字进行理解,还希望能够补充用户输入的信息,从而达到丰富查询结果的效果。
|
||||
|
||||
查询关键字扩展的概念
|
||||
|
||||
为什么要提供查询关键字扩展?主要原因还是用户输入的查询关键字信息不足。还记得我们上次提到的“苹果价格”这个例子吗?在这个例子中,用户到底是希望查询“苹果”作为一种水果的价格,还是“苹果”作为手机的价格,其实无法真正从这个查询关键字中得出。因此,作为搜索引擎,如果为用户提供一些“扩展选项”,也就是一个被改写(Reformulated)过的查询关键字,会提供更加好的用户体验和更加精准的搜索结果。
|
||||
|
||||
查询关键字扩展除了显示出来能够让用户有更好的体验以外,还有一个作用是增加文档的“召回”(Recall),从而为提高搜索结果奠定基础。设想这样一个例子,用户搜索“iphone 6 backup”,希望了解如何备份iPhone 6的信息。因为苹果手机的绝大多数机型的备份流程都大同小异,因此,如果把“iphone 6”给扩展到“iphone”其他机型,然后看是否有比较好的介绍备份的网页可以显示。
|
||||
|
||||
值得注意的是,在扩展的过程中也有可能失去“精度”(Precision)。比如假设苹果对iPhone 7的备份流程做了很大的改进,那么其他机型的流程也许就不适用了,所以当用户搜索“iphone 7 backup”的时候,如果我们扩展到了其他机型,那让用户看到的很可能就是不那么相关的信息了。因此,对“精度”和“召回”的平衡,成了查询关键字扩展的一个重要的权衡点。
|
||||
|
||||
查询关键字扩展的另外一个重要应用就是对同义词和缩写的处理。比如,唐纳德·特朗普(Donald Trump)是美国现任总统。那么,如果用户在搜索“Donald Trump”、“Trump”、“US President”、“POTUS”(这是“President Of The United States”的简称)等类似词汇的时候,搜索引擎应该提供相似的结果。而从词汇的直接联系上,这些词汇在表面形式上可能有很大的差异(比如“Trump”和“POTUS”),因此需要其他手段学习到这些词语内涵的同义。
|
||||
|
||||
查询关键字扩展的技术
|
||||
|
||||
知道了查询关键字扩展的含义以后,我们就来看看有哪些技术可以为查询关键字扩展提供支持。
|
||||
|
||||
根据上面提供的一些例子,你可以看到,这里的核心就是找到搜索结果意义上的“同义词”。那么,在搜索中,如何挖掘“同义词”呢?
|
||||
|
||||
今天我在这里分享两种思路。
|
||||
|
||||
第一种思路,是根据查询关键字和查询结果之间的自然结合产生的同义效果。这需要对用户的搜索行为数据进行大规模挖掘。这里的基本假设是这样的,假设我们有两个搜索关键字,A和B。从A的搜索结果中,用户可能点击了一些网页,从B的结果中,用户可能点击了另外的一些网页。如果这些被点击的网页恰好非常类似,那么,我们就可以认为A和B其实是同义的查询关键字。
|
||||
|
||||
更加完整的做法是把查询关键字和网页分别表示成“图”(Graph)中的两类节点(Node)。每个关键字节点和多个网页节点建立联系(Edge)或者边(Link),象征这些网页对应这个关键字的相关页面。而从每个网页的角度上看,多个关键字节点又和同一个网页节点相连,表示这些关键字都有可能和某个网页相关。
|
||||
|
||||
拿上面提到的特朗普的例子来说,美国白宫的首页作为一个节点的话,就有可能会和“Trump”、“US President”以及“POTUS”这几个查询关键字相关。因此你可以看到,寻找同义词的工作就变成了如何在这个图上进行相似节点,特别是相似关键字节点的挖掘工作。
|
||||
|
||||
如果把查询关键字的节点放在一边,把网页节点放在一边,我们就看到了典型的“二分图”(Bipartite Graph)。二分图的特点是同边的节点之间没有连接(比如关键字和关键字之间没有连接),而所有的连接都发生在不同边的节点之间(关键字和网页之间)。
|
||||
|
||||
二分图的聚类问题(Clustering)是机器学习界的经典的问题。而利用二分图的聚类问题来做查询关键字的同义词挖掘也是很多研究人员尝试的方向。文末我列了几个参考文献,比如参考文献[2]就是利用二分图上的“随机游走”(Random Walk)以及随机游走所产生的“到达时间”(Hitting Time)来挖掘出类似的关键字。如果你有兴趣,可以查看这篇经典论文。
|
||||
|
||||
说了基于用户行为信息和关键字挖掘的思路以后,我们再来看看第二种思路。
|
||||
|
||||
第二种思路的核心是从海量的文本信息中分析出词语之间的相关度。这里面需要注意的是,这些词语的相关度有可能是语言本身带来的。比如,单词“Male”和“Man”。也可能是语境带来的,比如谈论手机的网页中对于“iPhone 6”和“iPhone 7”的谈论。
|
||||
|
||||
总之,这一个思路的想法就是如何为每一个词组都建一个“表达”(Representation),从而通过这个表达找到同义词。近年来流行的一个做法是为单词找到数值表达,也就是通常所说的“嵌入”(Embedding)。如果两个词在“嵌入空间”(Embedding Space),通常是“欧式空间”中距离相近,那么我们就可以认为这两个词是同义词。
|
||||
|
||||
如何为词组产生“嵌入”向量呢?这里面也有很多做法。比较通用的有算法Word2Vec(参考文献[3]),目标是通过一个文档的每一句话中某一个词周围的词来预测这个词出现的概率。可以设想一下,在苹果手机的很多帮助文档或者帮助站点中,描述如何帮助iPhone 6或者iPhone 7来做数据备份的字句都是相似的,甚至,可能唯一的区别就是描述机型的名字。
|
||||
|
||||
因此在这样的情况下,通过文字周围的“上下文信息”(Contextual)来对单词本身的“嵌入向量”进行学习可以有效地学习到单词的语义。而通过语义,我们就能够找到其他的同义词。当然,要想真正应用到查询关键字扩展中,可能还需要有其他的调试,比如文末我列的参考文献[4],就是其中的一种。如果你感兴趣,建议去精读。
|
||||
|
||||
最后我需要说明的是,第一种思路需要已经有不少的用户交互数据,而第二种思路可以通过其他的语料(比如维基百科)加以学习,并不需要用户数据。这也是另一个值得参考的信息点。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了查询关键字理解中的查询关键字扩展问题。你可以看到,查询关键字扩展从技术上的两种流派,一个是通过用户的交互数据来产生一个图,并且利用图挖掘技术来得到查询关键字之间的关系;另外一个就是通过产生词汇的嵌入向量从而得到同义词。
|
||||
|
||||
一起来回顾下要点:第一,简要介绍了查询关键字扩展的内涵。由于用户输入的查询关键字信息不足,通过查询关键字扩展可以提供更好的用户体验和更加精准的搜索结果。第二,详细介绍了查询关键字扩展的两个主要技术。
|
||||
|
||||
最后,给你留一个思考题,如何来测试查询关键字扩展的优劣呢?
|
||||
|
||||
参考文献
|
||||
|
||||
|
||||
Claudio Carpineto and Giovanni Romano. A Survey of Automatic Query Expansion in Information Retrieval. ACM Computing Surveys. 44, 1, Article 1 (January 2012), 50 pages.2012.
|
||||
Qiaozhu Mei, Dengyong Zhou, and Kenneth Church. Query suggestion using hitting time. Proceedings of the 17th ACM conference on Information and knowledge management (CIKM ‘08). ACM, New York, NY, USA, 469-478. 2008.
|
||||
Mikolov, Tomas, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781 (2013).
|
||||
Diaz, Fernando, Bhaskar Mitra, and Nick Craswell. Query expansion with locally-trained word embeddings. arXiv preprint arXiv:1605.07891 (2016).
|
||||
|
||||
|
||||
|
||||
|
||||
|
79
专栏/AI技术内参/040搜索系统评测,有哪些基础指标?.md
Normal file
79
专栏/AI技术内参/040搜索系统评测,有哪些基础指标?.md
Normal file
@ -0,0 +1,79 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
040 搜索系统评测,有哪些基础指标?
|
||||
我在之前几周的专栏文章里主要讲解了最经典的信息检索(Information Retrieval)技术和基于机器学习的排序学习算法(Learning to Rank),以及如何对查询关键字(Query)进行理解,包括查询关键字分类、查询关键字解析以及查询关键字扩展。这些经典的技术是2000年后开始流行的各类搜索引擎的核心技术。
|
||||
|
||||
在进一步介绍更多的搜索引擎技术前,我觉得有必要专门抽出一周时间,来好好地看一下搜索系统的评测(Evaluation)以及我们经常使用的各类指标(Metric)。俗话说得好,“如果你不能衡量它,你就不能改进它”(If You Can’t Measure It, You Can’t Improve It)。意思其实就是说,对待一个系统,如果我们无法去衡量这个系统的好坏,没有相应的评测指标,那就很难真正地去琢磨怎么改进这些指标,从而达到提升系统的目的。
|
||||
|
||||
虽然我们这里是在搜索系统这个重要场景中讨论评测和指标,但实际上我们这周要讨论的很多细节都可以应用到很多类似的场景。比如,我们后面要讨论的推荐系统、广告系统等,在这些场景中几乎就可以无缝地使用这周要讲的很多内容。
|
||||
|
||||
线下评测
|
||||
|
||||
假设你今天开发了一个新软件,比如说是一个最新的手机软件,你怎么知道你的用户是不是喜欢你的软件呢?你怎么知道你的用户是不是愿意为你的软件掏钱呢?
|
||||
|
||||
评测的核心其实就是了解用户的喜好。最直接的方法,当然是直接询问用户来获得反馈。例如你可以对每一个下载了你手机软件的用户强行进行问卷调查,询问他们对待新软件的态度。
|
||||
|
||||
然而,我们很快就会发现这样的方法是行不通的。姑且不说用户是否会因为这样强行的方式产生反感,我们是不是能通过这些调查问卷获得用户的真实反馈,这本身就是一个问题。这里面涉及到调查问卷设计的科学性问题。
|
||||
|
||||
即便这些调查问卷都能完整准确地反映出用户对手机软件的看法,真正实施起来也会面临种种困难。如果这款手机软件的用户数量有百万甚至千万,那我们就要进行如此大规模的问卷调查,还要处理调查后的数据,显然这样做的工作量非常大。而这些调查问卷是没法反复使用的,因为下一个版本的软件更新后,用户的态度就会发生改变,这样的方式就没法系统地来帮助软件迭代。
|
||||
|
||||
那么如何才能形成一组数据来帮助系统反复迭代,并且还能够减少人工成本,这就成了一个核心问题。
|
||||
|
||||
在信息检索系统开发的早年,研究人员和工程师们就意识到了这个核心问题的重要性。英国人赛利尔·克莱温顿(Cyril Cleverdon)可以算是最早开发线下测试集的计算机科学家。
|
||||
|
||||
赛利尔生于1914年,在英国的布里斯托(Bristol)图书馆工作了很长时间。从1950年开始,赛利尔就致力于开发信息检索系统,以提高图书馆查询的效率。1953年他尝试建立了一个小型的测试数据集,用于检测图书管理员查找文档的快慢。这个工作最早发表于1955年的一篇论文(参考文献[1])。
|
||||
|
||||
这之后,英美的一些早期信息检索系统的研发都开始顺应这个思路,那就是为了比较多个系统,首先构造一个线下的测试数据集,然后利用这个测试集对现有的系统反复进行改进和提升。如果你想对早期测试集的构造以及信息有所了解,建议阅读文末的参考文献[2]。
|
||||
|
||||
那么,当时构造的这些测试数据集有些什么特点呢?
|
||||
|
||||
这些测试数据集都会包含一个查询关键字集合。这个集合包含几十到几百不等的查询关键字。一方面,这些关键字的选取大多来自于经验。另一方面,从赛利尔就开始认识到,需要保证有一些信息一定能够通过这些关键字来找到。其实,这里就是在测试我们后面要讲的“召回”。
|
||||
|
||||
在有了这些查询关键字以后,这些测试数据集往往有几百到几千不等的文档。这些文档中的某一部分,研究人员在构造数据集的时候就知道了会包含所对应查询关键字需要的信息,也就是我们后面要说的相关文档。
|
||||
|
||||
你可以看到,几十到几百的查询关键字以及几千个文档,很明显不能代表所有可能使用系统的用户的行为。你甚至可以说,这都无法代表绝大多数用户的行为。然而,这种测试集的好处是,查询关键字和文档本身是和要测试的系统无关的。也就是说,今天我们要测试系统A,还是明天要测试系统B,都可以反复利用同样一组测试数据集。这样做的好处相比于我们之前提到的问卷调查是显而易见的。
|
||||
|
||||
另外,我需要强调的是,“用户”这个概念在测试数据集中被“抽象”出去了。当我们在讨论文档相对于某个查询关键字的相关度时,我们假定这种相关度是恒定的,是对于所有用户都适用的。因此,究竟是哪位用户在使用这个系统并不重要。只要研发的系统能够在这些“标准化”的查询关键字和文档的集合表现优异,我们就相信这个系统能够满足所有用户的需要。
|
||||
|
||||
因为测试数据集并不是用户与产品交互产生的真实回馈结果,所以我们往往又把测试数据集叫作“线下评测数据”。
|
||||
|
||||
基于二元相关度的评测指标
|
||||
|
||||
从线下收集评测数据以后,我们最容易做到的就是利用“二元相关度”所定义的一系列评测指标来衡量手中系统的好坏。
|
||||
|
||||
什么叫“二元相关度”呢?简单来说,就是指针对某一个查询关键字而言,整个测试集里的每一个文档都有一个要么“相关”要么“不相关”的标签。在这样的情况下,不存在百分比的相关度。而每个文档针对不同的关键字,有不同的相关信息。
|
||||
|
||||
假定某个系统针对某个关键字,从测试数据集中提取一定量的文档而不是返回所有文档,我们就可以根据这个提取的文档子集来定义一系列的指标。
|
||||
|
||||
有两个定义在“二元相关度”上的指标就成了很多其他重要指标的基石。一个叫“精度”(Precision),也就是说,在提取了的文档中,究竟有多少是相关的。另一个叫“召回”(Recall),也就是说, 在所有相关的文档中,有多少是提取出来了的。
|
||||
|
||||
“精度”和“召回”的相同点在于,分子都是“即被提取出来了又相关的文档数目”。这两个指标所不同的则是他们的分母。“精度”的分母是所有提取了的文档数目,而“召回”的分母则是所有相关的文档数目。如果我们返回所有的文档,“召回”是1,“精度”则是相关文档在全集中的比例。因此,我们注意到,这两个指标其实都假定,提取的文档数目相比于全集而言是相对比较小的子集。
|
||||
|
||||
很快,大家从实践中就体会到,“精度”和“召回”就像是“鱼与熊掌不可兼得”。一个系统很难做到“精度”和“召回”都能够达到很高的数值。也就是说,我们往往需要在这两个指标之间做一些平衡。于是,研究人员开始寻找用一个数字来表达“精度”和“召回”的“平均水平”。来自英国的学者范·李杰斯博格(C. J. van Rijsbergen)最早在论文中采用了 “调和平均数” (Harmonic Mean)来计算 “精度”和“召回”的平均(参考文献 [3])。这个方法被后人称为“F值” ,并且一直沿用至今。
|
||||
|
||||
这里对“精度”和“召回”还需要注意一点,因为这两个指标都是基于“二元相关度”的。因此,这两个指标都不是“排序指标”(Ranking Metrics)。换句话说,这两个指标其实并不能真正评价排序系统。
|
||||
|
||||
比如,我们针对某个关键字提取10个文档,如果有3个相关文档被取出来,不管是“精度”还是“召回”都无法分辨这三个文档在最后序列中的位置,是头三位,还是后面的三位?很遗憾,“精度”和“召回”都无法解决这个问题。“二元相关度”的这个问题也就指引研究人员去开发真正能对排序进行评估的指标。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了搜索系统的评测和常用指标。这是现代搜索技术中一个非常重要的一个环节,那就是如何评价我们构建的系统。我们详细讲解了线下测试的由来以及这样的测试相比于调查问卷的优势。
|
||||
|
||||
一起来回顾下要点:第一,简要介绍了可重复使用的线下测试集的历史,以及这样的测试集都有什么特点与局限。第二,详细介绍了两个非常流行和重要的基于“二元相关度”的评测指标,那就是“精度”和“召回”。
|
||||
|
||||
最后,给你留一个思考题,我们讲了排序的好坏不能简单地从“精度”和“召回”的数值看出,那能不能动一些手脚呢?如果我们就依赖“二元相关度”,有没有什么方法来看“排序”的好坏呢?
|
||||
|
||||
参考文献
|
||||
|
||||
|
||||
R.G. THORNE, B.Sc., A.F.R.Ae.S. The Efficiency Of Subject Catalogues and The Cost of Information Searches. Journal of Documentation, Vol. 11 Issue: 3, pp.130-148, 1995.
|
||||
K. SPARCK JONES, C.J. VAN RIJSBERGEN. Information Retrieval Test Collections. Journal of Documentation, Vol. 32 Issue: 1, pp.59-75, 1976.
|
||||
C.J. VAN RIJSBERGEN. Foundation of Evaluation. Journal of Documentation, Vol. 30 Issue: 4, pp.365-373, 1974.
|
||||
|
||||
|
||||
|
||||
|
||||
|
76
专栏/AI技术内参/041搜索系统评测,有哪些高级指标?.md
Normal file
76
专栏/AI技术内参/041搜索系统评测,有哪些高级指标?.md
Normal file
@ -0,0 +1,76 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
041 搜索系统评测,有哪些高级指标?
|
||||
周一我们介绍了基于“二元相关”原理的线下评测指标。可以说,从1950年开始,这种方法就主导了文档检索系统的研发工作。然而,“二元相关”原理从根本上不支持排序的评测,这就成了开发更加准确排序算法的一道障碍。于是,研究人员就开发出了基于“多程度相关”原理的评测标准。今天我就重点来介绍一下这方面的内容。
|
||||
|
||||
基于多程度相关原理的评测
|
||||
|
||||
从“二元相关”出发,自然就是给相关度更加灵活的定义。在一篇发表于NIPS 2007的文章中(参考文献[1]),雅虎的科学家介绍了雅虎基于五分标准的相关评价体系,从最相关到最不相关。而在同一年的SIGIR上,谷歌的科学家也发表了一篇文章(参考文献[2]),介绍了他们的“多程度”相关打分机制。至此之后,基于“多程度相关”原理的评价标准慢慢被各种搜索系统的研发者们所接受。
|
||||
|
||||
在这样的趋势下,基于“二元相关”的“精度”(Precision)和“召回”(Recall)都变得不适用了。我们需要新的、基于“多程度相关”的评价指标。
|
||||
|
||||
芬兰的科学家在2000年的SIGIR上(参考文献[3])发表了一种计算相关度评测的方法。这种方法被广泛应用到了“多程度相关”的场景中。那么,芬兰科学家发明的方法是怎样的呢?
|
||||
|
||||
这种方法被称作是“折扣化的累积获得”(Discounted Cumulative Gain),简称“DCG”。 在介绍DCG之前,我们首先假定,位置1是排位最高的位置,也就是顶端的文档,而位置数随着排位降低而增高,位置10就是第一页最后的文档。
|
||||
|
||||
DCG的思想是这样的。
|
||||
|
||||
首先,一个排序的整体相关度,是这个排序的各个位置上的相关度的某种加权。这样用一个数字就描述了整个排序。只要排序的结果不同,这个数字就会有所不同。因此,这就避免了“精度”或“召回”对排序不敏感的问题。
|
||||
|
||||
其次,每个位置上面的“获得”(Gain)是和这个文档原本定义的相关度相关的,但是,根据不同的位置,要打不同的“折扣”。位置越低(也就是位置数越大),折扣越大。这就是DCG名字的由来。
|
||||
|
||||
在原始的DCG定义中,“折扣”是文档的相关度除以位置的对数转换。这样,既保证了位置越低(位置数大),折扣越大,还表达了,高位置(位置数小)的差别要大于低位置之间的差别。这是什么意思呢?意思就是,如果某一个文档从位置1挪到了位置2,所受的折扣(或者说是损失)要大于从位置9挪到了位置10。在这样的定义下,DCG鼓励把相关的文档尽可能地排到序列的顶部。
|
||||
|
||||
事实上,假设我们有5个文档,假定他们的相关度分别是1、2、3、4、5,分别代表“最不相关”、“不相关”、“中性”、“相关”和“最相关”。那么,在DCG的定义下,最佳的排序就应该是把这5个文档按照相关度的顺序,也就是5、4、3、2、1来排定。任何其他的顺序因为根据位置所定义的“折扣获得”的缘故,都会取得相对较小的DCG,因此不是最优。DCG比“精度”和“召回”能够更好地表达对排序的评估。
|
||||
|
||||
但直接使用DCG也存在一个问题。如果我们有两个查询关键字,返回的文档数不一样,那么直接比较这两个查询关键字的DCG值是不“公平”的。原因在于DCG的“加和”特性,结果肯定是越加越大,因此不能直接比较两个不同查询关键字的DCG值。
|
||||
|
||||
有没有什么办法呢?把DCG加以“归一化”的指标叫做 nDCG (Normalized Discounted Cumulative Gain)。nDCG的思路是下面这样的。
|
||||
|
||||
首先,对某一个查询关键字的排序,根据相关信息,来计算一组“理想排序”所对应的DCG值。理想排序往往就是按照相关信息从大到小排序。然后,再按照当前算法排序所产生的DCG值,除以理想的DCG值,就产生了“归一化”后的DCG,也就是我们所说的nDCG值。简单来说,nDCG就是把DCG相对于理想状态进行归一化。经过nDCG归一化以后,我们就可以比较不同查询关键字之间的数值了。
|
||||
|
||||
这里需要说明的是,我们上面介绍的是DCG的原始定义。后来微软的学者们在2005年左右发明了另外一个变种的DCG,基本原理没有发生变化,只是分子分母有一些代数变形。这个新的版本后来在工业界得到了更加广泛的应用。如果你感兴趣,可以查看文末的参考文献[4]。
|
||||
|
||||
直到今天,nDCG以及DCG依然是评价排序算法以及各种排序结果的标准指标。
|
||||
|
||||
比较两个不同的排序
|
||||
|
||||
不管是我们之前谈到的“精度”和“召回”,还是今天介绍的nDCG,我们都是使用一个“数”来描述了相对于某个查询关键字,一组结果的好坏。当我们有多个查询关键字的时候,我们该如何比较两个不同排序的结果呢?
|
||||
|
||||
这里面的一个问题是,相对于两个不同的排序A和B来说,可能结果各有千秋,也许对于某一个关键字A比B的表现要好,但是另外一个关键字B就比A的结果更棒。这怎么办呢?
|
||||
|
||||
也许你会想到用平均值来描述A和B的表现。这的确是很好的第一步。于是,我们就计算A和B,两个排序的平均表现。这样对于这两个排序而言,我们就有了两个数值来表达这两个排序的好坏。
|
||||
|
||||
然而,很快我们就会遇到问题。假设A的nDCG平均值是0.781,B的nDCG平均值是0.789,我们可以下结论认为B是比A更好的排序算法吗?
|
||||
|
||||
答案当然是不一定。这种情况,我们就需要依赖统计工具“假设检验”来评价两个排序的好坏。
|
||||
|
||||
我这里就不去复习假设检验的细节了,简单说一个经常使用的工具。
|
||||
|
||||
如果我们比较A和B是在同一组查询关键字上的话,那我们常常可以使用“两个样本的配对T检验”(Two Sample Paired T-Test)。这里所谓的“配对”是指A和B的结果是可以一一比较的。这里的“T检验”其实就是说借助“T分布”或者我们通常所说的“学生分布”来进行假设检验。如果我们是在不同查询关键字集合中进行比较的话,还有其他的假设检验工具,这里就不展开了。
|
||||
|
||||
值得注意的是,假设检验本身也不是“万灵药”。第一,怎么最有效地在排序结果上进行假设检验还是一个研究话题,包括我们刚说的“两个样本的配对T检验”在内的所有方法都不是“金科玉律”。第二,依靠假设检验得出来的结论,仅仅是统计意义上的“好坏”,和这些系统在用户面前的表现可能依然会有很大差距。因此,对于假设检验的结果也要带有“批判”的眼光。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了现代搜索技术中如何评价我们构建的系统,特别是如何评价排序系统。
|
||||
|
||||
一起来回顾下要点:第一,简要讲解了基于“多程度相关”的评价体系,包括其由来和DCG以及nDCG的概念。第二,详细介绍了如何来比较两个排序的好坏。
|
||||
|
||||
最后,给你留一个思考题,如果我们只有“二元”相关信息,能不能用nDCG来评价好坏呢?
|
||||
|
||||
参考文献
|
||||
|
||||
|
||||
Ben Carterette and Rosie Jones. Evaluating search engines by modeling the relationship between relevance and clicks. Proceedings of the 20th International Conference on Neural Information Processing Systems (NIPS’07), J. C. Platt, D. Koller, Y. Singer, and S. T. Roweis (Eds.). Curran Associates Inc., USA, 217-224,2007.
|
||||
Scott B. Huffman and Michael Hochster. How well does result relevance predict session satisfaction? Proceedings of the 30th annual international ACM SIGIR conference on Research and development in information retrieval (SIGIR ‘07). ACM, New York, NY, USA, 567-574, 2007.
|
||||
Kalervo Järvelin and Jaana Kekäläinen. IR evaluation methods for retrieving highly relevant documents. Proceedings of the 23rd annual international ACM SIGIR conference on Research and development in information retrieval (SIGIR ‘00). ACM, New York, NY, USA, 41-48, 2000.
|
||||
Chris Burges, Tal Shaked, Erin Renshaw, Ari Lazier, Matt Deeds, Nicole Hamilton, and Greg Hullender. Learning to rank using gradient descent. Proceedings of the 22nd international conference on Machine learning (ICML ‘05). ACM, New York, NY, USA, 89-96, 2005.
|
||||
|
||||
|
||||
|
||||
|
||||
|
69
专栏/AI技术内参/042如何评测搜索系统的在线表现?.md
Normal file
69
专栏/AI技术内参/042如何评测搜索系统的在线表现?.md
Normal file
@ -0,0 +1,69 @@
|
||||
|
||||
|
||||
因收到Google相关通知,网站将会择期关闭。相关通知内容
|
||||
|
||||
|
||||
042 如何评测搜索系统的在线表现?
|
||||
我在本周前面的两篇文章中为你讲解了基于“二元相关”和基于“多程度相关”原理的线下评测指标。利用这些指标,研发人员在半个世纪的时间里开发了一代又一代的搜索系统,这些指标和系统也都在不断演化。
|
||||
|
||||
虽然我们这周讲过的这些指标都很有指导意义,但大多数指标被提出来的时候都是基于线下的静态数据集,并不是真正去检测用户和系统的互动(虽然后期也有研发人员直接使用这些评测工具用于在线评测,但在使用上就产生了问题)。那有什么样的方法来评测搜索系统的在线表现呢?
|
||||
|
||||
为了回答这个问题,我们今天就来探讨一下进行在线评测的几个话题。
|
||||
|
||||
在线可控实验
|
||||
|
||||
我们先回到整个评测指标的初衷,为什么要进行线下测试呢?
|
||||
|
||||
第一个原因是在信息检索系统(也就是最早的搜索系统)的开发时期,还很难做在线可控实验(Controlled Experiments),研发人员还没有开发出值得依赖的手段来判断用户的行为。因此,在那个年代,比较可靠的方法就是调查问卷和后来开发出来的线下静态评测。可以说,这些手段都是真正了解用户行为的一个“代理”(Proxy)。
|
||||
|
||||
要进行评测,不管是线下还是线上,另外一个原因就是我们需要某种手段来分辨两个系统的好坏,从而能够不断地通过这种手段来改进系统,做到数据驱动。
|
||||
|
||||
那么,能够正确观测两个系统不同的工具,就是“在线可控实验”,有时候又称作“在线实验”,或者也叫作“在线A/B实验”。
|
||||
|
||||
在线可控实验其实是建立“因果联系”(Causal Relationship)的重要工具,也可以说是唯一完全可靠的工具。这里面的基础是统计的假设检验。
|
||||
|
||||
具体来说,就是我们针对访问网站或者应用的人群,进行某种划分,一般情况下是平均随机划分,百分之五十的用户进入划定的一个群组,叫作“控制组”(Control Bucket),而另外百分之五十的用户进入另外一个群组,叫作“对照组”(Treatment Bucket)。“控制组”和“对照组”的唯一区别在于所面对的系统。
|
||||
|
||||
假设有一个搜索系统,我们想对其中的某个部分进行改进,那么,我们可以保持住其他的部分,让这个希望得到改进的部分成为唯一的“独立变量”(Independent Variable),也就是在整个实验设置中的变量。这样,我们就希望看到,能否通过在线实验以及假设检验的工具,来认定这个“独立变量”是否会带来系统性能上的提高,亦或是降低。
|
||||
|
||||
这里面还有一个需要提前确定的,那就是需要评测的指标,特别是用户指标,比如网站的点击率、搜索的数量等等。这些指标我们称之为“依赖变量”(Dependent Variable)。说白了,我们就是希望能够在“独立变量”和“依赖变量”之间通过假设检验建立联系。
|
||||
|
||||
虽然在概念上很容易理解在线可控实验,但在实际操作中会面临很多挑战。
|
||||
|
||||
虽然在理想状态下,我们可以把用户五五对分,让用户分别进入“控制组”和“对照组”。然而现实中,经过随机算法分流的用户群在这两个群组中很可能并不呈现完全一样的状态。什么意思呢?
|
||||
|
||||
举个例子,比如,在“控制组”中,相比于“对照组”而言,可能存在更多的女性用户;或者是在“对照组”中,可能存在更多来自北京的用户。在这样的情况下,“依赖变量”,比如网站点击率,在“控制组”和“对照组”的差别,就很难完全解释为“独立变量”之间的差别。
|
||||
|
||||
也就是说,如果“控制组”下的点击率比“对照组”高,是因为我们更改了系统的某部分产生了差别呢,还是因为这多出来的女性用户呢,又或者是因为女性用户和系统的某些部分的交互,产生了一定复杂的综合结果导致的呢?这就比较难说清楚了。对于刚才说的有更多来自北京的用户这个例子也是一样的。
|
||||
|
||||
当然,在现实中,如果说我们依然可以比较容易地通过算法来控制一两个额外的变量,使得在“控制组”和“对照组”里面这些变量的分布相当,那么,面对十几种(例如,年龄、性别、地域、收入层级等等)重要变量,要想完全做到两边的分布相当,难度很大。
|
||||
|
||||
即便我们能够做到通过随机算法使得已知变量在两个群组中的分布相当,我们依然不能对当前还未知的变量进行如此操作。因此,如何处理因人群特性所带来的对结论的影响是现实中在线实验的难点之一。
|
||||
|
||||
在线实验的难点之二是,我们有可能很难做到如设想中的那样,让系统的某个部分成为“控制组”和“对照组”中唯一的“独立变量”,即便是除去了刚才所提到的人群差异。
|
||||
|
||||
在现代网站或者应用中,有很多服务、子系统、页面、模块同时在为整个网站服务。而这些服务、子系统、页面和模块,都有不同的前端系统和后端系统,很可能属于不同的产品和工程团队。每个部分都希望能够做自己的可控实验,希望自己改进的部分是唯一变化的“独立变量”。然而,我们从宏观的角度去看,如果每个部分都在做自己的实验,而我们做实验的基本单元依旧是每个用户的话,那这就很难保证用户之间的可比性。
|
||||
|
||||
举个例子,如果用户U1,进入了首页的“控制组”,然后访问了搜索页面的“对照组”继而离开了网站。而用户U2,直接访问了帮助页面的“对照组”,然后访问了搜索页面的“控制组”。那U1和U2两个用户最终产生的点击率的差别,就很难从他们访问网站页面的过程中得出结论。即便是在有大量数据的情况下,我们也很难真正去平衡用户在所有这些页面的组别之间的关系。
|
||||
|
||||
实际上,如何能够有效地进行在线实验,包括实验设计、实验评测等,都是非常前沿的研究课题。每年在KDD、WSDM、ICML等学术会议上都有不少新的研究成果出炉。
|
||||
|
||||
利用因果推论对实验结果进行分析
|
||||
|
||||
今天的最后我想提一下因果推论(Causal Inference)。因果推论不是普通的统计教科书内容,也不在一般工程类学生接触到的统计内容之内。然而这个领域在最近几年受到了机器学习界越来越多的关注,因此了解因果推论对于学习机器学习的前沿知识来说很有必要。
|
||||
|
||||
像我们刚才提到的种种实验中产生的用户特征不平均、实验之间可能存在关系等,在这些方面我们都可以利用很多因果推论的工具进行分析。另外,对于工程产品而言,并不是所有的情况都能够通过A/B测试来对一个希望测试的内容、模型或者产品设计在一定时间内找到合理的结果,有很多情况下是不能进行测试的。因此,在不能进行测试的情况下还能通过数据研究得出期望的结果,也就是说,我们能否模拟在线实验,这就是因果推论的核心价值。
|
||||
|
||||
一般而言,在机器学习中需要因果推论的场景也很常见。比如,我们需要用数据来训练新的模型或者算法,这里面的数据采集自目前线上的系统。然而,现在的线上系统是有一定偏差的,那么,这个偏差就会被记录到数据里。在此,因果推论就为机器学习带来了一系列工具,使得在一个有偏差的数据中依然能够无偏差地进行训练以及评测模型和算法。
|
||||
|
||||
小结
|
||||
|
||||
今天我为你讲了在现代搜索技术中,如何利用在线实验,特别是可控实验来评价我们构建的系统。
|
||||
|
||||
一起来回顾下要点:第一,详细介绍了在线实验的一些因素,并分析了在线实验中可能产生的用户不平衡以及实验有相互作用的问题。第二,简短地提及了现在利用因果推论来进行在线实验数据分析以及“偏差”调整的一个思路。
|
||||
|
||||
最后,给你留一个思考题,如何建立在线实验评测结果和线下指标比如nDCG之间的关系呢?
|
||||
|
||||
|
||||
|
||||
|
0
专栏/AI技术内参/043文档理解第一步:文档分类.md
Normal file
0
专栏/AI技术内参/043文档理解第一步:文档分类.md
Normal file
0
专栏/AI技术内参/044文档理解的关键步骤:文档聚类.md
Normal file
0
专栏/AI技术内参/044文档理解的关键步骤:文档聚类.md
Normal file
0
专栏/AI技术内参/045文档理解的重要特例:多模文档建模.md
Normal file
0
专栏/AI技术内参/045文档理解的重要特例:多模文档建模.md
Normal file
Reference in New Issue
Block a user