Deep Learning illustriert

Book description

Das Buch bietet einen einfachen Zugang zum Aufbau von Deep-Learning-Modellen und erleichtert das Lernen mit farbenfrohen, lebendigen Illustrationen. Teil I erklärt, was Deep Learning ist, warum es so allgegenwärtig geworden ist und wie es sich auf Konzepte und Terminologien wie Künstliche Intelligenz, Machine Learning, Künstliche Neuronale Netze und Verstärkungslernen bezieht. Die einleitenden Kapitel sind vollgepackt mit anschaulichen Illustrationen, leicht verständlichen Analogien und charakterorientierten Erzählungen. Auf dieser Grundlage bieten die Autoren eine praktische Referenz und ein Tutorial zur Anwendung eines breiten Spektrums bewährter Techniken des Deep Learning. Die wesentliche Theorie wird mit so wenig Mathematik wie möglich behandelt und mit Python-Code beleuchtet. Die Theorie wird durch praktische »Durchläufe« unterstützt, die kostenfrei online verfügbar sind (Jupyter-Notebooks) und ein pragmatisches Verständnis aller wichtigen Deep-Learning-Ansätze und ihrer Anwendungen liefern: Machine Vision, Natural Language Processing, Bilderzeugung und Spielalgorithmen.

Table of contents

  1. Cover
  2. Titel
  3. Impressum
  4. Widmung
  5. Vorwort
  6. Einführung
  7. Danksagungen
  8. Inhaltsübersicht
  9. Inhaltsverzeichnis
  10. Teil I Deep Learning vorgestellt
    1. 1 Biologisches und maschinelles Sehen
    2. 1.1 Das biologische Sehen
    3. 1.2 Maschinelles Sehen
    4. 1.2.1 Das Neocognitron
    5. 1.2.2 LeNet-5
    6. 1.2.3 Der traditionelle Machine-Learning-Ansatz
    7. 1.2.4 ImageNet und die ILSVRC
    8. 1.2.5 AlexNet
    9. 1.3 TensorFlow Playground
    10. 1.4 Quick, Draw!
    11. 1.5 Zusammenfassung
    12. 2 Menschen- und Maschinensprache
    13. 2.1 Deep Learning für Natural Language Processing
    14. 2.1.1 Deep-Learning-Netze lernen Repräsentationen automatisch
    15. 2.1.2 Natural Language Processing
    16. 2.1.3 Eine kurze Geschichte des Deep Learning für NLP
    17. 2.2 Repräsentationen von Sprache im Computer
    18. 2.2.1 1-aus-n-Repräsentationen von Wörtern
    19. 2.2.2 Wortvektoren
    20. 2.2.3 Wortvektor-Arithmetik
    21. 2.2.4 word2viz
    22. 2.2.5 Lokalistische versus verteilte Repräsentationen
    23. 2.3 Elemente der natürlichen menschlichen Sprache
    24. 2.4 Google Duplex
    25. 2.5 Zusammenfassung
    26. 3 Maschinenkunst
    27. 3.1 Eine feuchtfröhliche Nacht
    28. 3.2 Berechnungen auf nachgemachten menschlichen Gesichtern
    29. 3.3 Stiltransfer: Fotos in einen Monet verwandeln (und umgekehrt)
    30. 3.4 Machen Sie Ihre eigenen Skizzen fotorealistisch
    31. 3.5 Fotorealistische Bilder aus Text erzeugen
    32. 3.6 Bildverarbeitung mittels Deep Learning
    33. 3.7 Zusammenfassung
    34. 4 Spielende Maschinen
    35. 4.1 Deep Learning, KI und andere Monster
    36. 4.1.1 Künstliche Intelligenz
    37. 4.1.2 Machine Learning
    38. 4.1.3 Representation Learning
    39. 4.1.4 Künstliche neuronale Netze
    40. 4.1.5 Deep Learning
    41. 4.1.6 Maschinelles Sehen
    42. 4.1.7 Natural Language Processing
    43. 4.2 Drei Arten von Machine-Learning-Problemen
    44. 4.2.1 Supervised Learning
    45. 4.2.2 Unsupervised Learning
    46. 4.2.3 Reinforcement Learning
    47. 4.3 Deep Reinforcement Learning
    48. 4.4 Videospiele
    49. 4.5 Brettspiele
    50. 4.5.1 AlphaGo
    51. 4.5.2 AlphaGo Zero
    52. 4.5.3 AlphaZero
    53. 4.6 Manipulation von Objekten
    54. 4.7 Populäre Umgebungen für das Deep-Reinforcement-Learning
    55. 4.7.1 OpenAI Gym
    56. 4.7.2 DeepMind Lab
    57. 4.7.3 UnityML-Agents
    58. 4.8 Drei Arten von KI
    59. 4.8.1 Artificial Narrow Intelligence
    60. 4.8.2 Artificial General Intelligence
    61. 4.8.3 Artificial Super Intelligence
    62. 4.8.4 Zusammenfassung
  11. Teil II Die nötige Theorie
    1. 5 Der (Code-)Karren vor dem (Theorie-)Pferd
    2. 5.1 Voraussetzungen
    3. 5.2 Installation
    4. 5.3 Ein flaches Netzwerk in Keras
    5. 5.3.1 Der MNIST-Datensatz handgeschriebener Ziffern
    6. 5.3.2 Ein schematisches Diagramm des Netzwerks
    7. 5.3.3 Die Daten laden
    8. 5.3.4 Die Daten umformatieren
    9. 5.3.5 Die Architektur eines neuronalen Netzes entwerfen
    10. 5.3.6 Trainieren eines Deep-Learning-Modells
    11. 5.4 Zusammenfassung
    12. 6 Künstliche Neuronen, die Hotdogs erkennen
    13. 6.1 Das Einmaleins der biologischen Neuroanatomie
    14. 6.2 Das Perzeptron
    15. 6.2.1 Der Hotdog/Nicht-Hotdog-Detektor
    16. 6.2.2 Die wichtigste Gleichung in diesem Buch
    17. 6.3 Moderne Neuronen und Aktivierungsfunktionen
    18. 6.3.1 Das Sigmoid-Neuron
    19. 6.3.2 Das Tanh-Neuron
    20. 6.3.3 ReLU: Rectified Linear Units
    21. 6.4 Ein Neuron auswählen
    22. 6.5 Zusammenfassung
    23. Schlüsselkonzepte
    24. 7 Künstliche neuronale Netze
    25. 7.1 Die Eingabeschicht
    26. 7.2 Vollständig verbundene Schichten
    27. 7.3 Ein vollständig verbundenes Netzwerk zum Erkennen von Hotdogs
    28. 7.3.1 Forwardpropagation durch die erste verborgene Schicht
    29. 7.3.2 Forwardpropagation durch nachfolgende Schichten
    30. 7.4 Die Softmax-Schicht eines Netzwerks zum Klassifizieren von Fastfood
    31. 7.5 Zurück zu unserem flachen Netzwerk
    32. 7.6 Zusammenfassung
    33. Schlüsselkonzepte
    34. 8 Deep Networks trainieren
    35. 8.1 Kostenfunktionen
    36. 8.1.1 Quadratische Kosten
    37. 8.1.2 Gesättigte Neuronen
    38. 8.1.3 Kreuzentropie-Kosten
    39. 8.2 Optimierung: Lernen, um die Kosten zu minimieren
    40. 8.2.1 Der Gradientenabstieg
    41. 8.2.2 Die Lernrate
    42. 8.2.3 Batch-Größe und stochastischer Gradientenabstieg
    43. 8.2.4 Dem lokalen Minimum entkommen
    44. 8.3 Backpropagation
    45. 8.4 Die Anzahl der verborgenen Schichten und der Neuronen anpassen
    46. 8.5 Ein mittleres Netz in Keras
    47. 8.6 Zusammenfassung
    48. Schlüsselkonzepte
    49. 9 Deep Networks verbessern
    50. 9.1 Die Initialisierung der Gewichte
    51. 9.1.1 Xavier-Glorot-Verteilungen
    52. 9.2 Instabile Gradienten
    53. 9.2.1 Verschwindende Gradienten
    54. 9.2.2 Explodierende Gradienten
    55. 9.2.3 Batch-Normalisierung
    56. 9.3 Modellgeneralisierung (Überanpassung vermeiden)
    57. 9.3.1 L1- und L2-Regularisierung
    58. 9.3.2 Dropout
    59. 9.3.3 Datenaugmentation
    60. 9.4 Intelligente Optimierer
    61. 9.4.1 Momentum
    62. 9.4.2 Nesterov-Momentum
    63. 9.4.3 AdaGrad
    64. 9.4.4 AdaDelta und RMSProp
    65. 9.4.5 Adam
    66. 9.5 Ein tiefes neuronales Netz in Keras
    67. 9.6 Regression
    68. 9.7 TensorBoard
    69. 9.8 Zusammenfassung
    70. Schlüsselkonzepte
  12. Teil III Interaktive Anwendungen des Deep Learning
    1. 10 Maschinelles Sehen
    2. 10.1 Convolutional Neural Networks
    3. 10.1.1 Die zweidimensionale Struktur der visuellen Bilddarstellung
    4. 10.1.2 Berechnungskomplexität
    5. 10.1.3 Konvolutionsschichten
    6. 10.1.4 Mehrere Filter
    7. 10.1.5 Ein Beispiel für Konvolutionsschichten
    8. 10.2 Hyperparameter von Konvolutionsfiltern
    9. 10.2.1 Kernel-Größe
    10. 10.2.2 Schrittlänge
    11. 10.2.3 Padding
    12. 10.3 Pooling-Schichten
    13. 10.4 LeNet-5 in Keras
    14. 10.5 AlexNet und VGGNet in Keras
    15. 10.6 Residualnetzwerke
    16. 10.6.1 Schwindende Gradienten: Das Grauen der tiefen CNN
    17. 10.6.2 Residualverbindungen
    18. 10.6.3 ResNet
    19. 10.7 Anwendungen des maschinellen Sehens
    20. 10.7.1 Objekterkennung
    21. 10.7.2 Bildsegmentierung
    22. 10.7.3 Transfer-Lernen
    23. 10.7.4 Capsule Networks
    24. 10.8 Zusammenfassung
    25. Schlüsselkonzepte
    26. 11 Natural Language Processing
    27. 11.1 Natürliche Sprachdaten vorverarbeiten
    28. 11.1.1 Tokenisierung
    29. 11.1.2 Alle Zeichen in Kleinbuchstaben umwandeln
    30. 11.1.3 Stoppwörter und Interpunktionszeichen entfernen
    31. 11.1.4 Stemming
    32. 11.1.5 N-Gramme verarbeiten
    33. 11.1.6 Vorverarbeitung des kompletten Textkorpus
    34. 11.2 Worteinbettungen mit word2vec erzeugen
    35. 11.2.1 Die prinzipielle Theorie hinter word2vec
    36. 11.2.2 Wortvektoren evaluieren
    37. 11.2.3 word2vec ausführen
    38. 11.2.4 Wortvektoren plotten
    39. 11.3 Der Bereich unter der ROC-Kurve
    40. 11.3.1 Die Wahrheitsmatrix
    41. 11.3.2 Die ROC-AUC-Metrik berechnen
    42. 11.4 Klassifikation natürlicher Sprache mit vertrauten Netzwerken
    43. 11.4.1 Die IMDb-Filmkritiken laden
    44. 11.4.2 Die IMDb-Daten untersuchen
    45. 11.4.3 Die Länge der Filmkritiken standardisieren
    46. 11.4.4 Vollständig verbundenes Netzwerk
    47. 11.4.5 Convolutional Networks
    48. 11.5 Netzwerke für die Verarbeitung sequenzieller Daten
    49. 11.5.1 Recurrent Neural Networks
    50. 11.5.2 Ein RNN in Keras implementieren
    51. 11.5.3 Long Short-Term Memory Units
    52. 11.5.4 Bidirektionale LSTMs
    53. 11.5.5 Gestapelte rekurrente Modelle
    54. 11.5.6 Seq2seq und Attention
    55. 11.5.7 Transfer-Lernen in NLP
    56. 11.6 Nichtsequenzielle Architekturen: Die funktionale API in Keras
    57. 11.7 Zusammenfassung
    58. Schlüsselkonzepte
    59. 12 Generative Adversarial Networks
    60. 12.1 Die grundlegende GAN-Theorie
    61. 12.2 Der Quick, Draw!-Datensatz
    62. 12.3 Das Diskriminator-Netzwerk
    63. 12.4 Das Generator-Netzwerk
    64. 12.5 Das Adversarial-Netzwerk
    65. 12.6 Das GAN-Training
    66. 12.7 Zusammenfassung
    67. Schlüsselkonzepte
    68. 13 Deep Reinforcement Learning
    69. 13.1 Die grundlegende Theorie des Reinforcement Learning
    70. 13.1.1 Das Cart-Pole-Spiel
    71. 13.1.2 Markow-Entscheidungsprozesse
    72. 13.1.3 Die optimale Strategie
    73. 13.2 Die grundlegende Theorie von Deep-Q-Learning-Netzwerken
    74. 13.2.1 Value-Funktionen
    75. 13.2.2 Q-Value-Funktionen
    76. 13.2.3 Einen optimalen Q-Value schätzen
    77. 13.3 Einen DQN-Agenten definieren
    78. 13.3.1 Initialisierungsparameter
    79. 13.3.2 Das neuronale-Netze-Modell des Agenten bauen
    80. 13.3.3 Sich an das Spiel erinnern
    81. 13.3.4 Training über Memory Replay
    82. 13.3.5 Eine Aktion auswählen
    83. 13.3.6 Speichern und Laden der Modellparameter
    84. 13.4 Mit einer OpenAI-Gym-Umgebung interagieren
    85. 13.4.1 Hyperparameter-Optimierung mit SLM Lab
    86. 13.5 Agenten jenseits von DQN
    87. 13.5.1 Policy-Gradienten und der REINFORCE-Algorithmus
    88. 13.5.2 Der Actor-Critic-Algorithmus
    89. 13.6 Zusammenfassung
    90. Schlüsselkonzepte
  13. Teil IV KI und Sie
    1. 14 Mit Ihren eigenen Deep-Learning-Projekten beginnen
    2. 14.1 Ideen für Deep-Learning-Projekte
    3. 14.1.1 Machine Vision und GANs
    4. 14.1.2 Natural Language Processing
    5. 14.1.3 Deep Reinforcement Learning
    6. 14.1.4 Ein vorhandenes Machine-Learning-Projekt überführen
    7. 14.2 Ressourcen für weitere Projekte
    8. 14.2.1 Gesellschaftlich nützliche Projekte
    9. 14.3 Der Modellierungsprozess einschließlich der Anpassung der Hyperparameter
    10. 14.3.1 Automatisierung der Hyperparameter-Suche
    11. 14.4 Deep-Learning-Bibliotheken
    12. 14.4.1 Keras und TensorFlow
    13. 14.4.2 PyTorch
    14. 14.4.3 MXNet, CNTK, Caffe und so weiter
    15. 14.5 Software 2.0
    16. 14.6 Die kommende Artificial General Intelligence
    17. 14.7 Zusammenfassung
  14. Anhang
    1. A Die formale Notation neuronaler Netze
    2. B Backpropagation
    3. C PyTorch
    4. C.1 PyTorch-Eigenschaften
    5. C.1.1 Das Autograd System
    6. C.1.2 Das Define-by-Run-Framework
    7. C.1.3 PyTorch im Vergleich mit TensorFlow
    8. C.2 PyTorch in der Praxis
    9. C.2.1 Die PyTorch-Installation
    10. C.2.2 Die grundlegenden Bausteine in PyTorch
    11. C.2.3 Ein tiefes neuronales Netz in PyTorch bauen
    12. D Bildnachweise
  15. Abbildungsverzeichnis
  16. Tabellenverzeichnis
  17. Beispielverzeichnis
  18. Fußnoten
  19. Index

Product information

  • Title: Deep Learning illustriert
  • Author(s): Jon Krohn, Grant Beyleveld, Aglaé Bassens
  • Release date: August 2020
  • Publisher(s): dpunkt
  • ISBN: 9783864906633