La inteligencia artificial permite la innovación y el cambio en todos los aspectos de la vida moderna. La mayoría de los avances actuales se basan en Deep Learning, un área de cono...
La inteligencia artificial permite la innovación y el cambio en todos los aspectos de la vida moderna. La mayoría de los avances actuales se basan en Deep Learning, un área de conocimiento muy madura que permite a las empresas desarrollar y poner en producción sus algoritmos de aprendizaje automático. Muchos profesionales interesados en comprender el Deep Learning tienen dificultades en establecer una ruta adecuada para empezar y saltar la barrera de entrada en este campo de innovación, debido a su complejidad y falta de manuales sobre el tema. Por ello, este libro proporciona todos los contenidos necesarios para entender qué es el Deep Learning y conocer las posibilidades de esta tecnología. Gracias a la combinación de los principios teóricos del Deep Learning y el enfoque práctico de codificación, se iniciará en este apasionante mundo mediante el lenguaje Python y la API Keras de la librería TensorFlow, el entorno más popular para desarrollar aplicaciones Deep Learning tanto a nivel de empresa como de proveedores Cloud. Asimismo, conocerá las principales redes neuronales actuales, como las redes neuronales convolucionales, las redes neuronales recurrentes o las Generative Adversarial Network, entre otras. Además, en la parte inferior de la primera página encontrará el código de acceso que le permitirá acceder de forma gratuita a los códigos del libro en www.marcombo.info. Tanto si tiene poca experiencia en programación, como si es un programador experimentado, consiga este libro y obtenga las habilidades prácticas básicas que le permitirán comprender cómo funciona y qué hace posible (y qué no) el uso del Deep Learning en sus propios proyectos. Jordi Torres es catedrático en la UPC Barcelona Tech y lidera el grupo de investigación Emerging Technologies for Artificial Intelligence en el Barcelona Supercomputing Center. Tiene más de 30 años de experiencia en docencia e investigación en computación de altas prestaciones y ha publicado libros científicos y proyectos de I+D en empresas e instituciones. Es consejero delegado por la UPC en la empresa iThinkUPC, y actúa como formador y experto para diversas organizaciones y empresas. A su vez, imparte conferencias, colabora con diferentes medios de comunicación y mantiene un blog sobre ciencia y tecnología en www.torres.ai
Índice
PARTE 1: INTRODUCCIÓN
CAPÍTULO 1. ¿Qué es el Deep Learning?
1.1 Inteligencia artificial
1.2 Machine Learning
1.3 Redes Neuronales y Deep Learning
1.4 ¿Por qué ahora?
CAPÍTULO 2. Entorno de trabajo
2.1 Entorno Colab
2.2 TensorFlow
2.3 Keras
CAPÍTULO 3. Conceptos básicos de Python y sus librerías
3.1 Conceptos básicos de Python
3.2 Tensores
3.3 Librerías básicas
PARTE 2: FUNDAMENTOS DE DEEP LEARNING
CAPÍTULO 4. Redes neuronales densamente conectadas
4.1 Caso de estudio: reconocimiento de dígitos
4.2 Una neurona artificial
4.3 Redes neuronales
4.4 Función de activación softmax
CAPÍTULO 5. Redes neuronales en Keras
5.1 Precarga y preprocesado de datos
5.2 Definición del modelo
5.3 Configuración del proceso de aprendizaje
5.4 Entrenamiento del modelo
5.5 Evaluación del modelo
5.6 Generación de predicciones
CAPÍTULO 6. Cómo se entrena una red neuronal
6.1 Cómo aprende un modelo de red neuronal
6.2 Proceso de aprendizaje de una red neuronal
6.3 Funciones de activación
6.4 Componentes del backpropagation
CAPÍTULO 7. Parámetros e hiperparámetros en redes neuronales
7.1 Parametrización de los modelos
7.2 Hiperparámetros y optimizadores en Keras
7.3 Practicar con una clasificación binaria
CAPÍTULO 8. Redes neuronales convolucionales
8.1 Introducción a las redes neuronales convolucionales
8.2 Componentes básicos de una red neuronal convolucional
8.3 Implementación de un modelo básico en Keras
8.4 Hiperparámetros de la capa convolucional
8.5 Arquitecturas de redes convolucionales
PARTE 3: TÉCNICAS DEL DEEP LEARNING
CAPÍTULO 9. Etapas de un proyecto Deep Learning
9.1 Definición del problema
9.2 Preparar los datos
9.3 Desarrollar el modelo
9.4 Evaluación del modelo
CAPÍTULO 10. Datos para entrenar redes neuronales
10.1 ¿Dónde encontrar datos para entrenar redes neuronales?
10.2 ¿Cómo descargar y usar datos reales?
10.3 Datos de entrenamiento, validación y prueba
10.4 Overfitting de los modelos
CAPÍTULO 11. Data Augmentation y Transfer Learning
11.1 Data Augmentation
11.2 Transformaciones de imágenes
11.3 Transfer Learning
11.4 Feature Extraction
11.5 Fine-Tuning
CAPÍTULO 12. Arquitecturas avanzadas de redes neuronales
12.1 Capas y modelos de redes neuronales
12.2 API funcional de Keras
12.3 Redes neuronales con nombre propio
12.4 Redes neuronales preentrenadas
PARTE 4: DEEP LEARNING GENERATIVO
CAPÍTULO 13. Redes neuronales recurrentes
13.1 Conceptos básicos de redes neuronales recurrentes
13.2 Aprendizaje de las redes neuronales recurrentes
13.3 Vectorización de texto
13.4 Generación de texto con una red neuronal recurrente
CAPÍTULO 14. Generative Adversarial Networks
14.1 Motivación por las GAN
14.2 Arquitectura de las GAN
14.3 Programar una GAN
Clausura
Apéndice A: Traducción de los principales términos
Apéndice B: Tutorial de Google Colab
Apéndice C: Arquitecturas de redes CNN
Índice alfabético