"La tecnología lo suficientemente avanzada es indistinguible de la magia".
--Arthur C. Clarke (autor de 2001: Odisea en el espacio)
Aprenda IA generativa con PyTorch tiene como objetivo guiarlo a través de la creación de diversos contenidos (formas, números, imágenes, texto y música) desde cero. Comienza con modelos simples, que ayudan a los lectores a desarrollar habilidades fundamentales de aprendizaje profundo antes de avanzar a desafíos más complejos. Todos los modelos generativos de este libro son redes neuronales profundas. El libro comienza con un proyecto integral de aprendizaje profundo en PyTorch, ideal para quienes son nuevos en este campo. Cada capítulo está cuidadosamente estructurado para basarse en el anterior. Primero, creará contenido básico como formas, números e imágenes utilizando redes generativas adversas (GAN) con arquitecturas sencillas. A medida que avanza, la complejidad aumenta y culmina en la construcción de modelos de última generación como transformadores y modelos de difusión.
Aprenda IA generativa con PyTorch está diseñado para entusiastas del aprendizaje automático y científicos de datos en diversos campos comerciales que poseen habilidades intermedias de programación en Python. Este libro tiene como objetivo enseñar técnicas de IA generativa para crear contenido novedoso e innovador, como imágenes, texto, patrones, números, formas y audio, para mejorar tanto los negocios de sus empleadores como sus propias carreras. Si bien hay muchos materiales de aprendizaje gratuitos disponibles en línea que cubren temas individuales, este libro los consolida todo en un formato claro, fácil de seguir y actualizado, lo que lo convierte en un recurso invaluable para cualquiera que aspire a convertirse en un experto en IA generativa.
El libro consta de 16 capítulos, organizados en cuatro partes.
La Parte I le presenta la IA generativa y el aprendizaje profundo con PyTorch.
• El Capítulo 1 explica qué es la IA generativa y la razón detrás de seleccionar PyTorch en lugar de otros marcos de IA como TensorFlow para construir modelos generativos en este libro.
• El Capítulo 2 utiliza PyTorch para crear redes neuronales profundas para realizar clasificaciones binarias y de múltiples categorías para que usted se familiarice con las tareas de clasificación y aprendizaje profundo. La intención es prepararlo para los próximos capítulos, donde utilizará redes neuronales profundas en PyTorch para crear varios modelos generativos.
• El Capítulo 3 le presenta las Redes Generativas Adversariales (GAN). Aprende a utilizar GAN para generar formas y secuencias de números con ciertos patrones.
La Parte II cubre la generación de imágenes.
• El Capítulo 4 analiza cómo construir y entrenar GAN para generar imágenes en color de alta resolución. En particular, aprenderá a utilizar redes neuronales convolucionales (CNN) para capturar características espaciales en imágenes. También aprenderá a utilizar capas convolucionales transpuestas para muestrear y generar mapas de características de alta resolución en imágenes.
• El Capítulo 5 detalla dos formas de seleccionar características en las imágenes generadas. El primer método implica seleccionar vectores específicos en el espacio latente. El segundo método utiliza una GAN condicional, en la que se construye y entrena una GAN con datos etiquetados.
• El Capítulo 6 le enseña cómo usar CycleGAN para traducir imágenes entre dos dominios, como imágenes con cabello negro e imágenes con cabello rubio, o imágenes de caballos e imágenes de cebra.
• El Capítulo 7 explica cómo generar imágenes de alta resolución utilizando otro modelo generativo: los codificadores automáticos (AE) y su variante, los codificadores automáticos variacionales (VAE).
La Parte III profundiza en el procesamiento del lenguaje natural (PNL) y la generación de texto.
• El Capítulo 8 analiza la generación de texto con una red neuronal recurrente (RNN). En el camino, aprenderá cómo funcionan la tokenización y la incrustación de palabras. También aprenderá a generar texto autorregresivamente con el modelo entrenado y cómo usar la temperatura y el muestreo top-K para controlar la creatividad del texto generado.
• El Capítulo 9 construye un Transformer desde cero, basado en el artículo La atención es todo lo que necesitas, para traducir entre dos idiomas. Implementarás línea por línea el mecanismo de atención multicabezal y un transformador codificador-decodificador.
• El Capítulo 10 entrena el Transformador que construyó en el Capítulo 9 con más de 47.000 pares de traducciones del inglés al francés. Aprenderá a traducir frases comunes del inglés al francés con el modelo entrenado.
• El Capítulo 11 construye GPT-2XL, la versión más grande de GPT-2, desde cero. Después de eso, aprenderá cómo extraer los pesos previamente entrenados de Hugging Face y cargarlos en su propio modelo GPT-2 para generar texto.
• El Capítulo 12 construye una versión reducida del modelo GPT con aproximadamente cinco millones de parámetros para que pueda entrenarlo en una computadora normal. Utilizará tres novelas de Ernest Hemingway como datos de entrenamiento. El modelo entrenado puede generar texto en estilo Hemingway.
La Parte IV analiza algunas aplicaciones prácticas de los modelos generativos del libro y los desarrollos más recientes en el campo de la IA generativa.
• El Capítulo 13 construye y entrena un MuseGAN para generar música. MuseGAN trata una pieza musical como un objeto multidimensional similar a una imagen. El generador produce una pieza musical completa y la presenta al crítico para su evaluación. Luego, el generador modifica la música basándose en los comentarios de los críticos hasta que se parece mucho a la música real del conjunto de datos de entrenamiento. Escuche un ejemplo de la música generada: https://gattonweb.uky.edu/faculty/lium/ml/MuseGAN_song.mp3
• El Capítulo 14 adopta un enfoque diferente para la creación musical con IA. En lugar de tratar una pieza musical como un objeto multidimensional, la tratas como una secuencia de eventos musicales. Luego, aplicará técnicas de generación de texto para predecir el siguiente elemento en una secuencia. Escuche un ejemplo de la música generada: https://gattonweb.uky.edu/faculty/lium/ml/musicTrans.mp3
• El Capítulo 15 le presenta los modelos de difusión, que forman la base de todos los principales transformadores de texto a imagen (como DALL-E o Imagen). Construirás y entrenarás un modelo de difusión para generar imágenes de flores de alta resolución.
• El capítulo 16 finaliza el libro con un proyecto en el que se utiliza la biblioteca LangChain para combinar modelos de lenguajes grandes (LLM) previamente entrenados con las API de Wolfram Alpha y Wikipedia para crear un asistente personal sabelotodo.
El apéndice explica cómo instalar PyTorch en su computadora, con o sin una GPU habilitada para Compute Unified Device Architecture (CUDA).
Todos los programas Python de este libro están disponibles para descargar en el repositorio GitHub del libro https://github.com/markhliu/DGAI. Los programas están organizados por capítulos y cada capítulo se encuentra en un único archivo de Jupyter Notebook. Consulte el Apéndice del libro sobre cómo instalar Python, PyTorch y Jupyter Notebook en su computadora.