Temario del curso

Parte 1 – Conceptos de Aprendizaje Profundo y 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 lejos de las fantasías llevadas por este dominio
  • Inteligencia Colectiva: agregación del conocimiento compartido por muchos agentes virtuales
  • Algoritmos genéticos: para evolucionar una población de agentes virtuales mediante selección
  • Aprendizaje Automático Habitual: definición.
  • Tipos de tareas: aprendizaje supervisado, no supervisado y por refuerzo
  • Tipos de acciones: clasificación, regresión, clustering, estimación de densidad, reducción de dimensionalidad
  • Ejemplos de algoritmos de Aprendizaje Automático: Regresión Lineal, Naive Bayes, Árbol Aleatorio
  • Aprendizaje Automático VS Aprendizaje Profundo: problemas en los que el Aprendizaje Automático sigue siendo hoy el estado del arte (Bosques Aleatorios y XGBoost)

Conceptos Básicos de una Red Neuronal (Aplicación: perceptrón multicapa)

  • Repaso de bases matemáticas.
  • Definición de una red neuronal: arquitectura clásica, activación y
  • Ponderación de las activaciones anteriores, profundidad de una red
  • Definición del aprendizaje de una red neuronal: funciones de costo, retropropagación, descenso estocástico de gradiente, 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...). La maldición de la dimensionalidad.
  • Diferencia entre datos multifuncionales y señales. Elección de una función de costo según los datos.
  • Aproximación de una función por una red neuronal: presentación y ejemplos
  • Aproximación de una distribución por una red neuronal: presentación y ejemplos
  • Ampliación 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
  • Algoritmos de optimización y convergencia

Herramientas Estándar de ML / DL

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

  • Herramientas de gestión de datos: Apache Spark, Apache Hadoop Tools
  • Aprendizaje Automático: Numpy, Scipy, Sci-kit
  • Frameworks de alto nivel de DL: PyTorch, Keras, Lasagne
  • Frameworks de bajo nivel de DL: Theano, Torch, Caffe, TensorFlow

Redes Neuronales Convolucionales (CNN).

  • Presentación de las CNNs: principios fundamentales y aplicaciones
  • Operación básica de una CNN: capa convolucional, uso de un kernel,
  • Padding & stride, generación de mapas de características, capas de pooling. Extensiones 1D, 2D y 3D.
  • Presentación de las diferentes arquitecturas de CNN que han llevado el estado del arte en la clasificación
  • Imágenes: LeNet, VGG Networks, Network in Network, Inception, Resnet. Presentación de las innovaciones aportadas por cada arquitectura y sus aplicaciones más generales (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: super-resolución, segmentación píxel a píxel. Presentación de
  • Estrategias principales para aumentar los mapas de características para la generación de imágenes.

Redes Neuronales Recurrentes (RNN).

  • Presentación de las RNNs: principios fundamentales y aplicaciones.
  • Operación básica de la RNN: activación oculta, retropropagación a través del tiempo, versión desplegada.
  • Evolución hacia las Unidades Recurrentes Gated (GRUs) y LSTM (Long Short Term Memory).
  • Presentación de los diferentes estados y evoluciones aportadas por estas arquitecturas
  • Problemas de convergencia y gradiente desaparecido
  • Arquitecturas clásicas: predicción de una serie temporal, clasificación...
  • Arquitectura de codificador-decodificador tipo RNN. Uso de un modelo de atención.
  • Aplicaciones de NLP: codificación de palabras/caracteres, traducción.
  • Aplicaciones de video: predicción de la próxima imagen generada en una secuencia de video.

Modelos Generativos: AutoEncoder Variacional (VAE) y Redes Adversarias Generativas (GAN).

  • Presentación de los modelos generativos, vínculo con las CNNs
  • Auto-encoder: reducción de dimensionalidad y generación limitada
  • Auto-encoder Variacional: modelo generativo y aproximación de la distribución de un dado. Definición y uso del espacio latente. Truco de reparametrización. Aplicaciones y límites observados
  • Redes Adversarias Generativas: fundamentos.
  • Arquitectura de red dual (generador y discriminador) con aprendizaje alternado, funciones de costo disponibles.
  • Convergencia de una GAN y dificultades encontradas.
  • Mejora de la convergencia: Wasserstein GAN, Began. Distancia de Transporte Terrestre.
  • Aplicaciones para la generación de imágenes o fotografías, generación de texto, super-resolución.

Aprendizaje Profundo por Refuerzo.

  • 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
  • Aprendizaje Profundo Q: experiencia de repetición, y aplicación al control de un videojuego.
  • Optimización de la política de aprendizaje. On-policy && off-policy. Arquitectura Actor Critic. A3C.
  • Aplicaciones: control de un videojuego individual o un sistema digital.

Parte 2 – Theano para Aprendizaje Profundo

Fundamentos de Theano

  • Introducción
  • Instalación y Configuración

TheanoFunctions

  • 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 Logarítmica

Prueba del modelo

Parte 3 – DNN usando TensorFlow

Fundamentos de TensorFlow

  • Creación, Inicialización, Guardado y Restauración de variables de TensorFlow
  • Alimentación, Lectura y Pre-carga de Datos de TensorFlow
  • Cómo usar la infraestructura de TensorFlow para entrenar modelos a escala
  • Visualización y Evaluación de modelos con TensorBoard

Mecánica de TensorFlow

  • Preparar los Datos
  • Descarga
  • Entradas y Placeholders
  • Construir los Gráficos
    • Inferencia
    • Pérdida
    • Entrenamiento
  • Entrenar el Modelo
    • El Gráfico
    • La Sesión
    • Bucle de Entrenamiento
  • Evaluar el Modelo
    • Construir el Gráfico de Evaluación
    • Salida de Evaluación

El Perceptrón

  • Funciones de activación
  • El 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

  • Kernels y el truco del kernel
  • Clasificación de margen máximo y vectores de soporte

Redes Neuronales Artificiales

  • Fronteras de decisión no lineales
  • Redes neuronales artificiales feedforward y feedback
  • Perceptrones multicapa
  • Minimización de la función de costo
  • Propagación hacia adelante
  • Retropropagación
  • Mejora en la forma de aprendizaje de las redes neuronales

Redes Neuronales Convolucionales

  • Objetivos
  • Arquitectura del Modelo
  • Principios
  • Organización del Código
  • Lanzamiento y Entrenamiento del Modelo
  • Evaluación de un Modelo

Introducciones Básicas a proporcionar para los siguientes módulos (Breve introducción basada en la disponibilidad de tiempo):

TensorFlow - Uso Avanzado

  • Hilos y Colas
  • TensorFlow Distribuido
  • Escribir Documentación y Compartir su Modelo
  • Personalización de Lectores de Datos
  • Manipulación de Archivos de Modelos de TensorFlow

Servicio de TensorFlow

  • Introducción
  • Tutorial Básico de Servicio
  • Tutorial Avanzado de Servicio
  • Tutorial de Servicio del Modelo Inception

Requerimientos

Conocimientos en física, matemáticas y programación. Participación en actividades de procesamiento de imágenes.

Los delegados deben tener un conocimiento previo de los conceptos de aprendizaje automático y haber trabajado con la programación y bibliotecas de Python.

 35 Horas

Número de participantes


Precio por Participante​

Testimonios (5)

Próximos cursos

Categorías Relacionadas