微软亚洲研究院 - 澳纽网Ausnz.net聚合阅读

Affordable Live In and or Rental Housing - That Actually Works.

微软亚洲研究院NLP铁军“超越人类”技术揭秘

上周六,我们发布的“微软亚洲研究院机器阅读系统在SQuAD挑战赛中率先超越人类水平”一文介绍了机器阅读理解领域的重大突破——微软亚洲研究院的R-NET模型率先在SQuAD EM值达到82.650,在ExactMatch (精准匹配)指标上首次超越了人类,这一消息让很多人感到振奋,也引起了许多人对比赛细节的疑惑与好奇。周明团队在第一时间接受了新智元的专访,为读者详细解析了何为EM、F1,超越人类的具体内涵,NLP最难突破的核心问题以及自然语言处理技术发展的现状和未来展望等众多话题。



2018年1月3日,微软亚洲研究院的R-NET率先在SQuAD machine reading comprehension challenge 上达到82.650,这意味着在ExactMatch (精准匹配)指标上首次超越人类在2016年创下的82.304。


​值得注意的是,其中阿里巴巴数据科学与技术研究院IDST在1月5日提交的结果EM分数为82.44,虽比微软亚洲研究院R-NET略低,但也同样超越了人类分数。腾讯NLP团队之前提交的模型紧随其后,可喜可贺。


注:官网截图时间为18年1月16日


在前10名单中,我们看到了中国团队的“霸榜”:

并列第1:阿里巴巴 iDST NLP、微软亚洲研究院

并列第2:微软亚洲研究院、腾讯DPDAC NLP

第5:微软亚洲研究院

并列第6:阿里巴巴 iDST NLP

第7:科大讯飞与哈工大联合实验室


包括微软亚洲研究院、阿里巴巴、腾讯、科大讯飞、哈尔滨工业大学等在内的中国自然语言处理领域的研究机构勇攀高峰,在SQuAD 机器阅读理解比赛的前10的榜单中全面领跑。


中国AI势力崛起,积极共同推动着自然语言理解的进步。


正如微软亚洲研究院副院长周明在朋友圈评论所说:祝贺中国的自然语言理解研究已经走在世界前列!高兴的同时也更加意识到自然语言理解长路漫漫,更需继续努力。


微软亚洲研究院副院长周明和资深研究员韦福如第一时间接受了新智元的采访,解答了众多疑问,并探讨了大量技术干货,以下为精彩内容呈现。注:周为周明老师回应,韦为韦福如解析。


EM和F1 数值是什么?ensemble是什么?和single模型的区别?


韦:SQuAD比赛中有两个评测指标EM和F1。


EM(Exact Match)要求系统给出的答案和人的标注答案完全匹配才能得分(会去除标点符号和冠词: a,an,the),完全匹配得1分否则不得分。


F1则根据系统给出的答案和人的标注答案之间的重合程度计算出一个0到1之间的得分,即词级别的正确率和召回率的调和平均值。


举个例子,假设某个问题的标注答案是“Denver Broncos”,系统只有给出了和标注答案完全匹配(即“Denver Broncos”)的输出,EM才会得1分,否则都不会得分。


而对于F1,即使系统输出的答案和人的标注答案不完全一样,比如系统输出的是“Broncos”,这种情况虽然EM得分为0,但是在F1这个评价指标上会得到一部分分数(0.67)。


EM是一个要求更为严格的评测指标,也是微软亚洲研究院这次系统首次超过人在SQuAD上的结果的评价指标。


模型集成(ensemble)是提高系统效果的常见方法。由于神经网络模型的初始化以及训练过程有随机性,同样的算法在同样的数据上训练多次会得到不一样的模型。


模型集成就是训练多个单模型(single model),然后将这些单模型的输出进行综合得到最终结果


集成模型一般会比单模型效果更好,但是也会以系统反应速度和计算资源为代价。实际应用中需要在模型效果和模型效率(更好和更快)上取平衡。


超越人类的具体含义是指?


韦:SQuAD在测试数据集上对每个问题都至少有三个答案 (每个问题至少有3个人标注答案)。SQuAD会将第二个答案作为人的预测结果,将剩余的答案作为标准答案。


对于EM指标,预测答案同任何一个标准答案相同就算得分。对于F1指标,会选取同所有标准答案中分数最高的作为其得分。这样就得到了人的EM分数(82.304)和F1分数(91.221)。


周:16年这个比赛开始,我们微软亚洲研究院每次提交模型几乎都是第一,在2017年底,我们的成绩82.136,已经十分接近人类的标准,仅差0.17个点。这次我们模型的EM值突破达到82.650,超越了人类在精准回答的指标0.3个点。简单的说,可以这样理解这0.3个点,我们的系统比人做这套题库,多做对了30道题。


这远远不代表计算机超越了人类的阅读理解水平,因为这样的跑分结果是有一个前提条件约束的,比如在确定的题库和测试时间,并且只是成年人平均理解水平。


超越人类不能作为媒体的报道噱头,我们在看到技术进步的同时,更应该冷静思考模型的不断完善和技术应用落地。这是一个生态,需要所有业界同仁一起健康竞争,把现阶段面临的难题攻克,而非停留在比赛第一这样的阶段性喜悦中。


NLP最难突破的技术核心问题是什么


韦:目前SQuAD榜单上排名靠前的系统采用的都是端到端的深度神经网络。一般包含以下几个部分:


Embedding Layer:一般采用的都是在外部大规模数据上预训练的词向量(例如Glove等),以及基于循环神经网络或者卷积神经网络的从字符到单词的词向量(表示),这样就可以得到问题和文章段落里面每个单词的上下文无关的表示。有的模型也会抽取一些特征和词向量一起作为网络的输入。相当于是人的词汇级的阅读知识。


Encoding Layer:一般采用多层的循环神经网络得到问题和文章段落的每个词的上下文相关的表示。相当于人把问题和文章段落读了一遍。


Matching Layer:实际上是得到问题里面的词和文章段落词之间的对应(或者叫匹配)关系。基本是采用注意力(attention)的机制实现,常见的有基于Match-LSTM和Co-attention两种,这样就得到文章里面每个词的和问题相关的表示。相当于是带着问题把文章段落读了一遍。


Self-Matching Layer:在得到问题相关的词表示的基础上再采用self-attention的机制进一步完善文章段落中的词的表示。相当于是再把文章段落读一遍,书读百遍,其义自见。


AnswerPointerLayer:对文章段落里面的每个词预测其是答案开始以及答案结束的概率,从而计算文章段落中答案概率最大的子串输出为答案。这个一般采用Pointer Networks实现。相当于人综合所有的线索和知识定位到文章段落中的答案位置。


实际上,目前SQuAD上的排名靠前的系统在模型和算法上都有相通、相近之处。


而这也是SQuAD比赛一年多以来,整个阅读理解研究的社区和同仁(来自不同学校、公司、研究机构)共同努力、相互借鉴和提高的结果。


目前最好的模型一般综合了以下的算法或部件,包括早期基础模型。


例如Match-LSTM(新加坡管理大学)和BiDAF(Allen Institute for Artificial Intelligence)注意力机制上的创新(例如Salesforce的Coattention机制,R-NET中的Gated-Attention机制等),R-NET中的Self-Matching(或者叫Self-Attention)机制,以及最近对模型效果提升明显的预训练的上下文相关的词向量表示(Contextualized Vectors),包括基于神经机器翻译训练得到句子编码器(Salesforce)以及基于大规模外部文本数据训练得到的双向语言模型(Allen Institute for Artificial Intelligence)等。


当然也有网络模型的设计、参数调优方法等的改进和创新。可以说,目前的结果实际上是整个阅读理解社区这一年多的不断努力和合作的结果。


中文阅读理解的难度比英文大吗?


周:从现在研究阶段成果来说,我没有看到论文说中文阅读理解一定比英文的难,我倒是觉得各有各的难度,比如中文的成语典故、英文的俚语都是难点,两种语言的指代也各有不同,要具体场景具体分析,不断调整模型。


现在国内马上要有中文阅读理解比赛了,是由中国中文信息学会(CIPS)和中国计算机学会(CCF)联合主办,百度公司、中国中文信息学会评测工作委员会和计算机学会中文信息技术专委会联合承办。竞赛将于2018年3月1日正式开启报名通道,获胜团队将分享总额10万人民币的奖金,并将在第三届“语言与智能高峰论坛”举办技术交流和颁奖。


这是一件非常好的事,竞赛数据集包含30万来自百度搜索的真实问题,每个问题对应5个候选文档文本,以及人工撰写的优质答案。


比赛中任务通常定义为:让机器阅读文本,然后回答和阅读内容相关的问题。阅读理解涉及到语言理解、知识推理、摘要生成等复杂技术,极具挑战。


这些任务的研究对于智能搜索、智能推荐、智能交互等人工智能应用具有重要意义,是自然语言处理和人工智能领域的重要前沿课题。


近半年,微软亚洲研究院提升突破的关键


韦:我们这次的模型是R-NET不断发展和提升的结果。

正如前面提到的,我们在把自己的研究和经验共享给学术界的同时(例如我们ACL 2017年的论文以及后面的技术报告),也在不断吸收和借鉴学术界的研究成果来提高R-NET。


在过去的几个月里面,模型的主要提升来自于几个方面,从模型和算法上我们把模型做到更深的同时也做到了更广(宽),例如Matching Layer以及整个系统中最为关键的注意力(attention)机制部分。


另外,我们也使用了基于外部大规模数据训练的上下文相关的词向量表示(Contextualized Vectors)。我们同时也正在做一些更有意思的研究,并在实验中看到了很好的结果。


我们会在将来分享更多、更细节的信息,将我们的研究成果与学术界和工业界分享,并期待大家一起努力,共同推动机器阅读理解的研究和应用创新。


机器阅读理解技术已有的落地介绍


韦:机器阅读理解技术有着广阔的应用场景。


在搜索引擎中,机器阅读理解技术可以用来为用户的搜索(尤其是问题型的查询)提供更为智能的答案。目前R-NET的技术已经成功地在微软的必应搜索引擎中得到了很好的应用。我们通过对整个互联网的文档进行阅读理解,从而直接为用户提供精确的答案。


同时,这在移动场景的个人助理,如,微软小娜(Cortana)里也有直接的应用。


另外机器阅读理解技术在商业领域也有广泛的应用,例如智能客服中,可以使用机器阅读文本文档(如用户手册、商品描述等)来自动或辅助客服来回答用户的问题。


在办公领域,机器阅读理解技术也有很好的应用前景,比如我们可以使用机器阅读理解技术处理个人的邮件或者文档,然后用自然语言查询获取相关的信息。


此外,机器阅读理解技术在垂直领域也有非常广阔的应用前景,例如在教育领域用来辅助出题,法律领域用来理解法律条款,辅助律师或者法官判案,以及在金融领域里从非结构化的文本(比如新闻中)抽取金融相关的信息等。


我们认为阅读理解能力是人类智能中最关键的能力之一,机器阅读理解技术可以做成一个通用的能力,释放给第三方用来构建更多的应用。


机器阅读理解技术2018年以及更远的展望


韦:技术上,目前基于深度学习的算法和模型还有很大的空间,能否提出可以对复杂推理进行有效建模,以及能把常识和外部知识(比如知识库)有效利用起来的深度学习网络,是目前很有意义的研究课题


另外,目前基于深度学习的机器阅读理解模型都是黑盒的,很难直观地表示机器进行阅读理解的过程和结果,因而可解释性的深度学习模型也将是很有趣的研究方向。


在阅读理解任务上,目前SQuAD的任务定义中答案是原文的某个子片段,而在实际中人可能读完文章之后还需要进行更复杂的推理、并组织新的文字再表达出来。对此,微软发布的MARCO数据集正在朝着这个方向努力。


此外,由于目前的SQuAD数据集中假设每个问题一定可以在对应的文档段落中找到答案,这个限制条件对于比赛和研究来说是合理有效的,所以,现有的模型就算不是很确定也会选取一个最可能的文档片段作为输出。


这个假设和模型的输出在实际应用中并不合理。人类在阅读理解回答问题上有一个很重要的能力就是可以知道如果阅读的文本里面没有答案会拒绝回答。


而这个问题不论是在研究上,还是在实际应用中,都是非常重要的研究课题。我们也已经在开展这方面的研究,并且取得了一些不错的进展。

最后,由于SQuAD数据集中的文档都是来自维基百科,虽然目前的模型都是数据驱动,但是要把目前的模型真正应用到特定的领域(尤其是垂直领域,比如金融、法律等),还需要在数据和模型上做适配和进一步的创新。











 

Source: 微软亚洲研究院 | 17 Jan 2018 | 1:06 am(NZT)

干货 | 论文解读:基于动态词表的对话生成研究

​ 编者按:近年来,聊天机器人在飞速发展,很多人也对机器人的对话系统产生了很大兴趣。近期,北京航空航天大学—微软亚洲研究院联合培养博士生吴俣应邀参加了PaperWeekly优质论文线上直播分享活动,带大家回顾了近几年来聊天机器人的发展,对比了检索式和生成式聊天机器人的优缺点,并以第一作者的身份解读了北京航空航天大学和微软亚洲研究院在AAAI 2018上发表的有关基于动态词表对话生成研究的论文Neural Response Generation with Dynamic Vocabularies。 一起来看看吧!文章转载自公众号“PaperWeekly”。


浅析对话系统

对话系统主要分为两类,一类是任务型,另一类是非任务型。任务型对话系统主要应用于企业客服、订票、天气查询等场景,非任务型驱动对话系统则是指以微软小冰为代表的聊天机器人形式。 

之所以强调这一点,是因为今年我在ACL发表了一篇论文,有同学发邮件问我为什么参考了论文和源代码,还是无法让聊天机器人帮忙订披萨。我只能说,目前聊天机器人实在种类繁多,有的机器人只负责闲聊,有的机器人可以帮你完成某些特定任务。 

本次 Talk 会更侧重于介绍闲聊机器人,也就是非任务驱动型对话系统。首先我想给大家推荐一篇关于聊天机器人的综述文章 — A Survey on Dialogue Systems: Recent Advances and New Frontiers。

这篇文章来自京东数据科学团队,是一篇较为全面的对话系统综述,其中引用了 121 篇相关论文,并对论文进行了归类。不仅非常适合初学者,也能让大家对聊天机器人领域有一个更为全面的认识。

​面向任务的对话系统主要分为知识库构造、自然语言理解、状态跟踪和策略选择。针对知识库构造,假设我们的使用场景为酒店预订,那首先我们需要构建一些和酒店相关的知识,比如酒店房型、报价以及酒店位置。

具备了这些基础知识之后,接下来就需要展开对话,通过自然语言理解去分辨问题类型(酒店类型、房间类型等)。确认好相关类型后,我们需要借助 policy 模块,让系统切换到下一个需要向用户确认的信息。更直观地说,我们需要循循善诱引导用户将右表信息填写完整。


聊天机器人类型

普遍来说,聊天机器人主要分为两类,我认为准确来说应该分为三类。

比较早期的研究基本属于第一类:基于模板的聊天机器人,它会定义一些规则,对你的话语进行分析得到某些实体,然后再将这些实体和已经定义好的规则去进行组合,从而给出回复。这类回复往往都是基于模板的,比如说填空。

除了聊天机器人,这种基于模板的文本形成方式还可以应用于很多其他领域,比如自动写稿机器人。

目前比较热门的聊天机器人应该是另外两类,一类是检索型,另一类则是生成型。检索型聊天机器人,主要是指从事先定义好的索引中进行搜索。这需要我们先从互联网上获取一些对话 pairs,然后基于这些数据构造一个搜索引擎,再根据文本相似度进行查找。

生成型聊天机器人目前是研究界的一个热点。和检索型聊天机器人不同的是,它可以生成一种全新的回复,因此相对更为灵活。但它也有自身的缺点,就像图中的婴儿那样,它有时候会出现语法错误,或者生成一些没营养的回复。

检索型聊天机器人首先需要构建一些文本和回复的 pairs,然后再训练匹配模型,上线之后先做检索再做匹配。相似度算法有很多种选择,现在一般都采用深度学习,如果是做系统的话,肯定需要融合很多相似度的特征。


生成模型大多都是基于 Seq2Seq 框架进行修改,所谓万变不离其宗,不管大家怎么做,都会是以这个框架为基础。文本生成也是如此,在 RNN 语言模型和 Seq2Seq 出来之后,几乎所有生成模型都是基于这个框架。即使把 RNN 换成 CNN 或 Attention is All You Need,也仍然离不开这个框架。


检索型VS生成型

检索型聊天机器人的最大优点在于它的回复多样且流畅,其次,这个系统对编程者的入门门槛较低。即使你对深度学习和自然语言处理不甚了解,但只要你善于写代码,并且能从网上抓取一定量的数据,就可以搭建一个检索型聊天机器人。

另外,对于研究人员来说,检索型聊天机器人比较易于评测,借助 MAP、MRR、NDCG 等传统信息检索方法即可完成。 

检索型聊天机器人的缺点在于它过于依赖数据质量。如果你抓取的数据质量欠佳,那就很有可能前功尽弃。

就工业界来说,要评估某个检索型聊天机器人,首先我们会看其背后的排序算法,其次不能忽略的则是数据质量和规模,最后再看其回复数据是否足够有趣,以上几个因素共同决定着检索型聊天机器人的整体质量。 

生成模型的最大优势在于有一套通用 code,可以忽略语言直接开跑。只要在某种语言上跑得较为顺利,就可以将其应用到所有语言上。

很多人认为 safe responses 是生成式聊天机器人的一个缺点,但其实从某种角度上来说,这也是它的一个优点。相比检索型聊天机器人,它生成的回复质量较为稳定。

生成模型的另一个优点是,它非常容易实现多轮对话,并且能够偏向于某种情感。假设我希望生成一句高兴的话,那么用生成模型会比检索模型更容易实现。 

对于早期的研究者来说,生成模型的最大缺点在于它的回复较为单一。其次,由于缺乏自动评评测手段,研究人员难以对生成式聊天机器人进行评估。一个模型的好坏,更多需要靠人进行标注。此外,对工业界而言,生成式聊天机器人的门槛会相对较高。


怎样提高生成的多样性


第一种方法是将模型做得更复杂,比如上图这篇论文使用了 latent variable 来解决 boring responses 这个问题。

上图中的论文,则是在生成时将概率 bias 到一些特定的主题词。假设某个词是主题词,我们就在生成过程中相应提高它被选中的概率。

第二个流派是采用重排序方法,目前最简单有效的方法是先用生成模型生成大量回复,再用分类器对回复进行排序,排名越靠前效果越好。只要生成的回复数量够多,该方法就一定可行。

第三种方法是基于增强学习的。增强学习有两种不同方法,一种基于策略,另一种基于价值。

基于策略的代表作来自李纪为,其基本思路是:假设已有生成模型 G,给定一个 input 并生成 20 个回复,利用排序公式 P(S|T) λP(T|S) 对回复进行评分作为 reward。Reward 值越大,梯度更新则相应越大。

我们再来看看 GAN 的相关方法。李纪为对 SeqGAN 的模型加以改进,将其用在了回复生成上。

其基本思路是,每生成一个词的同时,用搜索的方法去搜索其最后生成的完整句子,然后用 discriminator D 对其进行评分,分值越高,意味着词的 reward 也越高。之后的思路则跟 SeqGAN 一模一样。


本文思路


我们做这篇论文的初衷,是为了提出一种不借助繁重工具或算法的回复生成方法。因为无论是复杂模型、后排序、增强学习还是 GAN,都属于一种用时间换精度的方法。 

我们希望在避免产生大量时间开销的同时,还能提高回复生成的质量。提升效率的关键在于 Seq2Seq 的最后一层 — 投影层,这个投影往往会是一个大型矩阵。

我们认为其实没有必要形成这个大型矩阵,因为有用词汇仅有很小一部分,而这一小部分词汇就足够生成一句非常流畅、高度相关的话。比如对“的地得”这类功能词和与 input 相关度较高的词做一个并集,就可以仅用一个小规模字典生成极为流畅的有效回复。 

详细来说,我们会给每一个 input 构建一个动态词典。这么做的目的是为了减少在线 decoding 时间,同时对不相关词进行剔除。


本文其实是在 Seq2Seq 的基础上加了一个动态词表,每给一个 input,我们会生成两类词。

第一类词的生成完全基于规则,即静态词典。静态词典主要包含一些功能词,功能词主要起润滑剂的作用,它们能让一句话的语法变得通畅。静态词典是基于词性构建的,主要包含代词和助词,名词和动词不包含在内。 

第二类词是内容词,即动态词典。动态词典是根据 input 猜测与其相关的词,即我们可以用哪些词对 input 进行回复。这个词典的构建不能再像静态词典那样基于词性,而是要借助分类器或词预测模型,预测哪些词和已给定的 input 相关。 

有了这两个词之后,我们就可以给每个 input 构建一个词典。这个词典的规模会很小,很小的概念是指原来的词典规模是 3 万,现在能缩减到 1000-2000 这个量级。

从矩阵乘法角度来看,如果能把一个矩阵从 N 乘以三万的维度,缩减到 N 乘以一千的维度,就可以大大提升矩阵乘法的运算速度。


词预测模型



接下来我们来看如何做词预测,即如何对内容词(content words)进行预测。内容词的 input vector 是 encoder 生成的 vector。有了 vector 后,我们需要过一个回归模型(MLP),继而预测需要用到哪些词。这个预测的损失就是将最后出现在回复里的词作为正例(标签为 1),再随机采样一些负例作为 0 标签的词,从而进行预测。 

如何采样负例非常关键。剔除掉一句话中的功能词,大概会剩下 10-15 个正例的词。我们需要通过频率对负例进行采样,如果一个词经常出现,那么它被采样为负例的几率就会很大。 

通过对负例进行采样,我们在进行词预测时,可以更准确地预测出内容词是什么。反之,这个词预测模型会跟 Seq2Seq 生成回复模型出现同样的问题,即总是出现高频词。只有利用频率对负例进行采样,才能让高频词在构建词典时就被剔除。


时间复杂度

在介绍完词预测方法后,我们来看时间复杂度的计算,即以什么样的速度进行 decoding。

首先将 Seq2Seq 和本文的 decoding 方法进行对比,可以发现二者在 GRU 和 Attention 上花费的时间完全一致,但是本文方法在 Projection 上花的时间会少很多

原因在于 Seq2Seq 的 vocabulary size 通常都很大,比如 3 万这种级别乘出来的数。而本文这个 T 可能只有几千,并且我们无需为每个词建立一个表,而是为每一句话建立一个表。因此,我们构建词典的时间开销要远小于从全局字典里进行词预测。

当然,这种情况的前提是回复词数需大于 1。当回复词数等于 1 时,即逐词预测,本文方法反而会比 Seq2Seq 变得更慢。也就是说,在词的数量越多的时候,词典规模越小,节省的时间也就越多。

经实验证明,这种方法相比 Seq2Seq 能节省约 40% 的时间


模型训练​

如果只对动态词典进行训练,将导致训练和预测的时候出现一些 gap。即使在训练的时候就采用动态词表这种方法,也依然会面临一个问题,就是你不知道选词这个过程会对你做回复造成什么影响。

为了解决这个问题,我们在训练时选择将动态词典作为一个隐变量来处理。针对公式的详细推导,大家可以参考论文。 

由于是隐变量,假设动态词典 T 是完全变例,即一个词有选或者不选这两种可能。如果有 3 万个词,那么 T 就有 2 的三万次方这么大,因此这种方法是不可行的。那我们应该怎么做呢?

​这样一来,我们就可以把词典构建和回复生成这两个损失串在一起,相当于放入一同一个公式里表示,而不是将词典和生成分开单独训练。利用逐次采样得出的结果,来评估动态词典在不同情况下,其相对应的回复生成的损失是什么。 

由于这个损失是通过采样得出,因此它会和 RL 一样存在 variance。因此我们加了一个 baseline BK 用于梯度更新,从而使训练更为稳定。


实验

​ 本文实验所用数据来自我们之前的一篇文章,这些词可以覆盖约 99% 的词。

本文使用的开源 baseline

目前研究界仍未找到一个很好的自动指标,能用于回复生成或对话评测。

现有的方法可分为四类:

第一类方法是计算 BLEU 值,也就是直接计算 word overlap、ground truth 和你生成的回复。由于一句话可能存在多种回复,因此从某些方面来看,BLEU 可能不太适用于对话评测。

第二类方法是计算 embedding 的距离,这类方法分三种情况:直接相加求平均、先取绝对值再求平均和贪婪匹配。

第三类方法是衡量多样性,主要取决于 distinct-ngram 的数量和 entropy 值的大小。

最后一种方法是图灵测试,用 retrieval 的 discriminator 来评价回复生成。

表 1 中的前四行是 baseline,DVS2S 是将词预测和 Seq2Seq 的损失串在一起计算,S-DVS2S 则是对这两个 loss 分别进行计算。从结果可以看出,DVS2S 的效果均优于其他方法。 

表 2 是人工标注结果,数值 0 和 2 分别代表最差效果和最优效果,Kappa 则指三者的一致性。人工标注得到的 Kappa 值通常较低,也就是说,即使让真人来进行评测,也很难得到一致性的评价。

速度对比:本文模型可节省40%的时间

案例效果对比

总结

首先,我们将静态词典换成了动态词典,用于聊天机器人中的回复生成。其次,我们提出了一种全新的方法,将词预测损失和回复生成的损失融入到同一个损失函数,以 joint 的方式对这个函数进行优化。最后,我们基于一个大规模数据集,对本文模型的效率和效果进行了验证。



 

Source: 微软亚洲研究院 | 10 Jan 2018 | 2:08 am(NZT)

微软Everyday AI发布会:四大工具让AI来到你身边

昨天,微软在旧金山举办了一场“Everyday AI”发布会,会上主要发布了必应搜索引擎、微软小娜、Office 365和Seeing AI四种工具和服务的更新功能,更新后的工具借助人工智能服务帮助人们更巧妙地获取信息,满足人们更复杂的需求,给人们每天的日常生活带来有益的改善。


现在,你是不是非常好奇四种工具都有了哪些“大变身”?超想知道我们的生活会因此发生哪些变化?那就一起来看看吧!


智能必应:给你更聪明的答案


想想我们现在的搜索过程:输入关键词——弹出大量信息——排查整合——找到特定信息。这个操作过程是不是有点像以前妈妈翻看自己的电话簿来寻找某个好友联系方式的情形。通过这种方式,我们虽然能找到想要的信息,但会花费很多时间和精力,总让人感觉不太“聪明”。而我们现在想要搜索引擎给我们提供更聪明的答案,比如我们想知道某一个健身计划的利弊,想弄清新出的电影是不是值得一看,甚至在只对搜索引擎说“我饿了”之后,它就会推荐我们所在城市的餐厅。简而言之,我们更需要经过整合的智能回答,而不是一大堆网页的排列。


现在,微软在必应中就引入了这样的智能搜索功能,它使用AI技术将用户输入的关键词与所需信息更高效地整合起来,不仅能提供相对智能的答案,还能呈现问题的多个回答视角,并将数据转化为易于理解的概念。这些角度不同但都围绕搜索主题的答案也能帮助我们大开脑洞。



​新功能也能在人们查询一个主观问题时产生更多观点,例如,如果你问Bing“咖啡对我们的健康好不好”,你会看到两类不同的观点,这也是微软对“世事有时并不非黑即白”观念的一次推行尝试。


同时,Bing还支持图像搜索和会话搜索。智能图像搜索通过使用计算机视觉和物体识别技术对所提供图像进行搜索,从而提供给用户依据图片想查找的内容。


而会话搜索能够在你不知道确切句子的前提下帮你提供一些明智的建议,进而帮助你找到所需内容。比如说,你对Bing讲:“压力管理和呼吸训练”,这时Bing就会为你智能提供可能的搜索结果,即使你自己也不知道自己到底想找到什么信息。


在昨天的发布会上,微软也宣布了和Reddit会建立新的合作伙伴关系。Reddit是一个每月有3300万活跃在线用户、25万评论产生的网上社区。Reddit联合创始人Alexis Ohanian指出,Reddit拥有全世界独一无二的数据,从胡须美容用什么油最好到无面粉煎饼到底该怎么做,应有尽有。这些来自Reddit的数据信息会被引入到Bing中以帮助优化搜索结果。


机智小娜:邮件管理 技能连锁


微软小娜是全球第一款个人智能助理。它能够了解用户的喜好和习惯,帮助用户进行日程安排、问题回答等。在旧金山的活动中,微软展示了我们熟悉的小娜如何是如何进行电子邮件管理和提供事项链建议的。

在邮件管理方面,小娜现在可以提供给你电子信箱中新邮件的概览,然后让你选择希望她阅读的邮件。小娜还支持你特别关注某个人是否发邮件给你,比如你的上级领导,以便将这些优先回复的信件和其他信件区分开来。对于不想打字的人,可以向小娜口述回复或者创建电子邮件内容。如果你想和自己联系人名单上的王小明预约一个工作会议,但联系人中有三个叫王小明的人,小娜能帮助消除歧义。除了确保你见到正确的人,小娜也可以通过使用Office 365中的可用信息,帮助你们安排最佳的见面时机。在整合你的多个日历(包括Office 365,Outlook和Google日历)后,小娜还能帮你检查最终的日程安排。是不是超级贴心呢?


除了充当称职的邮件管家,小娜还具备了“事项链锁”(skills chaining)事项链功能,即当你完成某件事情之后,小娜会提醒你另一件与此有关的事项。比如,当你使用小娜预定了一张电影票后,小娜可能会建议你把看电影这件事加入到你的日程中。小娜能够理解某个事项的语义,并且通过对上一个信息的信息理解来推荐新的相关事项。


高效Office 365: Outlook Excel Word全体大进阶


很久以前,互联网没有普及,微软的Word也没有拼写检查器来帮你找到错字。而现在,Office 365对我们来说早已经超越了简单的拼写检查,Word能为我们提供书写建议,PowerPoint可以自动设计演示文稿,Outlook可以依据电子邮件的重要性进行分类。


Office也一直在进步,今年早些时候,Outlook中推出了几项新功能——帮助用户自动检测旅程、电子邮件分类、安排会议等。昨天,Outlook更新了一个功能:将微软小娜应用到Outlooks手机APP上,进而达到邮件提醒用户待办日程的目的。当我们该去赴约的时候,Outlook会发送一个邮件通知 ,其中会包括驾驶和公共交通的方向 、 当前的位置、事件的位置和实时交通等信息。这样我们就不会迟到啦!


同时,微软宣布发布一个名为Acronyms的Word新功能。这项功能可以帮助我们理解公司内部缩略词的含义,每个公司、组织都有大量内部通用的缩略词,当你遇到了不知道的缩写词时,Word就会通过查找Office文档和电子邮件来帮助我们找到首字母缩略词的含义。


Excel引入了最新的Insights功能,它能够帮助我们智能分析表格中的数据并给出相应的图文解释。比如当你提供了一个销售表的原始数据后,Insights功能可以自动帮你做出销售量走势、市场份额、产品周期等等图文分析。该功能背后的核心技术来自于微软亚洲研究院。关于Excel的这一新功能,我们在明天的推送中会做出详细的解说,在这里就不过多剧透啦!


温暖Seeing AI:更丰富的识别类型


Seeing AI是一款旨在帮助那些失明或视力障碍者的一款手机应用程序,之前的版本具有通过扫描条形码描述产品特点、描述图像和文字内容、甚至描述家人朋友刚走进门的样子等等功能。这个温暖的APP应用已经被下载超过了10万次,帮助用户完成了超过300万个任务。


昨天,Seeing AI也迎来了它的新功能:


• 颜色识别:这个新功能可以描述衣柜里的衣服颜色,帮助用户更好地搭配。


• 货币识别:Seeing AI现在可以识别美元、加元、英镑和欧元,这可以让视力障碍者在购买东西时更加方便。


• 光线探测:当用户将手机的相机对准环境光线时,Seeing AI会通过声音提示灯是否是亮着的。


• 手写识别:除了已有读取印刷文本的能力,例如菜单或标语上,新的Seeing AI可以帮助用户识别手写文本。


目前Seeing AI的适用范围已经拓展到35个国家。


我们一直相信,AI会让日常生活变得更美好!也请和我们一同期待改变的发生!点击阅读原文,了解更多发布会信息!


最后,你最喜欢哪个工具的新功能呢?欢迎在评论区告诉大家哦!







 

Source: 微软亚洲研究院 | 15 Dec 2017 | 2:58 am(NZT)

二十一世纪计算 | 大图数据科学: 图数据中的推理

​编者按:我们正淹没在大数据的河流里,数据之间的相互关系蕴含着丰富的信息,但也常常被我们忽略。本文中,加州大学圣克鲁兹分校计算机科学系教授、美国人工智能学会(AAAI)院士Lise Getoor讲述了图识别是如何依靠数据做出推理的,并给出了自己对于概率软性逻辑PSL优越性和可能应用的看法。Lise Getoor表示我们还需要对图进行更多的机器学习,考虑各种关联结点之间的复杂关系。


南加州大学圣克鲁兹分校计算机科学系教授Lise Getoor

(以下为Lise Getoor教授分享的精简版文字整理)


我们正淹没在大数据的河流里,大数据并非是平的,而是多模态、多关系、兼具时空、多媒体的。目前的AI技术,特别是机器学习,它将丰富复杂数据平放到矩阵的形式当中。我们当下所做的一些工作很可能忽视了数据当中的很多丰富信息,其中很重要的一点就是错误假设了数据之间的相互关系。作为研究者和开发者,我们需要考虑到这些图的结构和相关的环境因素。

我想首先和大家说说三种常见的图数据推理模式,最简单的一种叫做协同分类。如果一个图的部分结点已经有标签,我们就可以推理出其结点的标签。社交网络就是很典型的例子,其中包含着非常丰富的信息和联系,通过信息和数据去做推理可以得出某位朋友的饮食习惯或其他偏好。基于数据在已有的信息,设置不同的权重,我们能够做一些简单的推理,充分利用本地信息和标签,再去推理出一些之前没有加入的标签信息。

第二种叫做链接预测,我们不仅仅可以预测某一个结点的标签,还可以推断结点之间的链接。比如说有一个通讯网络,我们能够通过通讯信息推理出网络中所有人的层级,并通过不同种类的信息判断不同人之间的关系。

​​

第三种是实体解析,任务是确定哪些结点指向同样的实体,我们就能从中获得一些信息。


对我个人而言,我最喜欢的图推理问题是图识别(发现可观察图结构所潜含的真实图结构),它能够把上面提到的的三个小模型结合到一起。还是以邮件通讯网络为例,通过对邮件信息进行推理就可以发现这几个人之间的关系及角色。我们需要对每一个信息进行研究,研究他们的实体状况和邮件状况。具体做法是首先对这些人进行分组,对之间的关系进行预测,并对实体身份做出判断。这其中也存在非常大的挑战,如何打造一个非常鲁棒的算法来理清其中的人物关系非常重要。


目前,统计学研究也在开发相应的算法,例如概率性推理和关系推理。有一个工具叫概率软性逻辑PSL,它是一种概率编程语言,即用描述性的语言对图上的问题进行描述。这个基础是,我们有属性、关系的逻辑表示,还有规则和约束来捕捉他们的依赖关系。PSL是一个这样的存在,它根据模板和数据来定义他们之间的概率分布用于推断。


PSL比较有意思的一点是,它通过将逻辑规则映射为凸函数,实现了大规模推断的可扩展性。更有意思的是,这个映射的合理性是用已有的理论计算机科学的结论证明的,用MAX SAT的近似随机算法结合统计学、机器学习、图模型方面的理论。之后我们就可以将从理论计算机科学当中的一些东西转化到实际的图识别应用当中去,最后将这种软性的逻辑和AI进行结合,在不同的情景下,很多时候你们会得到同样的优化结果。在我看来,我觉得我们现在能看到的这些东西仅仅是冰山一角,我们称之为叫Hinge-loss马尔科夫随机域。在这里有包含着很多具体微小的细节,每一个逻辑规则实际上都和某一个函数是相关的,相关的函数实际上都会造成一定的依赖损失。

​在图识别领域,PSL在推理速度和准确度上的表现和离散的马尔科夫规则相比都要更好,且从数据当中学习权重和变量的效果也更加出色。由此PSL可以衍生出很多具体的应用,首先是分类问题。以在线讨论为例,PSL通过观察大家讨论的文字内容和行为数据,就能够很好地来预测用户的观点。再比如大数据和AI领域常常需要聚合信息做推荐、预测甚至打分,我们有来自社交互动、图像方面的各种信息,其实这些信息中存在一定的相似性。PSL的优势就在于它具有非常好的扩展性,特别是逻辑相似性较高的情况下扩展也会更加容易。


另外一个领域可能和安全相关,通过研究社交媒体当中的垃圾邮件可以进行协同推断,哪些可能是垃圾邮件。还有一个问题是如何把视觉的、文本的、关系的数据全部融合起来,去推测使用用户的个性。我们把所有的信息结合起来就能够预测一些人口学特征,比如性别、年龄,同时还可以预测人们在社交媒体当中的信任。


最后我想和大家分享有关知识图的建构,如何获取足够多的数据来实现知识的自动架构是一项长期以来的挑战。我们能够结合统计学的数据信息以及一些相对简单的语义信息,把它们和我开始提出的图识别问题结合起来,并在做图识别时找到它的结点、标签以及结点之间的关系,在此之上可以再融入一些本体的限制,同时还可以融入一些关于信息和其他来源的数据。把它们相结合能够产生比较好的效果,而且速度可以得到显著提升。


我们需要对图进行更多的机器学习,考虑各种关联结点之间的复杂关系。另外,当我们在做数据驱动技术时需要思考究竟什么才是负责任的数据科学,如何检查数据并通过算法做出决策。我个人对PSL感到兴奋的原因就在于它的逻辑规则确实比一大批权重或是参数的算法更加容易解释。这个领域会有一些隐私和安全性的问题,这值得我们进一步研究;相伴而生的还有很多机遇,有更多社会、商业、科学、安全以及其他方面的应用可以去发现、去探索。


Lise Getoor教授的演讲全文


 

Source: 微软亚洲研究院 | 5 Dec 2017 | 11:28 pm(NZT)

微软推出中文学习AI助手Microsoft Learn Chinese


编者按:美国总统特朗普访华期间,他6岁的外孙女阿拉贝拉用中文普通话演唱和背诵传统诗歌的视频在中国社交媒体上引起广泛关注,可以感受得到,越来越多的人对中文学习充满了兴趣。智能私教微软小英帮助很多中国人解决了练习英语的难题。现在,为了让“歪果仁”朋友也能说一口顺流的中文,我们又派出了新的AI贴心私教——Microsoft Learn Chinese。


想要学习好一门外语,大量的语言练习是必不可少的,但是如何能找到一个有时间、有能力、有耐心的陪练可是难倒了一大批小伙伴。之前微软亚洲研究院研发的贴心英语私教微软小英就完美地帮助学英语的同学解决了这一困难,让随时随地练英语的梦想不再遥不可及。


练习英语的问题被解决,可你有没有想过正在努力学习中文的国际友人也有着相似的烦恼呢?为了帮助中文学习者解决这一难题,微软小英团队基于小英的底层技术开发了一个免费的智能手机应用——Microsoft Learn Chinese,一位24小时待命的人工智能语言学习助手。


目前,Microsoft Learn Chinese应用已经在苹果的iOS平台上发布。扫描下方二维码即可下载。

24小时助教


对于语言学习者来说,虽然花费了大量的时间去听老师讲课、观看学习视频、或者背诵词汇和语法,但最终却发现自己仍然无法与母语人士在真实场景中进行对话。项目负责人、微软亚洲研究院资深开发经理夏炎表示,Microsoft Learn Chinese采用了微软最先进的语音和自然语言处理技术,来帮助学习者解决学习过程和实际交流脱节的问题。 


(从左至右)资深开发经理夏炎、副院长田江森、语音组首席研究员宋謌平

Microsoft Learn Chinese以及微软小英背后的机器学习模型由微软亚洲研究院语音组首席研究员宋謌平及其团队开发。宋謌平博士表示,Microsoft Learn Chinese并非想要取代中文老师,它只是作为老师的一个助教,在学习者有时间或者精力练习的时候可以随时帮忙。尽管有“一对一”私人授课,真人老师能够辅导学生口语的时间总是有限的。而借助这款应用强大的语音技术,用户即便没有真人陪伴练习,仍然可以不断提高自己的口语能力。


宋謌平团队利用大量母语人士语音数据训练出深度神经网络模型。利用该模型以及微软亚洲研究院最先进的TTS语音合成技术,Microsoft Learn Chinese可以识别学习者发出的语音,并对发音做出评价,给出一个分数反馈,还会高亮提示需要改进的单词。用户只需要点击界面里的链接即可听到正确发音的音频示例。


针对不同语言水平的学习者,Microsoft Learn Chinese提供初级和中级两套课程。初级课程主要帮助用户学习简短词句,然后提供跟读和对话练习,以巩固用户刚学过的中文知识。中级课程则是交互式的,旨在帮助用户学习如何驾驭真实世界中的场景,例如租赁公寓和餐馆点餐等。


独立于语言,扎根于文化


Microsoft Learn Chinese应用的开发工作是微软亚洲研究院正在进行的语言学习产品孵化项目(包含微软小英微信公众号等产品)的一部分,这个孵化项目融合了研究院在语音和语言技术方面数十年的研究成果,其中包含了语音识别、自然语言理解和TTS语音合成等细分领域的最新突破。

Microsoft Learn Chinese和微软小英背后的机器学习模型和神经网络跟语言本身是无关的——也就是说,同样的技术既可以帮助人们学习中文,也可以辅导大家学习英文。正如微软亚洲研究院副院长、创新工程组负责人田江森所说,中文和英文语言学习应用之间的本质差异在于文化。

田江森博士负责的创新工程组从事所谓的“开发导向型研究”——研究人们在实际生活中如何使用这些应用,并基于从用户处采集的数据对应用的模型、界面和架构等进行调整。他说:“中文虽然是我们的母语,但我们并不知道如何去学习中文,这正是Microsoft Learn Chinese开发的难点所在。在整个过程中,我们自己也学到了很多东西。”

目前,Microsoft Learn Chinese的研究人员还在与外语老师通力合作,学习先进的教学方法,不断尝试开发更好的语言学习技术,用来提高学习者的语言使用频率和真实场景下的语言技能,从而强化真人老师的教学方法。


欢迎大家扫描二维码下载Microsoft Learn Chinese.








 

Source: 微软亚洲研究院 | 28 Nov 2017 | 12:44 am(NZT)


Save on your hotel - www.hotelscombined.com

二十一世纪计算 | John Hopcroft:AI革命

编者按:信息革命的浪潮浩浩汤汤,越来越多的人将注意力转向人工智能,想探索它对人类生产生活所产生的可能影响。人工智能的下一步发展将主要来自深度学习,在这个领域中,更多令人兴奋的话题在等待我们探讨:神经网络、图像识别、语言翻译······

本文是第十九届“二十一世纪的计算”大会精选系列的第四篇,康奈尔大学计算机系教授、1986年图灵奖获得者、电气电子工程师学会(IEEE)及美国计算机协会(ACM)院士John Hopcroft将就AI革命这一话题为大家带来精彩讲解。​


康奈尔大学计算机系教授,1986年图灵奖获得者John Hopcroft

​​

(以下为John Hopcroft分享的精简版文字整理)


一百多年前,工业革命成功帮助人类实现了许多物理任务的自动化。而现在,我们正面临一场前所未有的信息革命,越来越多的人将自动化构想投射到智能任务上,而这势必会对人类生活产生深刻的影响,深度学习就是其中一个非常重要的方面。

在1960年左右,研究者开始对阈值逻辑单元展开研究,如果我们在这里放入一个信号,这个设备就有一个输出的信号:0和1。它的工作原理是每一个输入都有一个权重,这个设备它会计算去预测输入乘以权重。如果说最后得出的结果是超过了某一个阈值T的话,它的结果就是输出就是1,否则的话就是0。研究者所做的工作,他们开发出一种技术,这个技术是去训练这个设备,让它能够识别不同的信号。


相应的我们有一个训练阈值逻辑单元的算法——感知器算法。首先我们要根据第一个模式对权重赋值,并对每一个模式进行测试,检测它们的分类是否正确。如果一个模式的分类发生错误,当期望输出为1时,则将权重加上这个模式的值;反正当期望值为0时,则将权重减去这个模式的值。用该过程不断检测所有模式,直到实现全部模式的正确分类。 ​

其中有一点需要注意的是,最后的权重因子应该是所有模式的线性组合,原因在于每一次修改权重因子时,我们都是加或者减一个模式的值,最终结果就是这个权重因子是一个模式的线性结合。支持向量机就是在此技术基础上进化而来的。我们所做的就是训练这个单输出门的设备,让它正确地完成模式分类,就像它们是可以线性分割的一样,希望可以实现一边的输出是1,另外一边输出的是0。


现在的问题就是,有多少状态是可以进行线性分割?实际上这个数量并不多。这时我们就需要把这些数据映射到更高维的空间,然后再来解决这个问题。我给一个简单的例子来向大家展示一下我们怎么样实现映射。原始的数据是二维的,我把它称为X&Y,现在我要做的就是要把这个数据映射到一个三维的空间。我有一个Z轴,而Z轴的值将会是X平方加上Y平方,它可以实现的就是把一些元素从平面上拿出来变成立体的,这样你就可以看到这些数据可以用一个跟之前平面平行的平面来进行分割。这是一个非常简单的例子,但是它就是我们所谓的支持向量机的工作原理。


我们经常会遇见这样的情况,将这样的数据映射到一个无限的空间,如此一来它可以更加容易地进行线性分离,无需去计算每一个个体的图像映射值,因为我们所需要知道的就是最后的图像映射值之间的乘积是什么。那么什么样的矩阵能够表达样本在高维空间的内积?如果K是一个半正定矩阵,那么存在一个高维映射函数使得K是其的内积矩阵。核函数和样本的高维空间映射是支持向量机的本质。


人工智能的下一步发展将主要来自于深度学习,在深度学习领域有很多非常令人兴奋的话题值得深入研究和讨论。深度学习为什么会到来?比如说我们要训练计算机进行图像分类,针对ImageNet这个比赛,在2011年,人类能够实现的图像分类最低错误率是25%,并且一年内并没有突破性的改进。但2012年,我们开始启用AlexNet进行图像分类,错误率立刻就降低到15%,这吸引了所有人的注意;两年后,GoogleNet把错误率降低到6.7%,而一年后微软亚洲研究院提出的152层深度残差网络ResNet更是将错误率降至史无前例的3.5%,目前计算机图像分类已经远超5%错误率的人类水平。


学习理论有两种:一种是有监督学习,例如,首先我们需要将有标签的数据用于训练特定网络模型,根据标签调整模型权重使它能对输入数据正确地分类。这个过程是用一个叫梯度下降的技术实现的,具体是根据误差对权重的导数来调整权重值。另外一种是无监督学习,例如,首先我们将图像输入网络模型,但是不是对它进行分类,而是让模型重新生成相同或相近的图像,从而使其从没有标签的数据中学习得到图像的表示。比如无人驾驶,要设想所有可能遇到的情景对机器进行训练是不现实的,因此我们会选择给它一个方法,让它实现自我学习。



接下来要说的神经网络跟之前的神经网络结构不太一样,所使用的神经网络结构因用途而不同,我在这里主要关注图片数据。大家使用卷积神经层来处理图片数据,具体做法是使用一个3×3的方格逐行逐列扫描整张图片,然后将其中的9个像素值以相同的权重值输出到下一层的一个门中。这个3×3的窗口是用来识别一个特征的,比如拐角、边沿、眼睛或者鼻子。然后在这些卷积层后面放置池化层,池化层用于减少网络的规模,比如将2×2的窗口中的元素平均值或最大值输出到下一层。AlexNet包含了5个卷积层和3个全连接层,这个网络真正开始了深度学习。


接下来我想谈一谈“激活空间”的概念。如果你把一个图像放进来,你可以尝试在不同层的门计算每一个门的值。给定某一个图像的话,比如说它有固定的门的输出量,我称之为“激活空间”或者叫“矢量空间”。这里有一个矩阵,横轴是网络中的门,纵轴是图像。这里的矢量可以看行也可以看列,行指的是在某一个门中,它会告诉你图像对应的门到底有多少个;看列的话,对于某一个图像,它到底里面有多少个门。


从激活矢量的角度来说,我们去不断寻找激活矢量就能够反推出这个图像。如果把这个图像放到卷积神经网络中,激活矢量就会组成一个矩阵,我们称之为图像的风格。这个矩阵之所以和风格有关系,是因为它能够告诉你与它比较相近的的风格或者特点。卷积神经网络可以帮助我们实现图片的风格迁移,比如说以康奈尔大学这张图片作为原始内容,把这张中国画作为风格信息,这两者相组合就能够出来不同的风格效果。


另外一点非常有意思的是,基于我们现有的设备,进行深度神经网络训练通常需要几周时间。问题就在于这些网络是否必须经过训练才能够做出不同风格的照片,还是用随机权重去重新制作照片也能达到同样的效果。我们需要研究的是如何又快又好地对网络结构进行表现评估,加速我们网络训练的时间。


我还想给大家留下一些非常值得研究的问题。每一个门能够学到什么东西?随着时间的流失,这些门是如何学习的?如果我将一个网络训练两次,最开始用随意权重进行训练,网络和门学习到的最终结果是否一样?其中一点,当你在训练一个网络时,你肯定有很多训练数据,其中可能会有很多本地小的数值,错误率非常相近。我们的问题在于,哪一个训练的网络能够有更强的规划能力?也就是说,同样的测试数据,哪个结果会更好。从统计学角度来说,训练数据实际上是从一个大的数据集当中选出来的,所以这个全数据集的错误率不应该和选取一部分的数据集的错误率有太大的差别。但是其实我们发现其实在某些地方,在使用不同权重之后,使用训练数据和全数据的错误率差别还是非常大的。深度神经网络的损失函数有很多局部极小值点,有些极小值比其他的好。如何保证我们在训练的过程中能够找到一个好的局部极值点?这是很值得研究的方向。


还是回到语言学习,有实验表明,同时学习两门语言会使得其中一门语言更加熟练。因此如果有两项任务,我们是应该分开学还是应该一起学?如果我们一前一后学习两项任务,这两项任务是否在不同的激活区域?对于孩子而言,如果让他们在很小的年纪就学两种语言,这两种语言共享大脑同一块激活空间。但如果他们成人以后再学一种语言,这两种语言就是放在大脑不同的位置。


一个当前比较火的例子就是生成式对抗网络,这两个网络就属于一前一后学习的情况。我们以语言翻译为例,首先我们会先列举一些英语单句,并找出一些与之对应的德语词汇。其次我们要生成一个判别器,用于判定放入的德语词汇到底能够组成一句完整的句子,或者仅仅只是单词的集合。在反复训练和测试中,这个判别器最终也难以分辨出某句话是机器生成还是自然语言,这能够帮助我们实现相当不错的翻译效果。


大量的数据赋予我们训练网络的能力基础,最近深度神经网络很火,但是深度神经网络很容易被欺骗。

上图所示有两只人眼看来几乎没有区别的猫,左边的猫能够被正确识别出来,但右边的却被错误识别为汽车,原因就是右边的图改动了几个像素,导致了深度神经网络的识别错误。因此尽管深度神经网络可以在某些特定的任务特定的数据集上达到甚至超过人的水平,但是它并不是真正的人工智能,距离人的智能还有很长的路要走。


经常会有人问我:“人工智能实现了吗?”在目前的发展阶段,我觉得人工智能实际上就是高维空间的模式识别,以图像识别为例,人工智能无法做到抽象物体的功能或其他属性。


想要学习演讲全文,请戳下方视频观看:

https://v.qq.com/x/page/j0502dm40po.html







 

Source: 微软亚洲研究院 | 24 Nov 2017 | 11:18 pm(NZT)

ICCV | 深度三维残差神经网络:视频理解新突破

编者按:随着互联网的不断发展,可处理视频的深度神经网络远比普通神经网络更难训练,如何减轻训练负担成为了一项不可忽视的工作。来自微软亚洲研究院多媒体搜索与挖掘组的研究成果“Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks”,在正在举办的International Conference on Computer Vision (ICCV) 2017会议上发布,它专注于如何利用大量视频数据来训练视频专用的深度三维卷积神经网络,提出一种基于伪三维卷积(Pseudo-3D Convolution)的深度神经网络的设计思路,并实现了迄今为止最深的199层三维卷积神经网络。通过该网络学习到的视频表达,在多个不同的视频理解任务上取得了稳定的性能提升。


1993年9月,一款名为NCSA Mosaic的浏览器正式支持在网页内嵌入图片,这标志着互联网从纯文本时代迈入了“无图无真相”的多媒体时代。如今,随着互联网带宽的提升和高速移动设备的普及,信息的获取途径和传播途径也在与日增加,视频逐渐成为互联网多媒体消费的重要组成部分。



从传统的视频分享网站到电视电影节目的网络化,再到现在新兴的视频直播网站和小视频分享网站,互联网视频已经进入了爆炸式发展的新阶段。据统计,仅仅以视频分享网站YouTube为例,平均每分钟就有约300小时的视频上传到YouTube上,每天的视频观看次数更是高达50亿次。数量如此巨大的视频内容与观看次数对视频处理、分类、推荐等常见视频相关技术提出了更高的要求,也提供了更广阔的应用场景。



在视频处理相关技术中,视频特征描述学习(Representation Learning)是一个最基本的问题。学习视频的特征表达是几乎所有视频处理和分析的基础,其中包括视频标注、动作识别、视频监控、视频检索、视频场景识别、视频分割、视频自然语言描述和基于视频的人机交互等等。


然而目前视频识别的相关研究多数使用的是基于图像的卷积神经网络(如微软研究院在2015提出的残差神经网络ResNet)来学习视频特征,这种方法仅仅是对单帧图像的CNN特征进行融合,因此往往忽略了相邻的连续视频帧间的联系以及视频中的动作信息。目前,视频专用的深度神经网络还很缺乏。


在正在举行的International Conference on Computer Vision (ICCV)2017会议上,微软亚洲研究院发布了多媒体搜索与挖掘组最新的研究成果——Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks[1]。这项工作主要集中在如何利用大量视频数据来训练视频专用的深度三维卷积神经网络,它提出了一种基于伪三维卷积(Pseudo-3D Convolution)的深度神经网络的设计思路,并实现了迄今为止最深的199层三维卷积神经网络。通过该网络学习到的视频表达,在多个不同的视频理解任务上取得了稳定的性能提升。



基于三维卷积神经网络的视频特征提取

为了使用深度神经网络来提取视频中时间和空间维度上的信息,一种直接的思路就是将用于图像特征学习的二维卷积拓展为三维卷积(3D Convolution),同时在时间和空间维度上进行卷积操作。如此一来,由三维卷积操作构成的三维卷积神经网络可以在获取每一帧视觉特征的同时,也能表达相邻帧随时间推移的关联与变化,如下图所示。



然而这样的设计在实践中却存在一定的困难。首先,时间维度的引入使得整个神经网络的参数数量、运行时间和训练所需的GPU内存都将大幅增长;其次,随机初始化的三维卷积核需要大量精细标注的视频数据来进行训练。受困于以上两点,近些年关于三维卷积神经网络的发展十分缓慢,其中最著名的C3D[2] 网络只有11层,模型大小却达到321MB,甚至大于152层ResNet[3] 的235MB模型。


深度伪三维卷积神经网络设计

为了解决以上的局限性,我们提出了一系列基于伪三维卷积和残差学习(Residual Learning)的神经网络模块,用以同时在时间和空间上进行卷积操作。其中,伪三维卷积是这个网络结构的核心操作,基本思想是利用一个1*3*3的二维空间卷积和3*1*1的一维时域卷积来模拟常用的3*3*3三维卷积。通过简化,伪三维卷积神经网络相比于同样深度的二维卷积神经网络仅仅增添了一定数量的一维卷积,在参数数量、运行速度等方面并不会产生过度的增长。与此同时,由于其中的二维卷积核可以使用图像数据进行预训练,对于已标注视频数据的需求也会大大减少。结合残差学习的思想,该论文提出三种不同的伪三维卷积残差单元(P3D-A,P3D-B,P3D-C)分别使用串行、并行和带捷径(shortcut)的串行三种方式来确定空间卷积和时域卷积之间的关系。



通过使用以上三种伪三维残差单元替代152层ResNet中的二维残差单元,该工作得到了目前最深的199层三维卷积网络结构。最终经过ImageNet数据集中的图片数据和Sports-1M(包含了487个类别的百万级视频片段)[4] 视频数据的训练,该网络在视频动作识别(Action Recognition)、视频相似度分析(Video Similarity)和视频场景识别(Scene Recognition)三个不同的视频理解任务上均获得了稳定的性能提升,并且在CVPR 2017的Activity Net Challenge的Dense-Captioning任务中获得第一名。



除了利用伪三维卷积网络提取特征外,该网络还可以作为其它方法的基本网络结构,从而提升其它基于神经网络方法的视频识别性能。以双流(Two-stream)方法为例,在UCF101的视频动作识别任务上,如果使用伪三维卷积网络作为基本网络结构,实现的Two-stream框架无论是单个帧分支(Frame)与光流分支(Flow),或者是最终两个分支合并的结果,都超过了其它网络结构。



以上的实验结果验证了伪三维卷积残差网络可以有效学习来自大量图像和视频训练数据中的类别信息。在与二维卷积残差网络和传统三维卷积网络的对比中,该结构成功地提升了在不同视频识别任务上的性能。关于伪三维残差网络相关的代码和模型详见https://github.com/ZhaofanQiu/pseudo-3d-residual-networks。



神经专用神经网络的发展方向

该工作基于伪三维卷积和残差结构给出了训练超深度三维卷积网络的可能性,然而本文中提到的神经网络目前主要针对视频分类问题。面对纷繁复杂的视频内容与视频应用需求,单一的神经网络很难满足。针对不同的应用,视频专用神经网络有以下三个具有潜力的发展方向:


第一,视频检索(Video Search)专用神经网络。视频检索、视频推荐是大型视频分享网站所要面对的首要问题,给予用户良好的检索体验,并适当地推荐用户需要的视频内容,帮助用户快速地找到自己感兴趣的视频。


第二,视频分割(Semantic Video Segmentation)专用神经网络。视频分割的目标在于像素级别地分割出视频中的人、车等常见物体。而随着AR/VR技术的发展,像素级别的目标识别可以辅助许多不同的AR/VR相关应用,这也促进了视频分割的发展。


第三,视频生成(Video Generation)专用神经网络。随着用户越来越容易地在不同设备上进行视频拍摄,非专业用户对视频的自动/半自动编辑、美化也逐渐有了更多的需求。因此,视频生成神经网络便可以帮助用户编辑创作自己的视频作品。


随着卷积神经网络的发展,人工智能在很多图像相关任务上的性能都产生了飞跃,也有大量相关技术从学术圈慢慢地走进了我们的生活。但是由于视频包含信息太过复杂,大数据的获取、存储、处理均存在一定困难,导致视频相关技术在很多方面仍然进步缓慢,相信随着视频专用卷积神经网络的发展,这部分的不足也会逐渐被弥补。


无论是文本、图像还是视频,人工智能的发展在满足互联网用户需求的同时也始终推动着用户习惯的变迁。有了合理的算法对视频进行分析、推荐,可以帮助互联网用户获得更好的浏览体验;有了用户更好的反馈及更大的点击量,可以让视频产业规模进一步扩大;更大规模的视频数据会进一步对视频相关算法提出更高的要求。在这样的循环之下,视频产业本身必将伴随着视频相关算法快速地发展,迎接更美好的未来。


参考文献

[1] Z. Qiu, T. Yao, T. Mei.Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks. InICCV, 2017.

[2] D. Tran, L. Bourdev, R. Fergus, L. Torresani, and M.Paluri. Learning spatiotemporal features with 3d convolutional networks. InICCV, 2015.

[3] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In CVPR, 2016.

[4] A. Karpathy, G. Toderici, S. Shetty, T. Leung, R.Sukthankar, and L. Fei-Fei. Large-scale video classification with convolutional neural networks. In CVPR, 2014.

作者介绍

邱钊凡,微软亚洲研究院和中国科学技术大学联合培养博士生,导师为梅涛研究员和田新梅副教授。主要研究方向包括视频特征学习、视频动作识别和多媒体内容分析。他曾于2015年在中国科学技术大学获得学士学位,并于2017年获得微软学者奖学金。


姚霆博士,微软亚洲研究院多媒体搜索与挖掘组研究员,主要研究兴趣为视频理解、大规模多媒体搜索和深度学习。他带领研究团队在COCO图像描述自动生成、2017年VISDA视觉领域自适应语义分割任务、2016&2017年ActivityNet视频行为识别等多个国际级比赛中取得了世界领先的成绩。他于2014年在香港城市大学获得计算机科学博士学位并于2015年荣获SIGMM Outstanding Ph.D. Thesis Award。


梅涛博士,微软亚洲研究院资深研究员,主要研究兴趣为多媒体分析、计算机视觉和机器学习。他的研究团队目前致力于视频和图像的深度理解、分析和应用。他同时担任IEEE 和 ACM 多媒体汇刊(IEEE TMM 和 ACM TOMM)以及模式识别(Pattern Recognition)等学术期刊的编委,并且是多个国际多媒体会议的大会主席和程序委员会主席。他是国际模式识别学会会士,美国计算机协会杰出科学家,中国科学技术大学和中山大学兼职教授。



感谢你关注“微软亚洲研究院”,我们期待你的留言和投稿,共建交流平台。来稿请寄:msraai@microsoft.com。


 

Source: 微软亚洲研究院 | 18 Nov 2017 | 8:00 pm(NZT)

微软学者 | 以前沿视角,做计算机领域的瞭望者

​编者按:2017微软学者奖学金在第十九届“二十一世纪的计算”大会上如期揭晓,经过重重筛选包括李博杰在内的十位博士生最终获此殊荣。

自1999年起,“微软学者”项目就在为支持优质博士生科研工作不断努力。迄今为止,逾百名“微软学者”获得者已在各自领域大放异彩,无论是聚焦软件工程,还是探索最前沿的人工智能技术,他们都在为推动技术以及行业的进步不遗余力。今年9月,30多名往届“微软学者”获得者共聚微软亚洲研究院博士生论坛,讲述了他们与“微软学者”的那些事儿。


学术机遇,前沿视角


2011年,还在北京大学读本科的张洁拿到了一张微软“二十一世纪的计算”大会门票,“清楚记得,当时我和我们的年级第一坐在一起听大会,微软学者奖学金颁奖时,我脑子里在想:年级第一以后估计也很难评上这个奖吧……嗯至于自己,我连想都没想。”

五年之后,张洁的论文多次被顶级会议接收,评审人对她工作的高度评价使她对自己的科研能力有了更多的自信,申请2016微软学者奖学金之后,“想都没想”的张洁成为当年的获得者之一。张洁认为,这项荣誉对她而言意义非凡。首先是受到了巨大鼓舞,坚定了从事科研事业的决心;其次是随着获奖而来的学术机遇和开阔视野的机会。“当时我们去韩国延世大学参加颁奖典礼,并有幸和图灵奖获得者Adi Shamir教授共进午餐,与Shamir教授和其他获奖者的交流让我有机会了解到不同领域的研究动向。”

接下来,张洁在微软亚洲研究院进行了为期六个月的研究实习,参加了各种高质量的讲座,感受到了微软亚洲研究院充满无限可能的科研环境,认识了很多优秀的实习生,在mentor的指导下参与到了有巨大价值的项目。目前张洁的研究方向是终端用户编程(end user programming)。她的研究内容广泛利用了AI技术来解决软件工程中的常见问题,如预测程序执行结果、测试用例自动生成、代码自动重构等。同时,她也正在研究如何利用软件工程技术保障AI系统质量、检测AI算法过拟合等问题。“对于我来说微软学者奖学金意味着新的机遇和不断开阔的视野,相信若干年后回首,我会发现这段经历对我人生影响的巨大和弥足珍贵。”

2016微软学者奖学金获得者张洁

对于正在麻省理工学院(MIT)攻读博士后的邓栋而言,获得微软学者奖学金之后最直接的获益就是交际圈扩大之后带来的学术机遇。邓栋提到:“在颁奖典礼之前,我有邮件过Michael Stonebraker教授,后来在2015年的微软学者颁奖典礼当天的‘微软学者圆桌对话图灵奖’活动中我有幸亲见Stonebraker教授,并在会后跟他进一步深入交流,之后不久便收到了offer成为了他的博士后。”因此,邓栋特别感激微软学者奖学金为自己提供的交流平台和学术机遇。

除了结识导师,与同辈人才建立联系也是不可多得的机会。“有一天微软学者奖学金的负责人Lily姐跟我说2015届10位微软学者中居然有三位在MIT念博士后,得知这一消息的我,与王灏和来自韩国KAIST的Tae-Hyun在MIT好好聚了一下,并感慨微软学者对于我们博士生的助力是多么强大。”

目前,邓栋正在做有关数据清洗和数据集成的研究。现今机器学习大热,数据的数量越多、质量越高,生成的模型就会越准确。而各种数据的来源不同,就需要对数据进行集成和清洗,为机器学习做好数据的准备工作。未来邓栋期待在产业需求与产业支持的背景下从事有影响力的应用研究,微软学者奖学金帮助他建立起的学术人脉也就显得弥足珍贵。

2015微软学者奖学金获得者邓栋

结识同道,拓展科研边界


刚刚开始创业的微软学者陈力认为,获得微软学者奖学金对自己最大的帮助就是可以结识领域内的很多研究员。陈力原本的研究方向是无线和网络,目前做的创业项目是基于TensorFlow的一个加速框架。TensorFlow是一个使用者较多的深度学习计算框架,而陈力想要使用比较先进的、来源于超级计算的RDMA网络技术来加速算法在TensorFlow上的运行速度,最后做出发行版提供给企业用户。因为目标用户正是相关计算机领域的研究人员和开发者,对陈力而言,与通过微软学者奖学金结识的微软研究员和优秀的同仁们进行交流,帮助他更好地了解了用户的需求。“我可以了解到大家平时是怎样使用TensorFlow的,在加速方面有什么需求。“比如说,因为我们那年颁奖是在韩国首尔,我就认识了韩国同学Noh,后来我又认识了王太峰研究员等人,跟他们交流让我了解到真正在研究AI的人是怎么思考的,这对我之后的创业很有帮助。”

2016微软学者奖学金获得者陈力

同样准备创业的刘强认为,获得微软学者奖学金对自己最大的帮助首先是结识了志同道合者的朋友,同道之间的交流对科研有着难以估量的助益。其次,微软学者奖学金在领域内认可度很高,“出去讲的时候就是一个title,像一个闪亮的logo一样。”这对年轻人在领域内拓展人脉非常有帮助。另外,获得奖学金后,刘强也应邀到微软亚洲研究院实习“我感觉在学校还是相对封闭的,至多以项目的形式接触工业界,更多的时间是在发表论文,解决一个自己认为存在的问题。但是在微软,科研的边界得到了极大的扩展,更多地去解决真实世界会遇到的重要问题。同时,不像大多数互联网公司的研究以KPI为导向,微软在解决问题的同时还会关注技术前沿性与科研影响力,在学术界与产业界达到了一个比较理想的平衡。”刘强向我们分享了他的观察。

2016微软学者奖学金获得者刘强

科研世界,助力AI进步


Hyeonwoo Noh在博士二年级就获得了微软学者奖学金。Noh主要从事计算机视觉、机器学习领域的研究工作,目前的研究兴趣在于将神经网络应用于不同的问题与场景,也就是利用一套算法学习隐含在数据背后的规律,做到“举一反三”。Noh坦言,之前在实验设定上遇到过比较大的困难,因为问题涉及面比较广,很多时候难以给出准确的定义,因此需要慎重设计每一项任务,仔细处理多任务系统中的每一项数据。内容的庞杂给目标的实现带来了很大挑战。而科研工作遇到问题时,交流往往会带来意想不到的新思路。“获得微软学者奖学金最大的收获就是认识很多优秀的研究员。遇到困难时常常会和他们交换看法,然后不断完善自己的研究思路,对我的项目很有帮助。”Noh说很期待未来能与微软学者们以及微软的研究员们展开更多合作。

2016微软学者奖学金获得者Hyeonwoo Noh

另一名微软学者奖学金获得者西田惇(Nishida Jun)是日本筑波大学Cybernics研究中心博士生,曾获得日本文部科学省奖学金。他的研究内容是利用可穿戴设备去延展人的认知和活动能力,并应用到医疗辅助方面。目前他是微软研究院机器人与人机交互组实习生,研究利用设备和微软产品探索新的人机交互方式。

获得微软学者奖学金之后,西田惇曾经和2015微软学者Tatsunori Taniai一起在日本组织了一次workshop。他们邀请了微软日本的研究员、日本高校的青年教师、往届微软学者、微软实习生等“我们非常充分地交流了学术,了解了在学术界和微软工作的情况,也搭建了很多人脉。”西田惇回忆道。而微软学者奖学金的称号也为他带来了很多个人机遇,获得奖学金之后,来自企业的科研合作邀请大幅增加,“我想,其他公司看到微软把奖颁给我,就自然觉得我的研究有应用到工业界的价值吧。”他笑道“感谢微软学者奖学金对我的支持和帮助。”

2016微软学者奖学金获得者西田惇

“微软学者”奖学金

“微软学者”奖学金是微软亚洲研究院1999年启动的一项面向亚太地区计算机科学以及相关专业的优秀博士生的项目。该奖学金项目旨在发掘、支持和鼓励优秀的、有潜力的低年级博士生更好地开展研究工作。除了奖学金之外,微软学者会被邀请至微软亚洲研究院与全球顶尖的研究员一起进行学术研究,有机会与图灵奖获得者面对面。截止至今,先后有300多名优秀的博士生获得微软学者称号。其中多位微软学者已经成为学术界中流砥柱或耀眼新星,也有多位微软学者成为工业界翘楚。


微软亚洲研究院博士生论坛

微软亚洲研究院博士生论坛旨在为优秀的博士生提供一个交流学术、碰撞思想、展现风采的舞台。论坛每年邀请微软学者奖学金获得者、提名奖获得者以及高校推荐的其他优秀博士生参加。


 

Source: 微软亚洲研究院 | 10 Nov 2017 | 11:19 pm(NZT)

SOSP:计算机系统研究的风向标

​SOSP(操作系统原理大会)自1967年创办以来,两年一届,已经有50个年头了。从1969年的UNIX系统到21世纪初的MapReduce、BigTable、GFS,系统领域一系列最有影响的工作都是发表在SOSP以及与它隔年举行的兄弟会议OSDI上。如果把SOSP和OSDI历年最具影响力(Hall of Fame Award)的论文汇集成册,就是大半本操作系统和分布式系统的教科书。作为系统领域的最高学术会议,SOSP和OSDI每年只收录30至40篇高质量论文,因而能够在SOSP上发表论文是系统研究者的荣誉。

SOSP’17开幕式(图片来源:陈海波教授)​


今年,SOSP首次走出北美和欧洲来到中国上海,微软亚洲研究院副院长周礼栋博士和上海交通大学陈海波教授担任本届大会组委会主席,康奈尔大学Lorenzo Alvisi教授和密歇根大学Peter Chen教授担任程序委员会主席。本届SOSP会议创下了多项记录和第一:最多的注册参会者(850位);最多的赞助商数量和金额;首次提供会议直播和在线提问;首次设立了AI Systems Workshop,共商AI系统这个新生的重要应用;由微软研究院赞助,首次举办了ACM学生研究竞赛(SRC),吸引到40多篇投稿。

Ada Workshop参会人员合影​


特别值得一提的是,本届SOSP大会首次在美国以外举办了Ada Workshop。微软亚洲研究院联合SOSP'17,邀请了国内外多位女性研究员,共同探讨计算机系统领域的未来。1987年,美国计算机科学家Anita Borg参加SOSP’87大会,惊讶地发现自己是唯一的女性科学家,由此三十年如一日地推动提升女性在计算机科研中的地位。如今,女性研究者在系统研究领域的声音已经举足轻重。本届SOSP唯一两次上台演讲的论文作者Kay Ousterhout就是UC Berkeley的女性博士毕业生,她的导师Sylvia Ratnasamy也是著名的女性科学家。我们希望Ada Workshop能助力系统研究领域的女性快速成长,激励更多心怀梦想的女性投身系统研究领域。

微软在SOSP’17大会上的展台​


本届SOSP会议吸引了来自五大洲23个国家和地区的232篇投稿,录用论文39篇,投稿数量比上届增加了30%,录用率保持不变。微软不仅是SOSP’17的金牌赞助商,还发表了8篇主会论文(其中第一作者论文4篇),是发表论文最多的机构(第二名为麻省理工学院,发表论文6篇)。SOSP的55位审稿人都是学术上的泰山北斗,对审稿工作极其严肃认真,每篇投稿平均收到4.9个审稿意见,每个审稿意见平均长达6.5 KB。审稿结束后,程序委员会选出76篇论文,由23位主要审稿人经过两天的会议,选出最终录用的39篇论文。

​北京航空航天大学与微软亚洲研究院联合培养的博士生肖文聪在AI Systems Workshop上展示研究成果。AI系统是微软亚洲研究院系统组的主要研究方向之一。


​微软亚洲研究院实习生左格非在SOSP学生研究竞赛(SRC)上向SIGOPS主席Robbert van Renesse教授展示研究成果,该成果获得本科生组银牌。


39篇主会论文采用single track形式满满地排在三天的13个session里,每篇论文都有25分钟的口头报告和提问,涵盖了寻找bug、可扩放性、网络计算、资源管理、操作系统内核、验证、系统修复、隐私、存储系统、安全、故障诊断、数据分析等多个领域。

下面我们将从让系统更高效、更可靠两个方面,与大家分享SOSP上的系统研究最新进展。


更高效的数据中心


​摩尔定律对CPU而言基本上终结了,但对GPU、FPGA、TPU等定制化硬件而言仍在继续


如今的数据中心越来越像一个仓库规模的大型计算机,而不再是传统意义上松散的分布式系统。一方面,硬件的计算与互联性能越来越高,例如网络的速度与PCIe总线、DRAM总线的速度已经相差不远了,RDMA也可以把延迟从几百微秒降到几微秒;NVMe SSD的延迟在100微秒量级,比机械硬盘延迟低了两个数量级,NVM(非易失性内存)更是把延迟进一步降低了两个数量级;GPU、FPGA、TPU等加速设备的能效在很多场景下比CPU高两个数量级。然而传统操作系统访问外设、任务切换和多核同步的机制不能充分利用日新月异的硬件性能。

​可编程的数据中心硬件,微软使用搭载了FPGA的可编程网卡作为数据中心加速平面


另一方面,数据中心硬件的可编程性越来越强。例如可编程交换机和可编程网卡使得网络除了转发数据包以外还可以做缓存、聚合和调度。CPU支持的硬件虚拟化、PCIe设备支持的SR-IOV虚拟化、CPU支持的SGX安全容器和TSX事务内存,提供了很多软件难以高效实现的隔离性,对多租户的云环境至关重要。RDMA/RoCE网卡、GPU-Direct、NVMe Over Fabrics等技术使设备间可以绕过CPU直接互联。如何在系统设计中充分利用这些可编程性成为了系统研究领域新的挑战。


分布式协调的性能瓶颈


本次SOSP上约有半数的论文致力于提高系统的性能。其中的一个常见性能瓶颈在于分布式协调,且节点数量越多瓶颈越严重。

分布式协调的第一个问题是多个节点(服务器或者CPU核)负载不均衡,热点节点的最坏情况延迟(tail latency)较高。一种解决方案是用集中分配取代分布协调。在键值存储(key-value store)系统中,NetCache用可编程交换机作为缓存,实现了同一机柜内不同服务器间的负载均衡;KV-Direct用可编程网卡作为缓存,可以实现同一服务器内不同CPU核间的负载均衡;另一种解决方案是重新分配任务。在网络处理系统中,ZygOS在IX基础上构建(让网卡把任务分配到多个CPU核对应的不同队列),为了负载均衡,空闲的CPU核从其他核的队列里“窃取”任务(work stealing),并利用核间中断(IPI)降低响应包的处理延迟。

​Linux文件系统的系统调用接口之间有很多共享内存冲突,ScaleFS消除了绝大部分冲突情况(图片来源:Scaling a file system to many cores using an operation log, SOSP’17)


分布式协调的第二个问题是通信占用的带宽和延迟较高。一种办法是在语义上减少冲突,使各个节点互不干扰。在文件系统里,ScaleFS基于可交换的文件系统API(sv6)来改进语义冲突较多的LinuxAPI,在内存里构建了一个核间无冲突的文件系统抽象,把各个核的文件系统操作记录到日志里,需要写盘的时候再合并不同核的日志;在数字货币系统中,为了高效实现互不信任的大量节点间的拜占庭共识,现有系统往往需要竞争“挖矿”来选出代表,而Algorand利用可验证随机函数(VRF),无需通信和大量计算就可选出公认的代表;在匿名通信系统中,Atom系统通过对用户随机分组,无需全网所有节点互相通信,就能实现匿名广播,并以很高概率发现不诚实的节点。另一种减少分布式协调中通信开销的方法是引入中心节点。Eris利用网络上天然的中心(可编程交换机)来充当“顺序发号器”,用很低的开销实现了严格按序广播消息,进而大大简化分布式事务中的并发控制。为实现多核共享内存的并发控制,ffwd把往常用原子操作实现的“抢锁”操作委托给一个CPU核来做协调,实现了更高的吞吐量。


系统接口抽象


系统领域有句名言,”计算机科学的任何问题都可以通过增加一个中间层来解决”。过于底层的接口会导致上层应用编程复杂,并发访问时还面临一致性问题。例如,LITE和KV-Direct两篇论文都指出,RDMA的抽象并不完全适合数据中心应用。首先,RDMA把缓冲区管理等底层信息暴露给用户,使得RDMA编程比TCP socket复杂很多,而且在连接较多的情况下,内存地址虚实映射表很容易导致网卡缓存溢出。为此,LITE提出了一套更灵活易用的API,并把虚实映射的工作从网卡转移到CPU。其次,对于需要多次内存访问才能完成一次操作的数据结构,为了保证数据结构操作的原子性,多个客户端的并发写操作有较高的同步开销。为此KV-Direct把RDMA内存访问语义扩充到了键值操作的更高层语义,在服务器端的可编程网卡中实现了并发原子操作的乱序执行。

​百度提出的USS,把socket语义翻译到RDMA。学术界也有多个类似工作。


然而抽象的层次不是越多越好。抽象层次过多时,两个中间层可能做了重复的事情,反而不能充分利用底层硬件的性能。例如,在虚拟化环境中,每个虚拟机往往只做一件小事,此时虚拟机操作系统的调度、资源管理等抽象就显得多余。Unikernel的设计应运而生,把应用程序、运行库和内核中的驱动程序编译到一起,成为一个不分用户态和内核态的轻量级虚拟机;对于系统调用较为复杂或者需要多进程的应用,也可以用Tinyx为应用定制精简的Linux“发行版”,仍然使用Linux内核,但启动速度快了很多。再如,SSD上的键值存储可能组织成日志树(log-structured tree)的形式,而SSD底层的FTL也是类似的结构,NVMKV就把两者合并,降低了写操作的开销。

​为应用定制的Unikernel (右) 与Linux (左) 的比较(图片来源:Unikernels: The Rise of the Virtual Library Operating System, ACMQueue, Jan. 2014)


经典的抽象背后可能藏着很多不必要的功能和不适合现代硬件架构的设计。众所周知,新生的用户态网络协议栈和文件系统比Linux内核的实现高效得多。ScaleFS及其研究组之前的工作表明,Linux的系统调用接口存在很多不利于多核扩放的设计。一篇在64 KB的嵌入式计算机(如Yubikey这样的USB令牌)上用Rust实现多进程、隔离和内存共享的论文说明现代操作系统的核心机制并不复杂。NVMM(非易失性内存)的低访问延迟意味着应用需要mmap直接访问NVMM(无需经典文件系统中的物理内存缓存),然而持久化存储的一致性又要求有快照和纠错功能,NOVA-Fortis文件系统就是为此设计。在论文Strata: A Cross Media File System中,作者也指出,传统文件系统把一个小的写操作放大成一整块的写操作,本是为机械硬盘和SSD设计的,但是对能高效执行小的随机写的NVM就浪费了。


即使CPU提供的抽象缺少某些功能,系统设计者也往往能够用软件来实现,而无需等待千呼万唤始出来的下一代硬件。例如,ARM v8.0不支持嵌套虚拟化,NEVE系统就采用半虚拟化(para-virtualization)的方法,修改内层虚拟机(guest hypervisor)的软件,模拟调用外层虚拟机的陷门(trap)。再如,Intel SGX不支持动态分配内存,也存在操作系统通过缺页异常来侦测受保护代码行为的安全漏洞,Komodo就用经过验证的软件取代CPU硬件实现的特权指令,实现更快和更灵活的演进。因此,高性能系统不意味着把软件里尽可能多的功能放进硬件,而是找到软硬件之间合理的边界和接口。


“万金油”系统

传统流式处理与数据库系统(左)与Wukong S(右)的比较  (图片来源:Stateful Stream Querying over Fast-evolving Linked Data, SOSP’17)


除了解决现有系统的瓶颈,另一个系统研究的方向是构建多种应用场景下都能高效工作的系统。例如,流处理系统往往假定流计算函数是持续运行且无状态的,而数据库系统假定数据在查询执行过程中是不变的,这就很难在一个系统里同时做持续运行的流式查询和一次性的简单快照查询。Wukong S系统在去年OSDI的Wukong系统基础上更进一步,把不随时间改变的状态和随时间改变的状态分开存储,使流式和一次性查询都可以高效完成。类似地,在OLAP与OLTP共存的数据库系统中,如果OLAP查询在一个快照上运行,获得的统计信息是陈旧的。获得SOSP学生研究竞赛研究生组金牌的Xylem系统把OLAP查询看成一个视图,OLTP修改数据时增量更新视图,这样OLAP的结果就能反映数据库的最新状态。再如,流处理系统延迟低但恢复时间长,批处理系统能快速恢复但延迟高。Drizzle系统把数据处理周期和故障恢复周期解耦合,实现了低延迟、快速恢复的流处理。


更可靠的系统


​SOSP开幕式上,会议主席对OSDI 2018关键词的建议


在生产环境中,相比性能,可靠性往往是更重要的考虑因素。今年SOSP开幕式上,会议主席列举了若干希望在明年OSDI上看到的词,其中包括了enclave、specification、crash、bug、verification和testing。提高软件可靠性有几个途径:找bug、形式化验证、故障诊断与恢复、虚拟化与隔离。

最佳论文DeepXplore自动生成的测试用例,第一行是原图,第二行改变光照条件;第三行是另一组原图,第四行增加干扰方块(图片来源:DeepXplore: Automated Whitebox Testing of Deep Learning Systems, SOSP’17)


今年SOSP的两篇最佳论文都在可靠性领域,一篇提出了深度神经网络的自动白盒测试问题,一篇提出了高效Web服务器审计问题,两篇论文提出的问题新颖且重要,并给出了漂亮的解法。DeepXplore指出,之前深度对抗网络生成的测试用例既不现实也不全面。类比软件测试代码覆盖率,提出了神经网络测试覆盖率的概念,一个神经网络输入如果使得某个神经元处于激活状态,就认为覆盖到了这个神经元。DeepXplore还提出了一种优化方法来生成测试用例最大化神经元覆盖率,在自动驾驶、恶意软件识别等神经网络中发现了很多被错误识别的边界情况。

另一篇最佳论文旨在通过记录Web服务器的执行过程,发现异常的Web服务器行为(如程序被篡改,或不可信的服务提供商)。Web服务器对共享对象的访问和网络交互都被记录下来,这样一个请求的处理过程就是纯函数式的。用类似符号执行的方法把多个请求的处理过程合并起来推导,使得验证器的时间开销比重复执行每个请求大大降低。微软的另一篇论文CrystalNet也致力于高效仿真问题。传统网络仿真器在仿真大规模网络时速度缓慢,且很难仿真控制平面的软件,然而大多数网络故障的原因在于控制平面而非数据平面。为此微软使用虚拟机或容器来仿真交换机固件和网络控制器,模拟控制平面的行为,并仿真广域网上其他运营商的行为,使得数据中心规模的网络仿真成为可能。

CPR系统自动修复错误的网络配置(图片来源:Automatically Repairing Network Control Planes Using an Abstract Representation, SOSP’17)


当系统出现故障时,需要做两件事情。一方面,应当能够自动修复到一个可用的状态,保证服务的可用性。微软研究院参与的CPR系统能够在网络控制平面发生故障时自动调整路由来满足一些事先指定的网络可达性约束。MittOS则是当队列过长、有超过最高允许延迟的风险时主动拒绝请求,让应用去其他的副本(replica)处理。另一方面,应该留下足够的日志,以便运维人员详细调查、彻底解决。由于系统状态的复杂性和运行过程中的不确定性,即使有了日志,复现bug也是众所周知的难题。Pensieve系统模仿人类分析bug的方法,使用静态分析的方法从最可能的几个错误发生位置开始,根据控制流和数据流倒推,跳过跟错误很可能无关的大部分代码,直到外部输入(API调用),由此生成测试用例。

自动生成测试用例找bug固然不错,但经过形式化验证的系统才能保证不存在特定类型的bug。然而形式化验证往往需要比开发代码多一个数量级以上的人力来写证明,大大限制了其在工业界的应用。HyperKernel通过对内核编程进行限制来实现自动化证明,其中最重要的限制是不能有无限的循环和递归,这也是P4和ClickNP这两个给交换机和网卡编程的高级语言的要求。一些系统调用接口需要修改,把不定次数循环转移到用户态。此时,内核的控制和数据流图就是有向无环图,对HyperKernel而言可以遍历所有执行路径来自动验证程序员指定的规约,对硬件加速而言也可以映射到交换机查找表或FPGA逻辑电路。


小结


​中国科学技术大学师生在SOSP的合影,其中包括微软亚洲研究院系统组发表的KV-Direct共同第一作者李博杰(后排右三)、阮震元(后排右一),以及来参加SOSP学生研究竞赛的微软亚洲研究院系统组实习生陆元伟(前排右二)、崔天一(前排左二)、左格非(后排左七)。


首次在中国召开的第26届SOSP会议吸引了众多平日难得一见的学术界大佬,也给了很多中国师生一次体验顶级学术会议的机会。重要的问题、创新的设计和扎实的实现是能在顶级系统会议上发表的三个要素。当然,论文发表只是一小步,一个系统要产生影响力,还是需要找到真实的应用场景,这也是笔者未来努力的方向。点击阅读原文,了解更多大会论文。


作者介绍

​李博杰,本科毕业于中国科学技术大学少年班学院,2014年加入中国科学技术大学与微软亚洲研究院的联合培养博士生项目。现于微软亚洲研究院系统组实习,师从首席研究员张霖涛博士,研究方向是用可重构硬件加速数据中心基础架构。


 

Source: 微软亚洲研究院 | 10 Nov 2017 | 10:36 pm(NZT)

张益肇:AI 医疗,微软有哪些布局?

编者按:近几年来,医疗和人工智能碰撞出了相当多的火花,大量资金短期投入到医疗领域当中。然而在微软亚洲研究院副院长张益肇博士看来,人工智能医疗是一场持久战,大家一定要沉下心多调研、多思考、多学习。


人工智能大潮之下,微软在医疗领域又有哪些布局?近日,张益肇博士接受雷锋网AI掘金志的专访,解读了“AI 医疗”可能带来的巨大变革。本文授权转载自公众号“AI掘金志”。


“作为一个研究人工智能二十多年,同时在医学影像处理方向耕耘八年的过来人。我认为现阶段医疗人工智存在的一大挑战是,从业者们既没捋顺流程,也没想清模式。单纯觉得我有AI技术,有几家合作医院,就能大干一场。现在风口的确很火,很多基金也愿意投钱。但医疗与其他行业不同,它是一个文火慢炖的过程,不见得那么容易。”


在微软亚洲研究院副院长张益肇博士接受专访的一个多小时里,他不断在强调人工智能在医疗领域的长期价值,但也有存在一些短期的担忧。以下是雷锋网AI掘金志与张益肇博士的访谈内容:


您怎么看待今年医学影像 AI大热的现象?


当然是好事。我经常谈一个观点,人类如果想要健健康康活到100岁,技术将扮演着非常重要的角色。近几年我也看到不少计算机界精英投入大量人力财力到医疗领域,如此大规模的医工交叉大潮非常激动人心。


这里我也不得不提醒大家,在医疗领域,无论是创业者也好,投资人也罢,必须要有愿意长期投入和投资的心态,切勿焦躁,保持平常心。


我个人研究人工智能二十几年,其中八年时间在专攻医疗,我不觉得这个领域很容易出成果。


医学技术的落地,不仅要千辛万苦找对场景,还要说服政策制定者、监管部门、医院采购者、科室主任、临床医生、病人等无数当事人证明技术的有效性、安全性和可行性。最后,你还要明白你的产品谁来买单。


现阶段行业存在的一个挑战在于,很多时候,大家这三大关都没有想清楚。单纯觉得我有AI技术,找到一些合作对象,就能大干一场了。


现在医疗 AI的确很火,很多创投也愿意投这个钱。但从长久来看,不见得那么容易,也没那么快,大家一定要沉下心多调研、多思考、多学习。


美国很多新药研发公司可以获得大量的融资,有些甚至不盈利也能够上市。大家期待它所研发的新药品最终能通过FDA,并且在药效达到预期后,公司市值能够上涨5倍、10倍甚至更多。当然,面临一文不值的风险也非常巨大。


大家在投资时明知道风险很大,明知短时间内账面并不可观,但仍旧愿意投资、愿意长期等待,因为他们能够真正理解风险。国内医疗人工智能大潮中,我最担心的是国内医疗人工智能创业者和投资者并没有真正理解风险,就开始投入大量资源在其中,这很可怕。


微软目前在医疗AI方向有哪些研究?


微软其实在医疗领域投入很多,在世界各地的研究院里有不少同事在做相关方面的工作。


医学影像处理这块,微软亚洲研究院和微软剑桥研究院都有在做。不过微软亚洲研究院聚焦在病理切片,英国剑桥研究院专攻CT。我们微软亚洲研究院近几年开始钻研脑肿瘤病理切片的识别和判断,通过细胞的形态、大小、结构等,去辅助分析和判断病人所处的癌症阶段。近两年在该领域我们基于“神经网络+深度学习”的模式取得了两大突破:


首先,实现了对大尺寸病理切片的图片处理。通常图片的尺寸为224*224像素,但脑肿瘤病理切片的尺寸却达到了20万*20万、甚至40万*40万像素。对于大尺寸病理切片影像的识别系统,我们没有沿用业内常用的数字医学图像数据库,反而在ImageNet的基础之上利用尽可能多的图片,通过自己搭建的神经网络和深度学习算法不断进行大量训练而成,最终实现了对大尺寸病理切片的图片处理。


对大尺寸病理切片图片通过神经网络与深度学习算法进行处理的流程


其次,在解决了细胞层面的图像识别之后,又实现了对病变腺体的识别。对病变腺体的识别,主要是基于医学角度三个可以衡量癌细胞扩散程度和预后能力的指标:细胞的分化能力,腺体的状况和有丝分裂水平。我们针对这三个角度,通过多渠道(Multi-Channel)的数据采集和分析,希望在未来帮助医生实现对病人术后、康复水平乃至复发的可能性做出预估和判断。


腺体图像经过计算机处理后被抽象成不同的结构,以便于计算机进一步识别与判断


不同种类的恶性肿瘤切片经过算法处理后进行分类


该研究结果也可以扩展至其他疾病的二维医学影像的识别和判断,例如我们正在研究的肠癌等。此外,我们还在研究肝肿瘤患者的CT三维影像。


除了医学图像外,我们在医学文献的处理和理解上也有所研究。全球平均每年有将近50多万篇医学研究文献发表,这种情况下,医生在查询所需文献时,不可能覆盖到位。我们微软亚洲研究院具体是如何解决这一问题的呢?比如医生在寻找遗传基因的研究与哪几篇文章相关,我们会通过算法自动对相关文献进行关联。另外也在做不少与医学相关的自然语言处理,比如不同病人想要问相关的医疗问题,可能有很多不同的方法来表达。而在话语里又有像阿莫西林等药物在不同医院里有几十种、上百种叫法。


我们的工作就是用AI技术让这些话语和词汇的不同表达,转换为机器可以理解的统一信号。最终以AI系统的形态解答各种医学问题。


团队研究医学影像处理这8年间,相比于过去有哪些大的进步?


深度学习算是一个比较大的跨越,坦白讲,2013、2014年前后,深度学习开始被应用到医学影像分析当中。按照传统方式,很多医学影像分析题目要做特征提取,这个特征甚至可能是细胞,过程较为复杂。而深度学习可以自己学习并提取特征,节省了很多设计特征的时间。


其次就是迁移学习,我们在ImageNet上训练出一个深度学习模型,以它作为基础做医学影像分析,虽然ImageNet上的图像为自然图片,但从中训练出来的特征提取能力,对医学影像也相当有用。


这个过程中您发现了哪些新的思路,并走过哪些弯路?


2012年我们团队开始用弱监督学习来更好地使用数据,这是一个对我们意义很大的方向。


大家也都知道医生的时间非常宝贵,如果你没办法尽量节省他们的精力与时间,相比而言,你获得数据的能力会更弱。用更优秀的算法去填部分数据的坑,这是一个很好的思路,而不是单纯想着从医院拿更多数据。


弱监督学习在医学影像中的应用会是一个好的开始,也是一个值得长期投入的方向。


找到好的场景,再找到好的数据库,其实比大家想的要耗时。很多时候,找到一个优质数据库外,还要找到一个既懂技术,又能帮忙做标注的医生。


对于我们走过的弯路,更多是认知和思维上的弯路吧:过早觉得我们已较好地解决了医学问题。


包括我们在内的很多公司用Kaggel数据做基础训练,但这种研究仅是长期研究的起步,而且这个起步往往并不见得特别有用,所以大家应理性看待从Kaggle中训练出的结果。在医疗 AI方向,大家不要迷信短时间内得到的数字结果,一定要做好长期投入的准备。


语音识别从1960年代就开始萌芽,直到1970也还是所谓的非连续性语音识别,离绝大部分使用场景很远。尽管语音识别在今天已经解决得很好,但在复杂环境和语境下的识别率仍旧不是特别理想。人工智能在医学中的应用亦是如此。


像您刚提到的深度学习和迁移学习让医疗人工智能大跨步发展,但这两者的不可解释性使得很多医学问题无法询证,这个难题目前微软亚洲研究院有没有一个标准对其进行参考?


深度学习的可解释性确实是一个很热的题目。算法可解释性通常可以用看边界和颜色特征来判断正负,偏统计学方法,但也很难说出具体原因。


其实很多医学任务也是靠统计来做。之前有医生提到说,假如一个肿瘤小于5厘米和大于5厘米该各应怎么判断。大家提到“5厘米”这个单位也凭经验去描述,为什么是5,而不是5.1或4.9。


我的意思是,医学本身很多判断是依照经验来做,这些经验里,也存在一些无法解释的因素,因此不能完全否定“不可解释性”。


很多AI功能尤其像靠深度学习训练出来的系统,除了给你一个明确的判断外,还会生成百分比形式的“程度值”做参考,这个程度值体现机器对判断的“自信”与否。现阶段我们希望只做辅助医生的工具,最后的结论还是需要医生自己判断。


任何系统都多多少少会产生一定的误差和偏差,哪怕简单的血压仪也可能存在偏差,所以最终还需让医生把所有信号整合起来判断机器给出的结果是否合理。


也确实因为深度学习存在的弊病,最近Hinton提出要“抛弃”反向传播,您怎么看待这件事的?


反向传播也有几十年的历史了,这期间陆续有人提出不同的想法、不同的算法。人的学习能力很强,无需很多数据,往往通过一两个样本就能学习、分类,但现在机器没有办法靠少量不同样本进行驱动。所以人工智能在算法层面可提升的空间很大,所以要有新的学习方法来做,尤其像可供使用数据量较小的医疗领域。


相比于医学影像处理,语音电子病历录入服务各方面的条件更为成熟,Nuance和讯飞都已在医院落地,微软亚洲研究院目前有没有切入这个方向?


推出这类产品,需要做的事情就比较专比较细了。我加入微软之前在Nuance Communications做语音识别,你提到的语音电子病历录入是Nuance的主要业务之一。


但国内很多人可能有所不知,Nuance的业务里,语音转录系统只是一方面,另一方面Nuance还需雇人把机器转好的文字,进行人工整理。所以Nuance提供的是一整套服务,而非单一的语音识别这一环节的产品。与此同时,Nuance针对不同场景、不同科室做不同的产品优化和服务。所以如果做这类产品,研究之外的任务和工作相对来说会比较多。


您此前一直研究语音,是什么原因致使您开始做跨度很大的医学影像?


从研究角度讲,无论是语音还是影像,两者之间有很多相通点,都是基于机器学习作为发动机,数据作为汽油来建模、判断。


当然了,医学影像也确实有很多专业知识需要学习,更具挑战性,同时也更有意思。因为你需要跟很多不同领域的人一起学习,这个过程非常有意思。


另一方面,那时候我母亲得了癌症,我当时心想医学如果借助计算机技术一定会找到更多新的方法和新的应用场景。作为普通民众,我觉得这对身边人,对社会非常有意义。作为研究人员,这个研究方向会非常有前景。


微软亚洲研究院的医学影像数据来自哪些地方?与哪些机构有合作?


主要还是来自于公开数据集,首先这类公开数据标注经过很多人审核。其次,你要发表结果的话,同一类数据集上大家才有可比性。


在某些特定领域,我们与浙江大学前副校长来茂德团队合作探索病理切片分析,来校长在大肠癌方向有着很多积淀。大肠之外也有研究肺癌等国内常见的几个方向。除此之外,生活习惯和饮食健康也所有探究。


微软亚洲研究院在布局常见的方向之外,还在探索哪些挑战性特别大的方向?


我们现在做病理切片的一大原因,就是因为病理切片分析极具挑战性。


首先病理切片单个数据很大,一张图最大可达40万×40万像素,面对这么大的数据该怎么分析?要怎么才能把这个系统应用得很好?这是很有趣的问题。如此大的图像,单是传输就已是一项很大的挑战,在此基础上还进行分析,计算量会非常巨大。好在微软亚洲研究院也有很多同事是系统方面的专家,研究高速运算,基于此,我们可以通过整合研究院不同团队的专长来做这件事。


这个过程当中微软亚洲研究院各个技术部门之间如何打配合?


各部门之间的合作其实蛮多。2015年我们视觉计算组发明的ResNet大家都很熟悉了,它就是一个特别好的图像特征提取方法,有了它之后,我们就在考虑如何用ResNet提取医学影像特征。微软亚洲研究院已经在做一些通过看一张图然后对它进行标注的技术,当机器可以给一张图自动标注的话,这就表明机器在一定程度上理解这张图,不仅知道里面有哪些物体,同时也知道里面物体及场景之间的关系。这属于更高层次的理解。


回到肺结节上,通常情况我们只是去判断某块小区域是不是肺结节。其实有时候通过分析肺本身以及人体的构造,也可以得出其他有用信息,而这些肺结节之外的信息,往往对诊断起到非常重要的作用。


目前大部分系统并没有有效利用到这些“其他”信息,但影像科医生与机器不同,他们在读片时,肯定会对这些信息有宏观的认知。所以我也经常在讲,人工看一张图片时,他不会只看一小部分,而是会形成一个整体的认知去判断。


所以,无论是一张普通海景照片中船和海的关系,还是医学影像中肺结节和其他组织信息的关联度,很多方面是相通的。我们希望把对常规图像的认知和理解,迁移到医学影像中,这是一项非常重要的工作。


如果还要判断其他组织信息,那么在对众多非目标对象的分割上,是否有产生更多更复杂的新问题?


确实如此,我再举个例子,正常人的心脏在左边,因此做内脏分割时,会有这样的预知。但是也不排除少数人心脏长在右边的可能性,类似这种情况容易让机器产生误判和混淆,因此需要有更高层面的的知识理解。


但总体而言,现在在做的机器学习研究,无论是检测、识别还是分割也罢,很多地方都是相通的。


除了影像和语音语义之外,微软还有哪些医疗人工智能方面的研究?


我们在大数据处理上探索也非常多。


负责管理微软全球研究院的Eric Horvitz,他既是医学博士,也是哲学博士。Eric Horvitz做了很多非常有趣的研究,通过用户在互联网上的搜索词,来判断你是否有一些疾病和症状。


那么这个研究的最终形态是以一个什么样的终端功能或者服务去呈现?


我们有一项服务叫微软Health,就是用一些功能,来提供insight,这些insight一方面给用户看,一方面提供给医生参考。比如通过系统收集到很多人的血糖、血压甚至睡眠和运动量数据后,存储起来进行长期的追踪和分析。基于此,把这些信息全部整合起来后更好地帮助医生、帮助用户自身。我们也与美国匹斯堡大学医学中心UPMC合作,探讨用AI挖掘有效健康信息。


一方面我们在做很多基础研究,另外一方面,微软也希望寻找更多合作伙伴,探讨可以着陆的场景。


“长期”大概是多久?


取决于场景本身。我们与盖茨基金会的合作中,在非洲用机器来判断一个人是否有得疟疾,同时得出病症的严重程度。在国内大家谈机器与医生的对比,但非洲这些地方连医院医生都没有,相对来讲,有一个工具给病人诊断,已经是一个很大的医疗进步。这个例子,我相信在未来短期三五年之内,会有着很大的帮助,现在有些产品已经在一些相对落后的国家试用。


但在比较发展的国家,医生已经有比较成熟、习惯的工作方式,供应商的系统要进入到医院,需要想清楚整个环节才有办法帮助到医生。因为多种客观因素,会致使过渡时间更长。当然了,如果找好场景的话,最快两三年之内就可以安全着陆。


您觉得哪几个场景前景相比而言会比较明朗?


目前市场上很多企业在做诊断,其实我觉得可以往前探一步:做好分割。


一个医生在做放射性疗法之前,要先把不同放射性疗法所影响到的这些不同区域标出来,并进行分割。分割工作的人力和时间成本很高,如果现在有一个工具能够自动进行分割,再让医生去确认,需求会比较大。


当一个系统先对影像做标注,医生去看的时候已经有90%完成地很好,没做好的地方医生再去修改,最后一关由医生来把守,这种辅助工具医生也很乐意接受。


谈谈未来微软医疗人工智能的展望?


我们希望能从人一出生开始便了解你的整个健康情况,通过收集身体信息,实时分析你生活和机体哪些地方需要改进,如饮食、睡眠、运动、病痛等等。


我觉得在未来应该会演进为这种形式,每个人都有一个专门属于他的医疗人工智能健康助理。


产品形态是2C的形式吗?


这个倒不见得是2C,更多是2B2C模式,产品在面向终端用户时也要有医生的参与。像美国就有很多家庭医生,可通过家庭医生把系统推向病人。


哪些新的人工智能技术将会对医疗行业带来巨大变革?


其实“如何把不同的信息在不同层次进行整合”这一认知层面的课题,整个行业仍旧存在很多不足,现阶段单是把知识结构化就是一项很复杂的任务。如果解决了上述问题则对技术体系和行业的推动力将非常大。


我们先以机器翻译为例,大部分机器翻译还是单句单句翻,但一段段翻跟一句句翻就很不一样了,它涉及到“理解”。再以图像识别为例,机器识别出图像中有蓝色的天空和蓝色的海和帆船,但如果突然出现图像中的天空为红色,而它过去的训练集中没有对红色天空进行标注,那机器能懂得红色的天空代表是晚霞吗?


因此我们要让机器建立起一个对故事、对世界、对环境的认知能力。


这里的难点在于,它有很多很多参数的变化,你不可能让机器学习把整个世界的种种元素挨个看一遍才能理解。而是应该创建一种新的方法,把不同地方学到的知识给整合起来,从而解释出图像看起来是合理的。


医学影像的解释同样如此,医生在看MRI影像时,基于经验判断某个人是女性,但有一些地方却不像女性(如变性人等)。这时候要有更高层的知识能力、知识架构,也就是用Mental Mode去解释去理解,这会是一个很大的挑战,同时也是一个很大的机会。


当前很多像医院等传统机构对AI处于观望状态,市场还需教育。企业应该如何让各行各业的人更快了解人工智能?


为什么互联网兴起后能迅速影响到各行各业?因为那时候大家即便不懂互联网,但至少有浏览器产品供我们使用,虽然有别于可触摸的实体物品,但我们可以看到互联网产品的界面,也可在上面进行操作和交互,这才使得人们对互联网的认知建立的如此之快。


人工智能普及进度慢,一大原因就是没有一些典型的终端产品让大家直接感受。要想教育一个市场,最好的方式就是让他们去体验AI的能力。


您在微软亚洲研究院任职18年,谈谈这里留住您最大的一个原因是什么?


在这18年里,我最大感触是微软亚洲研究院为很多优秀的研究员创建了能够长期钻研细分领域课题的极佳环境。在微软亚洲研究院这样的基础研究机构里,好比在MIT、斯坦福,我们在长时间探索各式各样的有趣题目。


近两年量子计算很火,但很多人所有不知,我们研究院从十几年前便开始做量子计算了。除此之外,也有美国的同事在探索用DNA来存储信息,人体中一个DNA大概有4GB内存,你想想,一个细胞大小的体积便能存储4GB的内容,密度远高于我们用的SD卡。


像这种看得很远的方向,只有在研究院才有机会去接触,这对任何一位研究者都极具吸引力。盖茨早在26年前便建立微软研究院,并且在同期启动三大研究组:自然语言处理组、语音组、计算机视觉组。这些研究在当时来看,离落地非常遥远。但微软今天能够站在人工智能最顶端,不是因为我们体量多大,也不是我们人才够多,而在于研究院和热爱研究的这一批批人早已为此准备26年之久。


感谢你关注“微软亚洲研究院”,我们期待你的留言和投稿,共建交流平台。来稿请寄:msraai@microsoft.com。



 

Source: 微软亚洲研究院 | 8 Nov 2017 | 11:34 pm(NZT)

Save on your hotel - www.hotelscombined.com








Save on your hotel - www.hotelscombined.com

© 澳纽网 Ausnz.net