Aprendizaje profundo4j

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 7 de enero de 2020; las comprobaciones requieren 2 ediciones .
aprendizaje profundo4j
Tipo de Procesamiento del lenguaje natural , aprendizaje profundo , visión artificial , inteligencia artificial
Autor Adam Gibson , Chris Nicholson , Josh Patterson
Desarrollador Varios
Escrito en Java , Scala , CUDA , C , C++ , Python , Clojure
Sistema operativo Linux , macOS , Windows , Android
Idiomas de la interfaz inglés
plataforma de hardware multiplataforma
ultima versión
Estado activo
Licencia apache 2.0
Sitio web aprendizajeprofundo4j.org

Deeplearning4j  es una biblioteca de programación Java utilizada como marco de aprendizaje profundo [2] [3] [4] . Incluye implementaciones de Restricted Boltzmann Machine , Deep Web of Trust , Deep Autoencoder , Stacked Autoencoder with Noise Filtering, Recursive Tensor Neural Network , word2vec , doc2vec y GloVe . Estos algoritmos también se incluyen en las versiones informáticas distribuidas de la biblioteca integrada con las arquitecturas Apache Hadoop y Spark [5] .

Es un software de código abierto distribuido bajo la licencia Apache 2.0 [6] ; los principales desarrolladores son un grupo de aprendizaje automático en San Francisco dirigido por Adam Gibson [7] [8] , las implementaciones comerciales respaldan la puesta en marcha de Skymind .

Tecnología

Deeplearning4j está implementado en Java y se ejecuta en un entorno compatible con Clojure e incluye una interfaz ( API ) para el lenguaje Scala . La biblioteca opcional de código abierto ND4J proporciona computación en GPU habilitadas para CUDA [9] [10] . Además, existen herramientas para trabajar con la biblioteca Python a través del framework Keras [11] .

El marco le permite combinar componentes, combinando redes neuronales ordinarias con máquinas de Boltzmann, redes neuronales convolucionales, codificadores automáticos y redes recurrentes en un solo sistema. Además, se admiten herramientas de visualización avanzadas [12] . El entrenamiento se lleva a cabo tanto con la ayuda de redes neuronales multicapa convencionales, como para redes complejas en las que se define un grafo de cálculo [13] .

Computación distribuida

El aprendizaje en Deeplearning4j se realiza a través de clústeres. Las redes neuronales se entrenan en iteraciones paralelas, el proceso es compatible con las arquitecturas Hadoop -YARN y Spark [7] [14] . Deeplearning4j también se integra con la arquitectura central CUDA para operaciones de GPU puras y distribución de operaciones a GPU.

Cálculos científicos para la JVM

Deeplearning4j incluye una clase para trabajar con datos n - dimensionales en la biblioteca ND4J . Esto facilita el cálculo para tareas científicas en Java y Scala, mientras que la funcionalidad es similar al lenguaje NumPy para Python . El uso de estas herramientas permite resolver eficazmente problemas de álgebra lineal y transformaciones de matrices en aplicaciones prácticas.

Biblioteca de vectorización DataVec para aprendizaje automático

La biblioteca DataVec vectoriza archivos en varios formatos de entrada y salida de manera similar a MapReduce ; mientras que los datos se transforman en una forma vectorial. DataVec vectoriza formato tabular CSV , imágenes, sonidos, textos, videos y secuencias de tiempo de datos [15] [16] .

Lenguaje natural y procesamiento de texto

Para procesar grandes volúmenes de textos utilizando la potencia de las GPU paralelas, Deeplearning4j utiliza herramientas de modelado de temas y vectores de Java .

La biblioteca incluye implementaciones de inversión de frecuencia ( TF-IDF ), aprendizaje profundo , el algoritmo word2vec [17] Mikolov [17] , doc2vec y GloVe, que están optimizados en Java. Esto utiliza el principio de incrustación estocástica de vecinos con la distribución de Student ( t-SNE ) para implementar una nube de palabras.

Seguridad

La biblioteca incluye protección contra interferencias externas y seguridad contra piratería, lo que es especialmente importante en tareas financieras [18] [19] , en sistemas industriales, en comercio electrónico y emprendimiento, se utilizan el reconocimiento de anomalías [20] y el reconocimiento de patrones [21]. . Deeplearning4j está integrado con otras plataformas de aprendizaje automático como RapidMiner, Prediction.io [22] y Weka [23] .

Puntos de referencia

La comparación de rendimiento muestra que Deeplearning4j es comparable a Caffe en tareas de reconocimiento de patrones no triviales que involucran GPU paralelas [24] . Para los programadores que no están familiarizados con JVM HPC , existen varios parámetros que se pueden ajustar para mejorar el rendimiento del entrenamiento de la red neuronal. Estas opciones incluyen ajuste de memoria dinámica, algoritmo de recolección de basura , paginación de memoria y almacenamiento previo de datos para acelerar ETL [25] . Al combinar estas configuraciones, puede aumentar el rendimiento de Deeplearning4j hasta diez veces.

Véase también

Notas

  1. Versión 0.9.1 - 2017.
  2. Metz, Cade La misión de llevar la IA de Google al resto del mundo . Wired.com (2 de junio de 2014). Consultado el 28 de junio de 2014. Archivado desde el original el 5 de julio de 2020.
  3. Vance, Ashlee Aprendizaje profundo para (algunas de) las personas . Bloomberg Businessweek (3 de junio de 2014). Fecha de acceso: 28 de junio de 2014. Archivado desde el original el 25 de junio de 2014.
  4. Novet, Jordan ¿Quiere un marco de aprendizaje profundo de código abierto? Elija su elección . Venture Beat (14 de noviembre de 2015). Consultado el 24 de noviembre de 2015. Archivado desde el original el 18 de diciembre de 2019.
  5. TV, Adam Gibson funcional, DeepLearning4j en Spark y Data Science en JVM con nd4j, SF Spark @Galvanize 20150212 . Reunión de SF Spark (12 de febrero de 2015). Consultado el 1 de marzo de 2015. Archivado desde el original el 26 de diciembre de 2015.
  6. Repositorio de Github . Consultado el 25 de julio de 2017. Archivado desde el original el 24 de septiembre de 2019.
  7. 1 2 deeplearning4j.org . Consultado el 25 de julio de 2017. Archivado desde el original el 30 de marzo de 2016.
  8. Perfil de Crunchbase . Consultado el 25 de julio de 2017. Archivado desde el original el 31 de julio de 2017.
  9. Harris, Derrick Se lanza una startup llamada Skymind, impulsando el aprendizaje profundo de código abierto . GigaOM.com (2 de junio de 2014). Consultado el 29 de junio de 2014. Archivado desde el original el 28 de junio de 2014.
  10. Novet, Jordan Skymind se lanza con funciones de aprendizaje profundo plug-and-play de código abierto para su aplicación (2 de junio de 2014). Consultado el 29 de junio de 2014. Archivado desde el original el 28 de septiembre de 2020.
  11. Copia archivada (enlace no disponible) . Consultado el 25 de julio de 2017. Archivado desde el original el 25 de febrero de 2017. 
  12. Herramientas de visualización de Deeplearning4j (enlace descendente) . Consultado el 25 de julio de 2017. Archivado desde el original el 10 de agosto de 2017. 
  13. Gráfico de cálculo de Deeplearning4j (enlace descendente) . Consultado el 25 de julio de 2017. Archivado desde el original el 10 de agosto de 2017. 
  14. Reducción iterativa . Consultado el 25 de julio de 2017. Archivado desde el original el 10 de junio de 2018.
  15. DataVec ETL para Machine Learning (enlace descendente) . Consultado el 25 de julio de 2017. Archivado desde el original el 2 de octubre de 2017. 
  16. Detección de anomalías para datos de series temporales con aprendizaje profundo . Consultado el 25 de julio de 2017. Archivado desde el original el 28 de septiembre de 2020.
  17. palabra2vec . Consultado el 25 de julio de 2017. Archivado desde el original el 10 de marzo de 2016.
  18. Finanzas y Fraude | Skymind (enlace descendente) . Consultado el 25 de julio de 2017. Archivado desde el original el 10 de marzo de 2016. 
  19. https://skymind.ai/bsa-aml  (enlace no disponible)
  20. Copia archivada . Consultado el 22 de febrero de 2016. Archivado desde el original el 10 de marzo de 2016.
  21. https://skymind.ai/image  (enlace no disponible)
  22. https://www.rapidminerchina.com/en/products/shop/product/deeplearning4j/  (enlace descendente)
  23. Documentación generada (sin título) . Consultado el 25 de julio de 2017. Archivado desde el original el 23 de agosto de 2017.
  24. GitHub - deeplearning4j/dl4j-benchmark: repositorio para rastrear el código de referencia dl4j . Consultado el 25 de julio de 2017. Archivado desde el original el 22 de julio de 2020.
  25. Evaluación comparativa con DL4J y ND4J | Deeplearning4j (enlace no disponible) . Consultado el 25 de julio de 2017. Archivado desde el original el 9 de agosto de 2017. 

Literatura

Enlaces