
Fundamentals of Deep Learning
Nicholas Locascio, Nikhil Buduma
- Editorial
- O'Reilly
- Año
- 2017
- Páginas
- ~304
- Nivel
- Básico
De qué trata
Texto introductorio de Nikhil Buduma (con aportes de Nicholas Locascio) que aborda los fundamentos teóricos y las arquitecturas canónicas del aprendizaje profundo buscando un equilibrio entre rigor analítico e implementación práctica. El código está desarrollado en Python sobre la primera generación de TensorFlow (versión 1.x), utilizando su paradigma de grafos declarativos estáticos y sesiones. Está destinado a desarrolladores de software, estudiantes de ciencias de la computación e ingenieros de nivel básico o intermedio que conocen la sintaxis de Python y nociones elementales de álgebra lineal y cálculo, y desean formarse en aprendizaje profundo sin perderse en el exceso de jerga académica.
El libro introduce progresivamente el funcionamiento de la neurona artificial y los perceptrones multicapa, el algoritmo de retropropagación y técnicas de regularización para mitigar el sobreajuste. Enseña a estructurar programas con la API original de TensorFlow 1.x (`tf.Graph`, `tf.Session`, variables y `tf.placeholder`) y a inspeccionar grafos y curvas de pérdida mediante TensorBoard. Analiza optimizadores más allá del descenso de gradiente estándar (Momentum, RMSprop, Adam), redes neuronales convolucionales (CNN) con referencias a AlexNet y VGG, modelos de representación no supervisada como autoencoders y embeddings vectoriales (Word2Vec), redes neuronales recurrentes (RNN) y celdas LSTM para análisis de secuencias, y sienta bases introductorias sobre redes neuronales con memoria aumentada (Neural Turing Machines) y aprendizaje por refuerzo profundo (DQN).
A través de sus capítulos se construyen ejemplos guiados que van desde la clasificación de dígitos sobre MNIST y autoencoders para eliminación de ruido hasta modelos de procesamiento de secuencias temporales y agentes de aprendizaje por refuerzo. Su principal mérito radica en las analogías intuitivas y la gradualidad con la que expone conceptos matemáticos complejos. Sin embargo, el código basado en TensorFlow 1.x ha quedado completamente obsoleto con respecto a TensorFlow 2.x y PyTorch, por lo que su valor actual recae en la comprensión conceptual de los fundamentos teóricos y las arquitecturas de redes, más que en la reutilización de sus scripts.
- TensorFlow 1.x
- TensorBoard
- Perceptrones multicapa
- Backpropagation
- CNN
- Autoencoders
- Word2Vec
- RNN
- LSTM
- Deep Q-Networks
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Clasificador de dígitos MNIST con TensorFlow 1.x
Red neuronal feed-forward y convolucional construida mediante el grafo estático y sesiones de TensorFlow 1.x, monitorizada mediante métricas visuales en TensorBoard.
Autoencoder para desempañado de datos (Denoising Autoencoder)
Red no supervisada en TensorFlow diseñada para aprender representaciones comprimidas de baja dimensionalidad y reconstruir patrones limpios a partir de entradas con ruido sintético.
Modelo secuencial de lenguaje con celdas LSTM
Red neuronal recurrente con celdas LSTM programada en TensorFlow para procesar dependencias de largo alcance en secuencias de texto y modelado lingüístico.
Agente de Deep Q-Learning (DQN)
Implementación de una red Q profunda en TensorFlow que aprende políticas de decisión óptimas interactuando con entornos simulados mediante aprendizaje por refuerzo.

