Programa del Curso

El curso se divide en tres días separados, el tercero es opcional.

Día 1 - Machine Learning y Deep Learning: Conceptos teóricos

1. Introducción IA, Machine Learning y Deep Learning

- Historia, conceptos fundamentales y aplicaciones habituales de la inteligencia artificial alejadas de las fantasías que conlleva este campo

- Inteligencia colectiva: agregación de conocimiento compartido por muchos agentes virtuales

- Algoritmos genéticos: evolución de una población de agentes virtuales por selección

- Machine Learning Usual: definición.

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

- Tipos de acciones: clasificación, regresión, clustering, estimación de densidad, reducción de dimensionalidad

- Ejemplos de algoritmos Machine Learning: Regresión lineal, Naive Bayes, Random Tree

- Aprendizaje automático VS Deep Learning: problemas en los que el Machine Learning sigue siendo el estado del arte hoy en día (Random Forests y XGBoosts)

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

- Recordatorio de conceptos básicos matemáticos.

- 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 de entrenamiento de redes neuronales: funciones de coste, retropropagación, descenso de gradiente estocástico, máxima verosimilitud.

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

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

- Aproximación a una distribución por 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.

- Inicializaciones y regularizaciones de una red neuronal: regularización L1/L2, Batch Normalization, etc.

- Optimizaciones y algoritmos de convergencia.

3. Herramientas habituales de ML/DL

Se planifica una presentación sencilla con ventajas, desventajas, posición en el ecosistema y uso.

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

- Herramientas comunes Machine Learning: Numpy, Scipy, Sci-kit

- Marcos de DL de alto nivel: PyTorch, Keras, Lasagna

- Frameworks DL de bajo nivel: Theano, Torch, Caffe, Tensorflow

Día 2 - Redes convolucionales y recurrentes

4. Convolucional Neural Networks (CNN).

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

- Funcionamiento fundamental de una CNN: capa convolucional, uso de un kernel, padding & stride, generación de mapas de características, capas de agrupación. Extensiones 1D, 2D y 3D.

- Presentación de las diferentes arquitecturas CNN que han aportado 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 globales (1x1 convolución o conexiones residuales)

- Uso de un modelo de atención.

- Aplicación a un escenario de clasificación común (texto o imagen)

- CNNs para generación: segmentación de píxel a píxel de superresolución. Una descripción general de las principales estrategias para aumentar los mapas de características para la generación de imágenes.

5. Recurrente Neural Networks (RNN).

- Presentación de RNNs: principios fundamentales y aplicaciones.

- Cómo funciona la RNN: activación oculta, propagación hacia atrás en el tiempo, versión desplegada.

- Evolución hacia GRU (Unidades Recurrentes Cerradas) y LSTM (Memoria a Corto Plazo). Presentación de los diferentes estados y las evoluciones que han traído estas arquitecturas

- Problemas de convergencia y desaparición de gradientes

- Tipos de arquitecturas clásicas: Predicción de una serie temporal, clasificación, etc.

- Arquitectura del decodificador RNN Encoder. Uso de un modelo de atención.

- Aplicaciones de PLN: codificación de palabras/caracteres, traducción.

- Aplicaciones de vídeo: predice el siguiente fotograma generado de una secuencia de vídeo.

Día 3 - Modelos generacionales y Reinforcement Learning

6. Modelos generacionales: Autocodificador Variacional (VAE) y Redes Generativas Adversarias (GAN).

- Presentación de modelos generacionales, vinculación con CNNs vistos en el día 2

- Autocodificador: reducción de dimensionalidad y generación limitada

- Autocodificador variacional: modelo generacional 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 adversarias: Fundamentos. Arquitectura de dos retículas (generador y discriminador) con aprendizaje alternativo, funciones de costo disponibles.

- Convergencia de una GAN y dificultades encontradas.

- Convergencia mejorada: GAN de Wasserstein, BeGAN. Distancia de movimiento de la Tierra.

- Aplicaciones para la generación de imágenes o fotos, generación de texto, super-
resolución.

7. Profundo Reinforcement Learning.

- Información general sobre el aprendizaje por refuerzo: control de un agente en un entorno definido por el estado y posibles acciones

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

- Deep Q Learning: experiencia de repetición, y aplicación al control de un videojuego.

- Optimizaciones de la política de aprendizaje. Dentro y fuera de la política. Actor crítico de arquitectura. A3C.

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

Requerimientos

Level ingénieur

 21 Horas

Número de participantes


Precio por Participante​

Próximos cursos

Categorías Relacionadas