[go: nahoru, domu]

Ir al contenido

Diferencia entre revisiones de «Deeplearning4j»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Bibliodrome (discusión · contribs.)
Creado al traducir la página «Deeplearning4j»
Etiquetas: [mw:Content translation/es Traducción de contenido] Traducción de contenido, versión 2
 
Bibliodrome (discusión · contribs.)
Sin resumen de edición
Línea 1: Línea 1:
Eclipse '''Deeplearning4j''' es una [[Biblioteca (informática)|biblioteca]] de programación escrita en [[Java (lenguaje de programación)|Java]] para la [[máquina virtual Java]] (JVM). <ref>{{Cita noticia|url=http://www.businessweek.com/articles/2014-06-03/teaching-smaller-companies-how-to-probe-deep-learning-on-their-own|archive-url=https://web.archive.org/web/20140604063205/http://www.businessweek.com/articles/2014-06-03/teaching-smaller-companies-how-to-probe-deep-learning-on-their-own|fechaarchivo=June 4, 2014|título=Deep Learning for (Some of) the People|apellidos=Vance|nombre=Ashlee|obra=[[Bloomberg Businessweek]]|fecha=2014-06-03|fechaacceso=2014-06-28}}</ref> Es un [[Framework|marco]] con amplio soporte para algoritmos de aprendizaje profundo. <ref>{{Cita web|url=https://venturebeat.com/2015/11/14/deep-learning-frameworks/|título=Want an open-source deep learning framework? Take your pick|fechaacceso=2015-11-24|autor=Novet|nombre=Jordan|fecha=2015-11-14|sitioweb=[[VentureBeat]]}}</ref> Deeplearning4j incluye implementaciones de la máquina Boltzmann restringida, [[Red de creencia profunda|red de creencias profundas]], codificador automático profundo, codificador automático de eliminación de ruido apilado y red de tensor neuronal recursivo, [[word2vec]], doc2vec y GloVe . Todos estos algoritmos incluyen versiones [[Computación paralela|paralelas]] [[Computación distribuida|distribuidas]] que se integran con [[Apache Hadoop]] y [[Apache Spark|Spark]] . <ref>{{Cita web|url=https://www.youtube.com/watch?v=LCsc1hFuNac|título=Adam Gibson, DeepLearning4j on Spark and Data Science on JVM with nd4j, SF Spark @Galvanize 20150212|fechaacceso=2015-03-01|fecha=2015-02-12|sitioweb=SF Spark Meetup}}</ref>
Eclipse '''Deeplearning4j''' es una [[Biblioteca (informática)|biblioteca]] de programación escrita en [[Java (lenguaje de programación)|Java]] para la [[máquina virtual Java]] (JVM). <ref>{{Cita noticia|url=http://www.businessweek.com/articles/2014-06-03/teaching-smaller-companies-how-to-probe-deep-learning-on-their-own|archive-url=https://web.archive.org/web/20140604063205/http://www.businessweek.com/articles/2014-06-03/teaching-smaller-companies-how-to-probe-deep-learning-on-their-own|fechaarchivo=June 4, 2014|título=Deep Learning for (Some of) the People|apellidos=Vance|nombre=Ashlee|obra=[[Bloomberg Businessweek]]|fecha=2014-06-03|fechaacceso=2014-06-28}}</ref> Es un [[Framework|marco]] con amplio soporte para algoritmos de aprendizaje profundo. <ref>{{Cita web|url=https://venturebeat.com/2015/11/14/deep-learning-frameworks/|título=Want an open-source deep learning framework? Take your pick|fechaacceso=2015-11-24|autor=Novet|nombre=Jordan|fecha=2015-11-14|sitioweb=[[VentureBeat]]}}</ref> Deeplearning4j incluye implementaciones de la máquina Boltzmann restringida, [[Red de creencia profunda|red de creencias profundas]], codificador automático profundo, codificador automático de eliminación de ruido apilado y red de tensor neuronal recursivo, [[word2vec]], doc2vec y GloVe . Todos estos algoritmos incluyen versiones [[Computación paralela|paralelas]] [[Computación distribuida|distribuidas]] que se integran con [[Apache Hadoop]] y [[Apache Spark|Spark]] . <ref>{{Cita web|url=https://www.youtube.com/watch?v=LCsc1hFuNac|título=Adam Gibson, DeepLearning4j on Spark and Data Science on JVM with nd4j, SF Spark @Galvanize 20150212|fechaacceso=2015-03-01|fecha=2015-02-12|sitioweb=SF Spark Meetup}}</ref>


Deeplearning4j es [[Software de código abierto|un software de código abierto]] publicado bajo [[Apache License|la Licencia Apache]] 2.0, <ref>{{Cita web|url=https://github.com/agibsonccc/java-deeplearning|título=Github Repository|fecha=April 2020|sitioweb=[[GitHub]]}}</ref> desarrollado principalmente por un grupo [[Aprendizaje automático|de aprendizaje automático]] con sede en [[San Francisco (California)|San Francisco]] . <ref name="deeplearning4j.org">{{Cita web|url=http://deeplearning4j.org/|título=deeplearning4j.org}}</ref> Cuenta con el respaldo comercial de la startup Skymind, que incluye DL4J, [[TensorFlow]], [[Keras]] y otras bibliotecas de aprendizaje profundo en una distribución empresarial llamada Skymind Intelligence Layer. <ref>{{Cita web|url=https://skymind.ai/quickstart|título=Skymind Intelligence Layer Community Edition|fechaacceso=2017-11-02|urlarchivo=https://web.archive.org/web/20171107015537/https://skymind.ai/quickstart|fechaarchivo=2017-11-07|url-status=dead}}</ref> Deeplearning4j se contribuyó a la [[Fundación Eclipse]] en octubre de 2017. <ref>{{Cita web|url=https://projects.eclipse.org/proposals/deeplearning4j|título=Eclipse Deeplearning4j Project Page|fecha=22 June 2017}}</ref> <ref>{{Cita web|url=https://jaxenter.com/skymind-deeplearning4j-eclipse-138872.html|título=Skymind's Deeplearning4j, the Eclipse Foundation, and scientific computing in the JVM|fechaacceso=2017-11-15|fecha=13 November 2017|sitioweb=Jaxenter}}</ref>
Deeplearning4j es [[Software de código abierto|un software de código abierto]] publicado bajo [[Apache License|la Licencia Apache]] 2.0, <ref>{{Cita web|url=https://github.com/agibsonccc/java-deeplearning|título=Github Repository|fecha=April 2020|sitioweb=[[GitHub]]}}</ref> desarrollado principalmente por un grupo [[Aprendizaje automático|de aprendizaje automático]] con sede en [[San Francisco (California)|San Francisco]] . <ref name="deeplearning4j.org">{{Cita web|url=http://deeplearning4j.org/|título=deeplearning4j.org}}</ref> Cuenta con el respaldo comercial de la startup Skymind, que incluye DL4J, [[TensorFlow]], [[Keras]] y otras bibliotecas de aprendizaje profundo en una distribución empresarial llamada Skymind Intelligence Layer. Deeplearning4j se contribuyó a la [[Fundación Eclipse]] en octubre de 2017. <ref>{{Cita web|url=https://projects.eclipse.org/proposals/deeplearning4j|título=Eclipse Deeplearning4j Project Page|fecha=22 June 2017}}</ref> <ref>{{Cita web|url=https://jaxenter.com/skymind-deeplearning4j-eclipse-138872.html|título=Skymind's Deeplearning4j, the Eclipse Foundation, and scientific computing in the JVM|fechaacceso=2017-11-15|fecha=13 November 2017|sitioweb=Jaxenter}}</ref>


== Introducción ==
== Introducción ==
Deeplearning4j se basa en el lenguaje de programación ampliamente utilizado [[Java (lenguaje de programación)|Java]], aunque es compatible con [[Clojure]] e incluye una [[API|interfaz de programación de aplicaciones]] (API) [[Scala (lenguaje de programación)|Scala]] . Está alimentado por su propia biblioteca de computación numérica de código abierto, [[ND4J (software)|ND4J]], y funciona tanto con [[Unidad central de procesamiento|unidades de procesamiento central]] (CPU) como [[Unidad de procesamiento gráfico|con unidades de procesamiento de gráficos]] (GPU). <ref name="om">{{Cita web|url=http://gigaom.com/2014/06/02/a-startup-called-skymind-launches-pushing-open-source-deep-learning/|título=A startup called Skymind launches, pushing open source deep learning|fechaacceso=2014-06-29|autor=Harris|nombre=Derrick|fecha=2014-06-02|sitioweb=[[GigaOM.com]]|urlarchivo=https://web.archive.org/web/20140628031148/http://gigaom.com/2014/06/02/a-startup-called-skymind-launches-pushing-open-source-deep-learning/|fechaarchivo=2014-06-28|url-status=dead}}</ref> <ref name="vb">{{Cita web|url=https://venturebeat.com/2014/06/02/skymind-launches-with-open-source-plug-and-play-deep-learning-features-for-your-app//|título=Skymind launches with open-source, plug-and-play deep learning features for your app|fechaacceso=2014-06-29|autor=Novet|nombre=Jordan|fecha=2014-06-02}}</ref>
Deeplearning4j se basa en el lenguaje de programación ampliamente utilizado [[Java (lenguaje de programación)|Java]], aunque es compatible con [[Clojure]] e incluye una [[API|interfaz de programación de aplicaciones]] (API) [[Scala (lenguaje de programación)|Scala]] . Está alimentado por su propia biblioteca de computación numérica de código abierto, [[ND4J (software)|ND4J]], y funciona tanto con [[Unidad central de procesamiento|unidades de procesamiento central]] (CPU) como [[Unidad de procesamiento gráfico|con unidades de procesamiento de gráficos]] (GPU). <ref name="vb">{{Cita web|url=https://venturebeat.com/2014/06/02/skymind-launches-with-open-source-plug-and-play-deep-learning-features-for-your-app//|título=Skymind launches with open-source, plug-and-play deep learning features for your app|fechaacceso=2014-06-29|autor=Novet|nombre=Jordan|fecha=2014-06-02}}</ref>


Deeplearning4j se ha utilizado en varias aplicaciones comerciales y académicas. El código está alojado en [[GitHub]] . <ref>{{Cita web|url=https://github.com/deeplearning4j/deeplearning4j|título=deeplearning4j/deeplearning4j|fechaacceso=29 April 2023|fecha=29 April 2023}}</ref> Se mantiene un foro de soporte en Gitter . <ref>{{Cita web|url=https://app.gitter.im/#/room/#deeplearning4j_deeplearning4j:gitter.im|título=Element|fechaacceso=29 April 2023|sitioweb=app.gitter.im}}</ref>
Deeplearning4j se ha utilizado en varias aplicaciones comerciales y académicas. El código está alojado en [[GitHub]] . <ref>{{Cita web|url=https://github.com/deeplearning4j/deeplearning4j|título=deeplearning4j/deeplearning4j|fechaacceso=29 April 2023|fecha=29 April 2023}}</ref> Se mantiene un foro de soporte en Gitter . <ref>{{Cita web|url=https://app.gitter.im/#/room/#deeplearning4j_deeplearning4j:gitter.im|título=Element|fechaacceso=29 April 2023|sitioweb=app.gitter.im}}</ref>


El marco es componible, lo que significa que las redes neuronales superficiales, como las máquinas de Boltzmann restringidas, las redes convolucionales, los codificadores automáticos y las redes recurrentes, se pueden agregar entre sí para crear redes profundas de diferentes tipos. También cuenta con amplias herramientas de visualización, <ref>{{Cita web|url=http://deeplearning4j.org/visualization|título=Deeplearning4j Visualization Tools|fechaacceso=2016-08-17|urlarchivo=https://web.archive.org/web/20170810053823/https://deeplearning4j.org/visualization|fechaarchivo=2017-08-10|url-status=dead}}</ref> y un gráfico de cálculo. <ref>{{Cita web|url=http://deeplearning4j.org/compgraph|título=Deeplearning4j Computation Graph|fechaacceso=2016-08-17|urlarchivo=https://web.archive.org/web/20170810053821/https://deeplearning4j.org/compgraph|fechaarchivo=2017-08-10|url-status=dead}}</ref>
El marco es componible, lo que significa que las redes neuronales superficiales, como las máquinas de Boltzmann restringidas, las redes convolucionales, los codificadores automáticos y las redes recurrentes, se pueden agregar entre sí para crear redes profundas de diferentes tipos. También cuenta con amplias herramientas de visualización, y un gráfico de cálculo.


== Repartido ==
== Repartido ==
Línea 17: Línea 17:


== Biblioteca de vectorización DataVec para aprendizaje automático ==
== Biblioteca de vectorización DataVec para aprendizaje automático ==
DataVec vectoriza varios formatos de archivo y tipos de datos utilizando un sistema de formato [[Periférico de entrada/salida|de entrada/salida]] similar al uso de Hadoop de MapReduce; es decir, convierte varios tipos de datos en columnas de escalares denominados vectores . DataVec está diseñado para vectorizar CSV, imágenes, sonido, texto, video y series temporales. <ref>{{Cita web|url=http://deeplearning4j.org/datavec|título=DataVec ETL for Machine Learning|fechaacceso=2016-09-18|urlarchivo=https://web.archive.org/web/20171002011151/https://deeplearning4j.org/datavec|fechaarchivo=2017-10-02|url-status=dead}}</ref> <ref>{{Cita web|url=https://www.infoq.com/articles/deep-learning-time-series-anomaly-detection/|título=Anomaly Detection for Time Series Data with Deep Learning|fechaacceso=29 April 2023|sitioweb=InfoQ}}</ref>
DataVec vectoriza varios formatos de archivo y tipos de datos utilizando un sistema de formato [[Periférico de entrada/salida|de entrada/salida]] similar al uso de Hadoop de MapReduce; es decir, convierte varios tipos de datos en columnas de escalares denominados vectores . DataVec está diseñado para vectorizar CSV, imágenes, sonido, texto, video y series temporales. <ref>{{Cita web|url=https://www.infoq.com/articles/deep-learning-time-series-anomaly-detection/|título=Anomaly Detection for Time Series Data with Deep Learning|fechaacceso=29 April 2023|sitioweb=InfoQ}}</ref>


== Texto y PNL ==
== Texto y PNL ==
Línea 23: Línea 23:


== Integraciones y casos de uso del mundo real ==
== Integraciones y casos de uso del mundo real ==
Los casos de uso del mundo real para Deeplearning4j incluyen detección de intrusiones en la red y ciberseguridad, detección de fraude para el sector financiero, <ref>{{Cita web|url=http://www.skymind.io/finance/|título=Archived copy|fechaacceso=2016-02-22|urlarchivo=https://web.archive.org/web/20160310082208/http://www.skymind.io/finance/|fechaarchivo=2016-03-10|url-status=dead}}</ref> <ref>{{Cita web|url=https://skymind.ai/bsa-aml%7B%7BDead+link%7Cdate=September+2018+%7Cbot=InternetArchiveBot+%7Cfix-attempted=yes+%7D%7D|título=skymind.ai|fechaacceso=29 April 2023|sitioweb=skymind.ai}}</ref> detección de anomalías en industrias como la fabricación, sistemas de recomendación en comercio electrónico y publicidad, <ref>{{Cita web|url=http://www.skymind.io/commerce/|título=Archived copy|fechaacceso=2016-02-22|urlarchivo=https://web.archive.org/web/20160310082156/http://www.skymind.io/commerce/|fechaarchivo=2016-03-10|url-status=dead}}</ref> y reconocimiento de imágenes. . <ref>{{Cita web|url=https://skymind.ai/image%7B%7BDead+link%7Cdate=September+2018+%7Cbot=InternetArchiveBot+%7Cfix-attempted=yes+%7D%7D|título=skymind.ai|fechaacceso=29 April 2023|sitioweb=skymind.ai}}</ref> Deeplearning4j se ha integrado con otras plataformas de aprendizaje automático como RapidMiner, Prediction.io, <ref>{{Cita web|url=https://www.rapidminerchina.com/en/products/shop/product/deeplearning4j/|título=DeepLearning4J(Stable) &#124; RapidMiner China|fechaacceso=22 May 2022|sitioweb=www.rapidminerchina.com|urlarchivo=https://archive.today/20160518041312/https://www.rapidminerchina.com/en/products/shop/product/deeplearning4j/|fechaarchivo=18 May 2016|url-status=dead}}</ref> y [[Weka (aprendizaje automático)|Weka]] . <ref>{{Cita web|url=https://deeplearning.cms.waikato.ac.nz/|título=Home - WekaDeeplearning4j|fechaacceso=29 April 2023|sitioweb=deeplearning.cms.waikato.ac.nz}}</ref>
Los casos de uso del mundo real para Deeplearning4j incluyen detección de intrusiones en la red y ciberseguridad, detección de fraude para el sector financiero, <ref>{{Cita web|url=https://skymind.ai/bsa-aml%7B%7BDead+link%7Cdate=September+2018+%7Cbot=InternetArchiveBot+%7Cfix-attempted=yes+%7D%7D|título=skymind.ai|fechaacceso=29 April 2023|sitioweb=skymind.ai}}</ref> detección de anomalías en industrias como la fabricación, sistemas de recomendación en comercio electrónico y publicidad, y reconocimiento de imágenes. . <ref>{{Cita web|url=https://skymind.ai/image%7B%7BDead+link%7Cdate=September+2018+%7Cbot=InternetArchiveBot+%7Cfix-attempted=yes+%7D%7D|título=skymind.ai|fechaacceso=29 April 2023|sitioweb=skymind.ai}}</ref> Deeplearning4j se ha integrado con otras plataformas de aprendizaje automático como RapidMiner, Prediction.io, y [[Weka (aprendizaje automático)|Weka]] . <ref>{{Cita web|url=https://deeplearning.cms.waikato.ac.nz/|título=Home - WekaDeeplearning4j|fechaacceso=29 April 2023|sitioweb=deeplearning.cms.waikato.ac.nz}}</ref>


== Servidor de modelo de aprendizaje automático ==
== Servidor de modelo de aprendizaje automático ==
Deeplearning4j sirve modelos de aprendizaje automático para la inferencia en producción utilizando la edición gratuita para desarrolladores de SKIL, Skymind Intelligence Layer. <ref>{{Cita web|url=https://skymind.ai/products|título=Products|fechaacceso=2017-09-20|urlarchivo=https://web.archive.org/web/20170921001159/https://skymind.ai/products|fechaarchivo=2017-09-21|url-status=dead}}</ref> <ref>{{Cita web|url=https://deeplearning4j.org/modelserver|título=Model Server for Deep Learning and AI - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM|fechaacceso=2017-09-20|urlarchivo=https://web.archive.org/web/20170921001516/https://deeplearning4j.org/modelserver|fechaarchivo=2017-09-21|url-status=dead}}</ref> Un servidor modelo sirve a los modelos paramétricos de aprendizaje automático que toman decisiones sobre los datos. Se utiliza para la etapa de inferencia de un flujo de trabajo de aprendizaje automático, después de las canalizaciones de datos y el entrenamiento del modelo. Un servidor modelo es la herramienta que permite implementar la investigación de ciencia de datos en un entorno de producción del mundo real.
Deeplearning4j sirve modelos de aprendizaje automático para la inferencia en producción utilizando la edición gratuita para desarrolladores de SKIL, Skymind Intelligence Layer. Un servidor modelo sirve a los modelos paramétricos de aprendizaje automático que toman decisiones sobre los datos. Se utiliza para la etapa de inferencia de un flujo de trabajo de aprendizaje automático, después de las canalizaciones de datos y el entrenamiento del modelo. Un servidor modelo es la herramienta que permite implementar la investigación de ciencia de datos en un entorno de producción del mundo real.


Lo que un servidor web es para Internet, un servidor modelo es para la IA. Cuando un servidor web recibe una solicitud HTTP y devuelve datos sobre un sitio web, un servidor modelo recibe datos y devuelve una decisión o predicción sobre esos datos: por ejemplo, envió una imagen, un servidor modelo podría devolver una etiqueta para esa imagen, identificando caras o animales en fotografías.El servidor de modelos SKIL puede importar modelos de marcos Python como Tensorflow, Keras, Theano y CNTK, superando una barrera importante en la implementación de modelos de aprendizaje profundo.
Lo que un servidor web es para Internet, un servidor modelo es para la IA. Cuando un servidor web recibe una solicitud HTTP y devuelve datos sobre un sitio web, un servidor modelo recibe datos y devuelve una decisión o predicción sobre esos datos: por ejemplo, envió una imagen, un servidor modelo podría devolver una etiqueta para esa imagen, identificando caras o animales en fotografías.El servidor de modelos SKIL puede importar modelos de marcos Python como Tensorflow, Keras, Theano y CNTK, superando una barrera importante en la implementación de modelos de aprendizaje profundo.


== Puntos de referencia ==
== Puntos de referencia ==
Deeplearning4j es tan rápido como Caffe para tareas de reconocimiento de imágenes no triviales utilizando varias GPU. <ref>{{Cita web|url=https://github.com/deeplearning4j/dl4j-benchmark|título=GitHub - deeplearning4j/Dl4j-benchmark: Repo to track dl4j benchmark code|fecha=19 December 2019|sitioweb=[[GitHub]]}}</ref> Para los programadores que no están familiarizados con HPC en la JVM, hay varios parámetros que deben ajustarse para optimizar el tiempo de entrenamiento de la red neuronal. Estos incluyen la configuración del espacio de almacenamiento dinámico, el algoritmo de recolección de basura, el empleo de memoria fuera del almacenamiento dinámico y el almacenamiento previo de datos (decapado) para un ETL más rápido. <ref>{{Cita web|url=https://deeplearning4j.org/benchmark|título=Deeplearning4j Benchmarks - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM|fechaacceso=2017-01-30|urlarchivo=https://web.archive.org/web/20170809124911/https://deeplearning4j.org/benchmark|fechaarchivo=2017-08-09|url-status=dead}}</ref> Juntas, estas optimizaciones pueden conducir a una aceleración de 10 veces en el rendimiento con Deeplearning4j.
Deeplearning4j es tan rápido como Caffe para tareas de reconocimiento de imágenes no triviales utilizando varias GPU. Para los programadores que no están familiarizados con HPC en la JVM, hay varios parámetros que deben ajustarse para optimizar el tiempo de entrenamiento de la red neuronal. Estos incluyen la configuración del espacio de almacenamiento dinámico, el algoritmo de recolección de basura, el empleo de memoria fuera del almacenamiento dinámico y el almacenamiento previo de datos (decapado) para un ETL más rápido. Juntas, estas optimizaciones pueden conducir a una aceleración de 10 veces en el rendimiento con Deeplearning4j.


== Lenguajes API: Java, Scala, Python, Clojure y Kotlin ==
== Lenguajes API: Java, Scala, Python, Clojure y Kotlin ==
Deeplearning4j se puede utilizar a través de varios lenguajes de API, incluidos Java, Scala, Python, Clojure y Kotlin. Su API Scala se llama ScalNet. <ref>{{Cita web|url=https://deeplearning4j.org/scala|título=Scala, Spark and Deeplearning4j - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM|fechaacceso=2017-02-25|urlarchivo=https://web.archive.org/web/20170225133003/https://deeplearning4j.org/scala|fechaarchivo=2017-02-25|url-status=dead}}</ref> Keras sirve como su API de Python. <ref>{{Cita web|url=https://deeplearning4j.org/keras|título=Running Keras with Deeplearning4j - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM|fechaacceso=2017-02-25|urlarchivo=https://web.archive.org/web/20170225133010/https://deeplearning4j.org/keras|fechaarchivo=2017-02-25|url-status=dead}}</ref> Y su capa Clojure se conoce como DL4CLJ. <ref>{{Cita web|url=https://deeplearning4j.org/clojure|título=Deep Learning with Clojure - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM|fechaacceso=2017-02-25|urlarchivo=https://web.archive.org/web/20170225133007/https://deeplearning4j.org/clojure|fechaarchivo=2017-02-25|url-status=dead}}</ref> Los lenguajes principales que realizan las operaciones matemáticas a gran escala necesarias para el aprendizaje profundo son C, C++ y CUDA C.
Deeplearning4j se puede utilizar a través de varios lenguajes de API, incluidos Java, Scala, Python, Clojure y Kotlin. Su API Scala se llama ScalNet. <ref>{{Cita web|url=https://deeplearning4j.org/scala|título=Scala, Spark and Deeplearning4j - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM|fechaacceso=2017-02-25|urlarchivo=https://web.archive.org/web/20170225133003/https://deeplearning4j.org/scala|fechaarchivo=2017-02-25|url-status=dead}}</ref> Keras sirve como su API de Python. Y su capa Clojure se conoce como DL4CLJ. Los lenguajes principales que realizan las operaciones matemáticas a gran escala necesarias para el aprendizaje profundo son C, C++ y CUDA C.


== Tensorflow, Keras y aprendizaje profundo4j ==
== Tensorflow, Keras y aprendizaje profundo4j ==
Tensorflow, Keras y Deeplearning4j trabajan juntos. Deeplearning4j puede importar modelos de Tensorflow y otros marcos de Python si se han creado con Keras. <ref>{{Cita web|url=https://deeplearning4j.org/tensorflow|título=Tensorflow & Deeplearning4j - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM|fechaacceso=2017-09-07|urlarchivo=https://web.archive.org/web/20170908021856/https://deeplearning4j.org/tensorflow|fechaarchivo=2017-09-08|url-status=dead}}</ref>
Tensorflow, Keras y Deeplearning4j trabajan juntos. Deeplearning4j puede importar modelos de Tensorflow y otros marcos de Python si se han creado con Keras.


== Ver también ==
== Ver también ==

Revisión del 21:53 1 jun 2023

Eclipse Deeplearning4j es una biblioteca de programación escrita en Java para la máquina virtual Java (JVM). [1]​ Es un marco con amplio soporte para algoritmos de aprendizaje profundo. [2]​ Deeplearning4j incluye implementaciones de la máquina Boltzmann restringida, red de creencias profundas, codificador automático profundo, codificador automático de eliminación de ruido apilado y red de tensor neuronal recursivo, word2vec, doc2vec y GloVe . Todos estos algoritmos incluyen versiones paralelas distribuidas que se integran con Apache Hadoop y Spark . [3]

Deeplearning4j es un software de código abierto publicado bajo la Licencia Apache 2.0, [4]​ desarrollado principalmente por un grupo de aprendizaje automático con sede en San Francisco . [5]​ Cuenta con el respaldo comercial de la startup Skymind, que incluye DL4J, TensorFlow, Keras y otras bibliotecas de aprendizaje profundo en una distribución empresarial llamada Skymind Intelligence Layer. Deeplearning4j se contribuyó a la Fundación Eclipse en octubre de 2017. [6][7]

Introducción

Deeplearning4j se basa en el lenguaje de programación ampliamente utilizado Java, aunque es compatible con Clojure e incluye una interfaz de programación de aplicaciones (API) Scala . Está alimentado por su propia biblioteca de computación numérica de código abierto, ND4J, y funciona tanto con unidades de procesamiento central (CPU) como con unidades de procesamiento de gráficos (GPU). [8]

Deeplearning4j se ha utilizado en varias aplicaciones comerciales y académicas. El código está alojado en GitHub . [9]​ Se mantiene un foro de soporte en Gitter . [10]

El marco es componible, lo que significa que las redes neuronales superficiales, como las máquinas de Boltzmann restringidas, las redes convolucionales, los codificadores automáticos y las redes recurrentes, se pueden agregar entre sí para crear redes profundas de diferentes tipos. También cuenta con amplias herramientas de visualización, y un gráfico de cálculo.

Repartido

El entrenamiento con Deeplearning4j ocurre en un clúster. Las redes neuronales se entrenan en paralelo a través de reducción iterativa, que funciona en Hadoop -YARN y en Spark . [5][11]​ Deeplearning4j también se integra con kernels CUDA para realizar operaciones de GPU puras y funciona con GPU distribuidas.

Computación científica para la JVM

Deeplearning4j incluye una clase de matriz n-dimensional que usa ND4J que permite la computación científica en Java y Scala, similar a las funciones que NumPy proporciona a Python . Se basa efectivamente en una biblioteca para álgebra lineal y manipulación de matrices en un entorno de producción.

Biblioteca de vectorización DataVec para aprendizaje automático

DataVec vectoriza varios formatos de archivo y tipos de datos utilizando un sistema de formato de entrada/salida similar al uso de Hadoop de MapReduce; es decir, convierte varios tipos de datos en columnas de escalares denominados vectores . DataVec está diseñado para vectorizar CSV, imágenes, sonido, texto, video y series temporales. [12]

Texto y PNL

Deeplearning4j incluye un kit de herramientas de modelado de temas y modelado de espacio vectorial, implementado en Java e integrado con GPU paralelas para el rendimiento.Deeplearning4j incluye implementaciones de frecuencia de término–frecuencia de documento inversa ( tf–idf ), aprendizaje profundo y el algoritmo word2vec de Mikolov, [13]​ doc2vec y GloVe, reimplementados y optimizados en Java. Se basa en la incrustación de vecinos estocásticos distribuidos en t (t-SNE) para visualizaciones de nubes de palabras. Está diseñado para manejar grandes conjuntos de texto.

Integraciones y casos de uso del mundo real

Los casos de uso del mundo real para Deeplearning4j incluyen detección de intrusiones en la red y ciberseguridad, detección de fraude para el sector financiero, [14]​ detección de anomalías en industrias como la fabricación, sistemas de recomendación en comercio electrónico y publicidad, y reconocimiento de imágenes. . [15]​ Deeplearning4j se ha integrado con otras plataformas de aprendizaje automático como RapidMiner, Prediction.io, y Weka . [16]

Servidor de modelo de aprendizaje automático

Deeplearning4j sirve modelos de aprendizaje automático para la inferencia en producción utilizando la edición gratuita para desarrolladores de SKIL, Skymind Intelligence Layer. Un servidor modelo sirve a los modelos paramétricos de aprendizaje automático que toman decisiones sobre los datos. Se utiliza para la etapa de inferencia de un flujo de trabajo de aprendizaje automático, después de las canalizaciones de datos y el entrenamiento del modelo. Un servidor modelo es la herramienta que permite implementar la investigación de ciencia de datos en un entorno de producción del mundo real.

Lo que un servidor web es para Internet, un servidor modelo es para la IA. Cuando un servidor web recibe una solicitud HTTP y devuelve datos sobre un sitio web, un servidor modelo recibe datos y devuelve una decisión o predicción sobre esos datos: por ejemplo, envió una imagen, un servidor modelo podría devolver una etiqueta para esa imagen, identificando caras o animales en fotografías.El servidor de modelos SKIL puede importar modelos de marcos Python como Tensorflow, Keras, Theano y CNTK, superando una barrera importante en la implementación de modelos de aprendizaje profundo.

Puntos de referencia

Deeplearning4j es tan rápido como Caffe para tareas de reconocimiento de imágenes no triviales utilizando varias GPU. Para los programadores que no están familiarizados con HPC en la JVM, hay varios parámetros que deben ajustarse para optimizar el tiempo de entrenamiento de la red neuronal. Estos incluyen la configuración del espacio de almacenamiento dinámico, el algoritmo de recolección de basura, el empleo de memoria fuera del almacenamiento dinámico y el almacenamiento previo de datos (decapado) para un ETL más rápido. Juntas, estas optimizaciones pueden conducir a una aceleración de 10 veces en el rendimiento con Deeplearning4j.

Lenguajes API: Java, Scala, Python, Clojure y Kotlin

Deeplearning4j se puede utilizar a través de varios lenguajes de API, incluidos Java, Scala, Python, Clojure y Kotlin. Su API Scala se llama ScalNet. [17]​ Keras sirve como su API de Python. Y su capa Clojure se conoce como DL4CLJ. Los lenguajes principales que realizan las operaciones matemáticas a gran escala necesarias para el aprendizaje profundo son C, C++ y CUDA C.

Tensorflow, Keras y aprendizaje profundo4j

Tensorflow, Keras y Deeplearning4j trabajan juntos. Deeplearning4j puede importar modelos de Tensorflow y otros marcos de Python si se han creado con Keras.

Ver también

Referencias

  1. Vance, Ashlee (3 de junio de 2014). «Deep Learning for (Some of) the People». Bloomberg Businessweek. Archivado desde el original el June 4, 2014. Consultado el 28 de junio de 2014. 
  2. Novet, Jordan (14 de noviembre de 2015). «Want an open-source deep learning framework? Take your pick». VentureBeat. Consultado el 24 de noviembre de 2015. 
  3. «Adam Gibson, DeepLearning4j on Spark and Data Science on JVM with nd4j, SF Spark @Galvanize 20150212». SF Spark Meetup. 12 de febrero de 2015. Consultado el 1 de marzo de 2015. 
  4. «Github Repository». GitHub. April 2020. 
  5. a b «deeplearning4j.org».  Error en la cita: Etiqueta <ref> no válida; el nombre «deeplearning4j.org» está definido varias veces con contenidos diferentes
  6. «Eclipse Deeplearning4j Project Page». 22 June 2017. 
  7. «Skymind's Deeplearning4j, the Eclipse Foundation, and scientific computing in the JVM». Jaxenter. 13 November 2017. Consultado el 15 de noviembre de 2017. 
  8. Novet, Jordan (2 de junio de 2014). «Skymind launches with open-source, plug-and-play deep learning features for your app». Consultado el 29 de junio de 2014. 
  9. «deeplearning4j/deeplearning4j». 29 April 2023. Consultado el 29 April 2023. 
  10. «Element». app.gitter.im. Consultado el 29 April 2023. 
  11. «Iterative reduce». GitHub. 15 March 2020. 
  12. «Anomaly Detection for Time Series Data with Deep Learning». InfoQ. Consultado el 29 April 2023. 
  13. «Google Code Archive - Long-term storage for Google Code Project Hosting.». code.google.com. Consultado el 29 April 2023. 
  14. «skymind.ai». skymind.ai. Consultado el 29 April 2023. 
  15. «skymind.ai». skymind.ai. Consultado el 29 April 2023. 
  16. «Home - WekaDeeplearning4j». deeplearning.cms.waikato.ac.nz. Consultado el 29 April 2023. 
  17. «Scala, Spark and Deeplearning4j - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM». Archivado desde el original el 25 de febrero de 2017. Consultado el 25 de febrero de 2017.  Parámetro desconocido |url-status= ignorado (ayuda)