Читать книгу GANs mit PyTorch selbst programmieren - Tariq Rashid - Страница 5
На сайте Литреса книга снята с продажи.
Inhalt
ОглавлениеEinführung
Teil IPyTorch und neuronale Netze
1Grundlagen von PyTorch
Google Colab
PyTorch-Tensoren
Automatische Gradienten mit PyTorch
Berechnungsgraphen
Lernziele
2Erstes 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
3Verfeinerungen
Verlustfunktion
Aktivierungsfunktion
Optimierungsmethode
Normalisierung
Kombinierte Verfeinerungen
Lernziele
4Grundlagen von CUDA
NumPy vs. Python
NVIDIA CUDA
CUDA in Python verwenden
Lernziele
Teil IIGenerative Adversarial Networks erstellen
5Das GAN-Konzept
Bilder generieren
Gegnerisches Training
Ein GAN trainieren
GANs sind schwer zu trainieren
Lernziele
6Einfache 1010-Muster
Echte Datenquelle
Den Diskriminator erstellen
Den Diskriminator testen
Den Generator erstellen
Die Generatorausgabe überprüfen
Das GAN trainieren
Lernziele
7Handgeschriebene 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
8Menschliche 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 IIIKomplexere GANs
9Convolutional GANs
Speicherbedarf
Lokalisierte Bildmerkmale
Faltungsfilter
Kerngewichte lernen
Merkmalshierarchie
MNIST-CNN
CelebA-CNN
Eigene Experimente
Lernziele
10Konditionierte GANs
cGAN-Architektur
Diskriminator
Generator
Trainingsschleife
Bilder grafisch darstellen
Ergebnisse für das konditionierte GAN
Lernziele
Fazit
Anhänge
AIdeale Verlustwerte
MSE-Verlust
BCE-Verlust
BGANs 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
CBeispiele 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
DInstabiles Lernen
Gradientenabstieg – für das Training von GANs geeignet?
Ein einfaches Konfliktbeispiel
Gradientenabstieg – nicht ideal für Konfliktspiele
Warum eine Kreisbahn?
EQuellen
Der MNIST-Datensatz
Der CelebA-Datensatz
NVIDIA und Google
Open Source
Index