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.
Содержание
Ü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 Tensor Flow 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 Le Net-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
Image Net 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 Retina Net 266
Verwendung des Codes von Keras Retina Net 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 Alpha Go 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 Tensor Flow mit Keras 352
Dynamische Berechnung von Graphen mit Chainer 353
Einrichtung einer MATLAB-ähnlichen Umgebung mit Torch 354
Dynamische Ausführung von Aufgaben mit Py Torch 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
Об авторе
John Paul Mueller ist freier Autor und technischer Redakteur. Er hat das Schreiben im Blut. Bis heute hat er 100 Bücher und mehr als 600 Zeitschriftenartikel geschrieben. Seine Themen reichen von Netzwerken bis Haussicherheit und von Datenbankmanagement bis Programmierung.
Luca Massaron ist Data Scientist und spezialisiert auf die Aufbereitung und Analyse von Big Data. Er beherrscht die einfachsten und effektivsten Data-Mining- und Maschinelles-Lernen-Techniken und macht so aus Big Data Smart Data. Als Marketing-Consultant und -Forscher hat er seit dem Jahr 2000 mit Data Science zu tun, mit verschiedenen Kunden und in verschiedenen Märkten. Er ist Top-Ten-Kaggle-Data-Scientist.