RN2024 - Clase 05_b
Clases de Modelos Generativos
Resumen de la Sección: En esta sección, se aborda el tema de los modelos generativos y se exploran diferentes enfoques para la creación de modelos capaces de generar salidas diversas, como imágenes, texto o audio.
Modelos Capaces de Crear Diversas Salidas
- Se discute la capacidad de algunos modelos para generar salidas que no son valores esperados, como imágenes, texto o audio.
- Se mencionan los autoencoders y las redes adversarias generativas como ejemplos previamente vistos.
Modelos de Difusión
- Se presentan los modelos de difusión, destacando versiones como "stable diffusion", que reciben una entrada y producen una salida realista y creíble.
- Estos modelos pueden tener múltiples salidas a partir de una sola entrada debido al componente aleatorio presente en el proceso.
Proceso en los Modelos de Fusión
- Los modelos de fusión agregan gradualmente ruido a una imagen inicial para transformarla en una imagen completamente distorsionada.
- La idea es aprender a revertir este proceso partiendo de una imagen ruidosa y eliminando progresivamente el ruido hasta obtener la imagen original.
Desafíos y Estrategias
- El desafío radica en que las redes deben aprender a eliminar el ruido aplicado a las imágenes.
Análisis de Datos con Ruido para Entrenamiento de Redes Neuronales
Resumen de la Sección: En esta sección, se discute el uso de datos con ruido para entrenar redes neuronales, destacando cómo la aplicación de ruido a las imágenes originales puede enriquecer el dataset de entrenamiento y mejorar el aprendizaje de la red.
Transformación del Color del Ruido
- La aplicación de ruido a una imagen roja resulta en variaciones en tonalidades, desde más oscuro hasta más claro, e incluso desviaciones hacia colores como naranja o violeta.
Data Augmentation con Imágenes Ruidosas
- El dataset original se amplía mediante la adición de imágenes ruidosas, simulando un proceso similar al data augmentation para mejorar la diversidad y cantidad de datos disponibles para el entrenamiento.
Cantidad y Gradualidad del Ruido
- Se menciona que existen numerosas imágenes generadas desde las originales hasta extremadamente ruidosas, con un orden aproximado de 1000 fotos.
Proceso Gradual vs. Excesivo
- Para evitar llegar a imágenes inútiles por exceso o falta de ruido gradual, se debe equilibrar la cantidad aplicada en cada paso durante el proceso iterativo.
Optimización del Proceso Iterativo
Resumen de la Sección: Aquí se profundiza en los detalles sobre cómo optimizar el proceso iterativo al agregar ruido a las imágenes para generar un dataset efectivo y adecuado para el entrenamiento.
Ajuste Fino del Ruido por Píxel
- Se plantea la posibilidad extrema de cambiar un solo píxel por paso para garantizar que todos los píxeles experimenten modificaciones significativas durante el proceso iterativo.
Equilibrio entre Cambios y Resultados
- Se destaca la importancia de encontrar un equilibrio empírico en la cantidad y tipo de cambios realizados por paso, buscando obtener resultados satisfactorios sin distorsionar excesivamente las imágenes originales.
Generación y Uso Efectivo del Dataset Ruidoso
Resumen de la Sección: En este segmento se aborda cómo generar un dataset efectivamente ruidoso y su relevancia para el entrenamiento exitoso de redes neuronales.
Importancia del Dataset Ruidoso
- La creación deliberada de un dataset altamente ruidoso es fundamental para asegurar que las redes neuronales aprendan a manejar eficazmente situaciones complejas durante el entrenamiento.
Evolución Continua del Nivel de Ruido
- Mantener un nivel constante pero significativo de ruido en las imágenes permite que la red neuronal aprenda a adaptarse progresivamente a diferentes niveles y tipos de perturbaciones visuales.
Entrenamiento Inverso con Imágenes Ruidosas
Resumen de la Sección: Aquí se explora el concepto del entrenamiento inverso utilizando imágenes con alto nivel de ruido como punto inicial para desarrollar modelos robustos mediante modificaciones graduales.
Aprendizaje Inverso Basado en Probabilidades
- El proceso implica determinar cuáles son los cambios necesarios en los píxeles basándose en probabilidades predefinidas, permitiendo transformar gradualmente una imagen muy ruidosa hacia una versión más clara pero aún distorsionada.
Análisis Detallado del Modelo de Difusión
Resumen de la Sección: En esta sección, se profundiza en el modelo de difusión y su relación con los autoencoders. Se discute cómo el modelo busca reducir el ruido en las imágenes de entrada para obtener salidas más claras y nítidas.
Relación con Autoencoders
- Se menciona que el proceso implica comparar la salida del modelo con la imagen original, calcular errores y derivadas, y ajustar los pesos, similar a un autoencoder.
- La idea es que al igual que un autoencoder elimina ruido en un solo paso extremo, aquí se busca reducir el ruido gradualmente para mantener el contenido original pero más claro.
Proceso de Reconstrucción
- Se describe cómo se entrena el modelo utilizando pares de imágenes: una con ruido y otra sin él. El objetivo es lograr que la salida sea lo más parecida posible a la imagen sin ruido.
- Se destaca que la arquitectura tipo autoencoder es adecuada para este proceso al recibir una imagen, pasar por un espacio latente y generar otra imagen.
Ventajas del Modelo de Difusión
- Se menciona que una simple arquitectura como UNet puede ser suficiente para entrenar estos modelos de difusión, siempre y cuando la salida sea una imagen.
- Comparado con otros modelos como las GANs o los autoencoders variacionales, los modelos de difusión son más fáciles de entrenar y pueden ofrecer mejores resultados.
Entrenamiento y Resultados
- El éxito radica en obtener un modelo capaz de transformar imágenes ruidosas en imágenes realistas mediante múltiples pasos.
- Tras entrenar el modelo, se presenta una imagen ruidosa al sistema, que luego pasa por varias etapas para reducir progresivamente el ruido hasta obtener una reconstrucción clara.
Proceso de Generación de Imágenes a Partir de Texto
Resumen de la Sección: En esta sección, se explora el proceso mediante el cual se genera una imagen a partir de un texto descriptivo.
Generación de Imágenes a Partir de Texto
- Se agrega texto descriptivo, como en el ejemplo del astronauta junto a una piscina con un cóctel, para generar la imagen correspondiente.
- La reconstrucción inicial es aleatoria y guiada por el texto. El texto se codifica en números y se crean embeddings para que coincidan en dimensiones con los embeddings de las imágenes.
- Los embeddings del texto y la imagen deben ser vectores similares en dimensión para lograr que los vectores coincidan en un espacio común.
Espacio Latente y Similitud
- El objetivo es lograr la mayor similitud posible entre los vectores del texto y la imagen en un espacio latente.
- Se busca que diferentes textos relacionados con una misma temática caigan en regiones cercanas dentro del espacio latente.
Entrenamiento y Dataset
- Para entrenar el modelo, se necesita un dataset con múltiples instancias del mismo concepto tanto en imágenes como en textos.
- El dataset incluye variaciones semánticas del mismo concepto para aplicar ruido durante el entrenamiento.
Proceso Iterativo de Refinamiento de Imágenes
Resumen de la Sección: Aquí se detalla cómo las imágenes generadas pasan por múltiples iteraciones para refinarlas gradualmente.
Iteraciones para Refinamiento
- Tras la generación inicial, las imágenes pasan por varias iteraciones sucesivas dentro del modelo para reducir progresivamente el ruido.
- La difusión anti-difusión sobre los vectores latentes ayuda a eliminar ruido y obtener finalmente la imagen refinada.
Construcción de Modelos y Procesamiento de Imágenes
Resumen de la Sección: En esta sección, se discute la construcción de modelos y el procesamiento de imágenes en el contexto del aprendizaje automático.
Modelos y Combinaciones Posibles
- Se menciona la construcción de vectores representando objetos como abejas, flores, noches estrelladas, entre otros.
Construcción de Textos y Transformers
- Descripción sobre cómo se construyen textos mediante elecciones de opciones para generar oraciones.
- Comparación y concatenación de textos para crear overlap en el mundo del texto y los Transformers.
Generación de Datos con Ruido
- La generación de datos con ruido requiere un hardware potente que grandes empresas pueden permitirse.
Proceso de Aplicar Ruido a Imágenes
- Explicación detallada sobre cómo se aplica ruido a las imágenes píxel por píxel.
- Proceso aleatorio para cambiar píxeles seleccionados con valores pequeños según una distribución normal.
Generación del Dataset con Cambios Iterativos
- Detalles sobre cómo se generan múltiples cambios en los píxeles seleccionados para formar un dataset.
- Repetición del proceso iterativo para generar el dataset final con cambios mínimos en cada paso.
Almacenamiento y Estrategias Alternativas
- Consideraciones sobre la cantidad necesaria de pasos para lograr los resultados deseados en la generación del dataset.
Acceso a Modelos Preentrenados
Resumen de la Sección: En esta parte, se aborda el acceso a modelos preentrenados y al código fuente para entrenar modelos personalizados.
Disponibilidad y Complejidad del Dataset
- Mención sobre la disponibilidad de modelos preentrenados y acceso al código fuente para entrenamientos personalizados.
Reto Tecnológico y Espacial
Micrófono y Datos de Entrenamiento
Resumen de la Sección: En esta parte, se discute el volumen de datos utilizado para entrenar modelos, específicamente 12 GB en un autoencoder, y el tiempo requerido para entrenar con esa cantidad de datos.
Volumen de Datos y Tiempo de Entrenamiento
- Se utilizan alrededor de 12 a 15 GB de datos para entrenar el modelo más grande.
- Un autoencoder general tardó 3 días para 20 épocas con 12 GB de datos.
- Se menciona que en el instituto utilizan hardware especializado como GPUs, como las Titan y las RTX 3070 en SLI, para permitir un cómputo paralelo eficiente.
- La prioridad es tener una gran cantidad de VRAM para manejar grandes conjuntos de imágenes o datos, enfocándose en la capacidad computacional más que en la velocidad.