计算机视觉已是平常生活的一部分。借助这种技术,Facebook能够识别你上传到社交网络的照片上的人物;Google Photo可以自动在收藏行列中找出特定的图片,以及识别出各类各样的东西……这样的应用已经在互联网中流行已久。全部这些“识别”都源自于一种被称为深度学习的人工智能技术。但就在这种技术被大肆炒做的几年时间中,来自微软研究院的一项新实验证实这只是人工智能的开始——深度学习还能够更深度。算法
深层神经网络的突破:152个层级数据库
计算机视觉革命是一场持久的斗争。2012年,这项技术迎来了关键的转折点,那时加拿大多伦多大学人工智能研究者赢得了一场叫做ImageNet的比赛。ImageNet让一群机器PK图像内容识别,对图片中的小猫、小狗和白云,看看哪台计算机的识别准确率更高。当时,由研究员Alex Krizhevsky和教授Geoff Hinton组成的多伦多大学团队在比赛中使用了深层神经网络技术,这种技术的算法可让机器基于目前最大的图像数据库进行分类识别,而不是依靠人为制定的规则。编程
多伦多大学团队使用非监督的逐层贪心训练算法取得的成果,为训练深度神经网络带来了但愿。从那时候开始,包括Facebook、Google、Twitter和微软在内的互联网巨头纷纷开始使用类似的科技来建造本身的计算机视觉系统。微软研究院主管Peter Lee表示:“还不能说咱们的系统可以像人类眼睛同样进行观察,但我敢说,在某些特定的、狭义的任务上,计算机视觉能够媲美人类。”安全
粗略地说,神经网络兼用硬件和软件来模拟近似人类的大脑神经元网络。这个想法诞生于上世纪80年代,但直到2012年,Krizhevsky和Hinton基于图像处理单元、GPU运行的神经网络技术才算真正地推进了这项技术的发展。这些专门的处理器和其余高度图形化软件最初都是为了游戏中的图像渲染而设计,但事实证实,它们也适合于神经网络。Google、Facebook、Twitter、微软等公司现在都使用GPU来驱动人工智能来处理图像识别,以及包括互联网搜索、安全防护等其余任务。如今,Krizhevsky和Hinton都已经加入了Google。网络
现在,最新一届ImageNet的赢家正在探求计算机视觉的下一个突破点——以及人工智能更加普遍的应用。上个月,微软研究院团队摘得了ImageNet的桂冠,他们使用了一个“深层残差系统”来指导神经网络结构的设计。目前广泛使用的神经网络层级可以达到20到30层,在这次挑战赛中该团队应用的神经网络系统实现了152层。ImageNet挑战赛去年获胜的系统错误率为6.6%,而今年微软系统的错误率已经低至3.57%。机器学习
而这也代表,在将来几年里,利用大型的GPU集群和其余专属的处理器,咱们不只可以改善图像识别,并且还能解决对话识别、天然语言理解等人工智能服务。换句话说,目前深度学习所能达到的发展程度越发接近其本应具备的潜力了。Lee表示,微软正致力于发掘更巨大的设计空间。学习
深度神经网络以“层”的形式分布。每一层都具备不一样系列的运算——也就是算法。某一层的输出会成为下一层的输入。笼统地说,若是一个神经网络是设计用来进行图像识别的,其中某一层神经将负责寻找图片的一系列特性——边、角、形状或者纹理——而下一层神经则负责寻找另外一个系列的特性。这些层级就构成了神经网络的”深度“。负责监督ImageNet大赛的北卡罗来纳大学研究员Alex Berg介绍:“通常而言,神经网络越深度,机器学习就越容易。”优化
因此,微软研究院团队应用的152层神经网络系统可以识别出更多的对象属性,大大提升了图像识别的准确率。“它们能够学习到更多微妙的东西。”人工智能
事实上,过去这种很深的神经网络并不可行。部分缘由是,在经过每一层级的反传训练中,反传监督信号幅度会迅速衰减甚至消退,这让整个神经网络系统的训练极为困难。根据Lee的介绍,微软经过使用深度残差网络解决了这个困难——这个深度残差网络能够在不须要时跳过某些层级,而须要用到时又能够从新拾回。“跳过某些不须要的层级,有助于保持反传监督信号的幅度。”“残差学习”最重要的突破在于重构了学习的过程,并从新定向了深层神经网络中的信息流,很好地解决了此前深层神经网络层级与准确度之间的矛盾。spa
Berg表示,这个新的设计不一样于以往的神经网络系统,相信其余大公司和研究者都会效仿。
“深层”的困难
另外一个问题是,构建这样一个宏大的神经网络是很是困难的。落地于一套特定的算法——决定每个层级应该如何运做、如何与下一个层级进行传递——能够说是一个史诗级的任务。不过,在这里微软一样有个诀窍——它设计了一个计算系统,能够帮助构建这些神经网络。
微软研究院团队成员之一孙剑解释称,研究人员能够为大规模的神经网络寻找出可行的排列,而后系统能够对一系列类似的可能性进行循环运算,直到计算出最有效的排列。“大多数状况下,在通过必定次数的尝试后,研究人员会从中总结、反馈,而后为下一轮的尝试给出新的决策。咱们能够将这种方式成为‘人工辅助搜索’。”
深度学习创业公司Skymind首席研究员Adam Gibson表示,这样的作法愈来愈流行,“这叫作‘超参数优化算法’。”“人们能够加速机器集群的运算,一次同时运行10个模型,而后找出效果最优的一个。”
“归根结底是一个关于硬件的问题”
按照孙剑和Peter Lee的描述,这种方法并非在这个问题上“蛮干”。“在有着大量的计算资源后,系统天然就能够计算出一个庞大的组织,而后在这个具备无限可能的空间内进行搜索。只是,目前世界上还具有这样充足的计算资源,所以咱们主要仍是依靠像孙剑这样聪明的研究员。”
但Lee强调说,多亏了新的技术以及计算机数据中心,才使得发展深度学习有了巨大的可能性。现在,微软的重要任务之一是创造出开发这些可能性的时间和计算机系统。这就是微软为什么不只努力改进GPU集群的运算能力,还开发其余诸如现场可编程门阵列(FPGA)等专用处理器的缘由之一。而除此以外,微软研究员还须要开发更多试验性的硬件平台。
如Gibson所言,深度学习越发变成为一个“硬件问题”。确实,咱们仍须要高级研究员来指导神经网络的构建,但所谓寻找新的途径更多地是开发适用于更多硬件平台的新算法,而更多更好的硬件支撑能够说是一个捷径。