微软发行 CNTK 2.0 完整版:从性能更新到应用案例
选自Microsoft
作者:John Roach
机器之心编译
参与:黄小天、蒋思源
近日,微软在其官方博客上撰文宣布全面开源 Microsoft Cognitive Toolkit 2.0,该版本版本包含了 beta 版本以来的数百个新功能,简化了深度学习流程,可在更广泛的人工智能生态系统之中实现无缝整合;此外它还支持 Keras、Java API、英伟达最新版本的深度学习 SDK 和高级 GPU 架构(比如英伟达 Volta)。机器之心对该文进行了编译,原文链接请见文末。
美国切萨皮克州保护协会(The Chesapeake Conservancy)正在使用微软的 Cognitive Toolkit 来定义和训练一个神经网络,加速创建用于监督恢复与保护的这个切萨皮克湾土地覆盖的数据集。
今天,一支微软的研究者与软件工程师团队声称,微软开源了其用来取得人工智能重大突破的一个工具包。
在开发「Microsoft Cognitive Toolkit」(也被称作 CNTK)中扮演重要角色的合伙人工程经理(partner engineering manager)Chris Basoglu 说:「该工具包的 2.0 完整版本现已全面发行。」其有五大重要更新:1、支持 Keras;2、极快的 Halide 二进制卷曲;3、支持 Java API;4、新的 NuGet 软件包集;5、多漏洞修复。(链接:https://github.com/microsoft/cntk)
用于产品级和企业级工作负载的微软 Cognitive Toolkit 2.0 的完整版本包含了 beta 版本以来的数百个新功能,简化了深度学习流程,确保该工具包在更广泛的人工智能生态系统之中无缝整合。
此外,Cognitive Toolkit 的完整版本还将支持 Keras,一个用户友好的开源神经网络库,它在深度学习应用开发者之间广受欢迎。Basoglu 解释道,为 Keras 编写的代码现在可以利用 Cognitive Toolkit 的性能与速度而无需改变任何代码。目前对 Keras 的支持正在公开预览之中。
通过支持最新版本的英伟达深度学习 SDK 和高级 GPU 架构(比如英伟达 Volta),Cognitive Toolkit 将会继续加速训练能力。
自 2016 年 10 月 Cognitive Toolkit 的 beta 版本发行以来,就受到了需要定义和训练神经网络的大量公司和组织的欢迎,这些神经网络能够以科学家认为的类似于人脑学习的方式学习执行具体任务。
楠蒂柯克河(The Nanticoke River)是 Demlarva 半岛上流入的切萨皮克湾的最大支流。楠蒂柯克流域大约占地 53 万英亩,包括了超过 5 万英亩的潮汐湿地。切萨皮克州保护协会正努力借助人工智能保护这片湿地。
例如,位于美国马里兰州首府安纳波利斯(Annapolis)的切萨皮克州保护协会正和微软研究者一起合作使用该工具包定义和训练一个神经网络,加速创建当下最新的一米分辨率的土地覆盖数据集,可优先处理整个切萨皮克湾(跨越 6 个州和 华盛顿特区的 64000 平方英里的土地)的恢复和保护倡议。
这些新数据集的信息量是现有的 30 米分辨率数据集的 900 倍;但是如果没有人工智能,这需要人力数月的数据输入和图像处理才能完成。新的神经网络把工作流程压缩为单一算法,可在一小部分时间内生成相似的映射。据项目合伙人讲,这种人工智能技术应该扩展开来,帮助全美和全球性的保护组织。
在中国,人工智能医疗创业公司 Airdoc 正使用微软的 Azure 云服务、认知服务和 Cognitive Toolkit 来研发其技术,该技术可以快速准确地探测糖尿病性视网膜病变的发作(糖尿病的一种并发症,可导致失明如果没有正确对待)。
Cognitive Toolkit 的开发最开始是为了微软研究者和工程师加速训练深度神经网络和其他机器学习模型,开发诸如必应视频搜索和语音识别系统等应用,其中后者是微软一个突破性进展,它可以像人一样识别对话中的字词。
微软研究员们意识到,相同的工具可以满足人工智能应用日益增长的需求,比如语音理解和图像识别就从小型初创公司到大型科技公司、政府机构、非营利组织和学术机构等都在使用。
Basoglu 及其团队调整了该工具以满足有基本编程技巧和笔记本电脑的爱好者,同时其还允许高技能开发者对搜索工具进行全面定制,从而加速在多个服务器和最新 GPU 上有大量数据集的深度神经网络训练。
除了支持 Keras 外,今天发布的其他新特性还包括添加了用于模型评估的 Java 捆绑包,还有压缩已训练的模型以在资源受限的设备上实时运行的新工具,进而将图像识别等应用加载到这种设备中(如智能手机)。
该工具是微软「人工智能技术民主化」这一倡议的一部分。除了 Cognitive Toolkit 之外,开发者可以通过微软 Azure 访问一套云计算应用,就如同通过微软认知服务容易地使用和部署机器学习应用程序接口或 API 那样。
Basoglu 说:「最初,人们手写他们的数学函数,用个人代码创建他们自己的神经网络,并独自计算出如何提供数据;但是现在,面对海量的数据,复杂的算法和多 GPU、CPU 和机器之间令人生畏的优化,个人式的自我编写就变得不合时宜了。他们需要的是新工具。」
扩展阅读:
查看微软 Cognitive Toolkit 博客:https://www.microsoft.com/en-us/cognitive-toolkit/blog/
查看微软 Cognitive Toolkit 主页:https://www.microsoft.com/en-us/cognitive-toolkit/
该项目 GitHub 的下载地址:https://github.com/microsoft/cntk