1
Introducción a la IA, el aprendizaje automático y el aprendizaje profundo
- La historia, los conceptos básicos y las aplicaciones de la Inteligencia Artificial están muy lejos de las fantasías que rodean este campo.
- Inteligencia colectiva: agregar conocimientos compartidos por un gran número de agentes virtuales.
- Algoritmos genéticos: desarrollo de una población de agentes virtuales mediante selección.
- Aprendizaje automático común: definición.
- Tipos de tareas: Aprendizaje supervisado, Aprendizaje no supervisado, Aprendizaje por refuerzo.
- Tipos de acciones: clasificación, regresión, agrupación, estimación de la densidad, reducción de la dimensionalidad.
- Ejemplos de algoritmos de aprendizaje automático: regresión lineal, Naive Bayes, árbol aleatorio.
- Aprendizaje automático frente a aprendizaje profundo: ¿por qué el aprendizaje automático sigue siendo el más avanzado (Random Forests y XGBoosts)?
2
Conceptos fundamentales de una red neuronal
- Recordatorio de matemáticas básicas.
- La red neuronal: arquitectura, funciones de activación y ponderación de las activaciones anteriores...
- Aprendizaje de una red neuronal: funciones de coste, retropropagación, descenso de gradiente estocástico...
- Modelización de una red neuronal: modelización de los datos de entrada y salida en función del tipo de problema.
- Comprender una función mediante una red neuronal. Comprender una distribución mediante una red neuronal.
- Aumento de datos: ¿cómo equilibrar un conjunto de datos?
- Generalización de los resultados de una red neuronal.
- Inicialización y regularización de una red neuronal: Regularización L1/L2, Normalización por lotes.
- Algoritmos de optimización y convergencia.
Demostración
Aproximación de una función y una distribución mediante una red neuronal.
3
Herramientas comunes de aprendizaje automático y aprendizaje profundo
- Herramientas de gestión de datos: Apache Spark, Apache Hadoop.
- Herramientas comunes de aprendizaje automático: Numpy, Scipy, Sci-kit.
- Frameworks de DL de alto nivel: PyTorch, Keras, Lasagne.
- Marcos de DL de bajo nivel: Theano, Torch, Caffe, Tensorflow.
Demostración
Aplicaciones y limitaciones de las herramientas presentadas.
4
Redes neuronales convolucionales (CNN)
- Presentación de las CNN: principios fundamentales y aplicaciones.
- Funcionamiento básico de una CNN: capa convolucional, uso de un núcleo, padding y stride, etc.
- Estado del arte de las arquitecturas CNN para la clasificación de imágenes: LeNet, redes VGG, red en red, etc.
- Utilización de un modelo de atención.
- Aplicación a un escenario de clasificación común (texto o imagen).
- CNN para generación: superresolución, segmentación píxel a píxel.
- Principales estrategias de aumento de los mapas de características para generar una imagen.
Estudios de caso
Innovaciones aportadas por cada arquitectura CNN y sus aplicaciones más globales (convolución 1x1 o conexiones residuales).
5
Redes neuronales recurrentes (RNN)
- Presentación de las RNN: principios fundamentales y aplicaciones.
- Funcionamiento básico de la RNN: activación oculta, retropropagación en el tiempo, versión desplegada.
- Desarrollos hacia GRU (Gated Recurrent Units) y LSTM (Long Short Term Memory).
- Problemas de convergencia y gradiente evanescente.
- Tipos de arquitecturas clásicas: predicción de una serie temporal, clasificación, etc.
- Arquitectura del codificador y decodificador RNN. Utilización de un modelo de atención.
- Aplicaciones PNL: codificación de palabras/caracteres, traducción.
- Aplicaciones de vídeo: predicción de la siguiente imagen generada en una secuencia de vídeo.
Demostración
Diferentes estados y desarrollos provocados por las arquitecturas Gated Recurrent Units y Long Short Term Memory.
6
Modelos generacionales: VAE y GAN
- Presentación de los modelos generacionales Variational AutoEncoder (VAE) y Generative Adversarial Networks (GAN).
- Autocodificador: reducción de la dimensionalidad y generación limitada.
- Variational AutoEncoder: modelo generacional y aproximación de la distribución de datos.
- Definición y uso del espacio latente. Truco de reparametrización.
- Fundamentos de las redes generativas adversariales.
- Convergencia de un GAN y dificultades encontradas.
- Convergencia mejorada: Wasserstein GAN, BeGAN. Distancia de movimiento de tierras.
- Aplicaciones para generar imágenes o fotografías, generación de texto, superresolución.
Demostración
Aplicaciones de los modelos generacionales y uso del espacio latente.
7
Aprendizaje por refuerzo profundo
- Aprendizaje por refuerzo.
- Utilización de una red neuronal para comprender la función de estado.
- Deep Q Learning: repetición de experiencias y aplicación al control de videojuegos.
- Optimización de la política de aprendizaje. Dentro y fuera de la política. Arquitectura crítica de actores. A3C.
- Aplicaciones: control de un videojuego sencillo o de un sistema digital.
Demostración
Control de un agente en un entorno definido por un estado y posibles acciones.