Objetivos
Son varios los objetivos que pretende abordar el curso:
1. Dar a conocer al alumno los fundamentos teóricos de la técnica de aprendizaje profundo (Deep Learning en inglés) para la creación de potentes modelos predictivos que aprendan automáticamente los patrones más representativos de los datos.
2. Resolución práctica de casos de estudio típicos enmarcados en el campo de la inteligencia artificial mediante el paradigma del deep learning.
3. Dar a conocer una de las herramientas más intuitivas y accesibles para poner en práctica el entrenamiento de modelos basados en redes neuronales profundas empleando GPUs como es Google Colab en combinación con los frameworks Keras y TensorFlow.
Temas
Sesión 1
Teoría 1. Fundamentos de redes neuronales (2h30)
- Introducción a las redes neuronales
- Descenso por gradiente
- Algoritmo perceptrón
- Fordward and backward propagation
Práctica 1. . Fordward & backpropagation: Evaluando el perceptrón con funciones lógicas (2h30)
o Introducción a Python
o Entorno de trabajo: Google Colaboratory
o Funciones lógicas
Sesión 2
Teoría 2a. Aprendizaje y evaluación en redes neuronales (2h)
- División y pre-procesado de los datos
- Parámetros e hiper-parámetros
- Métodos de optimización
- Métodos de regularización
- Inicialización de pesos
Teoría 2b. Introducción a TensorFlow (1h)
- -Qué es TensorFlow?
- Tensores y grafos
- Variables vs Placeholders
Práctica 2a. Redes neuronales empleando TensorFlow (2h)
o MNIST dataset
o Categorical vs one-hot encoding
Sesión 3
Teoría 3a. Introducción a Keras (1h)
- -Qué es Keras?
- Capas básicas en Keras
- Compilación y entrenamiento en Keras
- Predicción y evaluación en Keras
Práctica 2b. Redes neuronales empleando Keras y MNIST: Estudio de hiperparámetros mediante Keras
Tuner (2h)
o MNIST dataset
o Categorical vs one-hot encoding
Teoría 3b. Fundamentos de las redes neuronales convolucionales (2h)
- Introducción a las CNNs
- Operación convolución
- Extracción automática de características
- Arquitectura y capas de una CNN
Sesión 4
Teoría 4. Keras para el desarrollo de CNNs (2h)
- Desarrollo de CNNs empleando Keras
- API secuencial vs API funcional
- Callbacks y data generators
Práctica 3. CNNs con Keras para la clasificación de imágenes (3h)
o CIFAR-10 dataset
o Comunicación Google Drive - Google Colab
o Instalación de paquetes y almacenamiento de datos en la máquina Colab
Sesión 5
Teoría 5. Arquitecturas CNN existentes y transferencia del conocimiento (2h)
- Transferencia del conocimiento y Fine-tuning
- Challenge ImageNet
- CNNs existentes
- Data augmentation
Práctica 4. Transferencia del conocimiento, data augmentation y visualización interna de una CNN (3h)
Sesión 6
Teoría 6. Deep learning aplicado a texto y secuencias temporales (2h)
- Bag of Words & N-gramas
- One hot encoding vs Word Embeddings
- Redes Neuronales Recurrentes: Unidades LSTM y GRU
- Transformers
Práctica 5. Redes neuronales recurrentes para la clasificación de texto según emociones (3h)
Sesión 7
Teoría 7. Explicación de los Proyectos propuestos y detalles teóricos (1h)
Práctica final. Resolución de un Proyecto en clase I (4h)
Sesión 8
Teoría 8. Hardware/software necesario para Deep Learning (1h)
- Hardware necesario para DL
- Software necesario para DL
- Integración y entorno de desarrollo
Práctica final. Resolución de un Proyecto en clase II (4h)