Wollen Sie sich über Deep Learning informieren und vielleicht erste kleine Schritte machen, diese Technologie zu nutzen? Dann hilft Ihnen dieses Buch. Die Autoren erklären Ihnen, welchen Einfluss Deep Learning im Alltag hat und in welcher Beziehung es zu maschinellem Lernen steht. Sie sammeln erste eigene Erfahrungen mit vorgegebenen Python-Programmen und verstehen so die Funktionsweise von neuronalen Netzen und wie Bilder klassifiziert und Sprache sowie Text verarbeitet werden. So ist dieses Buch ein schneller erster und verständlicher Einstieg in Deep Learning.
Inhaltsverzeichnis
Ü ber die Autoren 9
Widmung von John Mueller 9
Widmung von Luca Massaron 10
Danksagung von John Mueller 10
Danksagung von Luca Massaron 10
Einfü hrung 21
Ü ber dieses Buch 21
Tö richte Annahmen ü ber den Leser 23
Symbole, die in diesem Buch verwendet werden 23
Weitere Ressourcen 24
Wie es weitergeht 24
Teil I: Einfü hrung in Deep Learning 27
Kapitel 1 Einfü hrung in Deep Learning 29
Definition von Deep Learning 30
Kü nstliche Intelligenz als Oberbegriff 30
Die Rolle der KI 32
Maschinelles Lernen als Teil der KI 35
Deep Learning als Form des maschinellen Lernens 37
Deep Learning in der Praxis 39
Der Prozess des Lernens 39
Aufgabenbewä ltigung mit Deep Learning 39
Deep Learning als Bestandteil grö ß erer Anwendungen 40
Programmierumgebung fü r Deep Learning 40
Deep Learning: Hype vs Realitä t 43
Ihre ersten Schritte 43
Ungeeignete Szenarien fü r Deep Learning 43
Kapitel 2 Maschinelles Lernen 45
Definition von maschinellem Lernen 45
Funktionsweise von maschinellem Lernen 46
Lernen durch unterschiedliche Strategien 47
Training, Validierung und Test 49
Suche nach Generalisierungen 51
Der Einfluss von Bias 51
Beachtung der Komplexitä t des Modells 52
Lernstrategien und Arten von Algorithmen 52
Fü nf wesentliche Strategien 53
Verschiedene Arten von Algorithmen 54
Sinnvolle Einsatzbereiche fü r maschinelles Lernen 59
Anwendungsszenarien fü r maschinelles Lernen 59
Die Grenzen des maschinellen Lernens 62
Kapitel 3 Installation und Verwendung von Python 65
Verwendung von Python in diesem Buch 66
Installation von Anaconda 66
Anaconda von Continuum Analytics 67
Installation von Anaconda unter Linux 67
Installation von Anaconda unter Mac OS X 68
Installation von Anaconda unter Windows 70
Jupyter Notebook 72
Verwendung von Jupyter Notebook 73
Verwendete Datensä tze in diesem Buch 79
Erstellen einer Anwendung 81
Die Arbeit mit Zellen 81
Hinzufü gen von Dokumentationszellen 82
Andere Zellarten 83
Einrü ckung von Codezeilen 83
Hinzufü gen von Kommentaren 85
Weitere Informationen zu Python 88
Arbeiten in der Cloud 89
Verwendung der Datensä tze und Kernels von Kaggle 89
Verwendung von Google Colaboratory 89
Kapitel 4 Frameworks fü r Deep Learning 93
Das Framework-Prinzip 94
Unterschiede zwischen Frameworks 94
Hohe Beliebtheit von Frameworks 95
Frameworks speziell fü r Deep Learning 96
Auswahl eines Frameworks 97
Einfache Frameworks fü r Deep Learning 98
Kurzvorstellung von TensorFlow 101
Teil II: Grundlagen von Deep Learning 113
Kapitel 5 Rechnen mit Matrizen 115
Nö tige mathematische Grundlagen 116
Die Arbeit mit Daten 116
Matrixdarstellung von Daten 117
Skalar-, Vektor- und Matrixoperationen 118
Erzeugung einer Matrix 119
Multiplikation von Matrizen 121
Fortgeschrittene Matrixoperationen 123
Datenanalysen mit Tensoren 125
Effektive Nutzung von Vektorisierung 127
Der Lernprozess als Optimierung 128
Kostenfunktionen 128
Minimierung des Fehlers 129
Die richtige Richtung 130
Kapitel 6 Grundlagen der linearen Regression 133
Kombination von Variablen 134
Die einfache lineare Regression 134
Die multiple lineare Regression 135
Verwendung des Gradientenabstiegs 137
Die lineare Regression in Aktion 138
Vermischung von Variablen unterschiedlichen Typs 140
Modellierung der Antworten 140
Modellierung der Merkmale 141
Umgang mit komplexen Zusammenhä ngen 142
Nutzung von Wahrscheinlichkeiten 144
Spezifikation einer binä ren Antwort 144
Umwandlung numerischer Schä tzungen in Wahrscheinlichkeiten 145
Schä tzung der richtigen Merkmale 148
Irrefü hrende Ergebnisse durch inkompatible Merkmale 148
Vermeidung einer Ü beranpassung durch Merkmalsauswahl und Regularisierung 149
Lernen aus einzelnen Beispielen 150
Verwendung des Gradientenabstiegs 150
Stochastisches Gradientenabstiegsverfahren 151
Kapitel 7 Einfü hrung in neuronale Netze 155
Das faszinierende Perzeptron 156
Hö hen und Tiefen des Perzeptrons 156
Die Funktionsweise des Perzeptrons 157
Trennbare und nicht trennbare Daten 158
Komplexere Lernverfahren und neuronale Netze 160
Das Neuron als Grundbaustein 160
Vorwä rtsausrichtung in Feedforward-Netzen 162
Schichten und noch mehr Schichten 164
Lernen mittels Rü ckwä rtspropagierung 167
Vermeidung von Ü beranpassung 170
Kapitel 8 Entwurf eines einfachen neuronalen Netzes 173
Grundlegende Funktionsweise neuronaler Netze 173
Definition der grundlegenden Architektur 175
Die wichtigsten Funktionen eines neuronalen Netzes 176
Lö sen eines einfachen Problems 180
Ein Blick ins Innere von neuronalen Netzen 183
Auswahl der richtigen Aktivierungsfunktion 183
Auswahl eines cleveren Optimierers 185
Auswahl einer sinnvollen Lernrate 186
Kapitel 9 Deep Learning im Detail 187
Daten, Daten, Daten 188
Strukturierte und unstrukturierte Daten 188
Mooresches Gesetz 189
Datenwachstum infolge des mooreschen Gesetzes 191
Vorteile durch all die neuen Daten 191
Innovationen dank Daten 192
Rechtzeitigkeit und Qualitä t von Daten 192
Mehr Tempo bei der Datenverarbeitung 193
Nutzung leistungsstarker Hardware 194
Weitere Investitionen in Deep Learning 195
Neuerungen von Deep Learning 195
Immer mehr Schichten 196
Bessere Aktivierungsfunktionen 198
Regularisierung durch Dropout 199
Die Suche nach noch smarteren Lö sungen 201
Kontinuierliches Lernen (Online Learning) 201
Ü bertragung von Wissen (Transfer Learning) 201
Simple Komplettlö sungen (End-to-End Learning) 202
Kapitel 10 Konvolutionsnetze 205
Bilderkennung mit Konvolutionsnetzen 206
Grundsä tzlicher Aufbau von digitalen Bildern 206
Konvolutionen (Faltungen) 208
Funktionsprinzip von Konvolutionen 209
Vereinfachtes Pooling 212
Beschreibung der LeNet-Architektur 214
Erkennung von Kanten und Formen in Bildern 219
Visualisierung von Konvolutionen 220
Einige erfolgreiche Architekturen 222
Ü bertragung von Wissen (Transfer Learning) 223
Kapitel 11 Rekurrente neuronale Netze 227
Einfü hrung in rekurrente neuronale Netze 227
Modellierung von Sequenzen durch Erinnerung 228
Erkennung und Ü bersetzung von Sprache 230
Korrekte Beschriftung von Bildern 233
LSTM-Zellen (Long Short-Term Memory) 234
Unterschiedliche 'Gedä chtnisse' 235
Die LSTM-Architektur 235
Verschiedene LSTM-Varianten 238
Der Aufmerksamkeitsmechanismus 239
Teil III: Anwendung von Deep Learning 241
Kapitel 12 Bildklassifikation 243
Herausforderungen bei der Bildklassifikation 244
ImageNet und Alternativen 244
Erstellen von Zusatzbildern (Image Augmentation) 246
Unterscheidung von Verkehrszeichen 249
Vorbereitung der Bilddaten 250
Durchfü hren einer Klassifikation 253
Kapitel 13 Komplexe Konvolutionsnetze 259
Unterschiedliche Aufgaben beim Erkennen von Objekten im Bild 260
Lokalisierung von Objekten 261
Klassifikation mehrerer Objekte 262
Annotation mehrerer Objekte in Bildern 263
Segmentierung von Bildern 264
Wahrnehmung von Objekten in ihrer Umgebung 265
Funktionsweise von RetinaNet 266
Verwendung des Codes von Keras RetinaNet 267
Bö swillige Angriffe auf DL-Anwendungen 272
Heimtü ckische Pixel 274
Hacking mit Stickern und anderen Artefakten 275
Kapitel 14 Sprachverarbeitung 277
Verarbeitung von Sprache 278
Verstehen durch Tokenisierung 279
Zusammenfü hren aller Texte 281
Auswendiglernen von wichtigen Sequenzen 284
Semantikanalyse durch Worteinbettungen 284
KI fü r Stimmungsanalysen 289
Kapitel 15 Automatisch erzeugte Musik und visuelle Kunst 297
Computergenerierte Kunst 298
Nachahmung eines kü nstlerischen Stils 298
Statistische Verfahren als Grundlage 300
Der Unterschied zwischen Kreativitä t und Deep Learning 302
Imitation eines Kü nstlers 303
Neue Werke im Stile eines bestimmten Malers 303
Kombination von Stilen zum Erzeugen neuer Werke 305
Ü berzeugende Imitate mit einem GAN 305
Musikkomposition mit Deep Learning 306
Kapitel 16 Generative Adversarial Networks 309
Konkurrierende neuronale Netze 310
Wettbewerb als Schlü ssel zum Erfolg 310
Realistischere Ergebnisse 313
Komplexere GANs fü r anspruchsvollere Aufgaben 320
Realistische Imitate von Promigesichtern 321
Mehr Bilddetails und Bildü bersetzung 321
Kapitel 17 Verstä rkendes Lernen mit Deep Learning 323
Strategische Spiele mit neuronalen Netzen 324
Grundprinzip des verstä rkenden Lernens 324
Simulierte Spielumgebungen 326
Q-learning 330
Funktionsweise von AlphaGo 333
Eine echte Gewinnerstrategie 335
Selbststä ndiges Lernen in groß em Stil 337
Teil IV: Der Top-Ten-Teil 339
Kapitel 18 Zehn Anwendungsszenarien fü r Deep Learning 341
Kolorieren von Schwarz-Weiß -Aufnahmen 341
Analyse der Kö rperhaltung in Echtzeit 342
Verhaltensanalysen in Echtzeit 343
Ü bersetzung von Sprachen 344
Einsparungen mit Solaranlagen 345
Computer als Spielgegner 345
Erzeugung von Stimmen 346
Demografische Analysen 347
Kunst basierend auf normalen Fotos 348
Vorhersage von Naturkatastrophen 348
Kapitel 19 Zehn unverzichtbare Tools fü r Deep Learning 351
Kompilieren von mathematischen Ausdrü cken mit Theano 351
Stä rkung von TensorFlow mit Keras 352
Dynamische Berechnung von Graphen mit Chainer 353
Einrichtung einer MATLAB-ä hnlichen Umgebung mit Torch 354
Dynamische Ausfü hrung von Aufgaben mit PyTorch 354
Schnellere DL-Forschung dank CUDA 355
Geschä ftliche Erfolge mit Deeplearning4j 357
Data-Mining mit Neural Designer 358
Algorithmentraining mit Microsoft Cognitive Toolkit (CNTK) 359
Volle GPU-Leistung mit MXNet 359
Stichwortverzeichnis 361