Interested Article - Deeplearning4j

Deeplearning4j библиотека программ на языке Java , используемая как фреймворк для глубокого обучения . Включает реализацию ограниченной машины Больцмана , глубокой сети доверия , глубокого автокодировщика , стекового автокодировщика с фильтрацией шума, рекурсивной тензорной нейронной сети , word2vec , doc2vec, and . Эти алгоритмы включены также в версии библиотеки, поддерживающие распределённые вычисления , интегрированные с архитектурами Apache Hadoop и Spark .

Является открытым программным обеспечением , распространяется под лицензией Apache 2.0 ; основные разработчики — группа машинного обучения в Сан-Франциско во главе с Адамом Гибсоном , коммерческие внедрения поддерживают стартап .

Технология

Deeplearning4j реализована на языке Java и выполняется в среде, при этом совместима с Clojure и включает интерфейс ( API ) для языка Scala . Дополнительная библиотека открытого доступа обеспечивает вычисления на графических процессорах с поддержкой CUDA . Кроме того, имеются средства для работы с библиотекой на языке Python через фреймворк Keras .

Фреймворк позволяет комбинировать компоненты, объединяя обычные нейронные сети с машинами Больцмана, свёрточными нейронными сетями, автокодировщиками и рекуррентными сетями в одну систему. Кроме того, поддерживаются расширенные средства визуализации . Обучение проводится как с помощью обычных многослойных нейронных сетей, так и для сложных сетей , в которых определён граф вычислений .

Распределённые вычисления

Обучение в Deeplearning4j осуществляется через кластеры. Нейронные сети обучаются параллельно по итерациям, процесс поддерживается архитектурами Hadoop -YARN и Spark . Deeplearning4j осуществляет также интеграцию с ядром архитектуры CUDA для осуществления чистых операций с GPU и распределения операций на графических процессорах.

Научные расчёты для JVM

Deeplearning4j включает в себя класс для работы с n -мерным массивом данных в библиотеке . Это облегчает вычисления для научных задач на языках Java и Scala, функциональность при этом соответствует языку NumPy для Pythonа . Использование этих средств позволяет эффективно решать задачи линейной алгебры и матричных преобразований в практических приложениях.

Библиотека векторизации DataVec для машинного обучения

Библиотека DataVec проводит векторизацию файлов в различных входных и выходных форматах методом, подобным MapReduce ; при этом данные трансформируются в векторную форму. DataVec векторизирует табличный формат CSV , изображения, звуки, тексты, видео и временные последовательности данных .

Обработка естественного языка и текстов

Для обработки больших объёмов текстов с использованием мощности параллельных графических процессоров Deeplearning4j привлекает инструментарий векторного и тематического моделирования на языке Java.

В библиотеку входят реализации частотной инверсии ( TF-IDF ), глубинное обучение , алгоритм Миколова word2vec , doc2vec, и GloVe, которые оптимизированы на Java. При этом используется принцип стохастического встраивания соседей с распределением Стьюдента ( ) для реализации облака слов.

Безопасность

В библиотеку включены средства защиты от внешнего вмешательства и безопасности от взлома, что особенно важно в финансовых задачах , в промышленных системах, в электронной коммерции и предпринимательстве применяется распознавание аномалий и распознавание образов . Deeplearning4j интегрирован с другими платформами машинного обучения — такими как RapidMiner, Prediction.io и Weka .

Тесты производительности

Сопоставление производительности показывает, что Deeplearning4j сопоставим с Caffe в задачах нетривиального распознавания образов с привлечением параллельных графических процессоров . Для программистов, незнакомых с HPC на JVM, имеется несколько параметров, которые можно регулировать для улучшения производительности обучения нейронных сетей. В эти параметры входит настройка динамической памяти, алгоритм сборки мусора , подкачка памяти и предварительное сохранение данных для ускорения ETL . Комбинируя эти настройки, можно увеличить производительность Deeplearning4j до десяти раз.

См. также

Примечания

  1. — 2017.
  2. Metz, Cade . Wired.com (2 июня 2014). Дата обращения: 28 июня 2014. 5 июля 2020 года.
  3. Vance, Ashlee . Bloomberg Businessweek (3 июня 2014). Дата обращения: 28 июня 2014. 25 июня 2014 года.
  4. Novet, Jordan . VentureBeat (14 ноября 2015). Дата обращения: 24 ноября 2015. 18 декабря 2019 года.
  5. TV, Functional . SF Spark Meetup (12 февраля 2015). Дата обращения: 1 марта 2015. 26 декабря 2015 года.
  6. . Дата обращения: 25 июля 2017. 24 сентября 2019 года.
  7. . Дата обращения: 25 июля 2017. 30 марта 2016 года.
  8. . Дата обращения: 25 июля 2017. 31 июля 2017 года.
  9. Harris, Derrick . (2 июня 2014). Дата обращения: 29 июня 2014. 28 июня 2014 года.
  10. Novet, Jordan (2 июня 2014). Дата обращения: 29 июня 2014. 28 сентября 2020 года.
  11. . Дата обращения: 25 июля 2017. Архивировано из 25 февраля 2017 года.
  12. . Дата обращения: 25 июля 2017. Архивировано из 10 августа 2017 года.
  13. . Дата обращения: 25 июля 2017. Архивировано из 10 августа 2017 года.
  14. . Дата обращения: 25 июля 2017. 10 июня 2018 года.
  15. . Дата обращения: 25 июля 2017. Архивировано из 2 октября 2017 года.
  16. . Дата обращения: 25 июля 2017. 28 сентября 2020 года.
  17. . Дата обращения: 25 июля 2017. 10 марта 2016 года.
  18. . Дата обращения: 25 июля 2017. Архивировано из 10 марта 2016 года.
  19. (недоступная ссылка)
  20. . Дата обращения: 22 февраля 2016. 10 марта 2016 года.
  21. (недоступная ссылка)
  22. . Дата обращения: 25 июля 2017. Архивировано из 18 мая 2016 года.
  23. . Дата обращения: 25 июля 2017. 23 августа 2017 года.
  24. . Дата обращения: 25 июля 2017. 22 июля 2020 года.
  25. . Дата обращения: 25 июля 2017. Архивировано из 9 августа 2017 года.

Литература

  • Паттерсон Дж., Гибсон А. Глубокое обучение с точки зрения практика = Deep Learning. A Practitioner’s Approach. — , 2018. — 418 с. — ISBN 978-5-97060-481-6 .

Ссылки

  • — официальный сайт Deeplearning4j
  • на сайте GitHub
  • .
  • . 24 сентября 2015 года.
Источник —

Same as Deeplearning4j