This commit is contained in:
louzefeng
2024-07-09 18:38:56 +00:00
parent 8bafaef34d
commit bf99793fd0
6071 changed files with 1017944 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
<audio id="audio" title="001 | 聊聊2017年KDD大会的时间检验奖" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/df/bb/dffb365263f11ccc866754d3d84a89bb.mp3"></audio>
国际数据挖掘与知识发现大会**ACM SIGKDD**ACM SIGKDD Conference on Knowledge Discovery and Data Mining简称**KDD**,是由美国计算机协会**ACM**The Association for Computing Machinery的数据挖掘与知识发现专委会**SIGKDD**Special Interest Group on Knowledge Discovery and Data Mining主办堪称数据挖掘研究领域的顶级会议。
KDD最早是从1989年开始的KDD 研讨班Workshop发展而来当时的研讨班依托于人工智能顶级会议IJCAI大会或者AAAI大会而后在1995年升级成为会议的模式到现在已经有20多年的历史。今年的KDD大会于8月13日至17日在加拿大哈利法克斯成功召开。
SIGKDD每年都会奖励一篇论文这篇论文要在过去十年间对研究、方法论以及实践产生重大影响这就是所谓的**时间检验奖**Test of Time Award引用次数以及对一个领域的影响力度是评选这个奖项的重要指标。
2017年的KDD时间检验奖授予了美国康奈尔大学信息科学系主任、计算机科学系教授索斯藤·乔基姆斯Thorsten Joachims。这次授予是为了表彰他的论文《线性时间内训练线性支持向量机》Training Linear SVMs in Linear Time这篇论文也是2006年的KDD最佳论文引用数超过1600多次。
## Thorsten的学术贡献
Thorsten是一位机器学习界享有盛誉的学者也是ACM和AAAI的双料院士他所有论文的引用数加起来超过了4万次。2001年从德国多特蒙德大学博士毕业后他正式加入康奈尔大学从事机器学习研究。
获得这个奖项之前Thorsten曾多次获得重要奖项比如2017年ACM WSDM的最佳论文奖Best Paper Award、2016年ACM SIGIR的时间检验奖、2015年ACM KDD的时间检验奖、2009年ECML的最佳论文奖、2009年ICML的10年最佳论文奖Best 10-Year Paper Award、2006年ACM KDD的最佳论文奖、2005年ICML的最佳论文奖、2005年ICML的优秀学生论文奖、2005年ACM KDD的最佳学生论文奖等。
Thorsten在机器学习领域一直有着非常特殊的贡献。首先他在支持向量机SVM的应用上做出了诸多努力。比如这次的时间检验奖**就是奖励他如何把支持向量机的训练达到线性复杂度,从而使支持向量机在大规模数据上的应用成为可能。**
Thorsten还致力于把支持向量机的基本算法也就是仅仅支持分类问题和回归问题的算法应用到更加复杂的有结构的输出结果上俗称结构化的支持向量机算法。得益于这项工作支持向量机可以对信息检索中很多复杂的、非二分的评估指标进行直接优化如F1值F-score、平均精度均值Mean Average Precision从而让支持向量机的应用变得更加广阔。
在让支持向量机能够顺利应用到信息检索的过程中Thorsten还发现了另外一个问题那就是如何利用搜索引擎的间接用户反馈Implicit Feedback来训练排序算法经常是一个结构化的支持向量机模型。具体来说传统的搜索系统和信息检索系统主要是依靠人工标注的训练数据来进行优化和评估。这里所说的人工标注训练数据主要是指人为地评价目标查询关键字和所对应的网页是否相关。
早期大家发现虽然搜索引擎可以利用这样的数据来优化排序算法但是搜索引擎在使用过程中会产生很多用户数据。这些数据可以是用户点击搜索页面结果产生的信息也可以是其他的信息比如用户在搜索页面的驻留时间等等。早期这些信息并没有用于优化搜索引擎。以Thorsten为主的一批学者意识到点击信息的重要性然后开始利用这些数据来训练和评估排序算法。这是Thorsten的第二个主要学术贡献。
Thorsten第三个主要学术贡献也是他最近几年的学术成功那就是把**因果推论Causal Inference**和机器学习相结合,从而能够更加无偏差地训练模型。可以说这部分工作开创了一个新领域。
长期以来,如何有效地应用用户产生的交互数据来进行模型训练,都是大规模机器学习特别是工业界机器学习的难点。一方面,工业系统能够产生很多用户数据;另一方面,这些用户数据又受到当前部署系统的影响,一般都有一定的偏差。
因此工业级机器学习系统面临一个长期挑战,那就是,如何能够在评估模型以及训练模型的时候考虑到这样的偏差,从而去除这样的偏差。
Thorsten利用因果推论中的倾向评分Propensity Scoring技术以及多臂赌博机Multi-armed Bandit思想把这样的方法成功地引入到机器学习中使得无偏差地训练模型成为可能。目前这方面的新研究和新思想正在机器学习以及应用界产生越来越多的共鸣。
## 线性大规模支持向量机
回到这篇时间检验奖的论文,它解决的是大规模优化支持向量机的问题,特别是线性支持向量机。这篇文章**第一次提出了简单易行的线性支持向量机实现**包括对有序回归Ordinal Regression的支持。算法对于分类问题达到了O(sn)其中s是非0的特征数目而n是数据点的个数也就是实现了线性复杂度而对有序回归的问题达到了O(snlog(n))的复杂度。算法本身简单、高效、易于实现并且理论上可以扩展到核函数Kernel的情况。
在此之前,很多线性支持向量机的实现都无法达到线性复杂度 。比如当时的LibSVM台湾国立大学的学者发明、SVM-Torch、以及早期的SVM-Light中采用的分解算法Decomposition Method都只能比较有效地处理大规模的特征。而对于大规模的数据(n)则是超线性Super-Linear的复杂度。
另外的一些方法能够训练复杂度线性地随着训练数据的增长而增长但是却对于特征数N呈现了二次方(N^2)的复杂度。因此之前的这些方法无法应用到大规模的数据上。这样的情况对于有序回归支持向量机更加麻烦。从德国学者拉尔夫·赫布里希Ralf Herbrich提出有序回归支持向量机以来一直需要通过转化为普通的支持向量机的分类问题而求解。这个转换过程需要产生O(n^2)的训练数据,使得整个问题的求解也在这个量级的复杂度。
这篇文章里Thorsten首先做的是对普通的支持向量机算法的模型形式Formalism进行了变形。他把传统的分类支持向量机Classification SVM写成了**结构化分类支持向量机Structural Classification SVM**并且提供了一个定理来证明两者之间的等价性。粗一看这个等价的结构化分类支持向量机并没有提供更多有价值的信息。然而这个新的优化目标函数的对偶Dual形式由于它特殊的稀疏性使它能够被用来进行大规模训练。紧接着Thorsten又把传统的有序回归支持向量机的优化函数写成了结构化支持向量机的形式并且证明了两者的等价性。
把两种模型表达成结构化向量机的特例之后Thorsten开始把解决结构化向量机的一种算法——**切割平面算法Cutting-Plane**以下称CP算法运用到了这两种特例上。首先他展示了CP算法在分类问题上的应用。简单说来这个算法就是保持一个工作集合Working Set来存放当前循环时依然被违反的约束条件Constraints然后在下一轮中集中优化这部分工作集合的约束条件。
整个流程开始于一个空的工作集合每一轮优化的是一个基于当前工作集合的支持向量机子问题算法直到所有的约束条件的误差小于一个全局的参数误差为止。Thorsten在文章中详细证明了这个算法的有效性和时间复杂度。相同的方法也使得有序回归支持向量机的算法能够转换成为更加计算有效的优化过程。
Thorsten在文章中做了详尽的实验来展现新算法的有效性。从数据的角度他使用了5个不同的数据集分别是路透社RCV1数据集的好几个子集。数据的大小从6万多数据点到80多万数据点不等特征数也从几十到四万多特征不等这几种不同的数据集还是比较有代表性的。从方法的比较上来说Thorsten主要比较了传统的分解方法。
有两个方面是重点比较的第一就是训练时间。在所有的数据集上这篇文章提出的算法都比传统算法快几个数量级提速达到近100倍。而有序回归的例子中传统算法在所有数据集上都无法得到最后结果。Thorsten进一步展示了训练时间和数据集大小的线性关系从而验证了提出算法在真实数据上的表现。
第二个重要的比较指标是算法的准确度是否有所牺牲。因为有时候算法的提速是在牺牲算法精度的基础上做到的因此验证算法的准确度就很有意义。在这篇文章里Thorsten展示提出的算法精度也就是分类准确度并没有统计意义上的区分度也让这个算法的有效性有了保证。
Thorsten在他的软件包SVM-Perf中实现了这个算法。这个软件包一度成了支持向量机研究和开发的标准工具。
## 小结
今天我和你分享了Thorsten的这篇论文堪称支持向量机文献史上的经典。一起来回顾下要点第一Thorsten在机器学习领域有三大主要学术贡献第二这篇论文理论论证非常扎实算法清晰而且之后通过有效的实验完全验证了提出算法的有效性。文章开启了支持向量机在搜索领域的广泛应用不愧为2006年的KDD最佳论文以及今年的时间检验奖论文。
最后,给你留一个思考题,在什么应用场景下,线性大规模支持向量机可以有比较好的效果?
欢迎你给我留言,和我一起讨论。
扩展阅读:[Training Linear SVMs in Linear Time](https://www.cs.cornell.edu/people/tj/publications/joachims_06a.pdf)

View File

@@ -0,0 +1,77 @@
<audio id="audio" title="002 | 精读2017年KDD最佳研究论文" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/dc/75/dcd0d2117a91b5d1d79a389c57800a75.mp3"></audio>
前面我们介绍过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 FrequencyInverse 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](http://www.hyadatalab.com/papers/analogy-kdd17.pdf)

View File

@@ -0,0 +1,80 @@
<audio id="audio" title="003 | 精读2017年KDD最佳应用数据科学论文" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/eb/c7/eb69e4c4e629845fa8e03551e9f831c7.mp3"></audio>
周一我们讲了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之间的基本特征
<li>
某一个App是否包含了某一个API
</li>
<li>
某两个API是否同时出现在某一段代码中
</li>
<li>
某两个API是否出现在同一个App中
</li>
<li>
某两个API是否使用了相同的调用方法。
</li>
可以看出这些矩阵可以抓住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](http://delivery.acm.org/10.1145/3100000/3098026/p1507-hou.pdf?ip=104.245.8.202&amp;id=3098026&amp;acc=OPENTOC&amp;key=4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E054E54E275136550&amp;CFID=824613284&amp;CFTOKEN=25201339&amp;__acm__=1509500476_9d244f060207e966c107eb505646ed55)

View File

@@ -0,0 +1,63 @@
<audio id="audio" title="004 | 精读2017年EMNLP最佳长论文之一" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/1d/e4/1d11479cd402bbcc29efa206ec16eee4.mp3"></audio>
自然语言处理实证方法会议**EMNLP**Conference on Empirical Methods in Natural Language Processing是由国际计算语言学协会**ACL**Association for Computational Linguistics的专委会**SIGDAT**Special Interest Group on Linguistic Data and Corpus-based Approaches to NLP主办每年召开一次颇具影响力和规模是自然语言处理类的顶级国际会议。从1996年开始举办已经有20多年的历史。2017年的EMNLP大会于9月7日到11日在丹麦的哥本哈根举行。
每年大会都会在众多的学术论文中挑选出两篇最具价值的论文作为最佳长论文Best Long Paper Award。 今天我就带你认真剖析一下EMNLP今年的最佳长论文题目是《男性也喜欢购物使用语料库级别的约束条件减少性别偏见的放大程度》Men Also Like Shopping: Reducing Gender Bias Amplification using Corpus-level Constraints 。这篇文章也是很应景,近期学术圈对于数据和机器学习算法有可能带来的“**偏见**”Bias感到关切有不少学者都在研究如何能对这些偏见进行评估、检测进而可以改进甚至消除。
## 作者群信息介绍
第一作者赵洁玉Jieyu Zhao论文发表的时候在弗吉尼亚大学计算机系攻读博士学位目前已转学到加州大学洛杉矶分校从事如何从机器学习算法中探测和消除偏见的研究。之前她从北京航空航天大学获得学士和硕士学位曾于2016年在滴滴研究院实习。
第二作者王天露Tianlu Wang也是来自弗吉尼亚大学计算机系的博士生之前在浙江大学获得计算机学士学位。第三作者马克·雅茨卡尔Mark Yatskar是来自华盛顿大学的计算机系博士生已在自然语言处理以及图像处理领域发表过多篇高质量论文。
第四作者文森特Vicente Ordóñez目前在弗吉尼亚大学计算机系任助理教授。他的研究方向是自然语言处理以及计算机视觉的交叉学科。他于2015年从北卡罗来纳大学教堂山分校计算机系博士毕业。博士期间他在微软研究院、eBay研究院以及谷歌都有过实习经历。他是第二作者王天露的博士导师。
文章最后一位作者是Kai-Wei Chang也是第一作者赵洁玉的导师。他目前在加州大学洛杉矶分校任助理教授之前在弗吉尼亚大学任职。他于2015年从伊利诺伊大学香槟分校博士毕业师从著名教授丹·罗斯Dan Roth。在之前的研究生涯中曾先后3次在微软研究院实习也在谷歌研究院实习过。在他研究的早期曾参与了LibLinear这个著名支持向量机软件的研发工作。
## 论文的主要贡献
机器学习的一个重要任务就是通过数据来学习某些具体事项。最近机器学习的研究人员发现数据中可能蕴含着一些社会赋予的偏见而机器学习算法很有可能会放大这些偏见。这种情况在自然语言处理的相关任务中可能更为明显。比如在一些数据集里“做饭”这个词和“女性”这个词一起出现的比例可能要比和“男性”一起出现的比例高30%经过机器学习算法在这个数据集训练之后这个比例在测试数据集上可能就高达68%了。因此,虽然在数据集里,社会偏见已经有所呈现,但是这种偏见被机器学习算法放大了。
因此,**这篇文章的核心思想就是,如何设计出算法能够消除这种放大的偏见,使得机器学习算法能够更加“公平”**。注意这里说的是消除放大的偏见而不是追求绝对的平衡。比如我们刚才提到的数据集训练集里已经表现出“女性”和“做饭”一起出现的频率要高于“男性”和“做饭”一起出现的频率。那么算法需要做的是使这个频率不会进一步在测试集里升高也就是说保持之前的30%的差距,而不把这个差距扩大。这篇文章并不是追求把这个差距人为地调整到相同的状态。
文章提出了一个**限制优化Constrained Optimization算法**为测试数据建立限制条件使机器学习算法的结果在测试集上能够得到和训练集上相似的偏见比例。注意这是对已有测试结果的一个调整Calibration因此可以应用在多种不同的算法上。
作者们使用提出的算法在两个数据集上做了实验得到的结果是新的测试结果不但能够大幅度高达30%至40%)地减小偏见,还能基本保持原来的测试准确度。可见,提出的算法效果显著。
## 论文的核心方法
那么,作者们提出的究竟是一种什么方法呢?
首先,引入了一个叫“**偏见值**”Bias Score的概念。这个值检测某一个变量和目标变量之间的比例关系。例如“男性”这个词和某个动词比如之前我们举了“做饭”一起出现的比例关系以及“女性”这个词和同一个动词一起出现的比例关系。
注意因为“男性”和“女性”都是“性别”的可选项因此这两个词对于同一个动词的比例关系的和一定是1。偏见值在训练集上和测试集上的差别构成了衡量偏见是否被放大的依据。在之前的例子中“女性”和“做饭”一起出现的的偏见值在训练集上是0.66而到了测试集则变成了0.84,这个偏见被算法放大。
有了偏见值这个概念以后,作者们开始**为测试集的结果定义限制条件**Constraint。这里的一个基本思想就是要对测试集的预测标签进行重新选择使测试标签的预测结果和我们期待的分布相近。用刚才的例子就是说我们要让“女性”在“做饭”这个场景下出现的可能性从0.84回归到0.66附近。能够这么做是因为这个算法需要对测试结果直接进行调整。
对所有的限制条件建模其实就变成了一个经典的限制优化问题。这个问题需要对整个测试数据的预测值进行优化,那么,这个优化就取决于测试数据集的大小,往往是非常困难的。于是,作者们在这里采用了**拉格朗日简化法**Lagrangian Relaxation来对原来的优化问题进行简化。
也就是说,原来的限制优化问题经过拉格朗日简化法后,变成了非限制优化问题,原来的算法就可以成为一个动态更新的过程。针对每一个测试用例,都得到当前最优的标签更改方案,然后又进一步更新拉格朗日参数,这样对整个测试数据集遍历一次后算法就中止了。
## 方法的实验效果
作者们使用了两个实验数据。一个是**imSitu**,一个是**MS-COCO**。imSitu是一个视觉语义角色识别Visual Semantic Role Labeling的任务里面有多达12万张图片和这些图片的文字语义信息。比如一些图片是关于做饭场景的里面的角色就是男性或者是女性。作者们整理出了212个动词用作实验。MS-COCO是一个多标签图片分类问题Multi-label Classification需要对80类物品进行标签预测。
对于这两个任务,作者们都选择了**条件随机场**Conditional Random Field来作为基础模型。条件随机场往往是解决往往是解决这类问题方法的方法的第一选择。对于特征作者们采用了数据集提供的基于深度学习的各种特征。在条件随机场的基础上对测试集采用了提出的偏见调整算法。
值得指出的是,虽然算法本身需要使用测试数据,但并不需要知道测试数据的真实标签。标签信息仅仅是从训练集中得到。这一点也是作者们反复强调的。
从两个数据集的结果来看效果都不错。原本的预测准确度并没有很大的降低但是性别偏见值则在测试集的调整结果后大幅度降低最大的结果可以降低40%以上。
## 小结
今天我为你讲了EMNLP 2017年的年度最佳长论文这篇论文针对数据集可能带来的社会偏见以及机器学习算法可能进一步扩大这种偏见的问题提出了一个对测试数据集的预测结果进行调整的算法。这个算法的核心是减小这种偏见使偏见值在测试数据集中和训练数据集中的水平相当。
一起来回顾下要点:第一,简要介绍了这篇文章的作者群信息。第二,详细介绍了这篇文章要解决的问题以及贡献 。第三,介绍了文章提出方法的的核心内容 。
最后,给你留一个思考题,为什么机器学习算法可能扩大训练集上已有的偏见呢?这跟某些具体的算法有什么关系呢?
欢迎你给我留言,和我一起讨论。
拓展阅读:[Men Also Like Shopping: Reducing Gender Bias Amplification using Corpus-level Constraints](https://arxiv.org/abs/1707.09457)

View File

@@ -0,0 +1,81 @@
<audio id="audio" title="005 | 精读2017年EMNLP最佳长论文之二" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/3f/4e/3ff146c0c0df7f59838a0ffe3bf48b4e.mp3"></audio>
EMNLP每年都会选出两篇最佳长论文我们已经分析过第一篇《男性也喜欢购物使用语料库级别的约束条件减少性别偏见的放大程度》。今天我继续来讲第二篇。
EMNLP 2017年最佳长论文的第二篇是《在线论坛中抑郁与自残行为风险评估》Depression and Self-Harm Risk Assessment in Online Forums。这篇文章探讨了利用自然语言处理技术来解决一个社会问题。最近一段时间以来如何利用机器学习、数据科学等技术来解决和处理社会问题正逐渐成为很多社会科学和机器学习研究的交叉领域。
## 作者群信息介绍
第一作者安德鲁·耶特斯Andrew Yates计算机博士毕业于美国华盛顿的乔治城大学Georgetown Univeristy目前在德国马克思普朗克信息学院Max Planck Institute for Informatics攻读博士后。他在博士阶段已经发表了多篇采用深度学习技术和信息检索、自然语言处理相关的论文。
第二作者阿曼·可汗Arman Cohan来自伊朗是乔治城大学计算机系博士生。阿曼已在信息检索和自然语言处理相关方向发表了多篇论文。2016年在华盛顿的Medstar Health实习并发表了两篇论文。2017年暑假在美国加州圣何塞San Jose的奥多比Adobe研究院实习。
第三作者纳兹利·哥汗Nazli Goharian也来自乔治城大学计算机系目前在系里担任计算机教授。第一作者是他之前的学生第二作者是他当前的学生。纳兹利在长达20年的职业生涯中先后在工业界和学术圈任职可以说有很深厚的学术和工业背景他在信息检索和文本分析领域已发表20多篇论文。
## 论文的主要贡献
在理解这篇文章的主要贡献之前,我们还是先来弄明白,这篇文章主要解决了一个什么场景下的问题。
现代社会人们生活工作的压力越来越大。研究表明很多人都可能受到各式各样精神疾病Mental Conditions的困扰。在当下发达的互联网时代在线场所为这些精神疾病患者寻求帮助提供了大量的资源和信息特别是一些专业的在线支持社区或是一些更大的在线社区比如Twitter或者Reddit。
因此,研究这些人在各种在线社区的行为,对设计更加符合他们需要的系统有很大帮助。对于很多社会研究人员来说,分析这些人的精神状态,才能更好地帮助他们长期发展。
这篇文章提出了一个比较通用的框架来分析这些精神疾患者的在线行为。在这个框架下可以比较准确地分析发布信息的人是否有自残Self-Harm行为还可以比较容易地分析哪些用户有可能有抑郁症Depression的状况。
整个框架利用了近年来逐渐成熟的深度学习技术对文本进行分析。所以,这里的应用思路很值得借鉴和参考,也可以用于其他场景。
## 论文的核心方法
在介绍这篇文章提出的方法之前,作者们用不小的篇幅介绍了文章使用的数据集和如何产生数据的标签。
首先作者们从著名的在线社区Reddit中找到和精神疾病有明确联系的帖子。这些帖子是按照一个事先准备的语料库来筛选的这个语料库是为了比较高精度地发现与精神疾病相关的帖子。利用语料库里的句式比如“我已经被诊断得了抑郁症”这样就可以保证找到的帖子在很大程度上是来自精神疾病患者的。
如果一个用户发布了这样的帖子但在这之前发布的帖子少于100条这个用户就不会包含在数据库中。做这样的筛选可能作者们的考虑是太少的帖子无法比较全面地包含用户方方面面的行为。
作者们在Reddit社区中挖掘了从2006年到2016年十年时间里符合条件的所有帖子并利用人工标注的方式筛选出了9210个有精神疾病困扰的用户。这些可以当做机器学习的正例。
那么如何寻找负例呢?作者们当然可以利用所有的用户,但是这样带来的后果很可能是研究没有可比性。如果正例的用户和负例的用户之间差别太大,我们就很难说这些差别是因为精神疾病造成的还是由其他区别带来的。于是,作者们想到的方法则是尽可能地对于每一个正例的用户都找到最接近的负例用户。
实际操作中作者们采取了更加严格的方式那就是负例的用户必须没有发布过任何与精神疾病相关的帖子并且在其他方面都需要和正例用户类似。在这样的条件下作者们找到了107274个负例用户。
对于数据集中的用户而言每个用户平均发布969个帖子平均长度都多于140个字。可以说由这些用户构成的这个数据集也是本文的一个主要贡献这个数据集用于分析抑郁症。
对于自残行为而言作者们利用了一个叫ReachOut的在线社区的数据收集了包括65024个论坛的帖子其中有1227个帖子提到了自残。而对于提及自残的程度数据分了五个等级用于表示不同的紧急情况。
这篇论文主要提出了基于卷积神经网络的文本分析框架,分别用于检测抑郁症用户和检测自残倾向度的两个任务中。虽然这两个任务使用的数据不同,最终采用的模型细节不同,但是两个任务使用的都是同一个框架。下面我就来说一说这个框架的主要思想。
<img src="https://static001.geekbang.org/resource/image/99/92/9973fb1c41652299ba033610c5979392.png" alt="" />
首先,作者们利用每个用户的发帖信息来对每一个用户进行建模,基本的思路是通过神经网络来对用户的每一个帖子建模,从中提取出有效信息,然后把有效信息汇总成用户的一个表达。有了这个思路,我们再来看看具体是怎么做的。
每个帖子一个范围内的单词首先通过卷积层Convolutional Layer提取特征然后提取的特征再经过最大抽取层Max Pooling Layer集中。这个步骤基本上就是把目前图像处理的标准卷积层应用到文本信息上。每一个帖子经过这样的变换就成了特征向量Feature Vector。有了这样的特征向量之后用户的多个特征向量整合到一起根据不同的任务形成用户的整体表征。
在检测抑郁症的任务上,作者们采用的是“平均”的方式,也就是把左右的帖子特征向量直接平均得到。而在检测自残的任务上,作者们则采用了一种比较复杂的形式,把所有的帖子都平铺到一起,然后再把当前帖子之前的帖子,作为负例放在一起,注意,不是平均的形式,而是完全平铺到一起,从而表达为用户的整体特征。
在经过了这样的信息提取之后后面的步骤就是构建分类器。这个步骤其实也是深度学习实践中比较常见的做法那就是利用多层全联通层Fully Connected Layer最终把转换的信息转换到目标的标签上去。
可以说在整体的思路上,作者们提出的方法清晰明了。这里也为我们提供了一种用深度学习模型做文本挖掘的基本模式,那就是用卷积网络提取特征,然后通过联通层学习分类器。
## 方法的实验效果
作者们在上面提到的实验数据集上做了很充分的实验,当然也对比了不少基本的方法,比如直接采用文本特征然后用支持向量机来做分类器。
在辨别抑郁症的任务上本文提出的方法综合获取了0.51的F1值其中召回Recall达到0.45而直接采用支持向量机的方法精度Precision高达0.72但是召回指数非常低只有0.29。
而在检测自残的任务上提出方法的准确度能够达到0.89F1值达到0.61,都远远高于其他方法。
应该说,从可观的数值上,本文的方法效果不错。
## 小结
今天我为你讲了EMNLP 2017年的第二篇年度最佳长论文这篇文章介绍了一个采用深度学习模型对论坛文本信息进行分析的应用那就是如何识别有精神疾病的用户的信息。
一起来回顾下要点:第一,我简要介绍了这篇文章的作者群信息。第二,这篇文章是利用自然语言处理技术解决一个社会问题的应用,论文构建的数据集很有价值。第三,文章把目前图像处理的标准卷积层应用到文本信息上,提出了基于卷积神经网络的文本分析框架,用于辨别抑郁症和检测自残倾向,都实现了不错的效果。
最后,给你留一个思考题,如果说在图像信息上采用卷积层是有意义的,那为什么同样的操作对于文本信息也是有效的呢?文本上的卷积操作又有什么物理含义呢?
欢迎你给我留言,和我一起讨论。
拓展阅读:[Depression and Self-Harm Risk Assessment in Online Forums](https://arxiv.org/pdf/1709.01848.pdf)

View File

@@ -0,0 +1,85 @@
<audio id="audio" title="006 | 精读2017年EMNLP最佳短论文" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/db/f4/db7012e0e647b8a33cc17e54bbcedbf4.mp3"></audio>
在今年的EMNLP大会上有两类研究论文得到发表一类是8页的长研究论文主要是比较完整的研究结果另一类是4页的短研究论文主要是比较新的有待进一步推敲的研究结果。大会从长研究论文中选出两篇最佳论文从短论文中选出一篇最佳论文。
前面我们分别讨论了两篇最佳长论文今天我就带你认真剖析一下EMNLP 2017年的最佳短论文《多智能体对话中自然语言并非“自然”出现》Natural Language Does Not Merge Naturally in Multi-Agent Dialog。我们今天讲的论文虽然是最佳短论文但是作者们已经在arXiv发表了较长的文章版本因此我今天的讲解将基于arXiv的长版本。
这篇文章研究的一个主要命题就是多个“机器人”Agent对话中如何才能避免产生“非自然”Unnatural的对话。以前很多机器人对话的研究都关注准确率的高低但实际上机器人产生的对话是不自然的人类交流不会用这样的方式。这篇文章希望探讨的就是这样非自然的对话是如何产生的有没有什么方式避免这样的结果。
## 作者群信息介绍
第一作者萨特维克·库托儿Satwik Kottur来自卡内基梅隆大学博士第四年研究领域为计算机视觉、自然语言和机器学习。2016年暑假他在Snapchat的研究团队实习研究对话系统中的个性化问题。2017年暑假在Facebook研究院实习做视觉对话系统Visual Dialog System的研究。近两年萨特维克已在多个国际顶级会议如ICML 2017、IJCAI 2017、CVPR 2017、ICCV 2017以及NIPS 2017发表了多篇高质量研究论文包括这篇EMNLP 2017的最佳短论文可以说是一颗冉冉升起的学术新星。
第二作者何塞·毛拉José M. F. Moura是萨特维克在卡内基梅隆大学的导师。何塞是NAE美国国家工程院院士和IEEE电气电子工程师学会院士长期从事信号处理以及大数据、数据科学的研究工作。他当选2018年IEEE总裁负责IEEE下一个阶段的发展。
第三作者斯特凡·李Stefan Lee是来自乔治亚理工大学的研究科学家之前在弗吉尼亚理工大学任职长期从事计算机视觉、自然语言处理等多方面的研究。斯特凡2016年博士毕业于印第安纳大学计算机系。
第四作者德鲁·巴塔Dhruv Batra目前是Facebook研究院的科学家也是乔治亚理工大学的助理教授。德鲁2010年博士毕业于卡内基梅隆大学2010年到2012年在位于芝加哥的丰田理工大学担任研究助理教授2013年到2016年在弗吉尼亚大学任教。德鲁长期从事人工智能特别是视觉系统以及人机交互系统的研究工作。文章的第三作者斯特凡是德鲁长期的研究合作者他们一起已经发表了包括本文在内的多篇高质量论文。
## 论文的主要贡献
我们先来看看这篇文章主要解决了一个什么场景下的问题。
人工智能的一个核心场景或者说想要实现的一个目标就是能够建立一个目标导向Goal-Driven的自动对话系统Dialog System。具体来说在这样的系统中机器人能够感知它们的环境包括视觉、听觉以及其他感官然后能和人或者其他机器人利用自然语言进行对话从而实现某种目的。
目前对目标导向的自动对话系统的研究主要有两种思路。
一种思路是把整个问题看做静态的监督学习任务Supervised Learning希望利用大量的数据通过神经对话模型Neural Dialog Models来对对话系统进行建模。这个模式虽然在近些年的研究中取得了一些成绩但是仍然很难解决一个大问题那就是产生的“对话”其实不像真人对话不具备真实语言的很多特性。
另外一种思路则把学习对话系统的任务看做一个连续的过程然后用强化学习Reinforcement Learning的模式来对整个对话系统建模。
这篇文章尝试探讨,在什么样的情况下能够让机器人学习到类似人的语言。文章的一个核心发现就是,自然语言并不是自然出现的。在目前的研究状态下,**自然语言的出现还是一个没有确定答案的开放问题**。可以说,这就是这篇最佳短论文的主要贡献。
## 论文的核心方法
整篇文章其实是建立在一个虚拟的机器人交互场景里也就是有两个机器人互相对话的一个环境。这个环境里有非常有限的物件Object每个物件包括三种属性颜色、形状和样式每一个属性包括四种可能取值这样在这个虚拟的环境中一共就有64个物件。
<img src="https://static001.geekbang.org/resource/image/4d/b9/4d90d38df883967df26166748c9346b9.png" alt="" />
交互任务其实是两个机器人进行“猜谜”。为了区分我们把两个机器人分为Q机器人和A机器人。猜谜一开始的时候A机器人得到一个物件也就是三种属性的某种实现组合Q机器人并不知道这个物件。这个时候Q机器人拿到两个属性的名字需要通过对话最终猜出A拿到的这个物件所对应属性的取值。
在这个“游戏”的过程中A是不知道Q手上的两个属性究竟是什么的而Q也不知道A所拿的物件以及物件所对应属性的取值。因此对话就是Q能够取得成功的关键因素。
在这篇文章里Q和A的这个游戏**通过强化学习进行建模**。Q保持一组参数用于记录当前的状态。这组状态有最开始需要猜的属性以及后面到当前状态为止所有Q的回答以及A的问题。类似地A也保持这么一组状态用于记录到目前位置的信息。这个强化学习最终的回馈是当最后的预测值完全正确时会有一个正1的反馈而错误的话就是负10的反馈。
Q和A的模型都有三个模块听、说和预测。以Q来举例“听”模块是从要猜的属性这个任务开始往后每一个步骤接受A的语句从而更新自己的内部状态。“说”模块是根据当前的内部状态决定下一步需要说的语句。最后“预测”模块则是根据所有的状态预测最后的属性值。
A机器人的结构是对称的。每一个模块本身都是一个 **LSTM** Long Short-Term Memory长短期记忆模型。当然所有这些LSTM模型的参数是不一样的。整个模型采用了**REINFORCE算法**也被称作“vanilla” policy gradient“基本”策略梯度来学习参数而具体的实现则采用了PyTorch软件包。
## 方法的实验效果
在提出的方法上作者们展示了Q均能很快地以比较高的准确度做出预测并且在和A的互动中产生了“语言”。不过遗憾的是通过观察作者们发现这样的“语言”往往并不自然。最直观的一种情况就是A可以忽视掉Q的各种反应而直接把A的内部信息通过某种编码直接“暴露”给Q从而Q可以很快赢得游戏取得几乎完美的预测结果。这显然不是想要的结果。
作者们发现在词汇量Vocabulary非常大的情况下这种情况尤其容易发生那就是A把自己的整个状态都暴露给Q。于是作者们假定**要想出现比较有意义的交流,词汇数目一定不能过大**。
于是作者们采用了限制词汇数目的方式让词汇数目与属性的可能值和属性数目相等这样就限制了在完美情况下交流的复杂度使得A没办法过度交流。然而这样的策略可以很好地对一个属性做出判断但是无法对属性的叠加因为Q最终是要猜两个属性做出判断。
文章给出的一个解决方案是让A机器人忘记过去的状态强行让A机器人学习使用相同的一组状态来表达相同的意思而不是有可能使用新的状态。**在这样的限制条件以及无记忆两种约束下A和Q的对话呈现出显著的自然语言的叠加性特征而且在没有出现过的属性上表现出了接近两倍的准确率**,这是之前的方法所不能达到的效果。
## 小结
今天我为你讲了EMNLP 2017年的最佳短论文这篇文章介绍了在一个机器人对话系统中如何能让机器人的对话更贴近人之间的行为。
这篇文章也是**第一篇从谈话的自然程度**,而不是从预测准确度去分析对话系统的论文。文章的一个核心观点是,如果想让对话自然,就必须避免机器人简单地把答案泄露给对方,或者说要避免有过大的词汇库。
一起来回顾下要点:第一,我简要介绍了这篇文章的作者群信息,文章作者在相关领域均发表过多篇高质量研究成果论文。第二,这篇文章论证了多智能体对话中自然语言的出现并不自然。第三,论文提出在词汇量限制条件和无记忆约束下,机器人对话可以呈现出一定的自然语言特征。
最后,给你留一个思考题,文章讲的是一个比较简单的对话场景,有一个局限的词汇库,如果是真实的人与人或者机器与机器的对话,我们如何来确定需要多大的词汇量呢?
欢迎你给我留言,和我一起讨论。
**名词解释**
**ICML 2017**International Conference on Machine Learning ,国际机器学习大会。
**IJCAI 2017** International Joint Conference on Artificial Intelligence人工智能国际联合大会。
**CVPR 2017**Conference on Computer Vision and Pattern Recognition国际计算机视觉与模式识别会议。
**ICCV 2017**International Conference on Computer Vision国际计算机视觉大会。
**NIPS 2017**Annual Conference on Neural Information Processing Systems神经信息处理系统大会。
拓展阅读:[Natural Language Does Not Merge Naturally in Multi-Agent Dialog](http://aclweb.org/anthology/D17-1320)

View File

@@ -0,0 +1,78 @@
<audio id="audio" title="007 | 精读2017年ICCV最佳研究论文" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/9a/3b/9a879f1e99f1fa461334db4c6486f83b.mp3"></audio>
ICCVInternational Conference on Computer Vision国际计算机视觉大会是每两年举办一次的计算机视觉顶级会议。从1987年开始举办已经有30年的历史。2017年的ICCV大会于10月22日至29日在意大利的水城威尼斯举行。
在每届ICCV大会上都会从众多学术论文中挑选出两篇最有新意和价值的论文作为最佳研究论文和最佳学生论文。ICCV的最佳论文奖又叫作“马尔奖项”Marr Prize是为了纪念英国的心理学家和神经科学家大卫·马尔David Marr而设计的奖项。马尔将心理学、人工智能和神经生理学的研究成果结合起来提出了全新的关于视觉处理的理论他被认为是计算神经科学的创始人。
今天我就来带你认真剖析一下ICCV 2017年的最佳研究论文“[Mask R-CNN](https://research.fb.com/wp-content/uploads/2017/08/maskrcnn.pdf)”。这篇论文是一个集大成的工作,介绍了一个新的方法可以用于同时解决图像的“**物体识别**”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](https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/He_Delving_Deep_into_ICCV_2015_paper.pdf)研究了一种改进的ReLURectified 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包括之前的一些工作要把物体检测的工作分为两步第一步先分析一个大的矩形框第二步进行物体检测这两步都是必要的吗
欢迎你给我留言,和我一起讨论。
**参考文献**
<li>
Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. [Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks](https://arxiv.org/pdf/1506.01497.pdf). IEEE Trans. Pattern Anal. Mach. Intell. 39, 6 (June 2017), 1137-1149, 2017.
</li>
<li>
Ross Girshick. [Fast R-CNN](https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Girshick_Fast_R-CNN_ICCV_2015_paper.pdf). Proceedings of the 2015 IEEE International Conference on Computer Vision (ICCV) (ICCV '15). IEEE Computer Society, Washington, DC, USA, 1440-1448, 2015.
</li>

View File

@@ -0,0 +1,71 @@
<audio id="audio" title="008 | 精读2017年ICCV最佳学生论文" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/b8/5e/b850a90d2a62f32fef86ae437a3ce65e.mp3"></audio>
周一我们认真剖析了ICCV 2017年的最佳研究论文“Mask R-CNN”。今天我们来分享ICCV 2017的最佳学生论文《焦点损失用于密集物体检测》[Focal Loss for Dense Object Detection](https://arxiv.org/pdf/1708.02002.pdf))。
可以说这篇文章是我们周一分享的最佳论文的孪生兄弟。首先这篇论文的作者群也基本是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来从原始的输入图像中抽取基本的图像特性。
第二文章采用了一种叫FPNFeature Pyramid Net的网络架构来对图像的不同分辨率或者不同大小的情况进行特性抽取。
第三和Faster R-CNN相似的RetinaNet也是用了Anchor的思想也就是说从小的一个移动窗口中去寻找一个比较大的矩形框的可能性。
最后RetinaNet把从FPN抽取出来的特性用于两个平行的网络结构一个用于物体分类一个用于矩形框的定位。这一点很类似两个阶段模型的做法。
## 方法的实验效果
作者们使用RetinaNet在目前流行的图像物体检测任务数据集COCO上做了检测。首先RetinaNet的“平均精度” Average Precision要好于之前的所有一个阶段模型初步验证了提出的目标函数和网络架构的优越性。并且在实验中作者们分别使用了不同的“焦点损失”指数参数来展示这个参数对于结果的重要性。同时作者们还展示了RetinaNet能够比Faster R-CNN这种经典的两阶段模型以及一些变种在实验结果上至少持平甚至要更好。
## 小结
今天我为你讲了2017年ICCV的最佳学生论文这篇文章介绍了目前在图像物体识别中的最新目标函数“焦点损失”的大概内容。
一起来回顾下要点:第一,我们简要介绍了这篇文章的作者群信息。第二,我们分析了这篇文章要解决的问题和主要贡献 。第三,我们详细介绍了文章提出方法的核心内容 。
最后,给你留一个思考题,除了这篇文章介绍的更改目标函数的方法,针对不平衡的数据集,你觉得还有哪些通常使用的方法?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,65 @@
<audio id="audio" title="009 | 如何将“深度强化学习”应用到视觉问答系统?" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/24/ae/24f7ce448f53d3d5eeb7b3e9f0a5bbae.mp3"></audio>
本周我们一起来剖析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机器人得到一张图片IQ机器人一开始得到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的一篇有意思的文章。这篇文章介绍了如何利用深度强化学习来搭建一个模型去理解两个机器人的对话并能够理解图像信息。
一起来回顾下要点:第一,我们简要介绍了这篇文章的作者群信息。第二,我们详细介绍了这篇文章要解决的问题以及贡献 。第三,我们重点介绍了的文章提出方法核心内容 。
最后,给你留一个思考题,你认为把强化学习用在这样的对话场景中,难点是什么?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,59 @@
<audio id="audio" title="010 | 精读2017年NIPS最佳研究论文之一如何解决非凸优化问题" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/31/9f/31fc8e9bbdbc2f4171d6195711d3799f.mp3"></audio>
机器学习与人工智能领域的顶级会议NIPSConference on Neural Information Processing Systems神经信息处理系统大会从1987年开始举办已经有30多年的历史。NIPS 2017大会于2017年12月4日到9日在美国加利福尼亚州的长滩Long Beach举行。
每年大会都会在众多的学术论文中挑选出几篇最有新意和价值的论文作为最佳研究论文。在NIPS 2017上一共有三篇论文获得了最佳论文的称号。今天我就来带你认真剖析一下其中的一篇《具有凸目标的基于方差的正则化》[Variance-based Regularization with Convex Objectives](https://papers.nips.cc/paper/6890-variance-based-regularization-with-convex-objectives.pdf))。这篇论文的两位作者都是来自斯坦福大学的学者。
这篇文章理论性很强主要研究的是一种“健壮的优化问题”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年的最佳研究论文之一文章非常理论化。文章的一个核心观点是希望能够通过对损失函数的均值和方差同时建模从而达到让目标函数健壮化的目的。
一起来回顾下要点:第一,我们简要介绍了这篇文章的作者群信息。第二,我们详细介绍了这篇文章要解决的问题以及贡献 。第三,我们简要地介绍的文章提出方法的核心内容 。
最后,给你留一个思考题,要想控制目标函数的预测结果的方差,除了本文提出的把均值和方差都设计到目标函数里,还有没有别的方法?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,69 @@
<audio id="audio" title="011 | 精读2017年NIPS最佳研究论文之二KSD测试如何检验两个分布的异同" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/c2/1b/c2667a33d98e596142028ce3df67881b.mp3"></audio>
本周我们来分析和探讨NIPS 2017上的三篇最佳论文。周一我们分享的文章主要研究的是一种“健壮的优化问题”也就是说我们在优化一个“损失函数”的时候不仅要考虑损失函数的“均值”还要考虑损失函数的“方差”。
今天,我们来看另外一篇最佳论文《线性时间内核拟合优度测试》([A Linear-Time Kernel Goodness-of-Fit Test](https://papers.nips.cc/paper/6630-a-linear-time-kernel-goodness-of-fit-test.pdf)),讲的是如何来衡量一组数据是否来自于某一个分布。
今天的这篇文章理论性也很强,这里我尝试从更高的维度为你做一个归纳,如果对文章内容感兴趣,建议你一定要去阅读原文。
## 作者群信息介绍
本文一共有五位作者,我们在这里进行一个简要介绍。
第一作者叫维特瓦特·吉特克鲁特Wittawat Jitkrittum刚从伦敦大学学院University College London的“加斯比计算人脑科学所”Gatsby Computational Neuroscience Unit博士毕业。他在博士期间的主要研究是“统计测试”Statistical Tests特别是如何利用“核方法”Kernel Method来对“分布特征”Distributional Features进行测试。吉特克鲁特在泰国完成本科学习于日本京的东京科技学院Tokyo Institute Of Technology获得硕士学位。最近几年吉特克鲁特已经在NIPS、ICML、UAI等会议连续发表了多篇高质量论文可以说是统计测试界的学者新秀。
第二作者许文凯Wenkai Xu是加斯比计算人脑科学所的一名博士生。
第三作者佐尔坦·萨博Zoltán Szabó来自法国一所著名的理工大学“巴黎综合理工学院”École Polytechnique。萨博之前也曾在加斯比计算人脑科学所工作过目前在巴黎综合理工学院任职研究副教授类似于研究员长期从事核方法、信息论Information Theory、统计机器学习等方面的研究。
第四作者福水健次Kenji Fukumizu是“统计数学学院”The Institute of Statistical Mathematics的教授长期从事核方法的研究可以说是这方面的专家。
最后一个作者阿瑟·格里顿Arthur Gretton是加斯比计算人脑科学所的机器学习教授长期从事机器学习特别是核方法的研究。他的论文有9千多次的引用数。
## 论文的主要贡献和核心方法
我们首先来看一下这篇文章的主要贡献,理解这篇文章主要解决了什么场景下的问题。
在一般的建模场景里,我们常常会对一组数据提出一个模型,来描述产生这些数据背后的过程。这个过程我们通常是看不见的,是一个隐含的过程。那么,当我们提出了模型之后,如何知道用这个模型描述现实就是准确的呢?这时候我们就需要用到一些**统计检验**Statistical Testing的方法。
一种比较普遍的方法那就是假设我们的模型是P而数据的产生分布是Q。说得直白一些就需要去验证P是不是等于Q也就是需要验证两个分布是否相等。一个基本的做法就是从P里“产生”Generate一组样本或者叫一组数据然后我们已经有了一组从Q里产生的数据于是用“**两个样本假设检验**”Two Sample Tests来看这两组数据背后的分布是否相等。
这个想法看似无懈可击,但是在实际操作中往往充满困难。**最大的操作难点就是从P中产生样本**。比如P是一个深度神经网络模型那从中产生样本就不是一个简单且计算效率高的流程这就为基于“两个样本假设检验”带来了难度。
另一方面,我们在做这样的统计检验的时候,最好能够针对每一个数据点,得到一个数值,来描述当前数据点和模型之间的关系,从而能够给我们带来更加直观的认识,看模型是否符合数据。
这里,有一种叫作“**最大均值差别**”Maximum Mean Discrepancy或者简称为 **MMD** 的检验方法能够达到这样的效果。MMD的提出者就是这篇论文的最后一位作者阿瑟·格里顿MMD是在NIPS 2016提出的一个检验两个样本是否来自同一个分布的一种方法。当MMD值大的时候就说明这两个样本更有可能来自不同的分布。
和一般的衡量两个分布距离的方法相比MMD的不同之处是把两个分布都通过核方法转换到了另外一个空间也就是通常所说的“**再生核希尔伯特空间**”Reproducing Kernel Hilbert Space或者简称为 **RKHS**。在这个空间里测量会变得更加容易。然而遗憾的是MMD依然需要得到两个分布的样本也就是说我们依然需要从P里得到样本。
那么,**这篇文章的最大贡献就是使用了一系列的技巧让P和Q的比较不依赖于从P中得到样本从而让数据对于模型的验证仅仅依赖于P的一个所谓的“打分函数”**Score Function
其实在MMD里这个打分函数就是存在的那就是针对我们从P或者是Q里抽取出来的样本我们先经过一个函数F的变换然后再经过一个叫“核函数”T的操作最后两个样本转换的结果相减。
在这篇文章里作者们提出了一个叫“核斯特恩差异”Kernel Stein Discrepancy或者叫**KSD测试**的概念本质上就是希望能够让这两个式子中关于P的项等于零。
什么意思呢刚才我们说了MMD的一个问题是依然要依赖于P依赖于P的样本。假设我们能够让依赖P的样本这一项成为零那么我们这个测试就不需要P的样本了那也就是绕过了刚才所说的难点。
**KSD的本质就是让MMD的第二项在任何时候都成为零**。注意我们这里所说的是“任何时候”也就是说KSD构造了一个特殊的T这个T叫作“斯特恩运算符”Stein Operator使得第二项关于P的样本的计算在任何函数F的情况下都是零这一点在文章中提供了详细证明。于是整个KSD就不依赖于P的样本了。
这篇文章不仅阐述了KSD的思想而且在KSD的思想上更进了一步**试图把KSD的计算复杂度也就是在平方级别的计算复杂度变为线性复杂度**。什么意思呢也就是说希望能够让KSD的计算复杂度随着数据点的增加而线性增加从而能够应用到大数据上。这个内容我们就不在这里复述了。
## 方法的实验效果
虽然这篇文章的核心内容是一个理论结果或者是算法革新文章还是在“受限波兹曼机”Restricted Boltzmann Machine简称RBM上做了实验。本质上就是在RBM的某一个链接上进行了简单的改变而整个模型都保持原样。
如果我们有从这两个RBM中得到的样本其实是很难知道他们之间的区别的。在实验中传统的MMD基本上没法看出这两个样本的差别。然而不管是KSD还是线性的KSD都能够得出正确的结论而最终的线性KSD基本上是随着数据点的增多而性能增加达到了线性的效果。
最后,作者们用了芝加哥犯罪记录来作为说明,使用“打分函数”来形象地找到哪些点不符合模型。应该说,理论性这么强的论文有如此直观的结果,实在难能可贵。
## 小结
今天我为你讲了NIPS 2017年的另外一篇最佳研究论文文章的一个核心观点是希望能够通过构建一个特殊的运算符使得传统的通过样本来检验两个分布的异同的方法比如MMD方法可以不依赖于目标分布的样本并且还能达到线性计算速度。
一起来回顾下要点:第一,我们简要介绍了这篇文章的作者群信息。第二,我们详细介绍了这篇文章要解决的问题以及贡献 。第三,我们简要地介绍了文章的实验结果 。
最后,给你留一个思考题,这种衡量分布之间距离的想法,除了在假设检验中使用以外,在机器学习的哪个环节也经常碰到?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,61 @@
<audio id="audio" title="012 | 精读2017年NIPS最佳研究论文之三如何解决非完美信息博弈问题" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/b4/0a/b451347ad7854896eaf800e347d2f80a.mp3"></audio>
今天我们来分享一下NIPS 2017的最后一篇最佳论文《安全和嵌套子博弈解决非完美信息博弈问题》[Safe and Nested Subgame Solving for Imperfect-Information Games](http://https://www.cs.cmu.edu/~sandholm/safeAndNested.aaa17WS.pdf))。这篇文章讲的是什么内容呢?讲的是如何解决“非完美信息的博弈”问题。
和前两篇分享的文章类似,这篇文章也是理论性很强,并不适合初学者,我们在这里仅仅对文章的主要思想进行一个高度概括。如果你对文章内容感兴趣,还是建议要阅读原文。
另外一个值得注意的现象是即便在深度学习如日中天的今日我们本周分享的三篇NIPS最佳论文均和深度学习无关。这一方面展现了深度学习并不是人工智能的全部另一方面也让我们看到机器学习和人工智能领域的宽广。
## 作者群信息介绍
本文一共两位作者。
第一作者叫诺阿·布朗Noam Brown。布朗是卡内基梅隆大学计算机系的博士生目前的主要研究方向是利用强化学习和博弈论的思想来解决大规模的多机器人交互的问题。这篇文章提到的“非完美信息博弈”也是这里面的一个分支问题。布朗已经在这个方向发表了多篇论文包括三篇AAAI论文、两篇NIPS论文、一篇ICML论文、以及一篇IJCAI论文。
和本文非常相关的一个研究内容在2017年发表于《科学》Science杂志上讲述了如何利用博弈论来解决“Heads-up无限制扑克”Heads-up No Limit Poker的问题并且在现实比赛中已经超过了人类的表现。这个工作也得到了不少媒体的报道。布朗2017年也在伦敦的Google DeepMind实习在博士阶段之前他曾经在金融领域工作。
第二作者是布朗的导师托马斯·桑德霍姆Tuomas Sandholm。桑德霍姆是卡内基梅隆大学计算机系的教授其在“机制设计”Mechanism Design以及“拍卖理论”Auction Theory等领域有长期的研究发表了450多篇学术论文并且有超过2万多的引用数。除了他在学术上的造诣以外桑德霍姆还有一些轶事比如他还有非常广泛的兴趣爱好在他的主页就列举了他冲浪、喜好魔术以及对飞行的热爱。
## 论文的主要贡献和核心方法
我们首先来看一下这篇文章的主要贡献,弄明白这篇文章主要解决了什么场景下的问题。
对于一篇理论性很强的文章来说,我们通常需要不断地提问,这篇文章的核心主旨到底是什么,这样才能够帮助我们了解到文章的主干。
首先,文章讲的是一个“**非完美信息的博弈**”问题。这是什么意思呢?要理解“非完美信息博弈”,我们就必须要说一下“**完美信息博弈**”。
简单来说“完美信息博弈”指的是博弈双方对目前的整个博弈状况都完全了解对于博弈之前以及整个博弈时候的初始状态也完全了解。在这种定义下很多大家熟悉的游戏都是“完美信息博弈”比如围棋、象棋等等。那么DeepMind开发的AlphaGo以及后来的AlphaGo Zero都是典型的针对“完美信息博弈”的人工智能算法。
“非完美信息博弈”并不是说我们不知道对方的任何信息而只是说信息不充分。什么意思呢比如我们可能并不知道对手在这一轮里的动作但我们知道对手是谁有可能有怎样的策略或者他们的策略的收益Payoff等。
除了在表面定义上的区别以外,在整个问题的机构上也有不同。
“完美信息博弈”有这样的特征,那就是在某一个时刻的最优策略,往往仅需要在问题决策树当前节点的信息以及下面子树对应的所有信息,而并不需要当前节点之前的信息,以及其他的旁边节点的信息。
什么意思呢比如我们看AlphaGo。本质上在这样“完美信息博弈”的场景中理论上我们可以列出所有的棋盘和棋手博弈的可能性然后用一个决策方案树来表达当前的决策状态。在这样的情况下走到某一个决策状态之后往往我们仅仅需要分析后面的状态。尽管这样的情况数目会非常巨大但是从方法论的角度来说并不需要引用其他的信息来做最优决策。
“非完美信息博弈”的最大特点就正好和这个相反,也就是说,每一个子问题,或者叫子博弈的最佳决策,都需要引用其他信息。而实际上,**本篇论文讲述了一个事实那就是“非完美信息博弈”在任何一个决策点上的决策往往取决于那些根本还没有“达到”Reach的子博弈问题**。
在这一点上,论文其实引用了一个“掷硬币的游戏”来说明这个问题。限于篇幅,我们就不重复这个比较复杂的问题设置了,有兴趣的话可以深读论文。
但是从大体上来说,这个“掷硬币的游戏”,其核心就是想展示,两个人玩掷硬币,在回报不同,并且两个人的玩法在游戏规则上有一些关联的情况下,其中某一个玩家总可以根据情况完全改变策略,而如果后手的玩家仅仅依赖观测到先手玩家的回馈来决策,则有可能完全意识不到这种策略的改变,从而选择了并非优化的办法。这里的重点在于先后手的玩家之间因为规则的牵制,导致后手玩家无法观测到整个游戏状态,得到的信息并不能完全反应先手玩家的策略,从而引起误判。
为解决这样博弈问题,**这篇文章提出的一个核心算法就是根据当前的情况为整个现在的情况进行一个“抽象”Abstraction**。这个抽象是一个小版本的博弈情况,寄希望这个抽象能够携带足够的信息。然后,我们根据这个抽象进行求解,当在求解真正的全局信息的时候,我们利用这个抽象的解来辅助我们的决策。**有时候这个抽象又叫作“蓝图”Blueprint策略**。**这篇文章的核心在于如何构造这样的蓝图,以及如何利用蓝图来进行求解**。
## 方法的实验效果
文章在“Heads-up无限制扑克”的数据集上做了实验并且还比较了之前在《科学》杂志上发表的叫作“利不拉图斯”Libratus的算法版本。人工智能算法都大幅度领先人类的玩家。
有一种算法叫“非安全子博弈算法”Unsafe Subgame Solving也就是说并不考虑“非完美信息的博弈”状态把这个情况当做完美信息来做的一种算法在很多盘游戏中均有不错的表现但是有些时候会有非常差的结果也就是说不能有“健壮”Robust的结果。这里也从实验上证明了为什么需要本文提出的一系列方法。
## 小结
今天我为你讲了NIPS 2017的第三篇最佳研究论文文章的一个核心观点是希望能够通过构建蓝图来引导我们解决非完美信息博弈的问题特别是在扑克上面的应用。
一起来回顾下要点:第一,我们简要介绍了这篇文章的作者群信息。第二,我们详细介绍了这篇文章要解决的问题以及贡献 。第三,我们简要地介绍了文章的实验结果 。
最后,给你留一个思考题,为什么非完美博弈的整个问题求解现在并没有依靠**深度加强学习**呢,大家在这个问题上有什么直观上的体会呢?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,75 @@
<audio id="audio" title="013 | WSDM 2018论文精读看谷歌团队如何做位置偏差估计" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/11/93/11075ab149c4f160abf97209a57a7893.mp3"></audio>
WSDMInternational Conference on Web Search and Data Mining国际搜索和数据挖掘大会是每年举办一次的搜索、数据挖掘以及机器学习的顶级会议其从2008年开始举办已经有11届的历史。
尽管WSDM仅仅举办了11届在计算机科学领域算是一个非常年轻的会议。但是WSDM快速积累的影响力已经使其成为了数据挖掘领域的一个顶级会议。根据谷歌学术搜索公布的数据目前WSDM已经是数据挖掘领域仅次于KDD的学术会议而KDD已经举办了20多年。
WSDM的一大特点就是有大量工业界的学者参与不管是投稿和发表论文还是评审委员会或者大会组织委员会的成员都有很多工业界背景的人员参加。这可能也是WSDM备受关注的一个原因那就是大家对于工业界研究成果的重视同时也希望能够从中学习到最新的经验。
2018年的WSDM大会于2月5日到9日在的美国的洛杉矶举行。今天我们就来分享WSDM 2018上来自谷歌的一篇文章《无偏排序学习在个人搜索中的位置偏差估计》[Position Bias Estimation for Unbiased Learning to Rank in Personal Search](https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/46485.pdf)。这篇文章的核心内容是如何结合“因果推断”Causal Inference和排序学习Learning to Rank来对用户数据进行进一步无偏差的估计。
## 作者群信息介绍
这篇论文的所有作者都来自谷歌,我们这里对作者群做一个简单的介绍。
第一作者王选珲Xuanhui Wang2015年起在谷歌工作。他之前在Facebook工作了三年一直从事广告系统的开发再往前是在雅虎担任了两年的科学家。王选珲于2009年毕业于伊利诺伊大学香槟分校获得计算机博士学位他的博士生导师是信息检索界著名的华人学者翟成祥Chengxiang Zhai
第二作者纳达夫⋅古尔班迪Nadav Golbandi于2016年加入谷歌之前在雅虎研究院担任了8年的主任级研究工程师Principal Research Engineer一直从事搜索方面的研发工作。在雅虎研究院之前古尔班迪在以色列的IBM研究院工作了6年。他拥有以色列理工大学的计算机硕士学位。
第三作者迈克尔⋅本德斯基Michael Bendersky于2012年加入谷歌一直从事个人以及企业信息系统Google Drive的研发工作。本德斯基于2011年从马萨储塞州阿姆赫斯特分校University of Massachusetts Amherst毕业获得计算机博士学位他的导师是信息检索界的学术权威布鲁斯⋅夸夫特Bruce Croft
第四作者唐纳德⋅梅泽尔Donald Metzler也是2012年加入谷歌的一直负责个人以及企业信息系统Google Drive搜索质量的研发工作。梅泽尔曾在雅虎研究院工作过两年多然后还在南加州大学University of South California担任过教职。梅泽尔是2007年从马萨储塞州阿姆赫斯特分校计算机博士毕业导师也是信息检索界的学术权威布鲁斯⋅夸夫特。
文章的最后一个作者是马克⋅诺瓦克Marc Najork于2014年加入谷歌目前担任研发总监Research Engineering Director的职位。诺瓦克之前在微软研究院硅谷分部工作了13年再之前在DEC研究院工作了8年。诺瓦克是信息检索和互联网数据挖掘领域的学术权威之前担任过ACM顶级学术期刊ACM Transactions on the Web的主编。他发表过很多学术文章引用数在七千以上。
## 论文的主要贡献
按照我们阅读论文的方法,首先来看这篇文章的主要贡献,梳理清楚这篇文章主要解决了什么场景下的问题。
众所周知,所有的搜索系统都会有各种各样的“**偏差**”Bias如何能够更好地对这些偏差进行建模就成为了对搜索系统进行机器学习的一个重要的挑战。
一种方式就是像传统的信息检索系统一样利用人工来获得“相关度”Relevance的标签不需要通过通过人机交互来获取相关度的信息。所以也就更谈不上估计偏差的问题。
第二种,文章中也有谈到的,那就是利用传统的“**点击模型**”Click Model。点击模型是一种专门用来同时估计相关度和偏差的概率图模型在过去10年左右的时间内已经发展得相对比较成熟。文章中也提到大多数点击模型的应用主要是提取相关度信息而并不在乎对偏差的估计是否准确。
第三种也是最近几年兴起的一个新的方向那就是利用“因果推断”Causal Inference和排序学习的结合直接对偏差进行建模。在WSDM 2017的最佳论文[1]中,已经让我们见识了这个思路。然而,在去年的那篇文章里,并没有详细探讨这个偏差的估计和点击模型的关系。
简言之,**这篇论文主要是希望利用点击模型中的一些思路来更加准确地估计偏差,从而能够学习到更好的排序结果**。同时,这篇文章还探讨了如何能够在较少使用随机数据上来对偏差进行更好的估计。这里,作者们提出了一种叫作“**基于回归的期望最大化**”Regression-based EM算法。
## 论文的核心方法
文章首先讨论了如果已知“偏差值”Propensity Score也就是用户看到每一个文档或者物品时的概率我们就可以构造“无偏差”的指标比如“**无偏差的精度**”Unbiased Precision来衡量系统的好坏。
这里,无偏差的效果主要是来自于重新对结果进行权重的调整。意思就是说,并不是每一个点击都被认为是同样的价值。总的来说,如果文档位于比较高的位置上,那权重反而会比较低,反之,如果文档位于比较低的位置上,权重反而较高。**这里的假设是一种“位置偏差”Position Bias假设。意思就是不管什么文档相对来说放在比较高的位置时都有可能获得更多的点击。因此在较低位置的文档被点击就显得更加难得**。
这种情况下,一般都无法直接知道“偏差值”。因此,如何去估计偏差值就成了一个核心问题。
这篇文章在进行“偏差值”估计的方法上,首先利用了一个叫“**位置偏差模型”**Position Bias Model的经典点击模型对偏差值和相关度进行了建模。“位置偏差模型”的假设是用户对于每一个查询关键字的某一个位置上的文档点击概率都可以分解为两个概率的乘积一个是用户看到这个位置的概率一个就是文档本身相关度的概率。那么位置偏差模型的主要工作就是估计这两个概率值。
如果我们能够对每一个查询关键字的结果进行随机化,那么,我们就不需要估计第一个概率,而可以直接利用文档的点击率来估计文档的相关度。但是,作者们展示了,彻底的随机化对于用户体验的影响。
另外一种方法,相对来说比较照顾用户体验,那就是不对所有的结果进行随机化,而仅仅针对不同的“配对”之间进行随机化。比如,排位第一的和第二的文档位置随机互换,然后第二的和第三的随机互换等等。在这样的结果下,作者们依然能够对偏差和相关度进行估计,不过用户的体验就要比第一种完全随机的要好。只不过,在现实中,这种方法依然会对用户体验有所损失。
于是,作者们提出了第三种方法,那就是**直接对位置偏差模型进行参数估计**。也就是说,不希望利用随机化来完全消除其中的位置概率,而是估计位置概率和相关度概率。
这里因为有两个概率变量需要估计于是作者利用了传统的“期望最大化”EM算法并且提出了一种叫做“基于回归的期望最大化”的方法。为什么这么做呢原因是在传统的期望最大化中作者们必须对每一个关键字和文档的配对进行估计。然而在用户数据中这样的配对其实可能非常有限会陷入数据不足的情况。因此作者们提出了利用一个回归模型来估计文档和查询关键字的相关度。也就是说**借助期望最大化来估计位置偏差,借助回归模型来估计相关度**。
## 方法的实验效果
这篇文章使用了谷歌的邮件和文件存储的搜索数据采用了2017年4月两个星期的日志。数据大约有四百万个查询关键字每个关键字大约有五个结果。作者们在这个数据集上验证了提出的方法能够更加有效地捕捉文档的偏差。利用了这种方法训练的排序模型比没有考虑偏差的模型要好出1%2%。
## 小结
今天我为你讲了WSDM 2018年的一篇来自谷歌团队的文章这篇文章介绍了如何估计文档的位置偏差然后训练出更加有效的排序算法。
一起来回顾下要点:第一,我们简要介绍了这篇文章的作者群信息;第二,我们详细介绍了这篇文章要解决的问题以及贡献;第三,我们简要地介绍了文章提出方法的核心内容 。
最后,给你留一个思考题,如果要估计位置偏差,对数据的随机性有没有要求?
欢迎你给我留言,和我一起讨论。
**参考文献**
1. Thorsten Joachims, Adith Swaminathan, and Tobias Schnabel. [Unbiased Learning-to-Rank with Biased Feedback](http://delivery.acm.org/10.1145/3020000/3018699/p781-joachims.pdf?ip=185.211.133.206&amp;id=3018699&amp;acc=CHORUS&amp;key=4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E6D218144511F3437&amp;__acm__=1518920527_3cf6dd96729ff3e596bb6901c8230cb1). Proceedings of the Tenth ACM International Conference on Web Search and Data Mining (WSDM '17). ACM, New York, NY, USA, 781-789, 2017.

View File

@@ -0,0 +1,69 @@
<audio id="audio" title="014 | WSDM 2018论文精读看京东团队如何挖掘商品的替代信息和互补信息" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/47/e8/47c63b5a8de67ff6c0f90fd1bc3852e8.mp3"></audio>
本周我们来精读WSDM的几篇论文周一我们分享了一篇来自谷歌团队的文章其核心是利用点击模型来对位置偏差进行更加有效的估计从而能够学习到更好的排序算法。
今天我们来介绍WSDM 2018的最佳学生论文《电子商务中可替代和互补产品的路径约束框架》[A Path-constrained Framework for Discriminating Substitutable and Complementary Products in E-commerce](http://http://delivery.acm.org/10.1145/3160000/3159710/p619-wang.pdf?ip=185.211.133.206&amp;id=3159710&amp;acc=OPEN&amp;key=4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E6D218144511F3437&amp;__acm__=1519027969_cc4a857a03d3bba81f9e3e69a6b774cc)),这篇文章来自于京东的数据科学实验室。
## 作者群信息介绍
这篇论文的所有作者都来自京东大数据实验室,我们这里对几位主要作者做一个简单介绍。
第三作者任昭春Zhaochun Ren目前在京东数据科学实验室担任高级研发经理。他于2016年毕业于荷兰阿姆斯特丹大学获得计算机博士学位师从著名的信息检索权威马丁⋅德里杰克Maarten de Rijke。任昭春已经在多个国际会议和期刊上发表了多篇关于信息检索、文字归纳总结、推荐系统等多方面的论文。
第四作者汤继良Jiliang Tang目前是密歇根州立大学的助理教授。汤继良于2015年从亚利桑那州立大学毕业获得计算机博士学位师从著名的数据挖掘专家刘欢Huan Liu教授。他于2016年加入密歇根州立大学这之前是雅虎研究院的科学家。汤继良是最近数据挖掘领域升起的一颗华人学术新星目前他已经发表了70多篇论文并且有四千多次的引用。
最后一位作者殷大伟Dawei Yin目前是京东数据科学实验室的高级总监。2016年加入京东之前在雅虎研究院工作历任研究科学家和高级经理等职务。殷大伟2013年从里海大学Lehigh University获得计算机博士学位师从信息检索领域的专家戴维森Davison教授。目前已经有很多高质量的研究工作发表。殷大伟和笔者是博士期间的实验室同学以及在雅虎研究院期间的同事。
## 论文的主要贡献
我们首先来看一下这篇文章的主要贡献,梳理清楚文章主要解决了一个什么场景下的问题。
对于工业级商品推荐系统而言,一般通过两个步骤来产生推荐结果。第一步,产生候选集合,这里主要是从海量的物品中选择出几百到几千款用户可能会购买的商品;第二步,利用复杂的机器学习模型来对所有候选集中的产品进行排序。
**这篇文章主要探讨了如何能够更好地产生候选集产品即如何更好地产生“替代品”Substitutes和“互补品”Complements来丰富用户的购买体验。**
那么,什么是替代品和互补品呢?
根据这篇文章的定义,替代品就是用户觉得这些商品可以互相被替换的;而互补品则是用户会一起购买的。挖掘这些商品不仅对于产生候选集具有很重要的意义,也对于某些场景下的推荐结果有很好的帮助,比如当用户已经购买了某一件商品之后,给用户推荐其他的互补品。
虽然替代品和互补品对于互联网电商来说是很重要的推荐源但并没有多少文献和已知方法来对这两类商品进行有效挖掘。而且这里面一个很大的问题是数据的“稀缺”Sparse问题。因为替代品或者互补品都牵扯至少两个商品而对于巨型的商品库来说绝大多数的商品都不是两个商品一起被同时考虑和购买过因此如何解决数据的稀缺问题是一大难点。
另一方面,商品的属性是复杂的。同一款商品有可能在某些情况下是替代品,而在另外的情况下是互补品。因此,如何在一个复杂的用户行为链路中挖掘出商品的属性,就成为了一个难题。很多传统方法都是静态地看待这个问题,并不能很好地挖掘出所有商品的潜力。
归纳起来,这篇文章有两个重要贡献。**第一作者们提出了一种“多关系”Multi-Relation学习的框架来挖掘替代品和互补品。第二为了解决数据的稀缺问题两种“路径约束”Path Constraints被用于区别替代品和互补品。**作者们在实际的数据中验证了这两个新想法的作用。
## 论文的核心方法
**文章提出方法的第一步是通过关系来学习商品的表征**Representation。这里文章并没有要区分替代品和互补品。**表征的学习主要是用一个类似Word2Vec的方式来达到的**。
也就是说商品之间如果有联系不管是替代关系还是互补关系都认为是正相关而其他的所有商品都认为是负相关。于是我们就可以通过Word2Vec的思想来学习商品的表征向量使得所有正相关的商品之间的向量点积结果较高而负相关的向量点积结果较低。这一步基本上是Word2Vec在商品集合上的一个应用。
通过第一步得到的每个商品的表征,是一个比较笼统的**综合的表征**。而我们之前已经提到了,那就是不同的情况下,商品可能呈现出不同的属性。因此,我们就需要根据不同的场景来刻画产品的不同表征。**文章采用的方法是,对于不同类型的关系,每个商品都有一个对应的表征**。这个关系特定的表征是从刚才我们学到的全局表征“投影”Project到特定关系上的这里需要学习的就是**一个投影的向量**。
**第三个步骤就是挖掘替代关系和互补关系了**。这篇文章使用了一个不太常见的技术,用“**模糊逻辑**”Fuzzy Logic来表达商品之间的约束关系。在这里我们并不需要对模糊逻辑有完整的理解只需要知道这是一种把“硬逻辑关系”Hard Constraints转换成为通过概率方法表达的“软逻辑关系”Soft Constraints的技术。
在这篇文章里,作者们重点介绍的是如何利用一系列的规则来解决数据稀缺的问题。具体来说,那就是利用一些人们对于替代关系或者互补关系的观察。
比如商品A是商品B的替代品那很可能商品A所在的类别就是商品B所在类别的替代品。再比如商品B是商品A的替代品而商品C又是商品B的替代品而如果A、B和C都属于一个类别那么我们也可以认为商品C是A的替代品。
总之,作者们人工地提出了这样一系列的规则,或者叫做约束关系,希望能够使用这样的约束关系来尽可能地最大化现有数据的影响力。当然,我们可以看到,这样的约束并不是百分之百正确的,这也就是作者们希望用“软逻辑关系”来进行约束的原因,因为这其实也是一个概率的问题。
**整个提出的模型最终是一个集大成的优化目标函数,也就是最开始的物品的综合表征,在特定的关系下的投影的学习,以及最后的软逻辑关系的学习,这三个组件共同组成了最后的优化目标。**
## 方法的实验效果
这篇文章使用了京东商城的五大类商品来做实验,商品的综述大大超过之前亚马逊的一个公开数据的数量。作者重点比较了之前的一个来自加州大学圣地亚哥团队的模型,以及几个矩阵分解的经典模型,还比较了一个基于协同过滤的模型。
从总的效果上来看,这篇文章提出的模型不管是在关系预测的子任务上,还是在最后的排序任务上均要大幅度地好于其他模型。同时,作者们也展示了逻辑关系的确能够帮助目标函数把替代关系和互补关系的商品区分开来。
## 小结
今天我为你讲了WSDM 2018年的一篇来自京东数据科学团队的文章这篇文章介绍了如何利用多关系学习以及模糊逻辑来挖掘商品的替代信息和互补信息然后训练出更加有效的排序算法。
一起来回顾下要点:第一,我们简要介绍了这篇文章的作者群信息;第二,我们详细介绍了这篇文章要解决的问题以及贡献 ;第三,我们简要地介绍了文章提出方法的核心内容以及实验的结果。
最后,给你留一个思考题,互补商品或者替代商品是双向关系还是单向关系,为什么呢?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,53 @@
<audio id="audio" title="015 | WSDM 2018论文精读深度学习模型中如何使用上下文信息" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/25/36/2517763117a3f7087e1377899de76d36.mp3"></audio>
今天我们继续来精读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的一篇来自谷歌团队的文章这篇文章介绍了在传统推荐系统的模型中比如矩阵分解等都有的交叉特性如何应用在深度学习中。
一起来回顾下要点:第一,我们简要介绍了这篇文章的作者群信息;第二,我们详细介绍了这篇文章要解决的问题以及贡献 ;第三,我们分析了文章提出方法的核心内容以及实验结果。
最后,给你留一个思考题,深度学习模型在默认状态下并不能很好地抓住交叉特性,这是深度模型的问题吗?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,65 @@
<audio id="audio" title="016 | The Web 2018论文精读如何对商品的图片美感进行建模" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/6e/5c/6e43f655e9aa5e0bb9b527e0649eb75c.mp3"></audio>
“万维网大会”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](https://www.comp.nus.edu.sg/~xiangnan/papers/www18-clothing-rec.pdf))。这篇论文一共有六位作者,除了两位分别来自新加坡国立大学和美国的埃默里大学之外,绝大多数作者都来自清华大学。
## 论文的主要贡献
在现代的电商推荐系统中,商品特别是服装服饰的图片,其美观和质量是用户进行购买决策的关键参考因素。不少过去的商品推荐系统已经考虑了图片的属性,特别是尝试同时利用图片信息和文字信息来实现**多模Multi-Modal数据理解**的目的,从而能够进行更加智能的推荐。不过,当前的大多数方案都只是考虑基本的图片特性。
从思路上来说大多数的类似工作都是利用某种深度神经网络提取图片特性然后和其他特性例如我们说过的文本信息加以组合从而能够扩宽我们对商品信息的提取。这样提取出来的图像特征自然没有显式地对图像的“美感”Aesthetic进行建模。
这篇文章的作者们认为,商品图片的“美感”是非常重要的属性,针对美感进行建模会有更显著的商品推荐效果。概括来说,这篇论文的一个贡献就是提供了一种模型,来对图片的美感和一般性的图片语义特性同时进行建模。这是一个在过去的工作中都没有的创新点,我们接下来会详细说明一这个模型的架构。
当作者们提取出了图片的美感信息以后,接下来的一个问题就是如何利用这些特性。这篇论文使用了**张量分解**Tensor Factorization的思路。我们在前面介绍推荐系统的时候曾经提到过张量分解是一种很有效且常用的**利用上下文语义信息**的推荐模型。和一些之前的工作类似,这里作者们采用了三维的张量来表达用户、商品和时间之间的关系。同时,作者们还把图片信息有效地结合到了张量分解中,从而能够利用美感信息来影响推荐结果。
## 论文的核心方法
了解了这篇论文的大体思路以后,我们现在来看看论文的第一个核心部件:**如何利用深度神经网络来提取图片的美感信息?**
首先,这篇论文提出的模型假设对于每一个商品,我们都有一个**综合的美感标签**,并且还有一个**细节标签**来表达这个商品图案的“**图像风格**”Style。美感的综合标签是一个1~10的打分而图像风格则是文字的图像特征比如“高曝光”、“对比色”等。那么我们需要一个神经网络模型来同时对美感标签和细节的图像风格进行建模。
具体来说文章提出的模型分为了两个层次。第一个层次是用来解释细节的图像风格。在本文采用的数据中一共有14种图像风格作者们就用了14个**子网络**Sub Network来针对这些风格。每个风格都对应一个独立的**子神经网络**。每一个子神经网络都是标准的“**卷积网络**”CNN。他们的目标是尽可能地学习到特性来表示每个细节的图像风格。
当我们有了第一层的14个子网络之后再把这些子网络学习到的特性都整合起来形成**中间特性层**,然后再经过一个卷积网络,从而学习到一个对商品的整体美感评分进行解释的神经网络。
在文章中,作者们提到这两个层次的神经网络并不是分类进行训练的,而是**在一个整体中进行训练**。意思就是说我们同时训练底层的针对图像风格的14个子网络的参数以及高层次的针对美感评分的网络的参数。
当我们得到了图片的美感信息之后,下一步,就来看一下**如何利用张量分解来进行商品推荐**。
相比于传统的张量分解在这篇文章中作者们提出了一种新颖的针对商品推荐的张量表达模式叫作“动态协同过滤”Dynamic Collaborative Filtering或简称 **DCF**
DCF认为每一个用户对于某个商品的购买取决于两个方面的因素。第一用户是否对这个商品有喜好。第二这个商品是不是符合时间维度上面的“流行度”。作者们认为只有当这两个条件同时满足的时候也就是用户喜欢某个当季的商品时才会做出购买的决定。因此作者们使用了**两个矩阵分解**来分别代表这两个假设。
第一个矩阵分解是针对用户和商品这个矩阵,这里我们会学习到用户对商品的**喜好度**。第二个矩阵分解是针对时间和商品这个矩阵,这里我们会学习到时间和商品的**流行度**。然后,作者把这两个矩阵分解(或者说是把两个矩阵)相乘,这就得到了一个张量,来表达**用户在时间维度上对商品的喜好**。
那么,如何把刚才学习到的图片美感信息给融入到这个新的张量学习框架下呢?作者们是这么做的,针对我们刚才所说的两个矩阵分解进行“扩展”。
刚才我们说,这个张量分解是基于一个假设,那就是用户在时间维度上的购买决定取决于,用户是否对这个商品有喜好,以及这个商品是不是符合时间维度上面的“流行度”。我们用了两个矩阵分解来表达这两个假设。每一个矩阵分解都是把一个大的矩阵分解成两个向量,比如用户和商品的矩阵就被分解为用户特性和商品特性。
基于此,作者们就在这个用户和商品的矩阵后面,再加上一个商品和图片美感信息矩阵,用来混合这两种信息。也就是说,我们刚才的第一个假设,用户对商品的好感,就被扩展成了**两个矩阵的加和**,用户和商品矩阵以及商品和图片信息矩阵,这两个矩阵的加和依然是一个矩阵。同理,时间和商品的流行度,被扩展成了时间和商品矩阵以及商品和图片信息矩阵的加和。也就是说,新的模型是两个矩阵的乘积组成的张量分解,而这里的每个矩阵分别又是两个矩阵的加和。这就是作者们最终提出的模型。
## 方法的实验效果
作者们在亚马逊的衣服数据集上做了实验来验证模型的有效性。这个亚马逊的数据集由将近四万的用户、两万多的商品和超过二十七万的购买信息构成。除了这篇文章提出的模型以外作者们还比较了一些其他算法例如完全随机的算法、只推荐最流行的商品、传统的矩阵分解模型以及只有基本图像信息但没有美感信息的算法。文章汇报了排序的精度NDCG以及“召回”Recall等指标。
从实验效果来看,这篇文章提出的模型要明显好于矩阵分解以及只有基本图像信息的算法,表明针对产品的图像美感进行建模是有价值的。并且,作者们提出的新的张量分解方法也被证明是切实有效的。
## 小结
今天我为你讲了今年万维网大会的一篇优秀论文。文章介绍了如何对商品的图片美感进行建模,以及如何把提取到的信息融入到一个基于张量分解的推荐系统中。
一起来回顾下要点:第一,我们详细介绍了这篇文章要解决的问题以及贡献;第二,我们简要地介绍了文章提出方法的核心内容;第三,我们简单分享了一下模型的实验成果。
最后,给你留一个思考题,有没有在没有标签情况下对图片的美感进行建模的呢?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,47 @@
<audio id="audio" title="017 | The Web 2018论文精读如何改进经典的推荐算法BPR" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/78/5d/784defb4b0e3f96b1189c541c12bef5d.mp3"></audio>
今天我们来看万维网大会上的一篇优秀短论文。在万维网大会上主要发表两类论文。一类是10页的长论文一类是2页的短论文或称作展板论文。短论文主要是发表短小的成果或者是还在研究过程中的重要成果。每一届的万维网大会都会评选出一篇最佳短论文奖。
今天我和你分享的论文,题目是《利用查看数据,贝叶斯个性化排序的一种改进的取样器》([An Improved Sampler for Bayesian Personalized Ranking by Leveraging View Data](https://www.comp.nus.edu.sg/~xiangnan/papers/www18-improvedBPR.pdf))。这篇论文也有六位作者,和我们介绍的上一篇论文一样,都来自清华大学和新加坡国立大学。
## 贝叶斯个性化排序
要想理解这篇论文的内容,我们必须要讲一下什么是“**贝叶斯个性化排序**”Bayesian Personalized Ranking或者简称是**BPR**。有关BPR的详细介绍可以阅读参考文献[1]。我们在这里仅对BPR进行一个高维度的总结。
简单来说,**BPR是推荐系统中的一个配对排序Pairwise学习算法**。在我们前面介绍搜索算法的时候曾经提到了各种配对排序学习算法。配对排序学习不是针对每一个数据实例来学习其标签或者响应变量而是学习一个相对的顺序希望能够把所有的正例都排列到负例之前。也就是说对于配对排序来说每一个数据实例的预测值本身并不重要排序算法在意的是对于一正一负的一个配对来说是否能够把正例给准确地排列到负例之上。这其实就要求BPR在数值上对正例的预测值能够比负例的预测值高。
BPR主要是解决了在推荐系统中长期以来只对单个数据点进行预测比如需要对用户物品的喜好矩阵建模的时候之前的大多数算法都无法有效地对没有观测到的数据进行建模。而BPR是配对算法因此我们只需要关注观测的数据以及他们之间的关系从而能够对用户的喜好特别是有“**隐反馈**”Implicit Feedback数据的时候取得更加明显的效果。这里的隐反馈指的并不是用户告诉系统其对每一个物品的喜好程度而是用户在和系统的交互过程中通过一些行为表达出的喜好。这些用户的行为往往并不全面因此需要算法和模型能够对这些行为进行有效建模。
## 论文的主要贡献和核心方法
了解了BPR大概是怎么回事以后我们来看一看这篇论文的主要贡献和核心方法。
首先我们刚才讲到BPR的核心是学习一个配对的排序问题。那么在训练的时候我们需要对一个正例和一个负例的配对进行学习更新参数。然而在一个自然的用户隐反馈数据集里正例相对来说往往是少数负例则是绝大多数。因此一个传统的方法就是在组成一个配对的时候相对于一个正例来说我们都“均匀地”Uniformly选取负样本来组成配对这个过程有时候也叫“采样”Sampling
这篇论文有两个主要贡献。第一个贡献是作者们发现如果在全局均匀地采样负样本第一没有必要第二可能反而会影响最后学习的效果。第二个贡献是针对电子商务的应用作者们发明了一种负样本采样的方法使得学习算法可以利用到更多的用户“浏览”View信息从而能够对算法的整体训练效果有大幅度的提升。
## 方法的实验效果
这篇论文的数据集分别使用了母婴产品“贝贝网”和天猫的数据。其中贝贝网有约16万用户、12万商品、260万次购买和4600万次浏览天猫的数据则有3万用户、3万多商品、46万次购买和150多万次浏览。两个数据集都呈现了大于99%的“稀疏度”Sparsity
首先,作者们实验了不从全局中选取负样本而仅仅采样一部分,而且是相比于原来的空间非常小的样本,比如仅仅几百个负样本而不是几万个的情况。实验效果在贝贝网上不仅没有影响算法的精确度,算法的精确度反而还有提升。而在天猫的数据集上,算法效果没有提升,而有一些小幅度的下降,但是作者们认为这样的代价还是值得的,因为数据集的减少,算法的训练时间会大幅度降低。从这个实验中,作者们得出了不需要从全局进行采样的结论。
紧接着作者们提出了一个新的概念那就是对用户的数据集合进行划分把用户的行为分为“购买集”C1、“浏览但没有购买集”C2、“剩下的数据”C3这三个集合。作者们提出BPR要想能够达到最好的效果需要对这三种数据集进行采样。也就是说我们需要组成C1和C2、C1和C3以及C2和C3的配对来学习。
具体来说用户在贝贝网和天猫的数据中尝试了不同的比例来对这三种集合进行采样。总体的经验都是C3中采样的数据要大于C2中的然后要大于C1中的。这其实就是说训练算法要更好地学习到用户不喜欢某件东西的偏好。采用这样的采样方式作者们展示了模型的效果比传统的BPR或仅仅使用“最流行的物品”作为推荐结果要好60%左右。
## 小结
今天我为你讲了今年万维网大会的一篇优秀短论文。文章介绍了如何对一个经典的推荐算法BPR进行改进从而提高效率并且大幅度提升算法有效度。
一起来回顾下要点第一我们从高维度介绍了BPR的含义第二我们简要介绍了论文的主要贡献和思路第三我们简单分享了论文的实验成果。
最后,给你留一个思考题,除了这篇论文提出的组成正例和负例的配对思路以外,你能不能想到在用户浏览网站的时候,还有哪些信息可以帮助我们组成更多的配对呢?
欢迎你给我留言,和我一起讨论。
**参考文献**
1. Steffen Rendle, Christoph Freudenthaler, Zeno Gantner, and Lars Schmidt-Thieme. BPR: Bayesian personalized ranking from implicit feedback. Proceedings of the Twenty-Fifth Conference on Uncertainty in Artificial Intelligence (UAI '09). AUAI Press, Arlington, Virginia, United States, 452-461, 2009.

View File

@@ -0,0 +1,55 @@
<audio id="audio" title="018 | The Web 2018论文精读如何从文本中提取高元关系" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/73/4d/738339e0acafabf51dad743e363eb84d.mp3"></audio>
今天我们来看万维网大会2018的最佳论文标题是“HighLife: Higher-arity Fact Harvesting”。作者都来自德国著名的“马克斯·普朗克计算机科学研究所”Max Plank Institute for Informatics。这个研究所是德国最大的基础科学研究组织“马克斯·普朗克学会”Max-Planck-Gesellschaft的分支研究机构致力于在科学刊物上发表新的研究成果开发软件系统和培养新的科学研究工作者。马克斯·普朗克学会因其杰出的科研成果在德国甚至全世界都获得了很高的声誉。
## 什么是高元关系?
这篇论文主要是涉及到**高元Higher-Artiy关系**的提取。那什么是高元关系呢?
传统的信息提取和知识库主要是关注二元关系的提取和存储。例如我们可以知道居里夫人分别于1903年和1911年获得了诺贝尔奖。但是关系数据库中并不知道这两年的奖项分别是物理和化学。同理我们可以在知识库中存放居里夫人获得过诺贝尔物理奖以及诺贝尔化学奖的信息但是就无法和1903年和1911年这两个信息进行配对。通过这个例子我们可以看出基于二元关系的信息提取和知识库虽然简单易行但是有其先天的局限性。
这篇论文要讨论的高元关系就是希望能够直接对“居里夫人在1903年获得了诺贝尔物理学奖”这样的三元甚至更高元的关系进行提取和表征。作者们认为这篇论文是较少的关注高元关系提取的先驱工作。
## 论文的主要贡献
我们刚才说了,这篇论文的一个重要贡献就是针对高元关系的提取所作出了很多努力。
具体来说,作者们使用“**种子事实**”Seed Facts作为一种监督信息来学习**模式**Patterns并且利用这些学习到的模式来寻找更多的“**候选事实**”Facts Candidates如此循环。这是把过去的一种针对二元关系提取的方法给扩展到高元关系。这个方法的潜在问题是在能够保证“高召回”High Recall的情况下得到的很多关系可能存在“**噪声**”和“**目标浮动**”Target Drifts。这里所说的目标浮动指的是我们提取的事实有可能存在主题上的偏差。
为了解决这个问题,作者们在这篇论文里利用了“**限制推理**”Constraint Reasoning来对已经得到的事实进一步筛选以得到最后的结果。这里的限制可以是“类型”Type上的比如我们限制提取到的普利策奖为“书籍”而非“电影”或“音乐”。通过这些在取值或者类型上的限制我们可以对获取到的事实进行清理。
论文解决的另外一个难点就是很多高元信息在原始的文本中就是缺失的或者是不完全的。比如“Google于2014年收购了Nest”这个事实就没有提及金额而“Google以32亿美元收购了Nest”这个事实又没有提及时间。作者们针对这个情况把整个框架给扩展到了缺失信息中从而能够从原始文本中拼凑多元关系。
## 论文的核心方法
文章提出了一个由好几个组件组成的系统用于信息的提取。
首先,有一个叫作 **NERD**的组件即“人名识别和去歧义”组件用于从句子中提取不同的“实体”。这里面运用到了很多外部的信息库比如医疗生物实体库“联合医疗语言系统”Unified Medical Language System、支持新闻实体的AIDA系统以及WordNet语料库。同时在这个部分NERD还依赖于“斯坦福自然语言处理核心库”Stanford CoreNLP提供“人名识别”以及“词类分析”Part of Speech等基础功能。
在提取了人名和实体名之后,作者们就开始构建一个从词类分析得到的**树型数据结构**。这个数据结构的目的是反映N元关系和内部信息的架构。这个部分基本上也是依赖传统的自然语言处理所得到的树结构只不过进行了简单的修正。
得到树结构之后,接下来的一系列工作都是**在这个树结构上获取不同的模式,从而能够得到想要的高元关系**。这里面有很多细节,我们在这里就不赘述了。比如,作者们利用“**树挖掘**”Tree Mining技术来发现频繁出现的子树结构从而认定某个子树模式是不是一个好的候选事实。这里的思路其实和经典的“**频繁模式挖掘**”Frequent Pattern Mining一样都是去不断地计算一个结构的“**支持度**”Support和“**置信度**”Confidence从而通过两个值来决定是不是要把这个模式给留下来。
除此以外,这一部分的部件还需要支持“**部分N元候选事实**”Partial N-ary Fact Candidate的匹配。之前我们也讲过了这个功能也算是这篇论文的一个贡献。这里面的重要职能就是能够对树的一部分结构进行匹配而不需要对所有的部分都能够完全一致。
当作者们通过树挖掘从而发现了基本的候选事实之后,下面需要做的工作就是针对这些候选事实进行推理盘查,看是不是所有的事实都能经得住推敲。也就是说,我们需要查看有没有存在多个事实不一致的地方。
需要指出的是,从整体上来看,所有组件的流程基本上都是**无监督的数据挖掘操作**。也就是说,整个系统并不需要依赖于什么训练数据。
## 方法的实验效果
作者们在纽约时报数据集以及PubMed数据集上都进行了实验主要观测的指标是“**精度**”Precision。我们之前提到过这篇文章所研究的高元关系提取这个问题很新颖。因此作者们还利用CrowdFlower众包平台来获取了数据的标签用于检测所提取关系的准确度。当然这部分数据量相对来说是比较小的。
从实验的效果上来说文章提出的方法能够达到平均接近80%~90%的精度,这可以说是非常令人振奋的结果了,而达到这样的结果仅仅需要几百个种子事实。
## 小结
今天我为你讲了今年万维网大会的优秀论文。文章介绍了如何从文本中提取高元关系,这是一个比较新的研究领域。
一起来回顾下要点:第一,我们简单讨论了高元关系的含义;第二,我们重点介绍了论文的主要贡献和核心思路;第三,我们简单分享了提出方法的实验成果。
最后,给你留一个思考题,在什么样的应用中,我们可以利用到这篇文章提出的高元关系?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,69 @@
<audio id="audio" title="019 | SIGIR 2018论文精读偏差和“流行度”之间的关系" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/d7/bc/d7ba4ead70962379830a4a41cdfdf8bc.mp3"></audio>
2018年的SIGIR国际信息检索研究与发展大会于7月8日~12日在美国密歇根州的安娜堡举行。从今天开始我将精选几篇大会上最有价值的论文和你一起来读。
我先简单介绍一下这个大会。SIGIR从1978年开始举办有40年的历史是信息检索和搜索领域的顶级会议。SIGIR 2018全称是The 41st International ACM SIGIR Conference on Research and Development in Information Retrieval。
从最初举办开始,这个会议就成为了信息检索领域,特别是搜索技术和推荐技术方面的权威学术会议。会议的内容往往包含了搜索、推荐、广告、信息提取、互联网数据挖掘等诸多领域的优秀论文,每年都吸引着来自世界各地的学者和工程师参会,来分享他们最新的研究成果。
今天,我们首先来看一看今年的最佳论文,标题是《推荐系统中流行度有效性的概率分析》([Should I Follow the Crowd? A Probabilistic Analysis of the Effectiveness of Popularity in Recommender Systems](http://ir.ii.uam.es/pubs/sigir2018.pdf))。
这篇论文一共有两位作者均来自马德里自治大学Universidad Autónoma de Madrid。第一作者罗西奥·卡纳马雷斯Rocio Cañamares已经发表了好几篇相关主题的论文第二作者帕布罗·卡斯蒂罗斯Pablo Castells是马德里自治大学、甚至是整个欧洲的信息检索学术权威。论文有超过5千次的引用。
## 论文的主要贡献
想要理解清楚这篇论文的主要贡献,我们首先要从推荐系统,或者是从更大的方向上,来看所有信息检索系统都存在的一个核心问题,那就是“**偏差**”Bias。偏差会带来一系列问题。这对推荐系统甚至信息检索系统的建模和评价都带来了巨大的挑战。
那么,为什么信息检索系统会有偏差呢?
我这里举一个简单的例子来说明。假设我们有两个物品和很多用户。对于每一个用户来说,系统都按照随机的顺序,分别给用户展示这两个物品,并且询问用户是否喜欢。
在这样的假设里,顺序是随机的,因此对于同一个用户来说,用户是否喜欢某一个商品,就完全是取决于这个物品本身的属性。对于所有用户来说,在整体上呈现的用户对这两个物品的喜好,则完全来自于大家对这两个物品本身的一种评价。那么,我们可以看到这里面没有任何的偏差。
然而,只要这个场景稍微有一些改变,就很容易引入各种偏差。比如,我们有超过一万件物品。尽管我们还是随机地展示给用户,但用户可能在看过一定数量的物品之后就慢慢厌倦了,那么,用户对于物品的喜好判断或许就会受到厌倦的影响,甚至,用户还很有可能直接放弃查看后面的物品。
还有很多相似的情况,比如我们不是把每个商品逐一展示给用户看,而是提供一个列表。那么,用户很有可能会以为这个列表有一定的顺序,比如在列表排名上方的物品可能是比较重要的。有研究表明,在有列表的情况下,用户很可能会按照列表的顺序提供某种喜好判断。很明显,在这样的情况下,用户的喜好判断就受到了这个列表顺序的干扰。
上面我们提到的都是“**表现偏差**”Presentation Bias。除此以外一个信息系统其实还有很多类型的偏差比如**系统性偏差**:一个新闻系统,只给用户推荐娱乐新闻,而不给用户看时政新闻,在这样的情况下,用户表现出来的喜好性就是有偏差的,因为系统没有给用户表达对时政新闻喜好的可能性。
信息检索和推荐系统的学者其实很早就意识到了偏差对于建模的影响。不管是我们这里提到的表现偏差还是系统性偏差,如果我们直接利用用户和系统交互产生的数据,那么训练出来的模型以及我们采用的衡量模型的办法也会有偏差,那我们得出的结论有可能就是不精准的。
这篇论文就是希望能够**系统性地讨论偏差在推荐系统中所带来的问题**。具体来说,这篇论文主要是探讨偏差和“**流行度**”Popularity之间的关系。
这里描述的是这样一种情况:有一些物品很有可能曾经给很多人推荐过,或者同时还被很多人喜欢过或者评价过,那么,这种流行度高的物品会不会对推荐结果的评价带来意想不到的偏差呢?
在过去的研究中,大家只是对这种流行度高的物品有一种直观上的怀疑,认为如果一个推荐系统仅仅能够推荐流行的物品,那肯定是有偏差的。但之前的很多工作并没有定量地去解释这里面偏差和评价之间的关系。**这篇论文就提供了一个理论框架,指导我们去理解偏差以及偏差带来的评测指标的一些变化**。
## 论文的核心方法
今天我们不去讲这篇论文的理论框架细节,我会重点提供一个大体的思路,帮助你理解这篇论文希望达到的目的。
简单来说,为了表达偏差和流行度之间的关系,作者们用了这么几个**随机变量**:用户是否对某个物品打分,用户是否对某个物品有喜好,以及用户是否观看某个物品。这里面的一个细节,或者说技巧,就是如何用概率的语言把这三者之间的关系给表达清楚。
作者其实采用了一些简化的假设,比如假设在测试集上的物品是训练集上没有出现过的等等。这样,就能够写出在测试集上用户对物品评价的一个**期望关系**,这个期望关系包含用户对所有测试物品是否有喜好。有了这层期望关系以后,就开始推导出,在测试集上**理想状态下的最佳排序是一个什么样子**。在这里的理论讨论其实并没有很大的现实意义,但是这是第一次研究人员用数学模型去详细表征一个最优的在测试集上的按照流行度排序的结论。
紧接着,作者们还讨论了这个最优排序在两种极端情况下的变化。一种情况是用户过往的行为都是仅依赖于物品本身的属性,而没有任何其他偏差。另外一种情况是用户过往的行为和物品本身的属性无关,意思就是仅依赖于其他的偏差。
在第一种极端情况下,最优的排序其实也就是我们所能观测到的最优排序,那就是按照物品的流行度。在第二种极端情况下,最优的排序其实是**按照平均打分**。
当然,你可能会说讨论这两种极端情况并没有现实意义呀。但这两种极端情况的讨论其实就证明了,**只有在没有偏差的情况下,按照物品的流行度排序才是平均情况下最优的**。而很明显,现实存在偏差,因此依靠流行度的排序,即便是平均情况下,也不是最优的选择。
然后,论文讨论了用户是否观看某一个物品对用户行为的影响。关于这一部分的讨论,其实之前已经有很多工作都做了一些类似的探索。不过这篇论文得出了一个有意思的结论。在考虑了用户观看物品的偏差以后,通过模拟的方法,我们会发现:**随机结果的效果其实要比之前的观测值要好很多,而按照流行度的排序虽然不错,但是比随机的效果并没有好很多,而基于平均打分的结果其实要优于按照流行度的排序**。可以说,这是一个有别于之前很多工作的新发现。
## 延申讨论
虽然这篇论文获得了SIGIR 2018的最佳论文奖但是如果我们站在更大的角度上来分析这篇论文其实就会发现作实际上作者们是开发了一套特有的理论框架来描述推荐系统中的某一种偏差。**更加普适化的对偏差的建模其实需要有随机化的数据,以及利用因果推断的办法来对任意情况下的偏差进行分析**。文章提出的概率模型仅仅在这篇文章讨论的假设情况下才能成立。
当然,瑕不掩瑜,这篇文章不管是从结论上,还是从实际的分析过程中,都为我们提供了很多有意义的内容,帮我们去思考偏差对于建模所带来的挑战以及我们应该如何应对。
## 总结
今天我为你讲了今年SIGIR 2018的最佳论文。
一起来回顾下要点:第一,我们详细介绍了这篇文章要解决的问题和贡献,探讨偏差和流行度之间的关系,系统性地来讨论偏差在推荐系统中所带来的问题;第二,我们简要地介绍了文章提出方法的核心内容,包括设定随机变量、期望关系以及推导理想状态下的最佳排序;第三,针对论文我们简单进行了讨论。
最后,给你留一个思考题,在不考虑偏差的情况下,为什么一般的推荐系统会偏好于推荐流行物品的算法呢?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,63 @@
<audio id="audio" title="020 | SIGIR 2018论文精读如何利用对抗学习来增强排序模型的普适性" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/b2/f2/b2663ec0b6928eaabe7f0e80dbd4c4f2.mp3"></audio>
今天我们继续来精读SIGIR 2018国际信息检索研究与发展大会的论文今天分享的是本次大会的最佳短论文标题是《使用对抗学习实现神经排序模型的跨领域正则化》[Cross Domain Regularization for Neural Ranking Models using Adversarial Learning](https://arxiv.org/pdf/1805.03403.pdf))。
非常有必要先简单介绍一下这篇文章的作者群,可以说这是一个“明星阵容”。
第一作者丹尼尔·科恩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上的最佳短论文。
一起来回顾下要点:第一,这篇论文主要涉及了两个概念,分别是跨领域信息检索和对抗学习,我们详细介绍了这篇文章的主要贡献,就是利用对抗学习的理念来增强所学排序模型的普适性;第二,我们简要地介绍了文章提出的方法核心内容,训练两套模型,利用对抗学习来分别产生相关的和不相关的文档;第三,我们简单介绍了论文的实验结果,进行对抗训练会有更好的效果。
最后,给你留一个思考题,除了使用对抗训练,你还能想到什么方法,能够比较好地学习到不属于某一个特定领域信息的排序模型?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,63 @@
<audio id="audio" title="021 | SIGIR 2018论文精读如何对搜索页面上的点击行为进行序列建模" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/dd/69/dd4c3b4fdd01500eaef838d5f3337169.mp3"></audio>
今天我们将继续来精读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的一个篇精彩论文。
一起来回顾下要点:第一,我们详细介绍了这篇文章要解决的问题以及贡献,主要是对用户在搜索页面上的点击行为进行序列建模;第二,我们简要介绍了文章提出方法的核心内容,主要是编码器和解码器两个模块;第三,我们简单介绍了论文的实验结果。
最后,给你留一个思考题,如果针对多个连续的查询关键词的点击行为进行建模,你能否用这篇论文提出的思路来扩展模型呢?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,67 @@
<audio id="audio" title="022 | CVPR 2018论文精读如何研究计算机视觉任务之间的关系" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/2c/f0/2c637f688fae676b5aaaf4138ab82af0.mp3"></audio>
今年6月18 日~22日计算机视觉和模式识别大会CVPRConference 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的最佳论文。
一起来回顾下要点:第一,我们详细介绍了这篇文章要解决的问题以及贡献,论文研究了计算机视觉任务之间的关系,并且提出了一个计算框架,能够起到迁移学习的作用;第二,我们简要介绍了文章提出的核心方法,主要有四个组成部分;第三,我们简单介绍了论文的实验结果。
最后,给你留一个思考题,当前挖掘的关系主要是任务的两两关系,能否有一个方法挖掘任务的高维度关系,比如三个任务之间的关系?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,73 @@
<audio id="audio" title="023 | CVPR 2018论文精读如何从整体上对人体进行三维建模" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/81/f4/8183ffd2d1c3e1c4a1c07bef6b80e0f4.mp3"></audio>
今天我们来分享CVPR大会的最佳学生论文标题是《全方位捕捉用于跟踪面部表情手势和身体运动的3D变形模型》[Total Capture: A 3D Deformation Model for Tracking Faces, Hands and Bodies](http://www.cs.cmu.edu/~hanbyulj/totalbody/totalcapture.pdf))。
很多学术会议都利用最佳学生论文这个奖项来鼓励学生参与学术研究活动,所以这个奖项的一般要求是第一作者必须是在校学生。
这篇论文的作者群来自卡内基梅隆大学。
第一作者周寒星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]。这个模型是根据**人脸形状的均值**、**形状的变化量,<strong>以及**动态的变化量</strong>来进行线性的叠加。
对于手而言,目前并没有模型可以直接用。作者们在这篇论文中**提出了自己的模型**总的来说就是对手的骨架和关节进行建模然后进行类似于身体的LBS变换。同样也对人体的脚进行了类似的建模。
当我们有了身体、人脸、手和脚的模型以后,下面的工作就是把这些部分衔接上。首先,作者们保留了人体模型,移除这个模型上的人脸、手和脚。然后利用人脸模型、手的模型以及脚的模型相应的全局翻译参数,使得这些部分的坐标能够拼接上。最后,作者们还应用了一个“**融合函数**”来构建出一个平滑的人体结构。
“弗兰肯斯坦”的模型有一个**四项的目标优化函数**。这个函数的第一项是拟合“**关键点**”Key Points让人体的躯干骨架能够拟合上运动轨迹。第二项是拟合“**三维点云**”3D Point Cloud也就是让人体大部分躯体的实体能够拟合运动轨迹。第三项就是作者们附加的一个“小技巧”Heuristic用来把人体的每个部分连接在一起。这一项解决的就是整个模型设计带来的问题也就是每个部分都是单独的形状参数而并没有完全在模型上连接起来。最后一项是**高斯先验概率**,用来帮助模型找到唯一的解。
在“弗兰肯斯坦”的基础上作者们开发了“亚当”模型。为了构建“亚当”他们捕捉了70个人体的形态数据首先构建这些人体的“弗兰肯斯坦”模型。在这些模型基础之上作者们加入了人体的**头发和衣服的形态**,并且重新定义了整个模型的框架。
和“弗兰肯斯坦”相比“亚当”是对所有的人体部件直接进行建模。这个模型和我们前面描述的某个具体部分的模型其实很类似也是把人体的形态均值、形态的变化值和人脸表现值进行线性叠加然后进行LBS变换。
因为“亚当”在模型上进行了简化和创新,所以在目标优化函数中只有三项变量。而我们刚刚讲过的用于“弗兰肯斯坦”模型的小技巧在“亚当”中就变得不需要了。
## 实验结果
在实验中作者们使用了140个VGA照相机对三维身体的关键点进行重建用了480个VGA照相机对脚进行重建31个高清照相机用于脸部和手部关键点的重建以及三维点云的构建。
作者们显示了利用“弗兰肯斯坦”和“亚当”这两个模型对人体的三维运动进行建模。总体来说,这两个模型的表现非常相似。“亚当”因为有了头发和衣服的形态,在运动中显得更加真实。只是在有一些情况下,“亚当”构建的腿会显得有一些不协调的瘦,出现这种情况的原因,作者们归结于数据的缺失。
不过,从总体效果上来讲,这篇论文作为第一个对于人体的全身进行三维建模并动态跟踪的工作,应该算是达到了满意的结果。
## 小结
今天我为你讲了CVPR 2018的最佳学生论文。
一起来回顾下要点:第一,我们详细介绍了这篇文章要解决的问题,就是从整体上对人体的运动进行三维建模;第二,我们简要介绍了文章提出的两个模型,“弗兰肯斯坦”和“亚当”核心内容;第三,我们简单介绍了这篇论文所取得的不错的实验结果。
最后,给你留一个思考题,如果我们需要对“亚当”这个模型进行改进,你认为下一步应该做什么?
欢迎你给我留言,和我一起讨论。
**参考文献**
1. M. Loper, N. Mahmood, J. Romero, G. Pons-Moll, and M. J. Black. **SMPL: A Skinned Multi-Person Linear Model**. In TOG, 2015.
2. C. Cao, Y. Weng, S. Zhou, Y. Tong, and K. Zhou. **FaceWareHouse: A 3D Facial Expression Database for Visual Computing**. In TVCG, 2014.

View File

@@ -0,0 +1,67 @@
<audio id="audio" title="024 | CVPR 2018论文精读如何解决排序学习计算复杂度高这个问题" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/85/c7/85e857ebc2f6aa722cd5ff53fe7637c7.mp3"></audio>
今天我们来看这次大会的一篇最佳论文提名标题是《基于排序的损失函数的有效优化》Efficient Optimization for Rank-based Loss Functions
还是先简单介绍下论文的作者群。这篇论文的作者来自好几个不同的学术机构。
第一作者普里迪什·莫哈帕德拉Pritish Mohapatra是印度海得拉巴的国际信息科技大学International Institute of Information TechnologyHyderabad的计算机科学博士生。他已经在NIPS、CVPR、ICCV、AISTATS等国际机器学习权威会议上发表了多篇论文。
第二作者米卡尔·罗莱内克Michal Rolinek来自德国的马克思普朗克智能系统大学Max Planck Institute for Intelligent Systems博士后研究员。在这篇论文中第一作者和第二作者的贡献相当。
第三作者贾瓦哈C.V. Jawahar是来自印度国际信息科技学院的教授。他是第一作者莫哈帕德拉的博士生导师。
第四作者弗拉迪米尔·科莫格罗夫Vladimir Kolmogorov是奥地利科技大学Institute of Science and Technology Austria的机器学习教授。
最后一个作者帕万·库玛M. Pawan Kumar来自牛津大学。
## 论文的主要贡献
这篇论文提出了一个针对排序学习中**基于整个排序的损失函数**的快速优化算法,这是一个重要贡献。
在计算机视觉中,有很多机器学习的任务都需要针对两个图像进行一个偏好的排序。而在信息检索或者搜索中,排序是一个核心问题。因此,任何对于排序学习算法的重大改进都会有广泛的应用。
先来回顾下我们学过的三种形态的排序学习算法。
第一种是**单点法排序**。这个算法针对每一个查询关键词和相对应的某个文档,我们仅仅判断每一个文档是不是相关的。大多数的单点法排序算法都把整个问题转换成为分类或者回归问题。这样就可以利用大规模机器学习的便利来快速地学习排序函数。
第二种是**配对法排序**。这个算法是以单点法为基础。因为单点法完全忽略两个文档之间的相对关系。所以配对法是对两个文档与同一个查询关键词的相对相关度,或者说是相关度的差值进行建模。
第三种是**列表法排序**。列表法是直接针对排序的目标函数或者指标进行优化。这种方法虽然在理论上有优势,但是计算复杂度一般都比较高,在现实中对排序效果的提升比较有限,因此在实际场景中,依然有大量的应用采用单点法或者配对法排序。
这篇论文就是针对列表法排序学习的“**计算复杂度高**”这个问题,作者们发明了一套叫作“**基于快速排序机制**”Quicksort flavoured algorithm的优化框架。在这个优化框架下排序学习计算复杂度高的这个问题得到了大幅度优化。作者们然后证明了流行的针对NDCG和MAP进行排序学习都满足所发明的优化框架这样也就在理论上提供了快速优化的可能性。
## 论文的核心方法
要理解这篇论文的核心方法,我们先从配对法排序学习讲起。
针对每一个查询关键词,我们可以构建一个**文档和文档的矩阵**。这个矩阵的每一个元素代表两个文档在当前查询关键词下的关系。如果这个矩阵元素是+1那么就表明这一行所代表的文档排位要优先于这一列所代表的文档。如果这个矩阵元素是-1那么就表明这一行所代表的文档要比这一列所代表的文档排位低。当然还有矩阵元素是0的情况那就是这两个文档的排位可以是一样的。在这个数据基础上我们可以从所有这些二元关系中推导出一个整体的排序。
下面来看配对法排序的核心思路。对于同一个查询关键词而言,我们从和这个查询关键词相关的文档中,随机抽取一个文档,然后从和这个查询关键词不相关的文档中也抽取一个文档,这两个抽取出来的文档就组成一个配对。我们希望**建立一个模型或者函数**,对于这样任意的配对,总能够让**相关文档的函数值大于不相关文档的函数值**。
如果我们对这个配对法稍微做一些更改,得到的就是列表法排序。首先,我们依然针对每一个正相关的文档进行函数值预测,也针对每一个负相关的文档进行函数值预测。我们把这两个函数值的差值,当做是预测的配对矩阵中这两个文档相对应的那一个元素。只不过在这个时候,我们关注的不是这两个文档的关系,而是配对矩阵所代表的排序和真实排序之间的**差别**。这个差别越小,我们就认为最终的基于列表的损失函数就小;如果差别大,那损失函数的差别就大。
如何针对这个基于列表的损失函数进行优化,从而能让我们针对单一文档的函数打分最优呢?这就是列表法排序学习的一个核心困难。
有一个优化办法,就是找到在当前函数打分的情况下,有哪个文档配对违反了排序原则。什么是**违反排序原则**呢?我们刚才说了,模型是希望把正相关的文档排在负相关的文档前面。但是,如果函数并没有完全被学习好,那么负相关的文档也会排到正相关的文档之前,这就叫违反排序原则。
如果我们找到这样的配对,那么就可以通过调整函数的参数,让这样的违反配对不出现。很显然,当我们有很多这样的配对时,找到违反排序原则最严重的那个配对,也就是负相关的函数值要远远大于正相关函数值的这个配对,对于我们改进函数的参数就会很有帮助。所以,这里的关键就变成了**如何找到违反排序原则最严重的配对**Most-violating ranking
作者们针对这个任务发明了一个框架,叫作“**基于快速排序机制**”。具体来说,作者们发现,违反排序原则最严重的配对需要满足一些原则。我们需要对当前的数据序列进行快速排序,从而能够找到这个违反排序原则的配对。这里有很多的细节,有兴趣的话建议去读读原论文。你只需要记住,这个快速排序机制利用了**快速排序的时间复杂度**,来实现寻找违反排序原则最严重配对的这个目的。
那么是不是大多数排序指标都符合这个机制呢作者们提供的答案是普遍的MAP和NDCG都符合这个机制。论文给出了证明因此我们就可以直接使用论文的结论。
## 实验结果
作者们在PASCAL VOC 2011数据集上进行了实验主要是比较了直接进行单点法排序以及直接进行列表法优化和这篇论文提出的优化算法之间的性能差距。在这个比较下本文提出的方法优势非常明显基本上是以单点法的时间复杂度达到了列表法的性能。
## 小结
今天我为你讲了CVPR 2018的最佳论文提名。
一起来回顾下要点:第一,这篇文章的主要贡献是提出了一个基于整个排序的损失函数的快速优化算法;第二,文章提出方法的核心内容是发明了一个框架,叫作“基于快速排序机制”;第三,我们简单介绍了一下论文的实验结果。
最后给你留一个思考题回忆一下我们曾经讲过的LambdaMART算法那里其实也有这么一个寻找违反排序原则配对的步骤你能想起来是什么步骤吗
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,89 @@
<audio id="audio" title="025 | ICML 2018论文精读模型经得起对抗样本的攻击这或许只是个错觉" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/63/4d/63c900a940750bc8d41ca27085e4494d.mp3"></audio>
2018年7月10日~15日国际机器学习大会ICML 2018The 35th International Conference on Machine Learning在瑞典的斯德哥尔摩举行。
ICML从1980年开始举办已有30多年的历史 ,是机器学习、人工智能领域的顶级会议。
今年ICML大会共收到了2473份投稿投稿量和去年相比增加了45%。今年最后录取了621篇论文录取率近25%。除了主会议以外ICML大会还组织了9个讲座67个研讨班。
在接下来的几期内容里我会为你精选三篇ICML 2018的论文我们一起来讨论。
今天我和你分享的是大会的最佳论文题目是《梯度混淆带来的安全错觉绕过对对抗样本的防御》Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples
先简单介绍下这篇论文的作者群。
第一作者阿尼什·阿提耶Anish Athalye是麻省理工大学的博士生主要研究方向是机器学习算法的安全。他在今年的ICML大会上就发表了3篇论文。
第二作者尼古拉·泽多维奇Nickolai Zeldovich是阿提耶的导师。他是麻省理工大学计算机系的教授做安全相关的研究。
第三作者大卫·瓦格纳David Wagner来自加州大学伯克利分校是计算机系教授也是安全研究方面的专家。
## 论文的背景
这篇论文的内容对于大对数人来说可能是比较陌生的。想要弄清楚这篇论文的主要贡献,我们首先来熟悉一下这篇论文所要解决的问题。
试想我们比较熟悉的监督学习任务。一般来说在监督学习任务中我们会有一个数据集用各种特性Feature来表征这个数据集里的数据点。拿最普通的监督学习来说比如需要把图像分类为“猫”、“狗”等机器学习算法就是学习一个分类器可以根据不同的输入信息来做分类的决策。
当然,我们所说的是在正常情况下使用分类器的场景。有一类**特别的应用场景**,或者说是“对抗”场景,其实是希望**利用一切方法来破坏或者绕开分类器的决策结果**。
一个大类的“**对抗机制**”是尝试使用“**对抗样本**”Adversarial Examples。什么是对抗样本呢就是说一个数据样本和原来正常的某个样本是非常类似的但是可以导致分类决策出现很大不同。例如在我们刚才的图像识别的例子中一个有效的对抗样本就是一张非常像狗的图片但是可以导致分类器认为这是一只猫或者别的动物。利用这种类似的样本可以使分类器的训练和测试都产生偏差从而达到攻击分类器的目的。
除了“对抗样本”的概念以外,我们再来看一看**攻击分类器**的一些基本的模式。
一般来说,对分类器的攻击有两种模式,一种叫作“**白盒攻击**”White-Box一种叫作“**黑盒攻击**”Black-Box。白盒攻击主要是指攻击者可以完全接触到分类器的所有内部细节比如深度模型的架构和各种权重但无法接触到测试数据。而黑盒攻击则是指攻击者无法接触分类器的细节。
这篇论文考虑的场景是白盒攻击。攻击方尝试针对每一个合法的数据点,去寻找一个距离最近的数据变形,使得分类器的结果发生变化。通俗地说,就是希望对数据进行最小的改变,从而让分类器的准确率下降。
在完全白盒的场景下,最近也有一系列的工作,希望让神经网络更加健壮,从而能够抵御对抗样本的攻击。但是到目前为止,学术界还并没有完全的答案。
## 论文的主要贡献
通过上面的介绍,我们知道目前有一些防御对抗样本的方法,似乎为分类器提供了一些健壮性的保护。这篇文章的一个重要贡献,就是指出,**这些防御方法有可能只是带来了一种由“梯度混淆”Obfuscated Gradients所导致的错觉**。
梯度混淆是“梯度屏蔽”Gradient Masking的一种特殊形式。对于迭代攻击方法来说如果发生梯度混淆防御方会形成防御成功的假象。
作者们在这篇论文中对梯度混淆进行了分析,提出了三种类型的梯度混淆:“**扩散梯度**”Shattered Gradients、“**随机梯度**”Stochastic Gradients和“**消失梯度或者爆炸梯度**”Vanishing/Exploding gradients
针对这三种不同的梯度混淆作者们提出了相应的一些攻击方案使得攻击方可以绕过梯度混淆来达到攻击的目的并且在ICLR 2018的数据集上展示了很好的效果。
值得注意的是,这篇论文针对的是在防御过程中“**防御方**”的方法所导致的梯度混淆的问题。目前学术界还有相应的工作是从攻击方的角度出发,试图学习打破梯度下降,例如让梯度指向错误的方向。
## 论文的核心方法
我们首先来看一看这三种类型的梯度混淆。
**扩散梯度主要是指防御方发生了“不可微分”Non-Differentiable的情况**。不可微分的后果是直接导致数值不稳定或者梯度不存在。扩散梯度其实并不意味着防御方有意识地希望这么做,这很有可能是因为防御方引入了一些看似可以微分但是并没有优化目标函数的情况。
**随机梯度主要是由随机防御Randomized Defense引起的**。这有可能是神经网络本身被随机化了,或者是输入的数据被随机化,造成了梯度随机化。
**消失梯度和爆炸梯度主要是通过神经网络的多次迭代估值Evaluation所导致**。例如,让一次迭代的结果直接进入下一次迭代的输入。
刚才我们说了,梯度混淆可能是防御方无意识所产生的结果,并不是设计为之。那么,攻击方有什么方法来识别防御方是真的产生了有效果的防御,还是仅仅发生了梯度混淆的情况呢?
作者们做了一个总结,如果出现了以下这些场景,可能就意味着出现了梯度混淆的情况。
第一种情况,**一步攻击的效果比迭代攻击(也就是攻击多次)好**。在白盒攻击的情况下,迭代攻击是一定好于一步攻击的。因此如果出现了这种一步攻击好于迭代攻击的情况,往往就意味着异常。
第二种情况,**黑盒攻击的效果比白盒好**。理论上,白盒攻击的效果应该比黑盒好。出现相反的情况,往往意味着不正常。
第三种情况,**无局限Unbounded Attack效果没有达到100%**。最后的这种情况,就是随机寻找对抗样本,发现了比基于梯度下降的攻击要好的对抗样本。
那么,针对梯度混淆,攻击方有什么办法呢?
针对扩散梯度,作者们提出了一种叫**BPDA**Backward Pass Differentiable Approximation的方法。如果有兴趣建议你阅读论文来了解这种算法的细节。总体说来BPDA就是希望找到神经网络不可微分的地方利用简单的可微分的函数对其前后进行逼近从而达到绕过阻碍的目的。
针对随机梯度,作者们提出了“**变换之上的期望**”Expectation over Transformation这一方法。这个方法的特点是针对随机变化变换的期望应该还是能够反映真实的梯度信息。于是作者们就让攻击方作用于变换的期望值从而能够对梯度进行有效的估计。
针对消失或者爆炸的梯度,作者们提出了“**重新参数化**”Reparameterization这一技术。重新参数化是深度学习中重要的技术。在这里作者们使用重新参数化其实就是对变量进行变换从而使得新的变量不发生梯度消失或者爆炸的情况。
## 小结
今天我为你讲了今年ICML的最佳论文。
一起来回顾下要点:第一,这篇论文讨论了一个比较陌生的主题,我们简要介绍了论文的背景;第二,我们详细介绍了论文提出的三种类型的梯度混淆。
最后,给你留一个思考题,我们为什么要研究深度学习模型是否健壮,是否能够经得起攻击呢?有什么现实意义吗?
欢迎你给我留言,我们一起讨论。

View File

@@ -0,0 +1,57 @@
<audio id="audio" title="026 | ICML 2018论文精读聊一聊机器学习算法的“公平性”问题" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/a6/9d/a6e0fbd9a97a51e84f9e9f61a9fafa9d.mp3"></audio>
在上一次的分享里我们介绍了今年ICML大会的一篇最佳论文这是一篇非常优秀的机器学习和计算机安全相结合的论文。这篇论文剖析了目前在白盒攻击的场景下攻击方如何绕过一种叫作“混淆梯度”的情况来实现有效攻击的目的。
今天我们来分享ICML 2018的另一篇最佳论文题目Delayed Impact of Fair Machine Learning。这篇论文主要探讨了“公平”Fair在机器学习中的应用。论文的五位作者都来自加州大学伯克利分校。
## 论文的背景
这篇论文所探讨的主题是机器学习的“公平性”问题。近些年,这个主题受到了学术界越来越多的关注,但是对于普通的人工智能工程师和数据科学家来说,这个议题依然显得比较陌生和遥远。所以,我先来简单梳理一下这方面研究的核心思想。
机器学习有一个重要的应用,就是在各类**决策场景**中提供帮助,例如申请贷款、大学入学、警察执勤等。一个不可否认的特点是,这些决策很有可能会对社会或者个人产生重大的不可逆转的后果。其中一个重要的后果就是,针对不同的人群,有可能会产生意想不到的“不公平”的境况。比如,有一些普遍使用的算法,在帮助警察判断一个人是否可能是罪犯的时候,系统会认为美国黑人相对于白人更容易犯罪,这个判断显然存在一定的问题。
机器学习研究者已经注意到了这种算法中的“公平”问题并且开始探讨没有任何限制条件的机器学习算法是否会对少数族裔Underrepresented Group产生不公平的决策判断。基于这些探索研究者们提出了一系列的算法对现有的各种机器学习模型增加附带了公平相关的限制条件希望通过这种方法来解决各种不公平定义下的决策问题。
## 论文的主要贡献
这篇论文从理论角度展开讨论,基于什么样假设和条件下的具有公平性质的机器学习算法,在决策场景中能够真正为少数族群带来长期的福祉。值得注意的是,这里所谓的少数族裔是一个抽象化的概念,指的是数目相对较少的,或者在某种特性下比较少的一组数据群体。这篇论文并不直接讨论社会学意义下的少数族群的定义。
作者们主要是比较两个人群A和B在不同的公平条件下看这两组人群的某种“**效用**”Utility的差值会发生什么变化。这个差值可以是正的没变化或者是负的。
论文的主要结论是,在不同的公平条件下,效用差值会有各种可能性。这其实是一个非常重要的结论。有一些公平条件,直觉上我们感觉会促进少数族群的效用,但这篇论文向我们展示了,即便出发点是好的,在某些情况下,效用差值也可能是负的。
除此以外,这篇论文还探讨了“**测量误差**”Measurement Error对效用差值的影响。作者们认为测量误差也应该被纳入整个体系中去思考公平的问题。
需要指出的是,论文的分析方法主要建立在时序关系的“**一步预测**”One Time Epoch基础上的。也就是说我们利用当前的数据和模型对**下一步的决策判断**进行分析,并不包括对未来时间段所有的预测。从理论上说,如果在无限未来时间段的情况下,结论有可能发生变化。
## 论文的核心方法
这篇文章的核心思路是探讨针对人群A和B所采取的一种“策略”Policy是怎么样影响这两组人群的效用差别的。如果某种策略会导致某个群体的**效用差别为负**,那么我们就说这个策略对群体产生了“**绝对损坏**”Active Harm作用如果**效用差别是零**,就说明这个策略对群体产生了“**停滞**”Stagnation作用如果**效用差别是正的**,就说明这个策略对群体产生了“**推动**”Improvement作用。
除此以外我们认为有一种不考虑人群A和B具体特征的期望最大化效用的策略称之为“**最大化效用**”MaxUtil。这种策略其实就是在没有约束条件的情况下利用一般的机器学习算法达到的效果。我们需要把新策略和这个策略进行比较如果新的策略比这个策略好就是产生了“**相对推动**”Relative Improvement反之我们说新的策略产生了“**相对损害**”Relative Harm
为了进一步进行分析,作者们引入了一个叫“**结果曲线**”Outcome Curve的工具来视觉化策略和效用差值的关系。具体来说曲线的横轴就是因为策略所导致的对某一个群体的选择概率纵轴就是效用差值。当我们有了这个曲线之后就能非常直观地看到效用差值的变化。
<img src="https://static001.geekbang.org/resource/image/98/ab/98a16f6db74ef6470792ef6cd618c6ab.png" alt="">
从这个曲线上我们可以看到,效用差值的确在一个区间内是“相对推动”的,而在另一个区间是“相对损害”的,在最右边的一个区间里是“绝对损害”的。这就打破了我们之前的看法,认为有一些选择策略会一致性地导致唯一结果。
在此基础上,我们专门来看这两种特殊的策略。第一种叫“**种族公平**”Demographic Parity思路是希望在两个人群中保持一样的选择概率。另一种策略叫“**公平机会**”Equal Opportunity思路是希望某个人群中成功的概率例如申请到贷款、学校录取等和人群无关。这两种策略都是典型的试图利用限制条件来达到公平的方法。我们希望来比较的就是这两种策略以及之前说的最大化效用之间的一些关系得出以下三个主要结论。
第一个比较出乎意料的结论是最大化效用这个策略并不会导致“绝对损害”。意思就是说,和人们之前的一些想法不同,最大化效用也有可能让少数族裔的效用得到提升或者不变。
第二个结论是,这两种公平策略都可能会造成“相对推动”。这也是推出这两种策略的初衷,希望能够在选择概率上进行调整,从而让少数族裔的效用得到提升。
第三个结论是,这两种公平策略都可能会造成“相对损害”。这是本篇论文的一个重要结论,正式地证明了公平策略在某个区间上其实并没有带来正向的“推动”反而是“损害”了少数族群。作者们进一步比较了“种族公平”和“公平机会”这两个策略,发现“公平机会”可以避免“绝对损害”而“种族公平”则无法做到。
## 小结
今天我为你讲了今年ICML的另一篇最佳论文。
一起来回顾下要点:第一,这篇论文讨论了计算机算法的公平性问题;第二,我们详细介绍了论文提出的两种策略以及得出的主要结论。
最后,给你留一个思考题,研究算法的公平性对我们日常的应用型工作有什么启发作用?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,55 @@
<audio id="audio" title="027 | ICML 2018论文精读优化目标函数的时候有可能放大了“不公平”" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/8b/35/8b02b3d8ab4296c81a56120e2a0c8f35.mp3"></audio>
今天我们要分享的是ICML 2018的一篇最佳论文提名题目是Fairness Without Demographics in Repeated Loss Minimization。
这篇论文讨论了这样一个话题,在优化目标函数的时候,如何能够做到针对不同的子群体,准确率是相当的,从而避免优化的过程中过分重视多数群体。这篇论文的作者都来自斯坦福大学。
## 论文的主要贡献
这篇论文其实也是希望讨论算法带来的“公平性”问题,但是出发的角度和我们上一篇讨论公平性的论文非常不一样。这篇论文的核心思想,是希望通过机器学习目标函数优化的原理,来讨论机器学习和公平性的关系。
作者们发现基于“平均损失”Average Loss优化的机器学习算法常常会给某一些少数群体带来巨大的不准确性。这其实并不是模型本身的问题而是优化的目标函数的问题。在这样的情况下目标函数主要是关注有较多数据的群体保证这些群体的损失最小化而可能忽略了在数量上不占优势的少数群体。
在此基础上,还带来了另外一个用户“**留存度**”Retention的问题。因为少数群体忍受了比较大的优化损失因此这些群体有可能离开或者被这个系统剔除。所以长期下去少数群体的数目就可能逐渐变少。这也许是目标函数的设计者们无从想到的一个平均损失函数的副产品。作者们还把这个现象命名为“**不公平的放大**”Disparity Amplification
这篇论文的一个重要贡献是发现**ERMEmpirical Risk Minimization经验风险最小化其实就存在这种不公平的放大性**。ERM包含了很多经典的机器学习模型的目标函数例如支持向量机Support Vector Machines、对数回归模型Logistic Regression以及线性回归等。作者们还发现ERM可以让即便在最初看上去公平的模型在迭代的过程中逐渐倾向于不公平。
为了解决ERM的问题作者们开发了一种新的算法框架DRODistributionally Robust Optimization分布式健壮优化。这种框架是为了最小化“最差场景”Worst-Case的风险而不是平均风险。作者们在真实的数据中展示了DRO相比于ERM更能够解决小众群体的不公平性问题。
## 论文的核心方法
为了解决在ERM下的对不同群体的不公平性问题作者们首先对数据做了一种**新的假设**。
作者们假设数据中有隐含的K个群体。每一个数据点都有一定的概率属于这K个群体。我们当然并不知道这K个群体本身的数据分布也不知道每个数据点对于这K个群体的归属概率这些都是我们的模型需要去估计的隐含变量。
对于每一个数据点而言,在当前模型下,我们都可以估计一个“**期望损失**”Expected Loss。在新的假设框架下因为每个数据点可能属于不同的K个群体而每个群体有不同的数据分布因此会导致在当前群体下的期望损失不一样也就是会出现K个不一样的期望损失。我们的目的是要控制这K个损失中的**最差的损失**,或者叫**最差场景**。如果我们可以让最差的损失都要小于某一个值,那么平均值肯定就要好于这种情况。这也就从直观上解决了不公平放大的问题。
那么如果我们直接在这样的设置上运用ERM会有什么效果呢这里有一个数值是我们比较关注的那就是在整个框架假设下每个群体的**期望人数**。这个数值等于在期望损失的情况下,当前群体剩余的人数加上新加入的人数。作者们在论文中建立了对这个期望人数的理论界定。
这个结论的直观解释是如果在当前更新的过程中期望人数的数值估计能够达到一个稳定的数值状态那么就有可能稳定到这里不公平放大的情况就不会发生而如果没有达到这个稳定的数值状态那么不公平放大的情况就一定会发生。也就是说在ERM优化的情况下群体的大小有可能会发生改变从而导致人群的流失。
在这个理论结果的基础上作者们提出了DRO。DRO的核心想法就是**要改变在优化过程中,可能因为数据分配不均衡,而没有对当前小群体进行足够的采样**。
具体来说,**DRO对当前群体中损失高的人群以更高的权重也就是说更加重视当前目标函数表现不佳的区域**。对于每一个数据点而言损失高的群体所对应的群体概率会被放大从而强调这个群体当前的损失状态。换句话说DRO优先考虑那些在当前情况下损失比较大的小群体。这样的设置就能够**实现对最差情况的优化从而避免不公平放大**。
作者们在文章中展示了DRO所对应的目标函数可以在递归下降的框架下进行优化也就是说任何当前利用ERM的算法都有机会更改为DRO的优化流程从而避免不公平放大的情况。
## 论文的实验结果
作者们在一个模拟的和一个真实的数据集上进行了实验。我们这里简单讲一讲真实数据的实验情况。
作者们研究了一个“自动完成”Auto Completion的任务。这个任务是给定当前的词来预测下一个词出现的可能性。而数据则来自两个不同人群美国白人和黑人所产生的推特信息。在这个实验中作者们就是想模拟这两个人群的留存度和模型损失。这里面的隐含假设是美国白人和黑人的英语词汇和表达方式是不太一样的。如果把两个人群混合在一起进行优化很有可能无法照顾到黑人的用户体验从而留不住黑人用户。
在实验之后DRO相比于ERM更能让黑人用户满意并且黑人用户的留存度也相对比较高。从这个实验中DRO得到了验证的确能够起到照顾少数人群的作用。
## 小结
今天我为你讲了今年ICML的最佳论文提名。
一起来回顾下要点第一这篇论文也讨论了算法带来的“公平性”问题是从机器学习目标函数优化的角度来考虑这个问题的第二这篇论文的一个重要贡献是发现ERM确实存在不公平的放大性基于此作者们开发了一种新的算法框架DRO第三文章的实验结果验证了DRO的思路确实能够解决小众群体的不公平性问题。
最后,给你留一个思考题,这两期内容我们从不同的角度讨论了算法的公平性问题,你是否有自己的角度来思考这个问题?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,73 @@
<audio id="audio" title="028 | ACL 2018论文精读问答系统场景下如何提出好问题" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/35/18/354c07ed4fee23e07ec7d0a0a9ebca18.mp3"></audio>
今年7月15日~20日计算语言学协会年会ACL 201856th 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](http://aclweb.org/anthology/P18-1255))。
首先给你简单介绍下论文的作者。
第一作者萨德哈·饶Sudha Rao来自马里兰大学学院市分校University of Maryland, College Park是计算机系的博士生。她已经在ACLEMNLP、NAACL等自然语言处理大会上发表了多篇论文并且在微软研究院实习过。
第二作者是饶的导师哈尔·道姆三世Hal Daume III是马里兰大学学院市分校计算机系的一名教授目前也在纽约的微软研究院工作。他是机器学习和自然语言处理领域的专家在诸多领域都发表过不少研究成果论文引用数达到9千多次。
## 论文的主要贡献
这篇论文关注的是“**问答系统**”Question &amp; 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的一篇最佳论文。
一起来回顾下要点:第一,这篇论文提出了“澄清式提问”这个概念,来帮助问答系统的开发;第二,文章提出了一系列方法,对澄清式问题进行描述和衡量;第三,文章构建了一个数据集,通过实验论证了所提出方法的有效性。
最后,给你留一个思考题,通过这篇文章关于澄清式问题的介绍,你能否给澄清式问题下一个定义呢?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,72 @@
<audio id="audio" title="029 | ACL 2018论文精读什么是对话中的前提触发如何检测" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/75/e9/7580bed8b6466802745c89444609d2e9.mp3"></audio>
今天我来和你分享ACL 2018的第二篇最佳论文题目是《让我们“再”次做到检测副词前提触发词的第一种计算方法》[Lets do it “again”: A First Computational Approach to Detecting Adverbial Presupposition Triggers](https://www.cs.mcgill.ca/~jkabba/acl2018paper.pdf))。
这篇论文的作者都来自加拿大麦吉尔大学McGill University的计算机系。前三位学生作者是这篇论文的共同第一作者对论文的贡献相同。他们的导师张智杰Jackie Chi Kit Cheung助理教授是这篇论文的最后一个作者。张智杰于2014年从多伦多大学博士毕业之前曾两次在微软研究院实习过他长期从事自然语言处理的研究。
## 论文的主要贡献
这篇论文的背景要从“语用学”Pragmatics说起。语用学是语言学的一个分支学科与符号学理论相互交叉、渗透研究语境对语言含义产生的影响和贡献。语用学包括言语行为理论、对话内涵义、交流中的对话以及从哲学、社会学、语言学以及人类学等角度解析人类语言行为的研究。
语用学分析研究语言行为(如招呼、回答、劝说)的文化准绳和发言规则。不同的文化之间皆有约定俗成、客套的对话,在跨文化交流中,为了避免因为语言规范的差异而在交谈之中产生误解,社会语言学的知识与务实能力是语言学习者所不能忽视的。
在语用学中“前提”Presuppositions是交谈的参与者共同约定的假设和认知而且在谈话中被广泛使用。同时在这篇论文中作者们把提示“前提”的“表达”Expression定义为“**前提触发**”Presupposition Triggers包括一些动词、副词和其他短语。为了更加清晰地说明这些概念作者们举了这么一个例子。
假设我们现在有两句话:
<li>
约翰再次要去那家餐厅John is going to the restaurant **again**)。
</li>
<li>
约翰已经去过了那家餐厅John has been to the restaurant
</li>
第一句话要能够成立必须要建立在第二句话的基础上。特别是“前提触发”词“再”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呢
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,69 @@
<audio id="audio" title="030 | ACL 2018论文精读什么是“端到端”的语义哈希" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/6f/93/6f13c827752aeadead7b12a61299fe93.mp3"></audio>
今天我们来看今年ACL大会的一篇最佳论文提名题目是《NASH面向生成语义哈希的端到端神经架构》[NASH: Toward End-to-End Neural Architecture for Generative Semantic Hashing](http://people.ee.duke.edu/~lcarin/acl2018_hashing.pdf))。
先来简单介绍下论文的作者群,我着重介绍三位。
第一作者沈丁涵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的分享就告一段落。
一起来回顾下要点:第一,这篇文章针对语义哈希产生过程的劣势,提出了“端到端”的语义哈希训练过程;第二,论文的核心方法是把文档生成语义哈希看作是一种编码和解码的流程,进一步发现“语义哈希”其实也可以被看作是一个“比率损失平衡”问题;第三,论文取得了不错的实验效果。
最后,给你留一个思考题,在现实中利用语义哈希,有没有什么障碍?比如要在推荐系统中做语义哈希,最大的挑战会是什么?
欢迎你给我留言,和我一起讨论。

View File

@@ -0,0 +1,100 @@
今天我准备了 30 张知识卡和你一起来复盘“人工智能国际顶级会议”模块。在这个模块里我总共介绍了10个顶级会议包括机器学习方面的ICML、NIPS机器视觉的CVPR、ICCV自然语言处理的ACL、EMNLP数据挖掘和数据科学的KDD、WSDM信息检索和搜索的SIGIR互联网综合的WWW。
提示:点击知识卡跳转到你最想看的那篇文章,温故而知新。
## KDD 2017数据挖掘与知识发现大会论文精讲
[<img src="https://static001.geekbang.org/resource/image/10/06/10cb191bddde32920cfb9d48971ce806.jpg" alt="" />](https://time.geekbang.org/column/article/159)
[<img src="https://static001.geekbang.org/resource/image/b7/cc/b77e0dd9b5422fc483605dfa18519fcc.jpg" alt="" />](https://time.geekbang.org/column/article/391)
[<img src="https://static001.geekbang.org/resource/image/6e/42/6edea80c0a378d8e4a8196aa3cb34942.jpg" alt="" />](https://time.geekbang.org/column/article/394)
## EMNLP 2017自然语言处理实证方法会议论文精讲
[<img src="https://static001.geekbang.org/resource/image/99/0c/998b153a3e799873d0a74490b073170c.jpg" alt="" />](https://time.geekbang.org/column/article/397)
[<img src="https://static001.geekbang.org/resource/image/32/d5/32bbe7013a33e4e6f4902e465104edd5.jpg" alt="" />](https://time.geekbang.org/column/article/658)
[<img src="https://static001.geekbang.org/resource/image/76/3b/767fc3b2298a9705c7b2f731c7b12f3b.jpg" alt="" />](https://time.geekbang.org/column/article/661)
## ICCV 2017国际计算机视觉大会论文精讲
[<img src="https://static001.geekbang.org/resource/image/55/38/55eb3ea8693c70200aafd3f5f4277038.jpg" alt="" />](https://time.geekbang.org/column/article/2681)
[<img src="https://static001.geekbang.org/resource/image/fb/2f/fbb4b50ec209879b3d1e1da5a426212f.jpg" alt="" />](https://time.geekbang.org/column/article/2717)
[<img src="https://static001.geekbang.org/resource/image/e2/03/e2bd4edfd5d3cc2b818d9e371584fe03.jpg" alt="" />](https://time.geekbang.org/column/article/2782)
## NIPS 2017神经信息处理系统大会论文精讲
[<img src="https://static001.geekbang.org/resource/image/61/2c/617ffdf73e8f41a36a11ac5ea5f0862c.jpg" alt="" />](https://time.geekbang.org/column/article/2868)
[<img src="https://static001.geekbang.org/resource/image/11/27/115484986db70b94b363237a09d3d227.jpg" alt="" />](https://time.geekbang.org/column/article/2941)
[<img src="https://static001.geekbang.org/resource/image/28/2a/2811bcf14a2e16759d6afaa8e15dcc2a.jpg" alt="" />](https://time.geekbang.org/column/article/3211)
## WSDM 2018网络搜索与数据挖掘国际会议论文精讲
[<img src="https://static001.geekbang.org/resource/image/80/ae/809abe856cc2482c2b8f80728dda82ae.jpg" alt="" />](https://time.geekbang.org/column/article/3946)
[<img src="https://static001.geekbang.org/resource/image/5b/ec/5b47edfe3db4fec97e5b1975bdc983ec.jpg" alt="" />](https://time.geekbang.org/column/article/3961)
[<img src="https://static001.geekbang.org/resource/image/e6/d5/e6d5f263155a9d7e8a964516dedfa4d5.jpg" alt="" />](https://time.geekbang.org/column/article/4024)
## The Web 2018国际万维网大会论文精讲
[<img src="https://static001.geekbang.org/resource/image/40/f7/40c75bfcf277690085923effd015e1f7.jpg" alt="" />](https://time.geekbang.org/column/article/8106)
[<img src="https://static001.geekbang.org/resource/image/7d/95/7d273597ba638065e3b1286e07a4e495.jpg" alt="" />](https://time.geekbang.org/column/article/8234)
[<img src="https://static001.geekbang.org/resource/image/80/9d/80b6558a51f71d7fc5eda9b3a31f5a9d.jpg" alt="" />](https://time.geekbang.org/column/article/8293)
## CVPR 2018国际计算机视觉与模式识别会议论文精讲
[<img src="https://static001.geekbang.org/resource/image/45/86/45b1fa4c83680b7be3e2247298a33086.jpg" alt="" />](https://time.geekbang.org/column/article/12010)
[<img src="https://static001.geekbang.org/resource/image/ab/75/ab3714f22d7729600aaaa2fff2c8fa75.jpg" alt="" />](https://time.geekbang.org/column/article/12100)
[<img src="https://static001.geekbang.org/resource/image/a8/9b/a867d7e402b26eef0ac152e24dc90a9b.jpg" alt="" />](https://time.geekbang.org/column/article/12190)
## SIGIR 2018国际信息检索大会论文精讲
[<img src="https://static001.geekbang.org/resource/image/e9/ba/e9384d0b367a2a54570b345acd7bf2ba.jpg" alt="" />](https://time.geekbang.org/column/article/11367)
[<img src="https://static001.geekbang.org/resource/image/11/13/11039fa5ef4bae821c3b0e2313195f13.jpg" alt="" />](https://time.geekbang.org/column/article/11636)
[<img src="https://static001.geekbang.org/resource/image/c2/dc/c21379bb9909723a3f1df50aa33fd9dc.jpg" alt="" />](https://time.geekbang.org/column/article/11851)
## ICML 2018国际机器学习大会论文精讲
[<img src="https://static001.geekbang.org/resource/image/6a/80/6aa4bbbe32cd70673416c1cd31705280.jpg" alt="" />](https://time.geekbang.org/column/article/12443)
[<img src="https://static001.geekbang.org/resource/image/d3/6b/d3bffb14410259a1ca768447bd41f36b.jpg" alt="" />](https://time.geekbang.org/column/article/12648)
[<img src="https://static001.geekbang.org/resource/image/09/2e/09dadd6ef090c20da82ba628caf5f52e.jpg" alt="" />](https://time.geekbang.org/column/article/12834)
## ACL 2018计算语言学学会年会论文精讲
[<img src="https://static001.geekbang.org/resource/image/ad/4f/adc4f44971972753870205b15016244f.jpg" alt="" />](http://uhttps://time.geekbang.org/column/article/13014)
[<img src="https://static001.geekbang.org/resource/image/7c/77/7c2fca243d7761290af3286f7f20fa77.jpg" alt="" />](https://time.geekbang.org/column/article/13193)
[<img src="https://static001.geekbang.org/resource/image/80/fd/8093da74b265592edd46f74dcb8f53fd.jpg" alt="" />](https://time.geekbang.org/column/article/13276)
## 积跬步以至千里
学习是独立的,需要你一个人去完成。但学习者从来都不必孤独,我们走进这些国际顶级学术会议的论文,其实就是和每一篇论文背后的作者进行一场对话。与优秀的人同行一定能让我们走得更快。
这个模块我根据自己的经验为你选择了10个顶级会议。针对每一个会议我都会在会议结束后用3篇文章来详细剖析这个会议的精髓和一些前沿信息。我希望通过我的眼睛和思考让你看到在这个领域里那些激动人心的发展收获新知、拓展视野同时也把我的学习方法分享给你。
我想你应该已经掌握了我分析论文的套路了,对于每一篇文章,我一定会先去做一些背景研究,了解作者群,了解对应的学术机构或者公司信息;然后弄清楚论文解决了什么问题,核心贡献是什么;再详细研究论文的具体方法。这个方法很简单,就是牢牢抓住一个主线,找到最核心的内容来消化吸收。但是**真正让这个方法内化成你的思维模式,还是需要大量的阅读和练习**。相信我,如果想在人工智能领域继续深耕,阅读大量论文,一定是一个最值得做的投资,因为回报极大。
那回到阅读论文本身,最后想跟你分享的一点只有八个字:**学好英语,阅读原文**。我知道你可能会说我英语还真不好,但是到达能够阅读原文的水平其实也并没那么难。你不妨直接找一篇我们专栏里讲过的论文原文,就把每一段的第一句读一下,看看能否学到东西。先开始看起来,遇到不会的且影响你理解的单词或句子再去查,你的英语水平就已经开始变得越来越好了。
以上就是我们对论文精读这个模块的一个复盘,希望专栏里的这三十篇论文是一个起点,能够帮助你养成关注国际顶级会议、阅读论文的习惯,拥有这一强大的学习利器,提升自己的学习效率。
最后,关于这一模块,关于国际会议,或者是在论文阅读方面,你还有什么问题和想法,欢迎你留言和我讨论。