На самом деле почти все фреймворки реализуют одну и ту же функциональность и дублируют друг друга. При этом они создают здоровую конкуренцию, что хорошо. Из описанных преимуществ CNTK самым важным, на мой взгляд, является сквозное многоуровневое API на C++, которое позволяет описывать архитектуру сети на низком уровне, как в TF, или же на высокоуровневом функциональном API, как в Keras. Реализация обучения в виде C++ API, масштабирование на кластеры из GPU в разных конфигурациях, эффективная и удобная поддержка RNN — вот, наверное, основные преимущества. Тянут ли они на killer feature — вопрос скорее терминологический.
Кстати, поддержка Keras недавно тоже добавилась, поэтому если вы используете Keras — можно просто попробовать CNTK как другой бэкенд и посмотреть на разницу. Если у кого-то будет такой опыт — поделитесь с нами!
На самом деле нетрадиционная ориентация неслучайна — Python является стандартом де-факто для Data Science. Именно поэтому Microsoft добавил Python API. Изначально (и именно в таком режиме CNTK использовался внутри компании) идея была в том, чтобы тренировать сетки на BrainScript, а использовать — через API (в т.ч. C#/.NET). Пример использования на .NET есть тут: github.com/Microsoft/CNTK/tree/master/Examples/Evaluation
Однако что выгодно отличает CNTK от Tensorflow (и что обеспечивает прирост в скорости) — это тот факт, что API для обучения также реализовано на C++ (в отличие от Python в случае TF). Это позволяет достаточно просто перейти к обучению сетей также из языков типа C# — и сейчас такая работа ведется. Вот тут github.com/Microsoft/CNTK/issues/2194 например обещают предварительное API для обучения на C# к середине сентября. Другое дело, что обучать на C# будет не так комфортно, как на Python, поскольку нет таких мощных библиотек для работы с матрицами, как numpy.
Универсальный коннектор, очевидно, будет реализовывать некоторую достаточно общую функциональность. Всегда найдутся тонкости конкретного API, которые не укладываются в общую концепцию. Поэтому, например, есть отдельное Skype API, которое шире.
Класс! Узнал новое для себя слово — Corezoid :) Интересно, Corezoid используется на уровне intent-ов, или на уровне анализа отдельных фраз? Для реалистичности диалогов ведь нужно рассматривать много вариантов, и делать всё это на графическом интерфейсе Corezoid кажется может оказаться громоздким…
Пока да. На текущий момент ситуация выглядит так, что Bot Connector может переводить с нескольких языков на английский перед тем, как скармливать текст боту — но это не совсем то, что хочется получить в идеале. Поэтому пока что для анализа русского языка лучше использовать другие инструменты…
Безусловно! Интересно будет наблюдать, как боты будут превращаться из относительно нишевого продукта (irc) во что-то массовое. И будет ли происходить это «второе рождение», как это происходит сейчас с виртуальной реальностью.
Участвовать можно, но мы не сможем предоставить промо-код для бесплатного использования облака. Но вы можете сами зарегистрироваться на бесплатный месячный trial — просто при этом, в отличие от случая с промо-кодом, придется указать данные кредитки.
Прекрасная штука для температуры — BMP-180 (или 280). Выдает температуру/давление, подключается по I2C. У меня отлично работает за окном в течение года в связке с NetDuino и облачным бэкендом в Microsoft Azure: http://blog.soshnikov.com/2015/01/26/
На самом деле большой погони за количеством MSP нет, поэтому у нас нет «реферральной программы». Как таковых официальных званий и формальной иерархии тоже, но мы традиционно (вот уже третий раз) выбираем «президента» — самого активного и уважаемого участника, который может сформировать команду вокруг себя, придумать что-то интересное и воплотить это в жизнь.
Кстати, поддержка Keras недавно тоже добавилась, поэтому если вы используете Keras — можно просто попробовать CNTK как другой бэкенд и посмотреть на разницу. Если у кого-то будет такой опыт — поделитесь с нами!
Однако что выгодно отличает CNTK от Tensorflow (и что обеспечивает прирост в скорости) — это тот факт, что API для обучения также реализовано на C++ (в отличие от Python в случае TF). Это позволяет достаточно просто перейти к обучению сетей также из языков типа C# — и сейчас такая работа ведется. Вот тут github.com/Microsoft/CNTK/issues/2194 например обещают предварительное API для обучения на C# к середине сентября. Другое дело, что обучать на C# будет не так комфортно, как на Python, поскольку нет таких мощных библиотек для работы с матрицами, как numpy.