“A tecnologia avançada o suficiente é indistinguível da magia.”
--Arthur C. Clarke (autor de 2001: Uma Odisséia no Espaço)
Aprenda IA Generativa com PyTorch tem como objetivo guiá-lo na criação de diversos conteúdos (formas, números, imagens, texto e música) do zero. Ele começa com modelos simples, ajudando os leitores a desenvolver habilidades básicas de aprendizagem profunda antes de avançar para desafios mais complexos. Todos os modelos generativos neste livro são redes neurais profundas. O livro começa com um projeto abrangente de aprendizado profundo em PyTorch, ideal para quem é novo na área. Cada capítulo é cuidadosamente estruturado para se basear no anterior. Primeiro, você criará conteúdo básico como formas, números e imagens usando Redes Adversariais Generativas (GANs) com arquiteturas simples. Conforme você avança, a complexidade aumenta, culminando na construção de modelos de última geração, como Transformadores e Modelos de Difusão.
Aprenda IA generativa com PyTorch foi projetado para entusiastas de aprendizado de máquina e cientistas de dados em vários campos de negócios que possuem habilidades intermediárias de programação em Python. Este livro tem como objetivo ensinar técnicas generativas de IA para a criação de conteúdo novo e inovador, como imagens, texto, padrões, números, formas e áudio, para aprimorar os negócios de seus empregadores e suas próprias carreiras. Embora muitos materiais de aprendizagem gratuitos estejam disponíveis on-line cobrindo tópicos individuais, este livro consolida tudo em um formato claro, fácil de seguir e atualizado, tornando-o um recurso inestimável para qualquer pessoa que queira se tornar um especialista em IA generativa.
O livro possui 16 capítulos, organizados em quatro partes.
A Parte I apresenta IA generativa e aprendizado profundo com PyTorch.
• O Capítulo 1 explica o que é IA generativa e a lógica por trás da seleção do PyTorch em vez de outras estruturas de IA, como o TensorFlow, para a construção de modelos generativos neste livro.
• O Capítulo 2 usa PyTorch para criar redes neurais profundas para realizar classificações binárias e multicategorias para que você se torne bem versado em tarefas de classificação e aprendizado profundo. A intenção é prepará-lo para os próximos capítulos, onde você usará redes neurais profundas no PyTorch para criar vários modelos generativos.
• O Capítulo 3 apresenta Redes Adversariais Gerativas (GANs). Você aprende a usar GANs para gerar formas e sequências de números com determinados padrões.
A Parte II cobre a geração de imagens.
• O Capítulo 4 discute como construir e treinar GANs para gerar imagens coloridas de alta resolução. Em particular, você aprenderá a usar redes neurais convolucionais (CNNs) para capturar características espaciais em imagens. Você também aprenderá a usar camadas convolucionais transpostas para aumentar a resolução e gerar mapas de recursos de alta resolução em imagens.
• O Capítulo 5 detalha duas maneiras de selecionar características nas imagens geradas. O primeiro método envolve a seleção de vetores específicos no espaço latente. O segundo método usa uma GAN condicional, onde você constrói e treina uma GAN com dados rotulados.
• O Capítulo 6 ensina como usar um CycleGAN para traduzir imagens entre dois domínios, como imagens com cabelos pretos e imagens com cabelos loiros, ou imagens de cavalos e imagens de zebra.
• O Capítulo 7 explica como gerar imagens de alta resolução usando outro modelo generativo: autoencoders (AEs) e sua variante, autoencoders variacionais (VAEs).
A Parte III se aprofunda no processamento de linguagem natural (PNL) e na geração de texto.
• O Capítulo 8 discute a geração de texto com uma rede neural recorrente (RNN). Ao longo do caminho, você aprenderá como funcionam a tokenização e a incorporação de palavras. Você também aprenderá a gerar texto autoregressivamente com o modelo treinado e como usar temperatura e amostragem top-K para controlar a criatividade do texto gerado.
• O Capítulo 9 constrói um Transformer do zero, baseado no artigo Atenção é tudo que você precisa, para traduzir entre dois idiomas quaisquer. Você implementará linha por linha o mecanismo de atenção de vários cabeçotes e um transformador codificador-decodificador.
• O Capítulo 10 treina o Transformer que você construiu no Capítulo 9 com mais de 47.000 pares de traduções do inglês para o francês. Você aprenderá a traduzir frases comuns do inglês para o francês com o modelo treinado.
• O Capítulo 11 constrói o GPT-2XL, a maior versão do GPT-2, do zero. Depois disso, você aprenderá como extrair os pesos pré-treinados do Hugging Face e carregá-los em seu próprio modelo GPT-2 para gerar texto.
• O Capítulo 12 constrói uma versão reduzida do modelo GPT com aproximadamente cinco milhões de parâmetros para que você possa treiná-lo em um computador comum. Você usará três romances de Ernest Hemingway como dados de treinamento. O modelo treinado pode gerar texto no estilo Hemingway.
A Parte IV discute algumas aplicações práticas dos modelos generativos do livro e os desenvolvimentos mais recentes no campo da IA generativa.
• O Capítulo 13 constrói e treina um MuseGAN para gerar música. MuseGAN trata uma peça musical como um objeto multidimensional semelhante a uma imagem. O gerador produz uma peça musical completa e a submete à crítica para avaliação. O gerador então modifica a música com base no feedback do crítico até que ela se assemelhe à música real do conjunto de dados de treinamento. Ouça um exemplo da música gerada: https://gattonweb.uky.edu/faculty/lium/ml/MuseGAN_song.mp3
• O Capítulo 14 adota uma abordagem diferente para a criação musical com IA. Em vez de tratar uma peça musical como um objeto multidimensional, você a trata como uma sequência de eventos musicais. Em seguida, você aplicará técnicas de geração de texto para prever o próximo elemento em uma sequência. Ouça um exemplo da música gerada: https://gattonweb.uky.edu/faculty/lium/ml/musicTrans.mp3
• O Capítulo 15 apresenta modelos de difusão, que formam a base de todos os principais Transformers de texto para imagem (como DALL-E ou Imagen). Você construirá e treinará um modelo de difusão para gerar imagens de flores em alta resolução.
• O Capítulo 16 termina o livro com um projeto no qual você usa a biblioteca LangChain para combinar grandes modelos de linguagem (LLMs) pré-treinados com APIs Wolfram Alpha e Wikipedia para criar um assistente pessoal sabe-tudo de tiro zero.
O apêndice discute como instalar o PyTorch em seu computador, com ou sem uma GPU habilitada para Compute Unified Device Architecture (CUDA).
Todos os programas Python neste livro estão disponíveis para download no repositório GitHub do livro https://github.com/markhliu/DGAI. Os programas são organizados por capítulos, com cada capítulo em um único arquivo Jupyter Notebook. Consulte o Apêndice do livro sobre como instalar Python, PyTorch e Jupyter Notebook em seu computador.