Компания Sony открыла свои наработки в области нейронных сетей
Компания Sony представила проект NNabla (Neural Network Libraries), в рамках которого открыла наработки в области построения нейронных сетей для решения задач глубинного машинного обучения. Система универсальная и изначально рассчитана на использование как на настольных ПК и встраиваемых устройствах, так и в кластерах и крупных серверах для решения исследовательских задач и практического применения. Код ядра NNabla написан на языке C++ и распространяется под лицензией Apache 2.0.
Для конечных приложений предлагается программный интерфейс для языка Python, отличающийся простотой использования и высокой гибкостью. Например, для создания двухуровневой нейронной сети для классификации потерь (loss) достаточно пяти строк кода. При этом предоставляется единый API для работы со статическими и динамическими графами вычислений (статические графы вычислений более эффективны с точки зрения потребления памяти и скорости работы, а динамические обладают большей гибкостью в построении моделей). Допускается подключение модулей с реализацией новых функций, методов оптимизации и операторов для нейронной сети.
Поддерживается работа в Linux и Windows. Благодаря ядру на C++ система достаточно компактна и может работать на встраиваемых системах с ограниченными ресурсами. Для ускорения вычислений предоставлены средства для организации выполнения с привлечением специфичных реализаций, например на базе FPGA. Из готовых оптимизирующих модулей отмечается бэкенд для задействования CUDA для выноса вычислений на сторону GPU. Также поддерживается специальный движок для оптимизации работы с памятью, позволяющий организовать совместное использование памяти.
Из областей, в которых Sony уже применяет NNabla, отмечены оценка стоимости недвижимости в Sony Real Estate Corporation, распознавание действий пользователя в системе «Xperia Ear» (например, подтверждение операции или приём звонка кивком головы) и распознавание рукописного ввода в электронной книге Sony DPT-RP1. По своему назначению NNabla близок к такими существующим фреймворкам, как TensorFlow, Torch и Theano.
© OpenNet