GANs mit PyTorch selbst programmieren

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

  1. Cover
  2. Titel
  3. Impressum
  4. Inhalt
  5. Einführung
  6. Teil I PyTorch und neuronale Netze
    1. 1 Grundlagen von PyTorch
    2. Google Colab
    3. PyTorch-Tensoren
    4. Automatische Gradienten mit PyTorch
    5. Berechnungsgraphen
    6. Lernziele
    7. 2 Erstes neuronales Netz mit PyTorch
    8. Das MNIST-Bilddatensatz
    9. Die MNIST-Daten abrufen
    10. Ein Blick auf die Daten
    11. Ein einfaches neuronales Netz
    12. Das Training visualisieren
    13. Die Klasse für den MNIST-Datensatz
    14. Unsere Klassifizierer trainieren
    15. Das neuronale Netz abfragen
    16. Die Performance des Klassifizierers einfach ermitteln
    17. 3 Verfeinerungen
    18. Verlustfunktion
    19. Aktivierungsfunktion
    20. Optimierungsmethode
    21. Normalisierung
    22. Kombinierte Verfeinerungen
    23. Lernziele
    24. 4 Grundlagen von CUDA
    25. NumPy vs. Python
    26. NVIDIA CUDA
    27. CUDA in Python verwenden
    28. Lernziele
  7. Teil II Generative Adversarial Networks erstellen
    1. 5 Das GAN-Konzept
    2. Bilder generieren
    3. Gegnerisches Training
    4. Ein GAN trainieren
    5. GANs sind schwer zu trainieren
    6. Lernziele
    7. 6 Einfache 1010-Muster
    8. Echte Datenquelle
    9. Den Diskriminator erstellen
    10. Den Diskriminator testen
    11. Den Generator erstellen
    12. Die Generatorausgabe überprüfen
    13. Das GAN trainieren
    14. Lernziele
    15. 7 Handgeschriebene Ziffern
    16. Die Datensatzklasse
    17. Der MNIST-Diskriminator
    18. Den Diskriminator testen
    19. MNIST-Generator
    20. Die Generatorausgabe testen
    21. Das GAN trainieren
    22. Mode Collapse
    23. Das GAN-Training verbessern
    24. Mit Startwerten experimentieren
    25. Lernziele
    26. 8 Menschliche Gesichter
    27. Farbbilder
    28. Der CelebA-Datensatz
    29. Hierarchisches Datenformat
    30. Die Daten abrufen
    31. Die Daten inspizieren
    32. Die Datensatzklasse
    33. Der Diskriminator
    34. Den Diskriminator testen
    35. GPU-Beschleunigung
    36. Der Generator
    37. Die Generatorausgabe überprüfen
    38. Das GAN trainieren
    39. Lernziele
  8. Teil III Komplexere GANs
    1. 9 Convolutional GANs
    2. Speicherbedarf
    3. Lokalisierte Bildmerkmale
    4. Faltungsfilter
    5. Kerngewichte lernen
    6. Merkmalshierarchie
    7. MNIST-CNN
    8. CelebA-CNN
    9. Eigene Experimente
    10. Lernziele
    11. 10 Konditionierte GANs
    12. cGAN-Architektur
    13. Diskriminator
    14. Generator
    15. Trainingsschleife
    16. Bilder grafisch darstellen
    17. Ergebnisse für das konditionierte GAN
    18. Lernziele
    19. Fazit
  9. Anhänge
    1. A Ideale Verlustwerte
    2. MSE-Verlust
    3. BCE-Verlust
    4. B GANs lernen Wahrscheinlichkeit
    5. GANs merken sich die Trainingsdaten nicht
    6. Vereinfachtes Beispiel
    7. Bilder aus einer Wahrscheinlichkeitsverteilung generieren
    8. Gruppen von Pixeln für Bildmerkmale lernen
    9. Viele Modi und Mode Collapse
    10. C Beispiele für Faltungen
    11. Beispiel 1: Faltung mit Schrittweite 1, keine Auffüllung
    12. Beispiel 2: Faltung mit Schrittweite 2, keine Auffüllung
    13. Beispiel 3: Faltung mit Schrittweite 2, mit Auffüllung
    14. Beispiel 4: Faltung mit Bedeckungslücken
    15. Beispiel 5: Transponierte Faltung mit Schrittweite 2, keine Auffüllung
    16. Beispiel 6: Transponierte Faltung mit Schrittweite 1, keine Auffüllung
    17. Beispiel 7: Transponierte Faltung mit Schrittweite 2, mit Auffüllung
    18. Ausgabegrößen berechnen
    19. D Instabiles Lernen
    20. Gradientenabstieg – für das Training von GANs geeignet?
    21. Ein einfaches Konfliktbeispiel
    22. Gradientenabstieg – nicht ideal für Konfliktspiele
    23. Warum eine Kreisbahn?
    24. E Quellen
    25. Der MNIST-Datensatz
    26. Der CelebA-Datensatz
    27. NVIDIA und Google
    28. Open Source
  10. Index
  11. Über den Autor
  12. Kolophon
  13. Fußbnoten

Product information

  • Title: GANs mit PyTorch selbst programmieren
  • Author(s): Tariq Rashid
  • Release date: September 2020
  • Publisher(s): dpunkt
  • ISBN: 9783960091479