Solicitar información

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 atribuidas a este dominio.
  • Inteligencia colectiva: agregación de conocimiento compartido por muchos agentes virtuales.
  • Algoritmos genéticos: evolución de una población de agentes virtuales mediante selección.
  • Máquina de aprendizaje habitual: 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 de aprendizaje automático: regresión lineal, Naive Bayes, Random Tree.
  • Aprendizaje automático vs. Aprendizaje profundo: problemas en los que el aprendizaje automático sigue siendo hoy el estado del arte (Random Forests & XGBoost).

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
  • Pesaje de activaciones anteriores, profundidad de una red.
  • Definición del aprendizaje de una red de neuronas: funciones de costo, 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 multi-característica y señal. 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 (Data Augmentation): 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 planea una presentación simple con ventajas, desventajas, posición en el ecosistema y uso.

  • Herramientas de gestión de datos: Apache Spark, herramientas de Apache Hadoop.
  • Aprendizaje automático: NumPy, SciPy, Sci-kit.
  • Marcos de alto nivel para DL: PyTorch, Keras, Lasagne.
  • Marcos de bajo nivel para DL: Theano, Torch, Caffe, TensorFlow.

Redes Neuronales Convolucionales (CNN).

  • Presentación de las CNN: principios fundamentales y aplicaciones.
  • Operación básica de una CNN: capa convolucional, uso de un kernel,
  • Relleno (Padding) y paso (stride), generación de mapas de características, capas de agregación (pooling). Extensiones 1D, 2D y 3D.
  • Presentación de las diferentes arquitecturas de CNN que establecieron el estado del arte en clasificación.
  • Imágenes: LeNet, VGG Networks, Network in Network, Inception, ResNet. Presentación de las innovaciones introducidas 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 de clasificación común (texto o imagen).
  • CNN para generación: superresolució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.
  • Operación básica de la RNN: activación oculta, retropropagación a través del tiempo, versión desplegada (unfolded).
  • Evoluciones hacia las Unidades Recurrentes con Puertas (GRU) y LSTM (Memoria a Largo Plazo).
  • Presentación de los diferentes estados y las evoluciones introducidas por estas arquitecturas.
  • Problemas de convergencia y de gradiente desvanecido.
  • Arquitecturas clásicas: predicción de series temporales, clasificación, etc.
  • Arquitectura de tipo Codificador-Decodificador RNN. Uso de un modelo de atención.
  • Aplicaciones de PLN: 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 Adversarias (GAN).

  • Presentación de los modelos generativos, 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 dato dado. Definición y uso del espacio latente. Truco de reparametrización. Aplicaciones y limitaciones observadas.
  • Redes Generativas Adversarias: Fundamentos.
  • Arquitectura de red dual (Generador y discriminador) con aprendizaje alterno, funciones de costo disponibles.
  • Convergencia de una GAN y dificultades encontradas.
  • Convergencia mejorada: Wasserstein GAN, Began. Distancia de Tierra Movida (Earth Moving Distance).
  • Aplicaciones para la generación de imágenes o fotografías, generación de texto, superresolució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.
  • Deep Q Learning: repetición de experiencias (experience replay) y aplicación al control de un videojuego.
  • Optimización de la política de aprendizaje. On-policy y off-policy. Arquitectura Actor-Critic. A3C.
  • Aplicaciones: control de un solo videojuego o un sistema digital.

Parte 2 – Theano para el Aprendizaje Profundo

Básicos de Theano

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

TheanoFunctions

  • entradas, salidas, actualizaciones, valores dados (givens)

Entrenamiento y Optimización de una red neuronal usando Theano

  • Modelado de Red Neuronal
  • 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

Básicos de TensorFlow

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

Mecánicas de TensorFlow

  • Preparar los datos
  • Descargar
  • Entradas y Placeholders
  • Construir los Grafos (Graphs)
    • Inferencia
    • Pérdida (Loss)
    • Entrenamiento
  • Entrenar el Modelo
    • El Grafo
    • La Sesión
    • Bucle de Entrenamiento
  • Evaluar el Modelo
    • Construir el 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)

  • 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 de avance hacia adelante (feedforward) y retroalimentación (feedback)
  • 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
  • Lanzamiento y Entrenamiento del Modelo
  • Evaluación de un Modelo

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

TensorFlow - Uso Avanzado

  • Hilos (Threading) y Colas (Queues)
  • TensorFlow Distribuido
  • Escritura de Documentación y Compartir su Modelo
  • Personalización de Lectores de Datos
  • Manipulación de Archivos de Modelo de TensorFlow

Servicio de TensorFlow (TensorFlow Serving)

  • 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. 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

Formación Corporativa a Medida

Soluciones de formación diseñadas exclusivamente para empresas.

  • Contenido personalizado: Adaptamos el temario y los ejercicios prácticos a los objetivos y necesidades reales del proyecto.
  • Calendario flexible: Fechas y horarios adaptados a la agenda de su equipo.
  • Modalidad: Online (en directo), In-company (en sus oficinas) o Híbrida.
Inversión

Precio por grupo privado (formación online) desde 7250 € + IVA*

Contáctenos para obtener un presupuesto exacto y conocer nuestras promociones actuales

Reseñas (2)

Próximos cursos

Categorías Relacionadas