¿Cuál es el mejor tutorial o demostración de redes neuronales que has visto?

Cuando leí la descripción de tu pregunta, casi sentí que era yo quien hacía la pregunta. Estaba (a veces todavía estoy) en el estado en el que te encuentras. Podía leer la mayoría de los documentos de Deep Learning y entenderlo lo suficiente como para presentarlo a un colega, pero me llevó un tiempo implementarlo. Así que intentaré elaborar los pasos que tomé y estoy tomando para superar ese obstáculo.

Lo más importante a tener en cuenta es: ¡ ELIJA SUS HERRAMIENTAS!

Como principiante, su camino hacia el dominio depende en gran medida de sus herramientas, elegir las que le resulten más cómodas es extremadamente importante, además de asegurarse de que tengan una buena documentación y una comunidad de usuarios activa.

Me siento cómodo con Python, así que elijo esas herramientas que se parecen mucho a la forma pitónica de hacer las cosas.

Mi primera herramienta DL fue Caffe, era una buena herramienta y estaba bien documentada. El edificio desde el origen puede ser un poco complicado si no lo ha hecho antes. Utiliza dos archivos, uno para describir la red y otro para describir el entrenamiento. Entonces, solo tienes que dominar a Caffe | Catálogo de capas para hacer las cosas con él. El tutorial es bastante bueno y es un buen lugar para comenzar con las CNN. Sin embargo, Caffe es difícil de extender a redes que no son de CNN y no lo uso para mi trabajo hoy en día.

Caffe abre su apetito sobre qué esperar de un marco DL y qué parámetros deben mencionarse. Esto a su vez lo ayuda a estar alerta sobre los valores que necesita de un documento para implementarlo.

He sido colaborador de Theano (omití GSoC por un pequeño margen) y, en mi opinión, probablemente tengan uno de los documentos de herramientas de DL más extensos en torno a Tutorial: la documentación de Theano 0.8.2 es un tutorial maravilloso, aunque largo, que te lleva de scratch a LSTM, GRU, ResNets .etc. Te llevará un tiempo, pero merece la pena. Los Grupos de Google son lugares increíbles para obtener ayuda sobre theano, y la mejor parte fue lo útiles que fueron los desarrolladores para los novatos. Realmente les importa el proyecto y que los usuarios puedan usarlo fácilmente.

Luego viene TensorFlow, respaldado por Google y lo mejor de ambos mundos de Theano y Caffe. También tiene extensos tutoriales y definitivamente vale la pena tu tiempo.

TF y Theano parecen similares en lo que logran, por lo que si no los conoce, puede elegir cualquiera de ellos y aún así no perder mucho, debido a la próxima biblioteca.

Keras: una herramienta de aprendizaje profundo de alto nivel (ver Documentación de Keras) que hace que sea vergonzosamente fácil crear y entrenar ANNs. Puede usar TF o Theano como backend. Esto tiene un canal slack deliciosamente útil y es bastante activo. La API funcional de Keras es muy flexible y puede acomodar muchas de las arquitecturas de DNN más exóticas como ResNets y BLSTM-CNN.

Si tuviera que comenzar desde cero en este momento, haría lo siguiente:

0. Conozca cómo funcionan las operaciones de tensor

  1. Aprenda el modelo secuencial de Keras
  2. Aprenda el modelo funcional de Keras
  3. Comprenda cómo cargar datos en Keras y entrenar un modelo simple (incluso un MLP superficial está bien)
  4. Revise los ejemplos en fchollet / keras y vea qué más podría hacer OOTB con Keras.
  5. Pase a los tutoriales de TensorFlow / Theano. Pase un tiempo aquí para comprender realmente todos los detalles.
  6. Haz el otro tutorial. (Ambos son igualmente buenos OMI)

PD:
1. Antes de comenzar la pista práctica, tómese una o dos horas para comprender los tensores. Todas las bibliotecas que mencioné tratan con tensores y representan ANN como un conjunto de operaciones en tensores. Las dimensiones pueden ser un poco difíciles de comprender la primera vez, tenga un papel y un bolígrafo cerca para averiguar las dimensiones

2. Nunca tengas miedo de pedir ayuda, parece obvio, pero la mayoría de las veces pasamos horas depurando en lugar de solo preguntar en el grupo (al menos lo hice inicialmente)

3. ¡Búscalo en Google! Solo google “Cómo implementar en “, obtendrá resultados útiles 🙂

Me encantaría asociarme con usted para aprender estas cosas en el orden mencionado si cree que este enfoque tiene sentido para usted.

¡Buena suerte!

El mejor tutorial sobre ANN’s (Attractor Neural Networks) es “NEURAL NETWORKS”, un libro que forma parte de la serie IEEE Press de series de autoeducación profesional. En este libro aprenderá tanto la teoría como la aplicación de cada uno de los modelos de ANN que se discuten. Incluso se le presentará información suficiente que, con una cantidad modesta de dificultad, le permitirá programar y entrenar los ANN discutidos en este libro. Debe tener en cuenta que el IEEE (Instituto de Ingenieros Eléctricos y Electrónicos) ofrece este libro a dos precios diferentes. Un precio es para miembros y el otro precio es para no miembros. Puede encontrar más información en este enlace IEEE y también en este enlace Instituto de Ingenieros Eléctricos y Electrónicos (la tienda de literatura estándar). Robotronics LLC | Facebook

Suponiendo que ya esté familiarizado con la teoría, recomendaría jugar con algunas redes y conjuntos de datos.

El tutorial bien escrito más reciente que encontré es el siguiente para Tensorflow: aymericdamien / TensorFlow-examples

Tensorflow también es bastante fácil de configurar en Python.

Una vez que haya probado algunos ejemplos del tutorial y haya jugado con ellos, ajustando los parámetros, regrese a la teoría y podrá relacionar la teoría con la implementación real de manera mucho más efectiva.

Recomiendo leer el artículo del blog “Chris Olah” sobre la comprensión de las redes neuronales

(Redes neuronales, colectores y topología). La explicación es muy fácil de entender con animación de apoyo y figuras.

Si busca materiales más elaborados, recomendaría el libro de Michael Nielson Neural Networks que está disponible en línea de forma gratuita: redes neuronales y aprendizaje profundo.

Conozco la dificultad de implementar una teoría bastante abstracta en la que cada pequeño error en una fórmula puede conducir a un resultado inutilizable.

Puedo recomendar el curso Coursera sobre aprendizaje automático de la Universidad de Stanford impartido por Andrew Ng.

No solo aprenderá la teoría allí, sino que también podrá aplicar los modelos a algunos datos de muestra en MATLAB u Octave (versión gratuita de MATLAB, por así decirlo).

Incluso podría aplicar los ejercicios resueltos directamente a los datos de mi problema de investigación.

Una colega mía que es profesora junior también dijo que este fue el curso más beneficioso de todos los que tuvo en su carrera académica.

Y es completamente gratis.

Espero eso ayude…