Цитата из справочника экзамена Azure ML:
По умолчанию архитектура нейронных сетей ограничена одним
скрытый слой с сигмоидом в качестве функции активации и softmax в
последний слой. Вы можете изменить это в свойствах модели,
откройте раскрывающийся список Спецификация скрытого слоя и выберите
Пользовательский сценарий определения. Появится текстовое поле, в котором вы будете
возможность вставить Net # скрипт. Этот язык сценариев позволяет вам
определить архитектуры нейронных сетей.
Например, если вы хотите создать двухслойную сеть, вы можете поместить следующий код.
input Picture [28, 28];
hidden H1 [200] from Picture all;
hidden H2 [200] from H1 all;
output Result [10] softmax from H2 all;
Тем не менее, с Net # вы столкнетесь с определенными ограничениями, так как он не принимает регуляризацию (ни L2, ни выпадение). Также нет активации ReLU, которые
обычно используется в глубоком обучении из-за их преимуществ в обратном распространении. Вы не можете изменить размер партии Стохастического градиентного спуска (SGD). Кроме того, вы не можете использовать другие алгоритмы оптимизации. Вы можете использовать SGD с импульсом, но не такие, как Адам или RMSprop. Вы не можете определить рекуррентные или рекурсивные нейронные сети.
Другим замечательным инструментом является CNTK (Cognitive Toolkit), который позволяет вам определять свой вычислительный граф и создавать полностью настраиваемую модель.
Цитата из документации
Это набор инструментов глубокого обучения с открытым исходным кодом Microsoft. Как и другие глубокие
Средства обучения CNTK основаны на построении вычислительной
графики и их оптимизация с использованием автоматического дифференцирования.
Инструментарий высоко оптимизирован и эффективно масштабируется (от процессора до графического процессора,
на несколько машин). CNTK также очень портативный и гибкий; вы
может использовать его с такими языками программирования, как Python, C # или C ++, но вы
также можно использовать язык описания модели BrainScript.