Book description
Die coolste Idee im Deep Learning in den letzten 20 Jahren« sagt Yann LeCun, einer der weltweit führenden Forscher auf dem Gebiet der neuronalen Netze, über GANs, die Generative Adversarial Networks. Bei dieser noch neuen KI-Technik treten zwei neuronale Netze gegeneinander an mit dem Ziel, Bilder, Ton und Videos zu erzeugen, die vom Original nicht zu unterscheiden sind.
Dieses Buch richtet sich an alle, die selbst ausprobieren möchten, wie GANs funktionieren. Tariq Rashid zeigt Ihnen Schritt für Schritt, wie Sie mit dem populären Framework PyTorch Ihre eigenen GANs erstellen und trainieren. Sie starten mit einem sehr einfachen GAN, um einen Workflow einzurichten, und üben erste Techniken anhand der MNIST-Datenbank ein. Mit diesem Wissen programmieren Sie dann ein GAN, das realistische menschliche Gesichter erzeugen kann. Tariq Rashids besondere Fähigkeit, komplexe Ideen verständlich zu erklären, macht das Buch zu einer unterhaltsamen Lektüre.
Table of contents
- Cover
- Titel
- Impressum
- Inhalt
- Einführung
-
Teil I PyTorch und neuronale Netze
- 1 Grundlagen von PyTorch
- Google Colab
- PyTorch-Tensoren
- Automatische Gradienten mit PyTorch
- Berechnungsgraphen
- Lernziele
- 2 Erstes neuronales Netz mit PyTorch
- Das MNIST-Bilddatensatz
- Die MNIST-Daten abrufen
- Ein Blick auf die Daten
- Ein einfaches neuronales Netz
- Das Training visualisieren
- Die Klasse für den MNIST-Datensatz
- Unsere Klassifizierer trainieren
- Das neuronale Netz abfragen
- Die Performance des Klassifizierers einfach ermitteln
- 3 Verfeinerungen
- Verlustfunktion
- Aktivierungsfunktion
- Optimierungsmethode
- Normalisierung
- Kombinierte Verfeinerungen
- Lernziele
- 4 Grundlagen von CUDA
- NumPy vs. Python
- NVIDIA CUDA
- CUDA in Python verwenden
- Lernziele
-
Teil II Generative Adversarial Networks erstellen
- 5 Das GAN-Konzept
- Bilder generieren
- Gegnerisches Training
- Ein GAN trainieren
- GANs sind schwer zu trainieren
- Lernziele
- 6 Einfache 1010-Muster
- Echte Datenquelle
- Den Diskriminator erstellen
- Den Diskriminator testen
- Den Generator erstellen
- Die Generatorausgabe überprüfen
- Das GAN trainieren
- Lernziele
- 7 Handgeschriebene Ziffern
- Die Datensatzklasse
- Der MNIST-Diskriminator
- Den Diskriminator testen
- MNIST-Generator
- Die Generatorausgabe testen
- Das GAN trainieren
- Mode Collapse
- Das GAN-Training verbessern
- Mit Startwerten experimentieren
- Lernziele
- 8 Menschliche Gesichter
- Farbbilder
- Der CelebA-Datensatz
- Hierarchisches Datenformat
- Die Daten abrufen
- Die Daten inspizieren
- Die Datensatzklasse
- Der Diskriminator
- Den Diskriminator testen
- GPU-Beschleunigung
- Der Generator
- Die Generatorausgabe überprüfen
- Das GAN trainieren
- Lernziele
-
Teil III Komplexere GANs
- 9 Convolutional GANs
- Speicherbedarf
- Lokalisierte Bildmerkmale
- Faltungsfilter
- Kerngewichte lernen
- Merkmalshierarchie
- MNIST-CNN
- CelebA-CNN
- Eigene Experimente
- Lernziele
- 10 Konditionierte GANs
- cGAN-Architektur
- Diskriminator
- Generator
- Trainingsschleife
- Bilder grafisch darstellen
- Ergebnisse für das konditionierte GAN
- Lernziele
- Fazit
-
Anhänge
- A Ideale Verlustwerte
- MSE-Verlust
- BCE-Verlust
- B GANs lernen Wahrscheinlichkeit
- GANs merken sich die Trainingsdaten nicht
- Vereinfachtes Beispiel
- Bilder aus einer Wahrscheinlichkeitsverteilung generieren
- Gruppen von Pixeln für Bildmerkmale lernen
- Viele Modi und Mode Collapse
- C Beispiele für Faltungen
- Beispiel 1: Faltung mit Schrittweite 1, keine Auffüllung
- Beispiel 2: Faltung mit Schrittweite 2, keine Auffüllung
- Beispiel 3: Faltung mit Schrittweite 2, mit Auffüllung
- Beispiel 4: Faltung mit Bedeckungslücken
- Beispiel 5: Transponierte Faltung mit Schrittweite 2, keine Auffüllung
- Beispiel 6: Transponierte Faltung mit Schrittweite 1, keine Auffüllung
- Beispiel 7: Transponierte Faltung mit Schrittweite 2, mit Auffüllung
- Ausgabegrößen berechnen
- D Instabiles Lernen
- Gradientenabstieg – für das Training von GANs geeignet?
- Ein einfaches Konfliktbeispiel
- Gradientenabstieg – nicht ideal für Konfliktspiele
- Warum eine Kreisbahn?
- E Quellen
- Der MNIST-Datensatz
- Der CelebA-Datensatz
- NVIDIA und Google
- Open Source
- Index
- Über den Autor
- Kolophon
- Fußbnoten
Product information
- Title: GANs mit PyTorch selbst programmieren
- Author(s):
- Release date: September 2020
- Publisher(s): dpunkt
- ISBN: 9783960091479
You might also like
book
Go – Das Praxisbuch
Go ist bei aktuellen Umfragen unter Entwicklern immer unter den Top 5 der Programmiersprachen, die man …
book
Deep Learning – Grundlagen und Implementierung
Dieses Buch vermittelt Ihnen das konzeptionelle und praktische Rüstzeug, um ein tiefes Verständnis für die Funktionsweise …
book
Generatives Deep Learning
Generative Modelle haben sich zu einem der spannendsten Themenbereiche der Künstlichen Intelligenz entwickelt: Mit generativem Deep …
book
PyTorch für Deep Learning
Mit diesem praxisorientierten Buch meistern Sie die Methoden des Deep Learning, einer Teildisziplin des Machine Learning, …