Deeplearning4j - Deeplearning4j

Eclipse Deeplearning4j
Оригинальный автор (ы)Алекс Д. Блэк, Адам Гибсон, Вячеслав Кокорин, Джош Паттерсон
Разработчики)Разные
Стабильный выпуск
1.0.0-beta6 / 10 сентября 2019; 14 месяцев назад (2019-09-10)
Репозиторий Отредактируйте это в Викиданных
Написано вЯва, CUDA, C, C ++,
Операционная системаLinux, macOS, Windows, Android, iOS
ПлатформаКроссплатформенность
Доступно ванглийский
ТипОбработка естественного языка, глубокое обучение, машинное зрение, искусственный интеллект
ЛицензияЛицензия Apache 2.0
Интернет сайтwww.deeplearning4j.org Отредактируйте это в Викиданных

Затмение Deeplearning4j это Только глубокое обучение программирование библиотека написано в Ява для Виртуальная машина Java (JVM).[1][2] Это рамки с широкой поддержкой алгоритмов глубокого обучения.[3] Deeplearning4j включает реализации ограниченная машина Больцмана, сеть глубоких убеждений, глубокий автоэнкодер, многослойный автоэнкодер с шумоподавлением и рекурсивная нейронная тензорная сеть, word2vec, doc2vec и Перчатка. Все эти алгоритмы включают распределен параллельно версии, которые интегрируются с Apache Hadoop и Искра.[4]

Deeplearning4j - это программное обеспечение с открытым исходным кодом выпущен под Лицензия Apache 2.0,[5] разработан в основном машинное обучение группа со штаб-квартирой в Сан-Франциско.[6] Он коммерчески поддерживается стартапом Skymind, который включает DL4J, TensorFlow, Керас и другие библиотеки глубокого обучения в корпоративном дистрибутиве, называемом Skymind Intelligence Layer.[7] Deeplearning4j участвовал в Фонд Затмения в октябре 2017 года.[8][9]

Вступление

Deeplearning4j полагается на широко используемый язык программирования Ява, хотя он совместим с Clojure и включает Scala интерфейс прикладного программирования (API). Он работает на собственной библиотеке числовых вычислений с открытым исходным кодом, ND4J, и работает с обоими центральные процессоры (ЦП) и графические процессоры (GPU).[10][11]

Deeplearning4j использовался в нескольких коммерческих и академических приложениях. Код размещен на GitHub.[12] Форум поддержки поддерживается на Gitter.[13]

Структура является составной, что означает, что мелкие нейронные сети, такие как ограниченные машины Больцмана, сверточные сети, автоэнкодеры и повторяющиеся сети, могут быть добавлены друг к другу для создания глубоких сетей различных типов. Он также имеет обширные инструменты визуализации,[14] и граф вычислений.[15]

Распространено

Обучение с Deeplearning4j происходит в кластере. Нейронные сети обучаются параллельно с помощью итеративного сокращения, которое работает на Hadoop -ЯРЖА и дальше Искра.[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]

Смотрите также

Рекомендации

  1. ^ Мец, Кейд (02.06.2014). «Миссия по распространению искусственного интеллекта Google по всему миру». Wired.com. Получено 2014-06-28.
  2. ^ Вэнс, Эшли (2014-06-03). «Глубокое обучение для (некоторых) людей». Bloomberg Businessweek. Получено 2014-06-28.
  3. ^ Новет, Иордания (14 ноября 2015 г.). «Хотите фреймворк для глубокого обучения с открытым исходным кодом? Выбирайте». VentureBeat. Получено 2015-11-24.
  4. ^ ТВ, Функциональный (2015-02-12). "Адам Гибсон, DeepLearning4j по Spark и Data Science на JVM с nd4j, SF Spark @Galvanize 20150212". Встреча по SF Spark. Получено 2015-03-01.
  5. ^ "Репозиторий Github". Апрель 2020.
  6. ^ а б "deeplearning4j.org".
  7. ^ "Skymind Intelligence Layer Community Edition". Архивировано из оригинал на 2017-11-07. Получено 2017-11-02.
  8. ^ "Страница проекта Eclipse Deeplearning4j". 22 июня 2017.
  9. ^ «Deeplearning4j Skymind, Eclipse Foundation и научные вычисления в JVM». Jaxenter. 13 ноября 2017 г.. Получено 2017-11-15.
  10. ^ Харрис, Деррик (2014-06-02). «Запускается стартап Skymind, продвигающий глубокое обучение с открытым исходным кодом». GigaOM.com. Получено 2014-06-29.
  11. ^ Новет, Иордания (2 июня 2014 г.). «Skymind запускается с открытыми исходными кодами и функциями глубокого обучения plug-and-play для вашего приложения». Получено 2014-06-29.
  12. ^ Исходный код Deeplearning4j
  13. ^ Канал поддержки Deeplearning4j Gitter
  14. ^ Инструменты визуализации Deeplearning4j
  15. ^ График вычислений Deeplearning4j
  16. ^ «Итеративная редукция». 15 марта 2020.
  17. ^ DataVec ETL для машинного обучения
  18. ^ Обнаружение аномалий для данных временных рядов с помощью глубокого обучения
  19. ^ word2vec
  20. ^ «Архивная копия». Архивировано из оригинал на 2016-03-10. Получено 2016-02-22.CS1 maint: заархивированная копия как заголовок (связь)
  21. ^ https://skymind.ai/bsa-aml[постоянная мертвая ссылка ]
  22. ^ «Архивная копия». Архивировано из оригинал на 2016-03-10. Получено 2016-02-22.CS1 maint: заархивированная копия как заголовок (связь)
  23. ^ https://skymind.ai/image[постоянная мертвая ссылка ]
  24. ^ https://www.rapidminerchina.com/en/products/shop/product/deeplearning4j/[постоянная мертвая ссылка ]
  25. ^ https://deeplearning.cms.waikato.ac.nz/
  26. ^ «Архивная копия». Архивировано из оригинал на 2017-09-21. Получено 2017-09-20.CS1 maint: заархивированная копия как заголовок (связь)
  27. ^ «Архивная копия». Архивировано из оригинал на 2017-09-21. Получено 2017-09-20.CS1 maint: заархивированная копия как заголовок (связь)
  28. ^ "GitHub - deeplearning4j / Dl4j-benchmark: репозиторий для отслеживания кода теста dl4j". 19 декабря 2019.
  29. ^ https://deeplearning4j.org/benchmark
  30. ^ https://deeplearning4j.org/scala
  31. ^ «Архивная копия». Архивировано из оригинал на 2017-02-25. Получено 2017-02-25.CS1 maint: заархивированная копия как заголовок (связь)
  32. ^ «Архивная копия». Архивировано из оригинал на 2017-02-25. Получено 2017-02-25.CS1 maint: заархивированная копия как заголовок (связь)
  33. ^ «Архивная копия». Архивировано из оригинал на 2017-09-08. Получено 2017-09-07.CS1 maint: заархивированная копия как заголовок (связь)