Contacta con nosotros

Temario del curso

El curso se divide en tres días distintos, siendo el tercero opcional.

Día 1: Aprendizaje Automático y Aprendizaje Profundo: conceptos teóricos.

1. Introducción a la IA, Aprendizaje Automático y Aprendizaje Profundo.

- Historia, conceptos fundamentales y aplicaciones habituales de la inteligencia artificial, lejos de las fantasías asociadas a este campo.

- Inteligencia colectiva: agregar conocimientos compartidos por múltiples agentes virtuales.

- Algoritmos genéticos: evolucionar una población de agentes virtuales mediante selección.

- Aprendizaje Automático habitual: definición.

- Tipos de tareas: aprendizaje supervisado, aprendizaje no supervisado, aprendizaje por refuerzo.

- Tipos de acciones: clasificación, regresión, agrupamiento (clustering), estimación de densidad, reducción de dimensionalidad.

- Ejemplos de algoritmos de Aprendizaje Automático: regresión lineal, Naive Bayes, Random Tree.

- Aprendizaje Automático vs. Aprendizaje Profundo: problemas en los que el Aprendizaje Automático sigue siendo el estado del arte hoy en día (Random Forests y XGBoost).

2. Conceptos fundamentales de una red neuronal (Aplicación: perceptrón multicapa).

- Repaso de bases matemáticas.

- Definición de una red neuronal: arquitectura clásica, funciones de activación y ponderación de activaciones anteriores, profundidad de una red.

- Definición del aprendizaje de una red neuronal: funciones de costo, retropropagación, descenso de gradiente estocástico, verosimilitud máxima.

- Modelado de una red neuronal: modelado de datos de entrada y salida según el tipo de problema (regresión, clasificación...). Maldición de la dimensionalidad. Distinción entre datos multiatributo y señales. Elección de una función de costo según los datos.

- Aproximación de una función mediante una red neuronal: presentación y ejemplos.

- Aproximación de una distribución mediante una red neuronal: presentación y ejemplos.

- 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 (Batch Normalization), etc.

- Optimizaciones y algoritmos de convergencia.

3. Herramientas habituales de Aprendizaje Automático y Aprendizaje Profundo.

Se prevé una presentación simple con ventajas, desventajas, posición en el ecosistema y usos.

- Herramientas de gestión de datos: Apache Spark, Apache Hadoop.

- Herramientas de Aprendizaje Automático habitual: Numpy, Scipy, Sci-kit.

- Frameworks de Aprendizaje Profundo de alto nivel: PyTorch, Keras, Lasagne.

- Frameworks de Aprendizaje Profundo de bajo nivel: Theano, Torch, Caffe, TensorFlow.

Día 2: Redes neuronales convolucionales y recurrentes.

4. Redes neuronales convolucionales (CNN).

- Presentación de las CNN: principios fundamentales y aplicaciones.

- Funcionamiento fundamental de una CNN: capa convolucional, uso de un kernel, relleno (padding) y paso (stride), generación de mapas de características, capas de tipo «pooling». Extensiones 1D, 2D y 3D.

- Presentación de las diferentes arquitecturas CNN que han establecido el estado del arte en clasificación de imágenes: LeNet, VGG Networks, Network in Network, Inception, ResNet. Presentación de las innovaciones aportadas por cada arquitectura y sus aplicaciones más amplias (convolución 1x1 o conexiones residuales).

- Uso de un modelo de atención.

- Aplicación a un caso típico de clasificación (texto o imagen).

- CNNs para generación: superresolución, segmentación píxel a píxel. Presentación de las principales estrategias de aumento de mapas de características para la generación de imágenes.

5. Redes neuronales recurrentes (RNN).

- Presentación de las RNN: principios fundamentales y aplicaciones.

- Funcionamiento fundamental de una RNN: activación oculta, retropropagación a través del tiempo, versión desplegada.

- Evoluciones hacia las GRU (Gated Recurrent Units) y LSTM (Long Short Term Memory). Presentación de los diferentes estados y evoluciones aportadas por estas arquitecturas.

- Problemas de convergencia y gradiente desaparecido.

- Tipos de arquitecturas clásicas: predicción de series temporales, clasificación, etc.

- Arquitectura tipo codificador-descodificador RNN. Uso de un modelo de atención.

- Aplicaciones en Procesamiento del Lenguaje Natural (NLP): codificación de palabras/caracteres, traducción.

- Aplicaciones en video: predicción de la siguiente imagen generada en una secuencia de video.

Día 3: Modelos generativos y Aprendizaje por Refuerzo.

6. Modelos generativos: Autoencoder Variacional (VAE) y Redes Generativas Antagónicas (GAN).

- Presentación de los modelos generativos, relación con las CNN vistas en el día 2.

- Autoencoder: reducción de dimensionalidad y generación limitada.

- Autoencoder variacional: modelo generativo y aproximación de la distribución de un dato. Definición y uso del espacio latente. Truco de reparametrización. Aplicaciones y limitaciones observadas.

- Redes Generativas Antagónicas (GAN): principios fundamentales. Arquitectura de dos redes (generador y discriminador) con aprendizaje alternado, funciones de costo disponibles.

- Convergencia de un GAN y dificultades encontradas.

- Convergencia mejorada: Wasserstein GAN, BeGAN. Distancia de transporte de tierra (Earth Mover's Distance).

- Aplicaciones en generación de imágenes o fotografías, generación de texto, superresolución.

7. Aprendizaje por Refuerzo Profundo.

- Presentación del aprendizaje por refuerzo: control de un agente en un entorno definido por un estado y acciones posibles.

- Uso de una red neuronal para aproximar la función de estado.

- Deep Q-Learning: replay de experiencias y aplicación al control de un videojuego.

- Optimizaciones de la política de aprendizaje. On-policy y off-policy. Arquitectura actor-crítico. A3C.

- Aplicaciones: control de un videojuego sencillo o de un sistema digital.

Requerimientos

Nivel ingeniero

 21 Horas

Número de participantes


Precio por participante

Testimonios (1)

Próximos cursos

Categorías Relacionadas