Programa del Curso
El curso se divide en tres días separados, siendo el tercer día opcional.
Jour 1 - Machine Learning & Deep Learning : concepts théoriques
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 Usuel: Definición.
- Tipos de tâches : aprendizaje supervisado, aprendizaje no supervisado, aprendizaje por refuerzo
- Tipos de acciones : clasificación, regresión, agrupamiento, estimación de densidad, reducción de dimensión
- Exemples d'algorithmes Machine Learning : Régression linéaire, Naive Bayes, Random Tree
- Machine learning VS Deep Learning: problemas en los que el Machine Learning sigue siendo el estado del arte hoy en día (Random Forests & XGBoosts)
2. Conceptos fundamentales de una red neuronal (Aplicación: Perceptrón multicapa)
- Recordatorio de los fundamentos de las matemáticas.
- Definición de una red neuronal: arquitectura clásica, funciones para activar y ponderar activaciones anteriores, profundidad de una red
- Definición de aprendizaje 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 basada en 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 comunes 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 aprendizaje a distancia de alto nivel: PyTorch, Keras, Lasagna
- Frameworks DL bas niveau : Theano, Torch, Caffe, Tensorflow
Día 2 - Redes convolucionales y recurrentes
4. Convolucional Neural Networks (CNN).
- Introducción a las CNN: Fundamentos 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. Presentación 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.
- Fonctionnement fondamental du RNN : activación oculta, retropropagación a través del tiempo, versión desplegada.
- Evoluciones hacia GRU (Unidades Recurrentes Cerradas) y LSTM (Memoria a Corto Plazo). Presentación de los diferentes estados y 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. Utilizando un modelo de atención.
- Aplicaciones NLP: 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. Modèles générationnels : Variational AutoEncoder (VAE) et Generative Adversarial Networks (GAN).
- Presentación de modelos generacionales, vinculación con CNNs vistos en el día 2
- Autocodificación: 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 redes (generador y discriminador) con aprendizaje alterno, funciones de costo disponibles.
- Convergencia de una GAN y dificultades encontradas.
- Convergence améliorée : Wasserstein GAN, BeGAN. Distancia de movimiento de la Tierra.
- Aplicaciones de generación de imágenes o fotografías, generación de textos, super- resolución.
7. Profundo Reinforcement Learning.
- Introducción al aprendizaje por refuerzo: control de un agente en un entorno definido por un estado y posibles acciones
- Uso de una red neuronal para aproximar la función de estado
- Deep Q Learning : experience replay, et application au contrôle d'un jeu vidéo.
- Optimisations de la politique d'apprentissage. Dentro y fuera de la política. Actor crítico de arquitectura. A3C.
- Aplicaciones: Controla un simple videojuego o sistema digital.
Requerimientos
Nivel de ingeniero