„Technologie, die weit genug fortgeschritten ist, ist nicht von Magie zu unterscheiden.“
--Arthur C. Clarke (Autor von 2001: Odyssee im Weltraum)
Ziel von Learn Generative AI with PyTorch ist es, Sie von Grund auf durch die Erstellung verschiedener Inhalte (Formen, Zahlen, Bilder, Text und Musik) zu führen. Es beginnt mit einfachen Modellen und hilft den Lesern, grundlegende Deep-Learning-Fähigkeiten aufzubauen, bevor sie sich komplexeren Herausforderungen zuwenden. Alle generativen Modelle in diesem Buch sind tiefe neuronale Netze. Das Buch beginnt mit einem umfassenden Deep-Learning-Projekt in PyTorch, ideal für Neueinsteiger auf diesem Gebiet. Jedes Kapitel ist sorgfältig strukturiert, um auf dem vorherigen aufzubauen. Sie erstellen zunächst grundlegende Inhalte wie Formen, Zahlen und Bilder mithilfe von Generative Adversarial Networks (GANs) mit unkomplizierten Architekturen. Je weiter Sie fortschreiten, desto größer wird die Komplexität, was in der Erstellung modernster Modelle wie Transformatoren und Diffusionsmodellen gipfelt.
„Lernen Sie generative KI mit PyTorch“ richtet sich an Enthusiasten des maschinellen Lernens und Datenwissenschaftler in verschiedenen Geschäftsfeldern, die über fortgeschrittene Python-Programmierkenntnisse verfügen. Ziel dieses Buches ist es, generative KI-Techniken zum Erstellen neuartiger und innovativer Inhalte wie Bilder, Texte, Muster, Zahlen, Formen und Audio zu vermitteln, um sowohl das Geschäft ihrer Arbeitgeber als auch ihre eigene Karriere zu verbessern. Während viele kostenlose Lernmaterialien zu einzelnen Themen online verfügbar sind, fasst dieses Buch alles in einem klaren, leicht verständlichen und aktuellen Format zusammen und macht es zu einer unschätzbar wertvollen Ressource für jeden, der Experte für generative KI werden möchte.
Das Buch besteht aus 16 Kapiteln, die in vier Teile gegliedert sind.
Teil I führt Sie in generative KI und Deep Learning mit PyTorch ein.
• In Kapitel 1 wird erläutert, was generative KI ist und warum in diesem Buch PyTorch gegenüber anderen KI-Frameworks wie TensorFlow für die Erstellung generativer Modelle ausgewählt wird.
• Kapitel 2 verwendet PyTorch, um tiefe neuronale Netze zu erstellen, um binäre und Multi-Kategorie-Klassifizierungen durchzuführen, damit Sie sich mit Deep-Learning- und Klassifizierungsaufgaben vertraut machen. Die Absicht besteht darin, Sie auf die kommenden Kapitel vorzubereiten, in denen Sie tiefe neuronale Netze in PyTorch verwenden, um verschiedene generative Modelle zu erstellen.
• Kapitel 3 stellt Ihnen Generative Adversarial Networks (GANs) vor. Sie lernen, GANs zu verwenden, um Formen und Zahlenfolgen mit bestimmten Mustern zu generieren.
Teil II befasst sich mit der Bilderzeugung.
• In Kapitel 4 wird erläutert, wie GANs erstellt und trainiert werden, um hochauflösende Farbbilder zu erzeugen. Insbesondere lernen Sie, Convolutional Neural Networks (CNNs) zu verwenden, um räumliche Merkmale in Bildern zu erfassen. Sie lernen außerdem, transponierte Faltungsebenen zu verwenden, um hochauflösende Feature-Maps in Bildern zu erstellen und zu generieren.
• Kapitel 5 beschreibt zwei Möglichkeiten zur Auswahl von Merkmalen in generierten Bildern. Die erste Methode beinhaltet die Auswahl spezifischer Vektoren im latenten Raum. Die zweite Methode verwendet ein bedingtes GAN, bei dem Sie ein GAN mit beschrifteten Daten erstellen und trainieren.
• In Kapitel 6 erfahren Sie, wie Sie mit einem CycleGAN Bilder zwischen zwei Domänen übersetzen, z. B. Bilder mit schwarzen Haaren und Bilder mit blonden Haaren oder Pferdebilder und Zebrabilder.
• Kapitel 7 erläutert, wie hochauflösende Bilder mithilfe eines anderen generativen Modells generiert werden: Autoencoder (AEs) und ihre Variante, Variational Autoencoder (VAEs).
Teil III befasst sich mit der Verarbeitung natürlicher Sprache (NLP) und der Textgenerierung.
• Kapitel 8 bespricht die Textgenerierung mit einem rekurrenten neuronalen Netzwerk (RNN). Unterwegs erfahren Sie, wie Tokenisierung und Worteinbettung funktionieren. Sie erfahren außerdem, wie Sie mit dem trainierten Modell Text autoregressiv generieren und wie Sie Temperatur und Top-K-Sampling verwenden, um die Kreativität des generierten Texts zu steuern.
• Kapitel 9 erstellt einen Transformer von Grund auf, basierend auf dem Artikel „Attention Is All You Need“, um zwischen zwei beliebigen Sprachen zu übersetzen. Sie implementieren Zeile für Zeile den Multi-Head-Aufmerksamkeitsmechanismus und einen Encoder-Decoder-Transformer.
• Kapitel 10 trainiert den Transformer, den Sie in Kapitel 9 erstellt haben, mit über 47.000 Paaren von Englisch-Französisch-Übersetzungen. Mit dem trainierten Modell lernen Sie, gängige englische Phrasen ins Französische zu übersetzen.
• Kapitel 11 erstellt GPT-2XL, die größte Version von GPT-2, von Grund auf. Anschließend erfahren Sie, wie Sie die vorab trainierten Gewichte aus Hugging Face extrahieren und in Ihr eigenes GPT-2-Modell laden, um Text zu generieren.
• Kapitel 12 erstellt eine verkleinerte Version des GPT-Modells mit etwa fünf Millionen Parametern, sodass Sie es auf einem normalen Computer trainieren können. Als Trainingsdaten verwenden Sie drei Romane von Ernest Hemingway. Das trainierte Modell kann Text im Hemingway-Stil generieren.
Teil IV diskutiert einige praktische Anwendungen der generativen Modelle im Buch und die neuesten Entwicklungen im Bereich der generativen KI.
• Kapitel 13 erstellt und trainiert ein MuseGAN, um Musik zu erzeugen. MuseGAN behandelt ein Musikstück als mehrdimensionales Objekt, ähnlich einem Bild. Der Generator erzeugt ein vollständiges Musikstück und legt es dem Kritiker zur Bewertung vor. Der Generator modifiziert dann die Musik basierend auf dem Feedback des Kritikers, bis sie der echten Musik aus dem Trainingsdatensatz sehr ähnelt. Hören Sie sich ein Beispiel der generierten Musik an: https://gattonweb.uky.edu/faculty/lium/ml/MuseGAN_song.mp3
• Kapitel 14 verfolgt einen anderen Ansatz zur KI-Musikerstellung. Anstatt ein Musikstück als mehrdimensionales Objekt zu behandeln, behandeln Sie es als eine Abfolge musikalischer Ereignisse. Anschließend wenden Sie Techniken aus der Textgenerierung an, um das nächste Element in einer Sequenz vorherzusagen. Hören Sie sich ein Beispiel der generierten Musik an: https://gattonweb.uky.edu/faculty/lium/ml/musicTrans.mp3
• Kapitel 15 führt Sie in Diffusionsmodelle ein, die die Grundlage aller führenden Text-zu-Bild-Transformer (wie DALL-E oder Imagen) bilden. Sie erstellen und trainieren ein Diffusionsmodell, um hochauflösende Blumenbilder zu erzeugen.
• Kapitel 16 beendet das Buch mit einem Projekt, in dem Sie die LangChain-Bibliothek verwenden, um vorab trainierte große Sprachmodelle (LLMs) mit Wolfram Alpha- und Wikipedia-APIs zu kombinieren, um einen persönlichen Assistenten zu erstellen, der alles besser weiß.
Im Anhang wird erläutert, wie Sie PyTorch auf Ihrem Computer installieren, mit oder ohne eine Compute Unified Device Architecture (CUDA)-fähige GPU.
Alle Python-Programme in diesem Buch stehen zum Download im GitHub-Repository des Buchs unter https://github.com/markhliu/DGAI zur Verfügung. Die Programme sind nach Kapiteln organisiert, wobei sich jedes Kapitel in einer einzigen Jupyter Notebook-Datei befindet. Im Anhang des Buchs erfahren Sie, wie Sie Python, PyTorch und Jupyter Notebook auf Ihrem Computer installieren.