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
Practical Perforce
When developers build software, they're able to keep track of all the different versions and all …
book
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 3rd Edition
Through a recent series of breakthroughs, deep learning has boosted the entire field of machine learning. …
book
Praxiseinstieg Machine Learning mit Scikit-Learn, Keras und TensorFlow, 2nd Edition
Eine Reihe technischer Durchbrüche beim Deep Learning haben das gesamte Gebiet des maschinellen Lernens in den …
book
Python for Data Analysis, 3rd Edition
Get the definitive handbook for manipulating, processing, cleaning, and crunching datasets in Python. Updated for Python …