微软亚洲研究院首席研究员孙剑

世界上最好计算机视觉系统有多精确?就在美国东部时间12月10日上午9时,ImageNet计算机视觉识别挑战赛结果揭晓——微软亚洲研究院视觉计算组的研究员们凭借深层神经网络技术的最新突破,以绝对优势获得图像分类、图像定位以及图像检测全部三个主要项目的冠军。同一时刻,他们在另一项图像识别挑战赛MS COCO(Microsoft Common Objects in Context,常见物体图像识别)中同样成功登顶,在图像检测和图像分割项目上击败了来自学界、企业和研究机构的众多参赛者。

ImageNet计算机视觉挑战赛由来自全球顶尖高校和公司的研究员组织举办,近年来已经成为计算机视觉领域的标杆,其比赛结果总能十分直观地反映出计算机视觉这一热门领域中各研究机构的研究进展和突破。MS COCO数据库是由微软资助建立,其挑战赛目前由学术界几所高校联合组织,独立运行。

这两个挑战赛的侧重点各有不同:ImageNet 倾向于评测识别图像中显著物体的能力,而MS COCO倾向于评测识别复杂场景中的各类物体的能力。能同时在两个世界级的比赛中获得冠军,足以说明研究组的技术突破是通用的——它可以显著地改善计算机视觉领域的各项研究,甚至计算机视觉领域以外的研究,比如语音识别。那么究竟是什么样的技术突破?

在计算机视觉领域,深层神经网络的方法常常被研究人员用来训练计算机识别物体,微软也不例外。但微软亚洲研究院的研究员们在此次ImageNet挑战赛中使用了一种前所未有,深度高达百层的神经网络。该网络的层数比以往任何成功使用的神经网络的层数多5以上。

要实现这一技术,背后的挑战巨大。起初,连研究员们自己都不确信训练非常深的网络是可能或有用的。“我们没想到这样一个简单的想法意义却如此重大。” 微软亚洲研究院首席研究员孙剑坦言。完成这项技术突破的团队由4位中国研究员组成:孙剑与何恺明来自微软亚洲研究院视觉计算组,另外两人为微软亚洲研究院的联合培养博士生,分别是来自西安交通大学的张祥雨和中国科学技术大学的任少卿。

微软亚洲研究院主管研究员何恺明

当然,这个重大的技术突破震惊的不仅仅是这个研究团队的研究员们。微软全球资深副总裁Peter Lee表示,“从某种意义上说,他们完全颠覆了我之前对深层神经网络的设想。”

ImageNet挑战赛去年获胜的系统错误率为6.6%,而今年微软系统的错误率已经低至3.57%。事实上,该研究团队早在今年一月就首次实现了对人类视觉能力的突破。当时,在题为“Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification”的论文中,他们系统的错误率已降低至4.94%。此前同样的实验中,人眼辨识的错误率大概为5.1%。

滴水穿石:这是一个关于耐心与创新的故事

近几十年来,科学家们一直都在训练计算机做各种各样的事情, 例如图像或语音识别。但很长一段时间内,这些系统的误差巨大,难以消弭。

大约在五年前,研究人员们开始重新使用 “神经网络”的技术并使其再次焕发出新的活力。神经网络的复兴让图像和语音识别等技术的精度实现了大幅度飞跃。微软的Skype Translator实时语音翻译技术就得益于此,它能够更好地识别语音,从而不断完善机器翻译的准确性。

类似于人脑,神经网络包含多级非线性处理层。从理论上说,越多的层级应该能带来越好的学习结果。但实际实验中的最大挑战是,在通过每一层级的反传训练中,反穿监督信号幅度会迅速衰减,这让整个神经网络系统的训练极为困难。

孙剑回忆到:“三年前,当计算机视觉和机器实际领域训练出8层的深层神经网络系统时,识别精度有了质的飞跃。去年出现了足有20到30层的深层神经网络,识别精度又被大幅刷新。”

孙剑和他的组员们认为网络还可以更深。过去的几个月来,他们用各种方式来添加更多的层级,同时还要保证结果的准确性。他们经历了大量错误的尝试,也吸取了很多的经验教训。最后,一个被他们称之为“深层残差网络(deep residual networks)”的系统在微软亚洲研究院成功诞生。

这个“深层残差网络”正是他们用于ImageNet挑战赛的系统,它实现了惊人的152层,比以往世界范围内的任何系统都深5倍以上。它还使用了一个全新的“残差学习”原则来指导神经网络结构的设计。残差学习最重要的突破在于重构了学习的过程,并重新定向了深层神经网络中的信息流。残差学习很好地解决了此前深层神经网络层级与准确度之间的矛盾。

借水行舟:从科研探索到智能产品

神经网络有一个非常重要的优点,就是学习到的内部表示或特征可以在不同任务中复用。Skype Translator就是一个很好的例子,英语与德语之间的翻译准确率可以随着英语与中文翻译的不断增加而提高。

孙剑表示,他们的深层残差网络具有非常强的通用性。他们把该系统用于ImageNet挑战赛的分类任务后,他们发现这一系统学到的内部表示或特征能显著提高其它三项任务:检测(detection),定位(localization)和分割(segmentation)。“从我们极深的深层神经网络中可以看出,深层残差网络力量强大且极为通用,可以预见它还能极大地改善其它计算机视觉问题。”

事实上,孙剑团队多年来在计算机视觉领域的研究成果已经转化到众多微软的智能产品和服务中,例如,微软牛津计划中的人脸识别和图像识别API,Windows 10中的Windows Hello“刷脸”开机功能,必应的图像搜索,微软小冰的多个图像“技能”,OneDrive中的图片分类功能,以及广受好评的口袋扫描仪Office Lens等等,不胜枚举。

以微软牛津计划为例,该计划开放了一系列机器学习相关的API,让没有机器学习背景的开发人员也能构建自己的智能应用。而其中人脸识别API作为牛津计划最先开放的API,受到广泛使用。此前火遍全球的How-old.net(微软颜龄机器人)和Twins or Not(微软我们)就是在人脸识别API基础上,通过几行简单的代码实现的。

通过和微软产品部门的紧密合作,这些来自于微软亚洲研究院的全球领先的计算机视觉技术得以应用在几亿人的生活中。而这些来自中国研究员的研究成果,正在为我们的生活带来一场“隐形革命”,为全球用户提供更智能的生产力工具和更个性化的计算体验。

微软全球资深副总裁、微软亚洲研究院院长洪小文博士表示,“与视觉在人类感官中的重要性相同,计算机视觉的一次次重大突破无疑为人工智能的整体发展提供了强大动力。让计算机看懂多彩的世界,一直是激励微软研究院及计算机领域同仁在这条充满挑战的道路上前行的重要力量。未来,还有更多突破等着我们去挑战!”

“微软亚洲研究院成立17年了,她的研究环境和气氛为中国IT届培养了众多的人才; 我在这里工作了12年,静下心来你就能在这样的环境中收获激动人心的发现。今天,我对我的团队说,请享受一天获得NBA冠军的感觉!”孙剑说。

相关论文:http://arxiv.org/abs/1512.03385

from: http://blog.sina.com.cn/s/blog_4caedc7a0102w2n9.html

刷新神经网络新深度:ImageNet计算机视觉挑战赛微软中国研究员夺冠的更多相关文章

  1. [神经网络与深度学习][计算机视觉]SSD编译时遇到了json_parser_read.hpp:257:264: error: ‘type name’ declared as function ret

    运行make之后出现如下错误: /usr/include/boost/property_tree/detail/json_parser_read.hpp:257:264: error: 'type n ...

  2. (转)神经网络和深度学习简史(第一部分):从感知机到BP算法

    深度|神经网络和深度学习简史(第一部分):从感知机到BP算法 2016-01-23 机器之心 来自Andrey Kurenkov 作者:Andrey Kurenkov 机器之心编译出品 参与:chen ...

  3. [DeeplearningAI笔记]神经网络与深度学习人工智能行业大师访谈

    觉得有用的话,欢迎一起讨论相互学习~Follow Me 吴恩达采访Geoffrey Hinton NG:前几十年,你就已经发明了这么多神经网络和深度学习相关的概念,我其实很好奇,在这么多你发明的东西中 ...

  4. CNN卷积神经网络_深度残差网络 ResNet——解决神经网络过深反而引起误差增加的根本问题,Highway NetWork 则允许保留一定比例的原始输入 x。(这种思想在inception模型也有,例如卷积是concat并行,而不是串行)这样前面一层的信息,有一定比例可以不经过矩阵乘法和非线性变换,直接传输到下一层,仿佛一条信息高速公路,因此得名Highway Network

    from:https://blog.csdn.net/diamonjoy_zone/article/details/70904212 环境:Win8.1 TensorFlow1.0.1 软件:Anac ...

  5. 【神经网络与深度学习】【CUDA开发】【VS开发】Caffe+VS2013+CUDA7.5+cuDNN配置过程说明

    [神经网络与深度学习][CUDA开发][VS开发]Caffe+VS2013+CUDA7.5+cuDNN配置过程说明 标签:[Qt开发] 说明:这个工具在Windows上的配置真的是让我纠结万分,大部分 ...

  6. 【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第一周测验【中英】

    [吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第一周测验[中英] 第一周测验 - 深度学习简介 和“AI是新电力”相类似的说法是什么? [  ]AI为我们的家庭和办公室的个人设备供电 ...

  7. 如何理解归一化(Normalization)对于神经网络(深度学习)的帮助?

    如何理解归一化(Normalization)对于神经网络(深度学习)的帮助? 作者:知乎用户链接:https://www.zhihu.com/question/326034346/answer/730 ...

  8. 【神经网络与深度学习】【CUDA开发】caffe-windows win32下的编译尝试

    [神经网络与深度学习][CUDA开发]caffe-windows win32下的编译尝试 标签:[神经网络与深度学习] [CUDA开发] 主要是在开发Qt的应用程序时,需要的是有一个使用的库文件也只是 ...

  9. 【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第二周测验【中英】

    [中英][吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第二周测验 第2周测验 - 神经网络基础 神经元节点计算什么? [ ]神经元节点先计算激活函数,再计算线性函数(z = Wx + ...

随机推荐

  1. 【Atcoder】ARC 080 F - Prime Flip

    [算法]数论,二分图最大匹配 [题意]有无限张牌,给定n张面朝上的牌的坐标(N<=100),其它牌面朝下,每次操作可以选定一个>=3的素数p,并翻转连续p张牌,求最少操作次数使所有牌向下. ...

  2. 【洛谷 P4777】 【模板】扩展中国剩余定理(EXCRT)

    注意一下:: 题目是 \[x≡b_i\pmod {a_i}\] 我总是习惯性的把a和b交换位置,调了好久没调出来,\(qwq\). 本题解是按照 \[x≡a_i\pmod {b_i}\] 讲述的,请注 ...

  3. 平衡树之splay讲解

    首先来说是splay是二叉搜索树,它可以说是线段树和SBT的综合,更可以解决一些二者解决不了的问题,splay几乎所有的操作都是由splay这一操作完成的,在介绍这一操作前我们先介绍几个概念和定义 二 ...

  4. 让VC6.0编译出来的程序支持XP样式或XP风格

    (1)VC6.0编译出来的win32程序不支持winxp样式的原因:微软WINXP系统更新了Comctl32.dll(ver 6.0)这个“XP风格”的控件.为了保留传统的Windows界面风格,特地 ...

  5. VS mfc MessageBox() 和 AfxMessageBox()

    转载:http://blog.csdn.net/phenixyf/article/details/41744039 一.MessageBox()用法 1.函数原型 Messagebox函数在Win32 ...

  6. easyui获取当前选中的tabs

    $("#" + $("#tabs").find("iframe")[$(".tabs-header ul li").in ...

  7. flask学习:如何从config里载入配置

    代码如下: 1.main.py from flask import Flask from config import DevConfig app=Flask(__name__) app.config. ...

  8. IIS7.0添加IP地址和域名限制

    IIS7.0默认安装是没有“IP地址和域名限制”功能的,需要我们自己选择安装 1.windows系统的添加方式 控制面板--程序与功能--启用或关闭windows功能--internat inform ...

  9. 让IE6/IE7/IE8支持CSS3属性的8种方法介绍

    我们都知道,IE浏览器暂不支持CSS3的一些属性.国外的工程师们,不安于此现状,他们总是尽量使用一些手段使IE浏览器也能支持CSS3属性,我觉得这些都是很有意义,很有价值的工作,可以推动整个技术领域的 ...

  10. Codeforces 1023 D.Array Restoration-RMQ(ST)区间查询最值 (Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Fi)

    D. Array Restoration 这题想一下就会发现是只要两个相同的数之间没有比它小的就可以,就是保存一下数第一次出现和最后一次出现的位置,然后查询一下这个区间就可以,如果有0的话就进行填充. ...