Contacta con nosotros

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 más allá de las fantasías que este dominio genera.
  • 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.
  • Máquina de aprendizaje habitual: definición.
  • Tipos de tareas: aprendizaje supervisado, aprendizaje no supervisado y aprendizaje 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, Bayes ingenuo, Árbol aleatorio.
  • Aprendizaje Automático VS Aprendizaje Profundo: problemas en los que el Aprendizaje Automático sigue siendo actualmente el estado del arte (Random Forests y XGBoosts).

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

  • Recordatorio de las bases matemáticas.
  • Definición de una red de neuronas: arquitectura clásica, activación y
  • Ponderación de activaciones anteriores, profundidad de una red.
  • Definición del aprendizaje de una red de neuronas: funciones de costo, retropropagación, descenso estocástico del 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.
  • Distinción entre datos multivariables y señales. Elección de una función de costo según los datos.
  • Aproximación de una función por una red de neuronas: presentación y ejemplos.
  • Aproximación de una distribución por una red de neuronas: presentación y ejemplos.
  • Aumento de datos: cómo equilibrar un conjunto de datos.
  • Generalización de los resultados de una red de neuronas.
  • 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 planifica una presentación simple con ventajas, desventajas, posición en el ecosistema y uso.

  • Herramientas de gestión de datos: Apache Spark, herramientas Apache Hadoop.
  • Aprendizaje Automático: Numpy, Scipy, Sci-kit.
  • Frameworks de alto nivel para DL: PyTorch, Keras, Lasagne.
  • Frameworks de bajo nivel para DL: 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 kernel,
  • Padding & stride, generación del mapa de características, capas de agrupación (pooling). Extensiones 1D, 2D y 3D.
  • Presentación de las diferentes arquitecturas CNN que llevaron al 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 globales (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 pixel a pixel. Presentación de
  • Principales estrategias para aumentar los mapas de características para 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, versión desplegada (Unfolded version).
  • Evoluciones hacia las Unidades Recurrentes con Puerta (GRU) y LSTM (Memoria a Largo Plazo Corta).
  • Presentación de los diferentes estados y las evoluciones aportadas por estas arquitecturas.
  • Problemas de convergencia y gradiente desaparecido (vanishing gradient).
  • Arquitecturas clásicas: predicción de una serie temporal, clasificación ...
  • Arquitectura tipo Codificador-Decodificador RNN. Uso de un modelo de atención.
  • Aplicaciones de PLN (Procesamiento de Lenguaje Natural): codificación de palabras / caracteres, traducción.
  • Aplicaciones de video: predicción de la siguiente imagen generada de una secuencia de video.

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

  • Presentación de los modelos generativos, relación con las CNN.
  • Autoencoder: reducción de dimensionalidad y generación limitada.
  • Autoencoder variacional: modelo generativo y aproximación de la distribución de una muestra. Definición y uso del espacio latente. Truco de reparametrización. Aplicaciones y límites observados.
  • Redes Generativas Antagónicas: Fundamentos.
  • Arquitectura de Red Dual (Generador y discriminador) con aprendizaje alternativo, funciones de costo disponibles.
  • Convergencia de una GAN y dificultades encontradas.
  • Mejora de la convergencia: Wasserstein GAN, Began. Distancia de Movimiento de Tierra.
  • Aplicaciones para la generación de imágenes o fotografías, generación de texto, super-resolución.

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: experiencia de repetición (replay), y aplicación al control de un videojuego.
  • Optimización de la política de aprendizaje. On-policy && off-policy. Arquitectura actor-crítico. A3C.
  • Aplicaciones: control de un solo videojuego o 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 utilizando Theano

  • Modelado de Redes Neuronales.
  • Regresión Logística.
  • Capas ocultas.
  • Entrenamiento de una red.
  • Cálculo y Clasificación.
  • Optimización.
  • Log Loss (Pérdida Logarítmica).

Prueba del modelo

Parte 3 – DNN utilizando Tensorflow

Fundamentos de TensorFlow

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

Mecánica de TensorFlow

  • Preparar los datos.
  • Descarga.
  • Entradas y placeholders (marcadores de posición).
  • Construir el Grafo (Graphs)
    • Inferencia.
    • Pérdida (Loss).
    • Entrenamiento.
  • Entrenar el modelo
    • El Grafo.
    • La Sesión (Session).
    • Bucle de entrenamiento (Train Loop).
  • Evaluar el modelo
    • Construir el Grafo de evaluación (Eval Graph).
    • 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 (SVM)

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

Redes Neuronales Artificiales

  • Límites de decisión no lineales.
  • Redes neuronales artificiales feedforward y feedback (retroalimentación).
  • Perceptrones multicapa.
  • Minimización de la función de costo.
  • Propagación hacia adelante (Forward propagation).
  • Retropropagación (Back propagation).
  • Mejora de la forma en que las redes neuronales aprenden.

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 que se deben dar a los siguientes módulos (Breve introducción proporcionada según la disponibilidad de tiempo):

Tensorflow - Uso Avanzado

  • Subprocesos y colas (Threading and Queues).
  • TensorFlow distribuido.
  • Escritura de documentación y compartición de tu modelo./li>
  • Personalización de lectores de datos (Customizing Data Readers).
  • Manipulación de archivos de modelos de TensorFlow.

TensorFlow Serving

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

Requerimientos

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

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

 35 Horas

Número de participantes


Precio por participante

Reseñas (2)

Próximos cursos

Categorías Relacionadas