Enlaces recomendados sobre Deep Learning
A continuación incluimos algunos recursos bibliográficos disponibles en la web para afianzar los conocimientos de Deep Learning que forman parte de este módulo del curso.
-
Recursos de Nvidia: Plataformas, entornos, hardware, herramientas y mucho más, todo puesto al día y en permanente renovación.
-
Libros:
- Neural Networks and Deep Learning, un estupendo libro de Michael Nielsen que describe los principales conceptos de Deep Learning apoyándose en nuestro socorrido ejemplo del reconocimiento de números escritos a mano. De acceso gratuito cortesía del autor y en constante actualización.
- Deep Learning (2017), escrito por tres expertos de referencia en el área, introduce los principales aspectos del Deep Learning: su base conceptual, el aparato matemático, las técnicas utilizadas en la industria y algunas perspectivas de investigación.
- Understanding Deep Learning, libro de Simon Price disponible en PDF (distribuido bajo licencia CC-BY-NC-ND) que contiene más de 500 páginas, incluyendo numerosos enlaces a cuadernos Jupyter que amplían los conceptos vistos en el curso del DLI, como la "backpropagation" o la entropía cruzada. También tiene referencias al ejemplo del clasificador de números escritos a mano (MNIST).
-
Tutoriales a través de vídeos en Youtube:
-
3Blue1Brown. Canal matemático creado por Grant Sanderson enfocado a las matemáticas de educación superior desde una perspectiva visual. Su serie de capítulos sobre Deep Learning introduce todos los conceptos básicos apoyándose de nuevo en el pedagógico ejemplo del reconocimiento de números escritos a mano. Especialmente recomendables son los tres primeros episodios de la saga, que eventualmente hemos utilizado como recurso en clase. A partir del capítulo 4 se sumerge en el aparato matemático, que no es la prioridad de un curso como el nuestro.
- Capítulo 1. ¿Qué es una red neuronal? (19 minutos).
- Capítulo 2. Descenso de gradiente, es como las redes neuronales aprenden (21 minutos).
- Capítulo 3. ¿Qué es la retropropagación y qué hace en realidad? (14 minutos).
-
DotCSV. Un canal de Youtube que dedica una serie de 5 capítulos divulgativos a explicar los conceptos básicos de las redes neuronales (en castellano, 1 hora y 7 minutos en total).
- Parte 1: La neurona (9 minutos).
- Parte 2: La red (10 minutos).
- Parte 2.5: Jugando con redes neuronales (20 minutos).
- Parte 3: Retropropagación (11 minutos).
- Parte 3.5: Las matemáticas de la retropropagación (17 minutos).
-
3Blue1Brown. Canal matemático creado por Grant Sanderson enfocado a las matemáticas de educación superior desde una perspectiva visual. Su serie de capítulos sobre Deep Learning introduce todos los conceptos básicos apoyándose de nuevo en el pedagógico ejemplo del reconocimiento de números escritos a mano. Especialmente recomendables son los tres primeros episodios de la saga, que eventualmente hemos utilizado como recurso en clase. A partir del capítulo 4 se sumerge en el aparato matemático, que no es la prioridad de un curso como el nuestro.
-
Dos complementos para el ejemplo del reconocimiento de dígitos escritos a mano estudiado en clase:
- MNIST: Una enorme base de datos de imágenes de dígitos escritos a mano, un gran recurso para entrenar a nuestra red a que consiga reconocerlos.
- Una curiosa herramienta de visualización que permite dibujar un número con el ratón y ver cómo la red lo analiza en sus capas y neuronas, incluyendo la salida final.
-
Aplicaciones sobre la DNN YOLO (You Only Look Once):
- Utiliza la webcam de tu portátil para descubrir la potencia de la red neuronal YOLO especializada en el reconocimiento de objetos en movimiento mediante esta fantástica aplicación que sale adelante de forma muy digna en su propósito a pesar de las limitaciones de la plataforma hardware.
- Otro recurso similar es éste, disponible en el repositorio Github, que implementa la YOLO v3 para detectar objetos con TensorFlow, entrenando la red mediante el dataset COCO. El proyecto está escrito en Python 3.6.6 y utiliza además las librerías NumPy de análisis numérico, Pillow de procesamiento de imágenes, OpenCV de visión por computador y seaborn para la visualización.
-
Finalmente, una serie de recursos, entre útiles, curiosos y maravillosos:
- NN-SVG: Una buena herramienta para dibujar y visualizar cualquier red neuronal que se nos pueda ocurrir diseñar.
- TalktoTransformer: Utiliza técnicas de Deep Learning para redactar texto a partir de una frase introducida, guardando su coherencia semántica. La herramienta definitiva para que la máquina, por fín, te escriba los libros mientras tú estás en la playa :-).
- ChatGPT: La versión chatbot de la idea anterior, creada en 2022 por OpenAI, mucho más polivalente, potente y popular.
- AIDeadlin: Un guiño a todos esos científicos vocacionales que siempre acuden a nuestros cursos. Se trata de una agenda que lista los principales congresos mundiales en el ámbito del Machine Learning y la Visión por Computador, indicando las fechas del envío de artículos para su publicación.
- ConvNetJS: Una libreria escrita en Javascript en el Departamento de Ciencias de la Computación de la Universidad de Stanford para entrenar modelos de redes neuronales completamente en tu Navegador web, sin necesidad de más requerimientos software, compiladores o GPUs (la ruina de Nvidia, vamos :-)).
- Ejercicios de Machine Learning: Contiene todas las soluciones a los ejercicios propuestos en la segunda edición del libro "Hands-on Machine Learning with Scikit-Learn, Keras and TensorFlow", editado por O'Reilly. Implementados en Jupyter notebooks, estos ejercicios consolidan el aprendizaje de los fundamentos del Machine Learning y el Deep Learning en Python usando Scikit-Learn, Keras y TensorFlow 2.