索尼开源神经网络库NNabla

发布时间:2017-07-20 16:25:33 | 来源:选自Sony | 作者:佚名 | 责任编辑:胡俊

索尼昨天宣布开源了自己的神经网络库NNabla,其中包含用于深度学习系统的 Python API 与用于嵌入式设备的 C++ API。彭博社也表示索尼正在加入谷歌、Facebook 和亚马逊等巨头的人工智能开发竞争。


神经网络是深度学习模型的核心,后者自 2012 年在图像识别领域获得突破性进展以来获得了人们的广泛关注。现在,深度学习已经在很多领域中获得应用,它不仅仅是一种图像识别的算法,也是一种用于建模的黑箱系统。

用于处理深度学习模型的架构各有不同:从小到大,从前馈到循环,从非监督到监督……对于深度学习技术的研究发展也有很快速度,新的架构、组件或神经网络每天都在出现。目前装备 GPU 的高性能深度学习计算机或集群,对于运行深度学习的移动设备、物联网设备的要求也在催生技术的发展。


索尼从 2010 年起就加入了深度学习的研究行列。这次开源的深度学习核心库已是其研究成果的第三代了,它包含以下特性:

·         CUDA 兼容性。

·         它拥有 Python API,因此最大化了设计神经网络模型的灵活性,并且还能支持快速的原型设计和测试。

·         同时支持静态和动态计算图(computation graphs)。静态计算图在速度和内存上有更高的效率,而动态计算图在设计模型上更加灵活。

·         有各种内置的神经网络模块,如函数、算子和优化器等。该神经网络库的模块软件架构允许开发者添加新的模块,因此开发者可以基于新的研究思路实现更快的原型设计、产品或服务部署。

·         它由轻便、轻量的 C++11 核所编写,并能在多个平台上运行。该框架已经在 Linux (Ubuntu 16.04) 和 Windows (8, 10) 上进行了测试。

·         极高的速度和内存效率。计算图引擎允许安全的原位计算(in-place computation)和内存分享,这将极大地将少内存的占用。因此该框架的设计仅采用少量的计算负载就能执行前向和后向传播。

·         为各种计算方案而设计的解耦合实现(Decoupled implementation)接口允许为每一个计算方案提供插件式的开发方案。开发者可以更关注函数算子实际计算的特定实现,而不用管计算图引擎与其内存优化等。

1  2  3  4