【重磅】微软开源深度学习认知工具包:增加 Python 绑定,支持增强学习
新智元编译 1
来源:blogs.microsoft.com
编译:胡祥杰 刘小芹
【新智元导读】 微软今天开源微软认知工具包(Microsoft Cognitive Toolkit)的升级版本,CNTK 升级版。本次升级最大的亮点在于增加了 Python 绑定。另外,新版本工具包跨服务器处理能力也得到了提升,能有效加快处理速度,并支持增强学习的实践。
AI WORLD 2016 世界人工智能大会开场视频(完整版)
亮点 :
-
CNTK 现在支持全新的C++ 和 Python APIs
-
提供新的Python例子和课程
-
支持快速的R-CNN算法
-
CNTK Evaluation 数据库有改进,其中包括支持CNTK APIs
微软刚刚开源了微软认知工具包(Microsoft Cognitive Toolkit)的升级版本,这是一个为深度学习设计的系统,可在例如语音和图形识别和搜索等基于CPU 和英伟达GPU的相关领域提升处理速度。
开源地址:https://github.com/Microsoft/CNTK/wiki/CNTK_2_0_beta_1_Release_Notes
这一工具包此前被称为CNTK,最早由希望能更快和更高效地开展研究的微软计算机科学家开发。在开发之后不久,这一工具包就迅速地超越了语音的范围,并演变成为面向客户的产品,其中包括领先的国际家电制造商和微软的旗舰产品,他们有大量的深度学习任务需要处理。
支持 Python 让工具包是语音扩展到C++之外,灵活性更好。C++“对于真正的程序员来说很好用”,微软语音方面的首席科学家Huang XueDong 说,但是“我们的任务非常简单:实现AI的普及”,不仅对网页开发在,还有不同的学科,甚至是社会学家。支持Python 将会提供可扩展性、灵活性和表现力。
Frank Seide
“我们已经把CNTK从一个研究工具变成了能在产品中配置的东西”,微软人工智能与研究中心的首席研究员Frank Seide 说。他同时也是微软认知工具包的关键架构师。
最新版的工具包现在已经在Github 上开源,其中包括了一些新的功能,能让开发者使用Python 或者C++ 编程语言。有了新的版本,研究者还可以展开另一种类型的人工智能研究――增强学习。
最终,工具包在性能后是那个要比旧的版本好很多。同时也比其他工具包更快,尤其是在多台机器上处理较大数据集的情况下。这种类型的大规模部署对于多GPU上的深度学习是不可或缺的,也是开发消费产品和专业产品的必需。
加速研究突破的利器
这对于加速研究突破也起到了关键作用。上周,微软人工智能与研究中心宣布,他们首次创造了一种在对话中识别词语的技术,能达到人类水平。团队认为,微软认知工具包大幅地提升了速度,所以他们能获得这一里程碑式的突破。
开发了微软认知工具包的团队说,相比其他的深度学习工具包,在多服务器间运行的能力是一大进步。在开始处理更大型的数据集时,这一工具包开源获得次最优的性能和准确度。微软认知工具包还包含了一些内部的算法,用于将这样的计算消耗降到最低。
Chirs Basoglu
“使用微软认知工具包的一个关键理由是,它能在多GPU 和大数据集多台机器间有效地扩展,”微软工程经理合伙人Chris Basoglu 说。他在这一工具的开放上扮演了关键的角色。
微软的认知工具包能够简单地处理数据,从相对较小的到非常非常大的都可以,只需要使用一台笔记本电脑或者数据中心的一系列计算机。它能在使用传统的CPU或者GPU的计算机上使用,这些计算机此前主要与以图处理为主的游戏相关,但是,后来被证明在运行深度学习所需要的算法上也非常有效。
“微软的认知工具包代表了微软与英伟达紧密的合作,共同推动深度学习社区的进步”,英伟达加速计算部门总经理Ian Buck 说。与此前的版本相比,在英伟达 DGX-1 上扩展到8个Pascal GPU时,性能获得几乎两倍的提升。
微软认知工具包可在多个GPU上运行,其中包括Azure 的GPU产品。这一工具包已经经过优化,可以更好地利用英伟达的硬件和Azure的网络能力,这也是Azure所提供的服务之一。
AI和AI工具的共享普及
当下,从小的创业公司到大型的科技公司,都在寻求在例如语音理解和图像识别等方面使用深度学习的可能性。微软选择在这个时候开源这一工具包。
广义上讲,深度学习是一种人工智能技术。 由开发者和研究者使用大量的数据,也就是所谓的训练数据集来教计算机系统从输入,比如图像或声音中识别模型。
比如,一个深度学习系统能被填入一个训练集,其中展示了所有水果和蔬菜的类型图片,然后,系统就能自己学会识别水果或蔬菜的突破。数据越多,系统就会越好,所以,每次它遇到一个新的,比如奇形怪状的茄子或者苹果,它就能修正算法,变得更加准确。
在使用微软认知工具包来训练声音声学模型的例子中,随着越多的数据进入模型中,其转化的准确率就越高。
这种类型的成就并不仅仅是研究上的里程碑。深度学习上的进步,其中部分是由于计算功耗上的进步,我们现在能够拥有一些消费级的产品,比如Skype翻译,它能识别语音并提供实时的声音翻译;比如Cotana数字助理,它能理解你的话,帮助你搜索机票和提醒日程等等。
更具灵活性、适应更复杂的工作
最初开发这个工具包时,Basoglu说他们考虑到许多开发者没法或不想写大量代码,因此,他们创建了一个自定义系统,让开发者可以轻松为深度学习配置自己的系统,不需要额外进行编码。 但是,随着系统越来越受欢迎,来自开发者的反馈显示他们想要将自己的Python或C ++代码与工具包的深度学习能力相结合。 还有来自研究人员的反馈说他们想用这个工具包来做增强学习研究。
增强学习是使用代理通过大量的实验和试错来学习做某件事情的正确方式――例如在房间中找路,或生成一个句子。这种研究可能最终达到系统可以自主做出复杂决策的真正的人工智能。新版本的工具包也为开发者增加了这个功能。
语音之外的应用
虽然微软认知工具包最初是为语音研究者开发的,它也可以有更广泛的用途。例如,Libherr公司在用它实行简单健康的生活方式。该公司在用户冰箱中装置摄像头,这些摄像头不只会拍摄图像,它们能够识别冰箱中的每一样食物并且能自动综合这些信息形成一个购物清单。
未来,这项技术将有助于引导健康的购物和餐饮计划。储藏室的各种东西也可以使用具有对象识别功能的摄像头来记录并监控。这能帮助消费者避免浪费食物,让生活更简单舒适。
Bing搜索团队也使用该工具包来发现搜索词中潜在或隐藏的关系,以提供更好的搜索结果。例如,用户搜索“怎样做苹果派?”时,他们其实是在搜寻“食谱”,虽然搜索词中完全没有“食谱”这个词。深度学习系统可以经由训练自动发现这种关系。没有深度学习系统的话,就需要工程师人工输入这样一条规则。
微软也将继续使用该认知工具包提升语音识别能力。微软语音服务的Yifan Gong(principal applied science manager)说,他们已经使用该工具包开发准确率更高的声学模型用于微软产品,包括Windows和Skype翻译器。Gong说他们的团队使用该工具包开发新的深度学习架构,包括使用长短期记忆人工神经网络(LSTM)技术,使语音识别的结果更准确。
这些改进将能够让微软的系统更好地理解用户试图说什么,即使用户是在聚会、高速公路或者开放式办公室这些嘈杂的环境中发出语音命令或与Cortana交谈。
对用户来说,显然好处多多。Gong说:“语音识别的准确率更高的话,就不必总是重复说话。
点击阅读原文,观看2016世界人工智能大会主论坛全程回顾视频。