Contacta con nosotros

Temario del curso

Parte 1 – Conceptos de aprendizaje profundo y redes neuronales profundas (DNN)

Introducción a la IA, el aprendizaje automático y el aprendizaje profundo

  • Historia, conceptos básicos y aplicaciones habituales de la inteligencia artificial, más allá de las fantasías asociadas a este campo.
  • Inteligencia colectiva: agregación del conocimiento compartido por múltiples agentes virtuales.
  • Algoritmos genéticos: evolución de una población de agentes virtuales mediante selección.
  • Máquina de aprendizaje común: definición.
  • Tipos de tareas: aprendizaje supervisado, aprendizaje no supervisado y aprendizaje por refuerzo.
  • Tipos de acciones: clasificación, regresión, agrupamiento (clustering), estimación de densidad y reducción de dimensionalidad.
  • Ejemplos de algoritmos de aprendizaje automático: regresión lineal, Naive Bayes, árboles aleatorios.
  • Aprendizaje automático vs. aprendizaje profundo: problemas en los que el aprendizaje automático sigue siendo el estado del arte (Random Forests y XGBoosts).

Conceptos básicos de una red neuronal (Aplicación: perceptrón multicapa)

  • Repaso de las bases matemáticas.
  • Definición de una red neuronal: arquitectura clásica, activación y
  • Ponderación de activaciones previas y profundidad de la red.
  • Definición del aprendizaje en una red neuronal: funciones de costo, retropropagación, descenso de gradiente estocástico y 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 multifactoriales 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).
  • Algoritmos de optimización y convergencia.

Herramientas estándar de ML / DL

Se prevé una presentación sencilla que aborde ventajas, desventajas, posición en el ecosistema y casos de uso.

  • Herramientas de gestión de datos: Apache Spark, herramientas de Apache Hadoop.
  • Aprendizaje automático: Numpy, Scipy, Sci-kit.
  • Frameworks de alto nivel para aprendizaje profundo: PyTorch, Keras, Lasagne.
  • Frameworks de bajo nivel para aprendizaje profundo: Theano, Torch, Caffe, TensorFlow.

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 (kernel),
  • Relleno (padding) y paso (stride), generación de mapas de características y capas de agrupación (pooling). Extensiones 1D, 2D y 3D.
  • Presentación de las diferentes arquitecturas CNN que han alcanzado el estado del arte en clasificación.
  • Imágenes: LeNet, redes VGG, 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 común de clasificación (texto o imagen).
  • CNNs para generación: superresolución, segmentación pixel a pixel. Presentación de
  • Principales estrategias para aumentar los mapas de características en la generación de imágenes.

Redes neuronales recurrentes (RNN).

  • Presentación de las RNN: principios fundamentales y aplicaciones.
  • Funcionamiento básico de la RNN: activación oculta, retropropagación a través del tiempo y versión desplegada.
  • Evoluciones hacia las unidades recurrentes con compuertas (GRUs) y las redes de memoria a corto y largo plazo (LSTM).
  • Presentación de los diferentes estados y las evoluciones aportadas por estas arquitecturas.
  • Problemas de convergencia y desvanecimiento del gradiente.
  • Arquitecturas clásicas: predicción de series temporales, clasificación, etc.
  • Arquitectura tipo codificador-descodificador (Encoder-Decoder) con RNN. Uso de un modelo de atención.
  • Aplicaciones en procesamiento del lenguaje natural (NLP): codificación de palabras o caracteres, traducción.
  • Aplicaciones en video: predicción de la siguiente imagen generada en una secuencia de video.

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

  • Presentación de los modelos generativos y su vínculo con las CNN.
  • Autoencoder: reducción de dimensionalidad y generación limitada.
  • Autoencoder variacional: modelo generativo y aproximación de la distribución de un conjunto de datos dado. Definición y uso del espacio latente. Truco de reparametrización. Aplicaciones y limitaciones observadas.
  • Redes Generativas Antagónicas (GAN): fundamentos.
  • Arquitectura de red dual (generador y discriminador) con aprendizaje alternado y funciones de costo disponibles.
  • Convergencia de una GAN y dificultades encontradas.
  • Mejora de la convergencia: Wasserstein GAN, Began. Distancia de transporte de masa (Earth Moving Distance).
  • Aplicaciones para la generación de imágenes o fotografías, generación de texto y superresolución.

Aprendizaje por refuerzo profundo.

  • Presentación del aprendizaje por refuerzo: control de un agente en un entorno definido.
  • Mediante un estado y acciones posibles.
  • Uso de una red neuronal para aproximar la función de estado.
  • Deep Q Learning: reproducción de experiencia y aplicación al control de un videojuego.
  • Optimización de la política de aprendizaje. On-policy y off-policy. Arquitectura actor-crítico. A3C.
  • Aplicaciones: control de un solo videojuego o de un sistema digital.

Parte 2 – Theano para aprendizaje profundo

Fundamentos de Theano

  • Introducción.
  • Instalación y configuración.

Funciones de Theano

  • entradas, salidas, actualizaciones, givens.

Entrenamiento y optimización de una red neuronal usando Theano

  • Modelado de redes neuronales.
  • Regresión logística.
  • Capas ocultas.
  • Entrenamiento de una red.
  • Cálculo y clasificación.
  • Optimización.
  • Pérdida logística (Log Loss).

Pruebas del modelo

Parte 3 – DNN usando TensorFlow

Fundamentos de TensorFlow

  • Creación, inicialización, guardado y restauración de variables en TensorFlow.
  • Alimentación, lectura y precarga de datos en TensorFlow.
  • Cómo utilizar la infraestructura de TensorFlow para entrenar modelos a escala.
  • Visualización y evaluación de modelos con TensorBoard.

Mecánica de TensorFlow

  • Preparación de los datos.
  • Descarga.
  • Entradas y marcadores de posición (placeholders).
  • Construcción de los grafos.
    • Inferencia.
    • Pérdida (Loss).
    • Entrenamiento.
  • Entrenamiento del modelo.
    • El grafo.
    • La sesión.
    • Bucle de entrenamiento.
  • Evaluación del modelo.
    • Construcción del grafo de evaluación.
    • Salida de evaluación.

El perceptrón

  • Funciones de activación.
  • Algoritmo de aprendizaje del perceptrón.
  • Clasificación binaria con el perceptrón.
  • Clasificación de documentos con el perceptrón.
  • Limitaciones del perceptrón.

Del perceptrón a las máquinas de vectores de soporte (SVM)

  • Núcleos (kernels) y el truco del núcleo.
  • Clasificación con margen máximo y vectores de soporte.

Redes neuronales artificiales

  • Límites de decisión no lineales.
  • Redes neuronales artificiales con propagación hacia adelante y retroalimentación.
  • Perceptrones multicapa.
  • Minimización de la función de costo.
  • Propagación hacia adelante.
  • Retropropagación.
  • Mejora de la forma en que las redes neuronales aprenden.

Redes neuronales convolucionales

  • Objetivos.
  • Arquitectura del modelo.
  • Principios.
  • Organización del código.
  • Inicialización y entrenamiento del modelo.
  • Evaluación de un modelo.

Introducciones básicas a los siguientes módulos (se proporcionará una breve introducción según la disponibilidad de tiempo):

TensorFlow – Uso avanzado

  • Hilos y colas.
  • TensorFlow distribuido.
  • Escritura de documentación y compartición del modelo.
  • Personalización de lectores de datos.
  • Manipulación de archivos de modelos de TensorFlow.

TensorFlow Serving

  • Introducción.
  • Tutorial básico de Serving.
  • Tutorial avanzado de Serving.
  • Tutorial de Serving del modelo Inception.

Requerimientos

Se requiere conocimientos previos en física, matemáticas y programación, así como experiencia en actividades de procesamiento de imágenes.

Los participantes deben tener una comprensión previa de los conceptos de aprendizaje automático y haber trabajado con programación en Python y sus bibliotecas.

 35 Horas

Número de participantes


Precio por participante

Testimonios (2)

Próximos cursos

Categorías Relacionadas