Microsoft Cognitive Toolkit

Бесплатно
Открытый исходный код
Windows
Linux

Сайт: www.microsoft.com/en-us/cognitive-toolkit

Microsoft Cognitive Toolkit (ранее известный как CNTK) — это открытый фреймворк для глубокого обучения, разработанный исследовательской группой Microsoft Research. Он предназначен для построения, обучения и развёртывания нейронных сетей различной архитектуры, включая полносвязные, свёрточные и рекуррентные модели. Проект ориентирован на высокую производительность при обработке больших объёмов данных и поддержку распределённого обучения на нескольких графических процессорах и узлах.

Фреймворк предоставляет декларативный и императивный интерфейсы для описания вычислительных графов и потоков данных, включая возможности автоматического дифференцирования, оптимизаторов и инструментов для предобработки данных. Исторически Microsoft Cognitive Toolkit использовался в исследовательских и прикладных проектах компании и внешних разработчиков для задач распознавания речи, обработки естественного языка, компьютерного зрения и других областей машинного обучения. Разработка и поддержка проекта прошли этапы активного развития и интеграции с экосистемой инструментов для глубокого обучения.

  • Архитектура: вычислительный граф с поддержкой как явного определения слоёв, так и комбинирования модулей для гибкой настройки моделей.
  • Поддерживаемые модели: полносвязные, свёрточные (CNN), рекуррентные (RNN, LSTM), а также гибридные архитектуры.
  • Производительность: оптимизации для многопроцессорных и многопроцессорных систем с поддержкой GPU, в том числе масштабирование на кластеры.
  • Обучение: стохастический градиентный спуск и варианты оптимизаторов, мини-пакетная обработка, контроль скорости обучения и регуляризации.
  • Автоматическое дифференцирование: поддержка обратного распространения ошибок для вычисления градиентов по сложным графам.
  • Интеграция: API для Python и других языков, возможности экспорта моделей для развёртывания в продуктивных средах.
  • Инструменты разработки: средства для мониторинга обучения, логирования и анализа производительности.
  • Применение: использование в задачах распознавания речи, обработки текста, анализа изображений и других сценариях глубокого обучения.
Подробнее