Эта статья читается как пресс-релиз или новостная статья и в значительной степени основана на обычном освещении или сенсациях . ( Ноябрь 2017 г. ) |
Тема этой статьи может не соответствовать рекомендациям Википедии о продуктах и услугах . ( июль 2020 г. )( Узнайте, как и когда удалить этот шаблон сообщения ) |
Автор (ы) оригинала | Алекс Д. Блэк, Адам Гибсон, Вячеслав Кокорин, Джош Паттерсон |
---|---|
Разработчики) | Разные |
Стабильный выпуск | 1.0.0-beta6 / 10 сентября 2019 г . |
Репозиторий | |
Написано в | Java , CUDA , C , C ++ , |
Операционная система | Linux , macOS , Windows , Android , iOS |
Платформа | Кроссплатформенность |
Доступно в | английский |
Тип | Обработка естественного языка , глубокое обучение , машинное зрение , искусственный интеллект |
Лицензия | Лицензия Apache 2.0 |
Интернет сайт | www .deeplearning4j .org |
Часть серии по |
Машинное обучение и интеллектуальный анализ данных |
---|
Eclipse Deeplearning4j - это библиотека программирования, написанная на Java для виртуальной машины Java (JVM). [1] [2] Это структура с широкой поддержкой алгоритмов глубокого обучения. [3] Deeplearning4j включает в себя реализации ограниченной машины Больцмана , сети глубоких убеждений , глубокого автоэнкодера, многослойного автоэнкодера с шумоподавлением и рекурсивной нейронной тензорной сети , word2vec , doc2vec и GloVe . Все эти алгоритмы включают в себя распределенные параллельные версии, которые интегрируются сApache Hadoop и Spark . [4]
Deeplearning4j - это программное обеспечение с открытым исходным кодом, выпущенное под лицензией Apache License 2.0 [5], разработанное в основном группой машинного обучения со штаб-квартирой в Сан-Франциско . [6] Это поддерживается коммерчески запуск Skymind, что пучки DL4J, TensorFlow , Keras и другие глубокие библиотеки обучения в распределении предприятия под названием Skymind разведка слой. [7] Deeplearning4j был внесен в фонд Eclipse Foundation в октябре 2017 года. [8] [9]
Введение [ править ]
Deeplearning4j опирается на широко используемый язык программирования Java , хотя он совместим с Clojure и включает интерфейс прикладного программирования Scala (API). Он основан на собственной библиотеке численных вычислений с открытым исходным кодом ND4J и работает как с центральными процессорами (ЦП), так и с графическими процессорами (ГП). [10] [11]
Deeplearning4j использовался в нескольких коммерческих и академических приложениях. Код размещен на GitHub . [12] Форум поддержки поддерживается на Gitter . [13]
Структура является составной, что означает, что мелкие нейронные сети, такие как ограниченные машины Больцмана, сверточные сети, автоэнкодеры и повторяющиеся сети, могут быть добавлены друг к другу для создания глубоких сетей различных типов. Он также имеет обширные инструменты визуализации [14] и граф вычислений. [15]
Распространено [ править ]
Обучение с Deeplearning4j происходит в кластере. Нейронные сети обучаются параллельно с помощью итеративного сокращения, которое работает в Hadoop -YARN и Spark . [6] [16] Deeplearning4j также интегрируется с ядрами CUDA для выполнения чистых операций с графическим процессором и работает с распределенными графическими процессорами.
Научные вычисления для JVM [ править ]
Deeplearning4j включает класс n-мерного массива с использованием ND4J, который позволяет выполнять научные вычисления на Java и Scala, аналогично функциям, которые NumPy предоставляет для Python . Он эффективно основан на библиотеке для линейной алгебры и манипуляций с матрицами в производственной среде.
Библиотека векторизации DataVec для машинного обучения [ править ]
DataVec векторизует различные форматы файлов и типы данных, используя систему форматов ввода / вывода , аналогичную использованию MapReduce в Hadoop; то есть он превращает различные типы данных в столбцы скаляров, называемые векторами . DataVec предназначен для векторизации файлов CSV, изображений, звука, текста, видео и временных рядов. [17] [18]
Текст и НЛП [ править ]
Deeplearning4j включает набор инструментов для моделирования векторного пространства и тематического моделирования , реализованный на Java и интегрирующийся с параллельными графическими процессорами для повышения производительности. Он предназначен для работы с большими текстовыми наборами.
Deeplearning4j включает в себя реализации термина «частота - обратная частота документа» ( tf – idf ), глубокого обучения и алгоритма word2vec Миколова, [19] doc2vec и GloVe, переопределенных и оптимизированных на Java. Он основан на t-распределенном стохастическом встраивании соседей (t-SNE) для визуализации облака слов.
Реальные варианты использования и интеграции [ править ]
Реальные варианты использования Deeplearning4j включают обнаружение сетевых вторжений и кибербезопасность, обнаружение мошенничества в финансовом секторе, [20] [21] обнаружение аномалий в таких отраслях, как производство, рекомендательные системы в электронной коммерции и рекламе, [22] и распознавание изображений. . [23] Deeplearning4j интегрирован с другими платформами машинного обучения, такими как RapidMiner, Prediction.io, [24] и Weka . [25]
Сервер моделей машинного обучения [ править ]
Deeplearning4j обслуживает модели машинного обучения для вывода в производственной среде с помощью бесплатной версии SKIL для разработчиков, Skymind Intelligence Layer. [26] [27] Сервер моделей обслуживает параметрические модели машинного обучения, которые принимают решения о данных. Он используется на этапе вывода рабочего процесса машинного обучения после конвейеров данных и обучения модели. Сервер моделей - это инструмент, который позволяет проводить исследования в области науки о данных в реальной производственной среде.
То, что веб-сервер для Интернета, - образцовый сервер для ИИ. Если веб-сервер получает HTTP-запрос и возвращает данные о веб-сайте, сервер модели получает данные и возвращает решение или прогноз относительно этих данных: например, отправил изображение, сервер модели может вернуть метку для этого изображения, идентифицирующую лица или животных на фотографиях.
Сервер моделей SKIL может импортировать модели из фреймворков Python, таких как Tensorflow, Keras, Theano и CNTK, преодолевая серьезный барьер при развертывании моделей глубокого обучения.
Контрольные показатели [ править ]
Deeplearning4j работает так же быстро, как Caffe, для нетривиальных задач распознавания изображений с использованием нескольких графических процессоров. [28] Для программистов, незнакомых с HPC на JVM, есть несколько параметров, которые необходимо настроить, чтобы оптимизировать время обучения нейронной сети. К ним относятся установка пространства кучи, алгоритм сборки мусора, использование памяти вне кучи и предварительное сохранение данных (обработка) для более быстрого ETL. [29] Вместе эти оптимизации могут привести к 10-кратному увеличению производительности с Deeplearning4j.
Языки API: Java, Scala, Python, Clojure и Kotlin [ править ]
Deeplearning4j можно использовать на нескольких языках API, включая Java, Scala, Python, Clojure и Kotlin. Его Scala API называется ScalNet. [30] Keras служит его API Python. [31] И его оболочка Clojure известна как DL4CLJ. [32] Основными языками, выполняющими крупномасштабные математические операции, необходимые для глубокого обучения, являются C, C ++ и CUDA C.
Tensorflow, Keras и Deeplearning4j [ править ]
Tensorflow, Keras и Deeplearning4j работают вместе. Deeplearning4j может импортировать модели из Tensorflow и других фреймворков Python, если они были созданы с помощью Keras. [33]
См. Также [ править ]
- Сравнение программного обеспечения для глубокого обучения
- Искусственный интеллект
- Машинное обучение
- Глубокое обучение
Ссылки [ править ]
- ^ Мец, Кейд (2014-06-02). «Миссия по распространению искусственного интеллекта Google в остальном мире» . Wired.com . Проверено 28 июня 2014 .
- ^ Вэнс, Эшли (2014-06-03). «Глубокое обучение для (некоторых) людей» . Bloomberg Businessweek . Проверено 28 июня 2014 .
- ^ NOVET, Иордания (2015-11-14). «Хотите фреймворк для глубокого обучения с открытым исходным кодом? Выбирайте» . VentureBeat . Проверено 24 ноября 2015 .
- ^ TV, Функциональный (2015-02-12). «Адам Гибсон, DeepLearning4j по Spark и Data Science на JVM с nd4j, SF Spark @Galvanize 20150212» . Встреча SF Spark . Проверено 1 марта 2015 .
- ^ "Репозиторий Github" . Апрель 2020.
- ^ a b "deeplearning4j.org" .
- ^ "Skymind Intelligence Layer Community Edition" . Архивировано из оригинала на 2017-11-07 . Проверено 2 ноября 2017 .
- ^ "Страница проекта Eclipse Deeplearning4j" . 22 июня 2017.
- ^ «Skymind's Deeplearning4j, Eclipse Foundation и научные вычисления в JVM» . Jaxenter . 13 ноября 2017 . Проверено 15 ноября 2017 .
- ^ Харрис, Деррик (2014-06-02). «Запускается стартап Skymind, продвигающий глубокое обучение с открытым исходным кодом» . GigaOM.com . Проверено 29 июня 2014 .
- ^ Новет, Иордания (2014-06-02). «Skymind запускается с открытыми исходными кодами и функциями глубокого обучения plug-and-play для вашего приложения» . Проверено 29 июня 2014 .
- ^ Исходный код Deeplearning4j
- ^ Канал поддержки Deeplearning4j Gitter
- ^ Deeplearning4j Инструменты визуализации
- ^ Deeplearning4j Вычислительный график
- ^ «Итеративная редукция» . 15 марта 2020.
- ^ DataVec ETL для машинного обучения
- ^ Обнаружение аномалий для данных временных рядов с помощью глубокого обучения
- ^ word2vec
- ^ "Архивная копия" . Архивировано из оригинала на 2016-03-10 . Проверено 22 февраля 2016 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ https://skymind.ai/bsa-aml [ постоянная мертвая ссылка ]
- ^ "Архивная копия" . Архивировано из оригинала на 2016-03-10 . Проверено 22 февраля 2016 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ https://skymind.ai/image [ постоянная мертвая ссылка ]
- ^ https://www.rapidminerchina.com/en/products/shop/product/deeplearning4j/ [ постоянная мертвая ссылка ]
- ^ https://deeplearning.cms.waikato.ac.nz/
- ^ "Архивная копия" . Архивировано из оригинала на 2017-09-21 . Проверено 20 сентября 2017 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ "Архивная копия" . Архивировано из оригинала на 2017-09-21 . Проверено 20 сентября 2017 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ «GitHub - deeplearning4j / Dl4j-benchmark: репо для отслеживания кода теста dl4j» . 19 декабря 2019.
- ^ https://deeplearning4j.org/benchmark
- ^ https://deeplearning4j.org/scala
- ^ "Архивная копия" . Архивировано из оригинала на 2017-02-25 . Проверено 25 февраля 2017 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ "Архивная копия" . Архивировано из оригинала на 2017-02-25 . Проверено 25 февраля 2017 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ "Архивная копия" . Архивировано из оригинала на 2017-09-08 . Проверено 7 сентября 2017 .CS1 maint: заархивированная копия как заголовок ( ссылка )