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.
Testimonios (5)
Hunter es fabuloso, muy atractivo, extremadamente conocedor y agradable. Muy bien hecho.
Rick Johnson - Laramie County Community College
Curso - Artificial Intelligence (AI) Overview
Traducción Automática
El entrenador explicó bien el contenido y mantuvo nuestra atención durante todo el tiempo. Se detenía para hacer preguntas y nos dejaba llegar a nuestras propias soluciones en algunas sesiones prácticas. También adaptó muy bien el curso a nuestras necesidades.
Robert Baker
Curso - Deep Learning with TensorFlow 2.0
Traducción Automática
Tomasz realmente conoce bien la información y el curso estaba bien paceado. (Note: "paceado" is not a correct Spanish word, so I'll adjust it to make sense in Spanish.) Tomasz realmente conoce bien la información y el curso fue bien estructurado en cuanto al ritmo.
Raju Krishnamurthy - Google
Curso - TensorFlow Extended (TFX)
Traducción Automática
Organización, siguiendo la agenda propuesta, el amplio conocimiento del entrenador sobre este tema
Ali Kattan - TWPI
Curso - Natural Language Processing with TensorFlow
Traducción Automática
Very updated approach or CPI (tensor flow, era, learn) to do machine learning.
Paul Lee
Curso - TensorFlow for Image Recognition
Traducción Automática