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
Testimonios (1)
La capacitación estuvo bien organizada y planificada, y salí de ella con conocimientos sistemáticos y una buena visión de los temas que abordamos
Magdalena - Samsung Electronics Polska Sp. z o.o.
Curso - Deep Learning with TensorFlow 2
Traducción Automática