微软深度学习人工智能超越Google Brain
进入新的人工智能时代。
Google、微软、苹果 Facebook,这些大牌科技企业最近吸引了大量的“深度学习”人工智能科研人员。科研人员使用它来提高任何可以提高的东西,从语音识别到文字翻译再到帮助计算机识别图片。
在这些科技巨头的中,Google 在深度学习领域已经一马当先。Google 公司现在聘请了深度学习领域的核心专家——多伦多大学 Geoff Hinton。Google 公司在公开场合讨论过深度学习技术,比如深度学习是如何帮助 Android 手机提高语音识别准确率的等。Google 公司的深度学习技术在语音识别和计算机图形识别的准确率方面保持着多项记录。
本文作者 Daniela Hernandez,是《连线》网站编辑, 原文 发布在 Wired 网站,TECH2IPO/创见为您提供译文。
但是昨天早上,在微软总部的学术峰会上,微软的研究团队首次对外宣布他们的深度学习系统“亚当(Adam)”已经超越了 Google 公司的深度学习技术,取得了新的记录。据微软公司消息,Adam 比之前的深度学习系统在图片识别方面快 2 倍,而且可以比之前的系统少用 30 倍的计算机。微软研究院院长 Peter Lee 说,“Adam 是在人类在探究建造更强大的大脑时的一次探索。”
Lee 说,Adam 运行了 ImageNet 22K 的深度学习测评软件,得出的结果超过 Google Brain(即 Google 在线帝国的人工智能计算系统,它还提供了 Android 手机 Google 地图的语音识别功能)。ImageNet 22K 测试会给出一个包含 2.2 万张图片的数据库来让人工智能系统进行处理,在 Adam 之前,只有少数企业的人工智能模型能够处理如此巨大数量的图片,其中就包括了 Google Brain。
但是 Adam 并不是在深度学习的算法上胜过 Google 的。Adam 的取胜之处在于它优化了计算机处理数据和优化计算机数据交流的能力。这是微软研究人员 Trishul Chilimbi 的研究产物,他个人并非人工智能学术领域的牛人,而是大规模计算系统的专家。
运作原理
与其他深度学习系统一样,Adam 需要在一系列标准的计算机服务器上运行,当然用的是微软 Azure 云计算平台上的服务器。深度学习通过创造神经网络来更深层次地模拟人脑活动,一般来讲,一个神经网络需要大量的服务器计算能力来支撑。Adam 和其他深度学习系统的不同之处就在于它采用一种名叫“非同时性”的技术。
因为计算机系统越来越复杂,各部分之间的信息交换也越来越困难,但是“非同时性”可以解决这个问题。一般来说,非同时性就是把系统分成多个部分,每个部分在分享计算结果、合并计算结果之前是独立运行的。但问题就在于,虽然非同步性可以在智能手机、笔记本电脑等设备上完美运行,但是在不同的服务器(即神经网络节点)上却不能顺利运行。但是许多研究者和科技公司(包括 Google)多年来都在试图解决大型非同时性系统的问题。而微软的 Adam 则利用了美国威斯康辛州州立大学的 HOGWILD!技术来解决这个问题。
HOGWILD! 最初是用来让同一机器内不同芯片独立运行的技术。每个芯片都可以向同一个存储单元写入数据,无论是什么指令,都无法阻止 HOGWILD!将数据写入到存储单元中。。在绝大多数系统中,HOGWILD!被认为是一个很烂的方法,因为它可能会导致数据碰撞,但是在某些情况下有很好的效果。在小型计算系统中,数据碰撞的几率很低,研究人员表示,它还可以显著提高小型计算系统的计算速度。Adam 将这一技术的运用更进一步,在系统中应用了 HOGWILD!的非同时性。微软研究院的研究人员 Chilimbi 说,“我们比 HOGWILD!更疯狂!更加非同时性!”
尽管神经网络更加复杂,数据碰撞的危险更大,但是 Adam 采取的方法奏效了,因为如果系统已经准备好避免数据碰撞,那么各个服务器计算的结果将是一样的。这是因为,每个服务器都会向主服务器发送更新数据,更新的数据是叠加的。A 机器将主服务器中已存在的值“5”添加一个值“1”,而另外一台服务器 B 也要向这个值添加一个值“3”。与其控制到底让哪个值优先添加,不如让先到的值添加进去。不管是 A 服务器的数据先到还是 B 服务器的数据先到,最终结果这个值都是“9”。
微软方面表示,这种方法能让神经网络计算速度更快,能更准确地训练自己理解图像。百度新招来的深度学习大牛 Andrew Ng 说,“这是一种激进的策略,但是我知道为什么它会节省计算力。这种方法不错,很有趣。”
Ng 还对 Adam 是在传统的处理器上进行的测试表示惊讶。其他深度学习系统需要借助 GPU 来完成数据计算任务,这样可以避免数据交流瓶颈,而 Adam 则采取了一种新的路线。
神经网络需要处理大量的数据,数据量大到传统的处理器无法处理,所以需要大量的服务器来合作。如果没有大量的服务器,那就将计算压力分给 GPU,GPU 对数据的处理更快。但是如果人工智能模型不能适应 GPU 或同一个服务器上的多个 GPU,系统运行效率就会下降。数据中新的交流系统如果不能跟上 GPU 处理信息的速度,也会导致数据堵塞。所以有些专家认为 GPU 并不适合运行非常大型的神经网络,设计了微软 Bing 搜索引擎的软件和硬件排列的 Chilimbi 正是这些专家之一。
为什么要选择 HOGWILD?
微软将 Adam 看成是令人极度兴奋的系统,但是有些深度学习专家表示这种方法和 Google 的方法没有多少区别。在不知道具体优化细节的情况下,专家认为很难弄清 Chilimbi 和他的团队是如何提高深度学习系统性能的。
曾在 Google Brain 认知的 Matt Zeiler 说,微软的结果“与人们已经发现的成果有些出入,但是也让人觉得有趣”,Matt Zeiler 离职后创立自己的深度学习公司。如果增加更多的服务器,Adam 的准确度会更高,“我认为如果能对 HOGWILD!做更多研究,就会知道究竟谁是最终的赢家。”
微软研究院院长 Peter Lee 说这个项目还在萌芽中。目前为止,Adam 已经在智能手机的一个应用程序使用,用户用手机拍一张照片,它会识别上面的物体。Peter Lee 用它来识别狗的品种,查看某个昆虫是否有毒。不过微软目前还没有对发布这款应用程序的计划,Peter Lee 说这项技术可以用在电子金融、机器人、情感分析上。微软内部也认为,如果将它运行在现场可编程门阵列(FPGAs)的特定软件上上,Adam 的效率会更高。微软已经开始用 FPGAs 来改进 Bing 搜索引擎。
Peter Lee 认为 Adam 可以成为“终极机器智慧”的一部分,可以实现接近于人的一些功能形态(比如说话、识图、识字)。人工智能的发展已经 60 多年了,但是实现这一技术的路程还很长,不过现在我们又近了一步。
标签: 微软 Google 深度学习 人工智能 AI Adam Google Brain