ТЕНСОРНЫЙ ПОТОК

Возможно, это одна из лучших сред глубокого обучения, которая сейчас принята несколькими крупными гигантами, такими как Airbus, Twitter, IBM и другими, в основном благодаря своей очень гибкой системной архитектуре.

Наиболее известным вариантом использования TensorFlow является Google Translate в сочетании с такими возможностями, как обработка естественного языка, классификация / обобщение текста, распознавание речи / изображений / рукописного ввода, прогнозирование и теги.

TensorFlow доступен как для настольных компьютеров, так и для мобильных устройств, а также поддерживает такие языки, как Python, C ++ и R, для создания моделей глубокого обучения вместе с библиотеками-оболочками.

TensorFlow поставляется с двумя широко используемыми инструментами:

  1. TensorBoard для эффективной визуализации данных сетевого моделирования и производительности
  2. TensorFlow Служба для быстрого развертывания новых алгоритмов / экспериментов с сохранением той же серверной архитектуры и API. Он также обеспечивает интеграцию с другими моделями TensorFlow, которая отличается от традиционных практик и может быть расширена для обслуживания других моделей и типов данных.

Если вы делаете первые шаги, когда дело доходит до глубокого обучения, нетрудно понять, что вам следует выбрать TensorFlow, поскольку он основан на Python, поддерживается Google и поставляется с документацией и пошаговыми руководствами, которые помогут вам.

КАФЕ

Caffe - это среда глубокого обучения, поддерживаемая такими интерфейсами, как C, C ++, Python, MATLAB, а также интерфейсом командной строки. Он хорошо известен своей скоростью и транспонируемостью, а также его применимостью при моделировании сверточных нейронных сетей (CNN). Самым большим преимуществом использования библиотеки Caffe C ++ (поставляется с интерфейсом Python) является доступ к доступным сетям из репозитория глубокой сети Caffe Model Zoo, которые предварительно обучены и могут использоваться немедленно. Будь то моделирование CNN или решение проблем обработки изображений, это должна быть библиотека.

Главное УТП Caffe - это скорость. Он может обрабатывать более шестидесяти миллионов изображений ежедневно с помощью одного графического процессора Nvidia K40. Это 1 мс / изображение для вывода и 4 мс / изображение для обучения, а более свежие версии библиотеки еще быстрее.

Caffe - популярная сеть глубокого обучения для распознавания зрения. Однако Caffe не поддерживает сетевые уровни с мелкой детализацией, такие как в TensorFlow или CNTK. Учитывая архитектуру, общая поддержка повторяющихся сетей и языкового моделирования довольно слабая, и создание сложных типов слоев должно выполняться на языке низкого уровня.

КОГНИТИВНЫЙ ИНСТРУМЕНТ MICROSOFT / CNTK

Microsoft Cognitive Toolkit (ранее известный как CNTK), широко известный простотой обучения и сочетанием популярных типов моделей на серверах, представляет собой платформу глубокого обучения с открытым исходным кодом для обучения моделей глубокого обучения. Он выполняет эффективные сверточные нейронные сети и обучение для данных на основе изображений, речи и текста. Подобно Caffe, он поддерживается такими интерфейсами, как Python, C ++ и интерфейс командной строки.

Учитывая согласованное использование ресурсов, реализация моделей обучения с подкреплением или генерирующих состязательных сетей (GAN) может быть легко осуществлена ​​с помощью этого инструментария. Известно, что он обеспечивает более высокую производительность и масштабируемость по сравнению с такими инструментами, как Theano или TensorFlow, при работе на нескольких машинах.

По сравнению с Caffe, когда дело доходит до изобретения новых сложных типов слоев, пользователям не нужно реализовывать их на языке низкого уровня из-за высокой степени детализации строительных блоков. Microsoft Cognitive Toolkit поддерживает нейронные модели как типа RNN, так и CNN и, таким образом, способен решать проблемы распознавания изображений, почерка и речи. В настоящее время из-за отсутствия поддержки архитектуры ARM возможности мобильных устройств довольно ограничены.

ФАКЕЛ / ПИТОРНЫЙ ФАКЕЛ

Факел - это научный вычислительный фреймворк, который предлагает широкую поддержку алгоритмов машинного обучения. Это структура глубокого обучения на основе Lua, которая широко используется такими отраслевыми гигантами, как Facebook, Twitter и Google. Он использует CUDA вместе с библиотеками C / C ++ для обработки и в основном предназначен для масштабного производства моделей зданий и общей гибкости.

Кроме того, PyTorch получил широкое распространение в сообществе фреймворков глубокого обучения и считается серьезным конкурентом TensorFlow. PyTorch - это, по сути, порт для платформы глубокого обучения Torch, используемой для построения глубоких нейронных сетей и выполнения тензорных вычислений, которые имеют высокую сложность.

В отличие от Torch, PyTorch работает на Python, что означает, что любой, кто имеет базовые представления о Python, может начать создавать свои собственные модели глубокого обучения.

Учитывая архитектурный стиль фреймворка PyTorch, весь процесс глубокого моделирования намного проще и прозрачнее по сравнению с Torch.

MXNET

MXNet (произносится как mix-net), специально разработанный для обеспечения высокой эффективности, производительности и гибкости, представляет собой среду глубокого обучения, поддерживаемую Python, R, C ++ и Julia.

Прелесть MXNet в том, что она дает пользователю возможность писать код на различных языках программирования (Python, C ++, R, Julia и Scala и др.). Это означает, что вы можете тренировать свои модели глубокого обучения на любом языке, который вам удобен, без необходимости изучать что-то новое с нуля. Благодаря бэкэнду, написанному на C ++ и CUDA, MXNet может масштабироваться и работать с множеством графических процессоров, что делает его незаменимым для предприятий. Показательный пример: Amazon использовала MXNet в качестве справочной библиотеки для глубокого обучения.

MXNet поддерживает сети с долгосрочной краткосрочной памятью (LTSM) вместе с RNN и CNN.

Эта структура глубокого обучения известна своими возможностями в области обработки изображений, распознавания рукописного ввода / речи, прогнозирования, а также НЛП.

ЧЕЙНЕР

Очень мощный, динамичный и интуитивно понятный - Chainer - это основанная на Python структура глубокого обучения для нейронных сетей, разработанная на основе стратегии определение за запуском. По сравнению с другими фреймворками, использующими ту же стратегию, вы можете изменять сети во время выполнения, что позволяет вам выполнять произвольные операторы потока управления.

Chainer поддерживает как вычисления CUDA, так и мульти-GPU. Эта структура глубокого обучения используется в основном для анализа настроений, машинного перевода, распознавания речи и т. Д. С использованием RNN и CNN.

КЕРАС

Библиотека нейронных сетей Keras (поддерживающий интерфейс - Python), известная своей минималистичностью, поддерживает как сверточные, так и рекуррентные сети, которые могут работать как на TensorFlow, так и на Theano. Библиотека написана на Python и была разработана с учетом быстрых экспериментов в качестве своего USP.

Из-за того, что интерфейс TensorFlow немного сложен в сочетании с тем фактом, что это низкоуровневая библиотека, которая может быть сложной для новых пользователей, Keras был создан для обеспечения упрощенного интерфейса с целью быстрого прототипирования путем создания эффективных нейронные сети, которые могут работать с TensorFlow.

Легкий, простой в использовании и действительно простой, когда дело доходит до построения модели глубокого обучения путем наложения нескольких слоев - это вкратце Keras. Именно по этим причинам Keras является частью основного API TensorFlow.

Основное использование Keras - это классификация, генерация и обобщение текста, тегирование, перевод, а также распознавание речи и другие. Если вы являетесь разработчиком с некоторым опытом работы с Python и хотите углубиться в глубокое обучение, вам обязательно стоит попробовать Keras.

ГЛУБОКОЕ ИЗУЧЕНИЕ4J

Параллельное обучение посредством итеративного сокращения, адаптация архитектуры микросервисов в сочетании с распределенными процессорами и графическими процессорами - вот некоторые из важных особенностей, когда дело доходит до среды глубокого обучения Deeplearning4j. Он разработан как на Java, так и на Scala, а также поддерживает другие языки JVM.

Широко принятая в качестве коммерческой, ориентированной на отрасль распределенной платформы глубокого обучения, самым большим преимуществом этой среды глубокого обучения является то, что вы можете объединить всю экосистему Java для выполнения глубокого обучения, и что ее можно администрировать поверх Hadoop и Spark для оркестровки. несколько хост-потоков. DL4J использует сокращение карты, чтобы обучить сеть, в то время как другие библиотеки могут выполнять операции с большими матрицами.

Deeplearning4j поставляется с глубокой сетевой поддержкой посредством RBM, DBN, сверточных нейронных сетей (CNN), рекуррентных нейронных сетей (RNN), рекурсивной нейронной тензорной сети (RNTN) и долгосрочной краткосрочной памяти (LTSM).

Поскольку эта структура глубокого обучения реализована на Java, она намного более эффективна по сравнению с Python. Когда дело доходит до задач распознавания изображений с использованием нескольких графических процессоров, это так же быстро, как и в Caffe. Эта структура демонстрирует бесподобный потенциал для распознавания изображений, обнаружения мошенничества, интеллектуального анализа текста, тегирования частей речи и обработки естественного языка.

Имея Java в качестве основного языка программирования, вам непременно следует выбрать эту структуру глубокого обучения, если вы ищете надежный и эффективный метод развертывания ваших моделей глубокого обучения в производственной среде.

Совершенно очевидно, что с появлением Deep Learning появилось множество примеров практического использования Машинного обучения и искусственного интеллекта в целом. Глубокое обучение сделало возможным разбиение задач простейшими способами для оказания помощи машинам наиболее эффективным образом.

При этом какая структура глубокого обучения из приведенного выше списка лучше всего соответствует вашим требованиям? Ответ на это зависит от ряда факторов, однако, если вы хотите только начать, то вам следует выбрать фреймворк глубокого обучения на основе Python, такой как TensorFlow или Chainer. Если у вас есть опыт, вам необходимо рассмотреть скорость, требования к ресурсам и их использование, а также согласованность обученной модели, прежде чем выбирать лучшую структуру глубокого обучения.