redes neuronales learning imagenes español convolucionales aplicaciones machine-learning artificial-intelligence neural-network

machine learning - neuronales - Biblioteca de red neuronal de código abierto



tensorflow (4)

Puedes usar el framework accord.net. http://accord-framework.net/

Contiene algoritmos de aprendizaje neuronal como Levenberg-Marquardt, Parallel Resilient Backpropagation, el algoritmo de inicialización Nguyen-Widrow, Deep Belief Networks y Restricted Boltzmann Machines, y muchos otros elementos relacionados con redes neuronales.

Estoy buscando una biblioteca de red neuronal de código abierto. Hasta ahora, he visto FANN, WEKA y OpenNN. ¿Son los otros a los que debería mirar? El criterio, por supuesto, es la documentación, ejemplos y facilidad de uso.


Netlab es una biblioteca de Matlab comúnmente utilizada. (fuente libre y abierta)

La caja de herramientas de Netlab está diseñada para proporcionar las herramientas centrales necesarias para la simulación de algoritmos de red neuronal teóricamente bien fundados y modelos relacionados para su uso en la enseñanza, la investigación y el desarrollo de aplicaciones. Es ampliamente utilizado en la Maestría en Investigación en Matemáticas de Sistemas Complejos.

La biblioteca de Netlab incluye implementaciones de software de una amplia gama de técnicas de análisis de datos, muchas de las cuales aún no están disponibles en paquetes de simulación de redes neuronales estándar. Netlab funciona con Matlab versión 5.0 y superior, pero solo necesita el núcleo Matlab (es decir, no se requieren otras cajas de herramientas). No es compatible con versiones anteriores de Matlab.


Última actualización: 2017/12/17 (Actualizaré esta respuesta de vez en cuando ...)

Implementaciones estándar de redes neuronales

  • FANN es una implementación muy popular en C / C ++ y tiene enlaces para muchos otros lenguajes.
  • Creo que WEKA no tiene una implementación muy buena para redes neuronales. Hay una mejor biblioteca para Java (y C #): Encog .
  • En scikit-learn (Python) 0.18 (versión actual de desarrollo) habrá una implementación de redes neuronales feed-forward ( documentación API ).
  • PyBrain (Python) contiene diferentes tipos de redes neuronales y métodos de entrenamiento.
  • Y debo mencionar mi propio proyecto, que se llama OpenANN ( Documentation ). Está escrito en C ++ y tiene enlaces de Python.

Aprendizaje profundo

Debido a que existe una gran publicidad en torno a las redes neuronales ("aprendizaje profundo"), hay muchas bibliotecas de investigación disponibles que posiblemente no sean tan fáciles de configurar, integrar y usar. Por otro lado, proporcionan funcionalidad de vanguardia y alto rendimiento (con GPU, etc.). La mayoría de estas bibliotecas también tienen diferenciación automática. Puede especificar fácilmente nuevas arquitecturas, funciones de pérdida, etc. y no tiene que especificar la retropropagación manualmente.

here se puede encontrar una comparación de rendimiento para bibliotecas aceleradas por GPU (un poco desactualizado desafortunadamente). here puede encontrar una comparación de las GPU y las versiones de la biblioteca.

Inactivo:


Si desea flexibilidad para definir configuraciones de red, como compartir parámetros o crear diferentes tipos de arquitecturas convolucionales, entonces debe consultar la familia de bibliotecas Torch: http://www.torch.ch/ .

Todavía no he revisado la documentación de Torch 7, pero la documentación para las otras versiones era bastante decente y el código es muy legible (en Lua y C ++).