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