GANs mit PyTorch selbst programmieren
Реклама. ООО «ЛитРес», ИНН: 7719571260.
Оглавление
Tariq Rashid. GANs mit PyTorch selbst programmieren
GANs mit PyTorch selbst programmieren
Inhalt
Einführung. Künstliche Intelligenz explodiert!
Kreative KI
GANs sind neu
Für wen dieses Buch gedacht ist
Neuronale Netze
Wie Sie dieses Buch verwenden
Freie und Open-Source-Software
Anmerkung des Autors
TEIL I. PyTorch und neuronale Netze
KAPITEL 1. Grundlagen von PyTorch
Google Colab
PyTorch-Tensoren
Automatische Gradienten mit PyTorch
Berechnungsgraphen
Lernziele
KAPITEL 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
KAPITEL 3. Verfeinerungen
Verlustfunktion
Aktivierungsfunktion
Optimierungsmethode
Normalisierung
Kombinierte Verfeinerungen
Lernziele
KAPITEL 4. Grundlagen von CUDA
NumPy vs. Python
NVIDIA CUDA
CUDA in Python verwenden
Lernziele
TEIL II. Generative Adversarial Networks erstellen
KAPITEL 5. Das GAN-Konzept
Bilder generieren
Gegnerisches Training
Ein GAN trainieren
GANs sind schwer zu trainieren
Lernziele
KAPITEL 6. Einfache 1010-Muster
Echte Datenquelle
Den Diskriminator erstellen
Den Diskriminator testen
Den Generator erstellen
Die Generatorausgabe überprüfen
Das GAN trainieren
Lernziele
KAPITEL 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
KAPITEL 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
KAPITEL 9. Convolutional GANs
Speicherbedarf
Lokalisierte Bildmerkmale
Faltungsfilter
Kerngewichte lernen
Merkmalshierarchie
MNIST-CNN
CelebA-CNN
Eigene Experimente
Lernziele
KAPITEL 10. Konditionierte GANs
cGAN-Architektur
Diskriminator
Generator
Trainingsschleife
Bilder grafisch darstellen
Ergebnisse für das konditionierte GAN
Lernziele
Fazit. Bravo!
Zukünftige Richtungen
Verantwortungsvolle Nutzung
Maschinelles Lernen ist erstaunlich!
ANHANG A. Ideale Verlustwerte
MSE-Verlust
BCE-Verlust
ANHANG 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
ANHANG 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
ANHANG D. Instabiles Lernen. Gradientenabstieg – für das Training von GANs geeignet?
Ein einfaches Konfliktbeispiel
Gradientenabstieg – nicht ideal für Konfliktspiele
Warum eine Kreisbahn?
ANHANG E. Quellen. Der MNIST-Datensatz
Der CelebA-Datensatz
NVIDIA und Google
Open Source
Index
Über den Autor
Kolophon
Fußnoten. KAPITEL 5 Das GAN-Konzept
Отрывок из книги
Ein verständlicher Einstieg in Generative Adversarial Networks
Tariq Rashid
.....
Bilder grafisch darstellen
Ergebnisse für das konditionierte GAN
.....