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.
Reseñas (2)
La capacitación estuvo bien organizada y planificada, y salí de ella con conocimientos sistemáticos y una buena visión de los temas que abordamos
Magdalena - Samsung Electronics Polska Sp. z o.o.
Curso - Deep Learning with TensorFlow 2
Traducción Automática
Me gustó mucho el final donde tuvimos la oportunidad de experimentar con CHAT GPT. La sala no estaba muy bien preparada para esto; en lugar de una gran mesa, varias mesas pequeñas nos habrían permitido formar grupos pequeños y generar ideas de manera más efectiva.
Nola - Laramie County Community College
Curso - Artificial Intelligence (AI) Overview
Traducción Automática