Deep Learning mit Python und Keras (eBook)
448 Seiten
MITP Verlags GmbH & Co. KG
978-3-95845-839-0 (ISBN)
François Chollet ist bei Google tätig und befasst sich mit Deep Learning. Er ist der Entwickler der Deep-Learning-Bibliothek Keras und hat bedeutende Beiträge zum Machine-Learning-Framework TensorFlow geleistet. Er forscht auf dem Gebiet des Deep Learnings mit den Schwerpunkten maschinelles Sehen und der Anwendung des Machine Learnings auf formales Schließen. Seine Forschungsergebnisse wurden auf bedeutenden Veranstaltungen des Fachgebiets veröffentlicht, unter anderem auf der Conference on Computer Vision and Pattern Recognition (CVPR), der Conference on Neural Information Processing Systems (NIPS), der International Conference on Learning Representations (ICLR) und weiteren.
Cover 1
Titel 3
Impressum 4
Inhaltsverzeichnis 5
Einleitung 13
Über dieses Buch 14
Wer sollte dieses Buch lesen? 14
Überblick 15
Erforderliche Hard- und Software 16
Quellcode 17
Das Forum zum Buch 17
Über den Autor 17
Über den Fachkorrektor 17
Danksagungen 18
Teil I: Grundlagen des Deep Learnings 19
Kapitel 1: Was ist Deep Learning? 21
1.1 Künstliche Intelligenz, Machine Learning und Deep Learning 21
1.1.1 Künstliche Intelligenz 22
1.1.2 Machine Learning 22
1.1.3 Die Repräsentation anhand der Daten erlernen 24
1.1.4 Das »Deep« in Deep Learning 27
1.1.5 Deep Learning in drei Diagrammen erklärt 29
1.1.6 Was Deep Learning heute schon leisten kann 31
1.1.7 Schenken Sie dem kurzfristigen Hype keinen Glauben 32
1.1.8 Das Versprechen der KI 33
1.2 Vor Deep Learning: eine kurze Geschichte des Machine Learnings 35
1.2.1 Probabilistische Modellierung 35
1.2.2 Die ersten neuronalen Netze 36
1.2.3 Kernel-Methoden 36
1.2.4 Entscheidungsbäume, Random Forests und Gradient Boosting Machines 38
1.2.5 Zurück zu neuronalen Netzen 39
1.2.6 Das Besondere am Deep Learning 40
1.2.7 Der Stand des modernen Machine-Learnings 42
1.3 Warum Deep Learning? Und warum jetzt? 42
1.3.1 Hardware 43
1.3.2 Daten 44
1.3.3 Algorithmen 45
1.3.4 Eine neue Investitionswelle 46
1.3.5 Die Demokratisierung des Deep Learnings 47
1.3.6 Bleibt es so? 47
Kapitel 2: Bevor es losgeht: die mathematischen Bausteine eines NNs 49
2.1 Ein erster Blick auf ein NN 49
2.2 Datenrepräsentationen 54
2.2.1 Skalare (0-D-Tensoren) 54
2.2.2 Vektoren (1-D-Tensoren) 55
2.2.3 Matrizen (2-D-Tensoren) 55
2.2.4 3-D-Tensoren und höherdimensionale Tensoren 55
2.2.5 Die wichtigsten Attribute 56
2.2.6 Bearbeiten von Tensoren mit Numpy 58
2.2.7 Datenstapel 58
2.2.8 Beispiele für Datentensoren aus der Praxis 59
2.2.9 Vektordaten 59
2.2.10 Zeitreihen oder sequenzielle Daten 60
2.2.11 Bilddaten 61
2.2.12 Videodaten 62
2.3 Das Getriebe von NNs: Tensoroperationen 62
2.3.1 Elementweise Operationen 63
2.3.2 Broadcasting 64
2.3.3 Tensorprodukt 66
2.3.4 Tensoren umformen 69
2.3.5 Geometrische Interpretation von Tensoroperationen 70
2.3.6 Eine geometrische Interpretation des Deep Learnings 72
2.4 Der Antrieb von NNs: gradientenbasierte Optimierung 73
2.4.1 Was ist eine Ableitung? 74
2.4.2 Ableitung einer Tensoroperation: der Gradient 76
2.4.3 Stochastisches Gradientenabstiegsverfahren 77
2.4.4 Ableitungen verketten: der Backpropagation-Algorithmus 80
2.5 Zurück zum ersten Beispiel 81
2.6 Zusammenfassung Kapitel 2 83
Kapitel 3: Einführung in neuronale Netze 85
3.1 Aufbau eines NNs 86
3.1.1 Layer: Bausteine des Deep Learnings 86
3.1.2 Modelle: vernetzte Layer 88
3.1.3 Verlustfunktionen und Optimierer: Konfiguration des Lernvorgangs 88
3.2 Einführung in Keras 89
3.2.1 Keras, TensorFlow, Theano und CNTK 91
3.2.2 Mit Keras entwickeln: eine kurze Übersicht 92
3.3 Einrichtung eines Deep-Learning-Rechners 93
3.3.1 Die bevorzugte Methode zum Ausführen von Deep-Learning- Experimenten: Jupyter-Notebooks 94
3.3.2 Keras zum Laufen bringen: zwei Möglichkeiten 95
3.3.3 Pro und Kontra: Deep Learning in der Cloud ausführen 95
3.3.4 Für Deep Learning geeignete GPUs 96
3.4 Klassifizierung von Filmbewertungen: ein Beispiel für eine Binärklassifizierung 96
3.4.1 Die IMDb-Datensammlung 96
3.4.2 Daten vorbereiten 98
3.4.3 NN erzeugen 99
3.4.4 Validierung des Ansatzes 103
3.4.5 Vorhersagen über neue Daten mit einem trainierten NN treffen 107
3.4.6 Weitere Experimente 108
3.4.7 Zusammenfassung 108
3.5 Ein Beispiel für eine Mehrfachklassifizierung: Klassifizierung von Nachrichtenmeldungen 109
3.5.1 Die Reuters-Datensammlung 109
3.5.2 Daten vorbereiten 110
3.5.3 NN erzeugen 111
3.5.4 Validierung des Ansatzes 113
3.5.5 Vorhersagen über neue Daten treffen 116
3.5.6 Eine weitere Möglichkeit zur Handhabung der Klassenbezeichnungen und der Verlustfunktion 116
3.5.7 Hinreichend große zwischenliegende Layer sind wichtig 117
3.5.8 Weitere Experimente 117
3.5.9 Zusammenfassung 118
3.6 Ein Beispiel für eine Regression: Vorhersage der Kaufpreise von Häusern 118
3.6.1 Die Boston-Housing-Price-Datensammlung 119
3.6.2 Daten vorbereiten 120
3.6.3 NN erzeugen 120
3.6.4 K-fache Kreuzvalidierungen des Ansatzes 121
3.6.5 Zusammenfassung 127
3.7 Zusammenfassung Kapitel 3 127
Kapitel 4: Grundlagen des Machine Learnings 129
4.1 Vier Teilgebiete des Machine Learnings 129
4.1.1 Überwachtes Lernen 129
4.1.2 Unüberwachtes Lernen 130
4.1.3 Selbstüberwachtes Lernen 130
4.1.4 Verstärkendes Lernen 131
4.1.5 Glossar: Klassifizierung und Regression 132
4.2 Bewertung von Machine-Learning-Modellen 133
4.2.1 Trainings-, Validierungs- und Testmengen 133
4.2.2 Worauf zu achten ist 137
4.3 Datenvorverarbeitung, Merkmalserstellung und Erlernen von Merkmalen 138
4.3.1 Datenvorverarbeitung für NNs 138
4.3.2 Merkmalserstellung 140
4.4 Überanpassung und Unteranpassung 142
4.4.1 Das NN verkleinern 143
4.4.2 Regularisierung der Gewichtungen 147
4.4.3 Dropout-Regularisierung 149
4.5 Ein allgemeiner Machine-Learning-Workflow 151
4.5.1 Definition der Aufgabe und Zusammenstellen einer Datenmenge 152
4.5.2 Auswahl eines Erfolgskriteriums 153
4.5.3 Auswahl einer Bewertungsmethode 153
4.5.4 Daten vorbereiten 154
4.5.5 Entwicklung eines Modells, das besser funktioniert als zufälliges Raten 154
4.5.6 Hochskalieren: Entwicklung eines Modells mit Überanpassung 156
4.5.7 Regularisierung des Modells und Abstimmung der Hyperparameter 156
4.6 Zusammenfassung Kapitel 4 157
Teil II: Deep Learning in der Praxis 159
Kapitel 5: Deep Learning und maschinelles Sehen 161
5.1 Einführung in CNNs 161
5.1.1 Die Faltungsoperation 164
5.1.2 Die Max-Pooling-Operation 170
5.2 Ein CNN von Grund auf mit einer kleinen Datenmenge trainieren 172
5.2.1 Die Bedeutung des Deep Learnings für Aufgaben mit kleinen Datenmengen 173
5.2.2 Daten herunterladen 173
5.2.3 NN erzeugen 177
5.2.4 Datenvorverarbeitung 179
5.2.5 Datenaugmentation 184
5.3 Verwendung eines vortrainierten CNNs 189
5.3.1 Merkmalsextraktion 190
5.3.2 Feinabstimmung 202
5.3.3 Zusammenfassung 210
5.4 Visualisierung: Was CNNs erlernen können 210
5.4.1 Visualisierung zwischenliegender Aktivierungen 211
5.4.2 Visualisierung von CNN-Filtern 219
5.4.3 Visualisierung der Heatmaps der Klassenaktivierung 224
5.5 Zusammenfassung Kapitel 5 230
Kapitel 6: Deep Learning, Text und sequenzielle Daten 231
6.1 Textdaten 232
6.1.1 One-hot-Codierung von Wörtern und Zeichen 234
6.1.2 Worteinbettung 237
6.1.3 Zusammengefasst: von reinem Text zu Worteinbettungen 243
6.1.4 Zusammenfassung 251
6.2 Rekurrente neuronale Netze 252
6.2.1 Ein rekurrenter Layer in Keras 255
6.2.2 LSTM- und GRU-Layer 260
6.2.3 Ein konkretes LSTM-Beispiel in Keras 263
6.2.4 Zusammenfassung 265
6.3 Erweiterte Nutzung rekurrenter neuronaler Netze 265
6.3.1 Temperaturvorhersage 266
6.3.2 Daten vorbereiten 269
6.3.3 Eine vernünftige Abschätzung ohne Machine Learning 272
6.3.4 Ein elementarer Machine-Learning-Ansatz 274
6.3.5 Ein erstes RNN 276
6.3.6 Rekurrentes Dropout-Verfahren zum Verhindern einer Überanpassung 277
6.3.7 Hintereinanderschaltung rekurrenter Layer 279
6.3.8 Bidirektionale RNNs 281
6.3.9 Noch einen Schritt weiter gehen 286
6.3.10 Zusammenfassung 286
6.4 Verarbeitung von Sequenzen mit CNNs 288
6.4.1 Eindimensionale Faltung sequenzieller Daten 288
6.4.2 Eindimensionales Pooling sequenzieller Daten 289
6.4.3 Implementierung eines eindimensionalen CNNs 290
6.4.4 Lange Sequenzen mit einer Kombination aus CNNs und RNNs verarbeiten 293
6.4.5 Zusammenfassung 297
6.5 Zusammenfassung Kapitel 6 298
Kapitel 7: Bewährte Verfahren des Deep Learnings 299
7.1 Jenseits des Sequential-Modells: die funktionale Keras-API 299
7.1.1 Einführung in die funktionale API 303
7.1.2 Modelle mit mehreren Eingaben 305
7.1.3 Modelle mit mehreren Ausgaben 308
7.1.4 Gerichtete azyklische Graphen von Layern 311
7.1.5 Gemeinsam genutzte Gewichtungen von Layern 316
7.1.6 Modelle als Layer 318
7.1.7 Zusammenfassung 319
7.2 Deep-Learning-Modelle mit Callbacks und TensorBoard untersuchen und überwachen 319
7.2.1 Beeinflussung eines Modells während des Trainings durch Callbacks 320
7.2.2 Einführung in das Visualisierungs-Framework TensorBoard 325
7.2.3 Zusammenfassung 332
7.3 Modelle richtig ausreizen 332
7.3.1 Erweiterte Architekturmuster 333
7.3.2 Hyperparameteroptimierung 336
7.3.3 Ensemblemodelle 339
7.3.4 Zusammenfassung 341
7.4 Zusammenfassung Kapitel 7 342
Kapitel 8: Generatives Deep Learning 343
8.1 Texterzeugung mit LSTM-Modellen 345
8.1.1 Eine kurze Geschichte generativer RNNs 345
8.1.2 Wie erzeugt man sequenzielle Daten? 346
8.1.3 Die Bedeutung der Sampling-Strategie 347
8.1.4 Implementierung der LSTM-Texterzeugung für Zeichen 349
8.1.5 Zusammenfassung 356
8.2 DeepDream 356
8.2.1 DeepDream in Keras implementieren 357
8.2.2 Zusammenfassung 364
8.3 Stilübertragung mit dem Neural-Style-Algorithmus 365
8.3.1 Verlustfunktion für den Inhalt 366
8.3.2 Verlustfunktion für den Stil 366
8.3.3 Stilübertragung in Keras 367
8.3.4 Zusammenfassung 376
8.4 Bilderzeugung mit Variational Autoencoders 376
8.4.1 Sampling eines latenten Bilderraums 376
8.4.2 Konzeptvektoren für das Bearbeiten von Bildern 377
8.4.3 Variational Autoencoders 378
8.4.4 Zusammenfassung 385
8.5 Einführung in Generative Adversarial Networks 386
8.5.1 Eine schematische GAN-Implementierung 388
8.5.2 Einige nützliche Tricks 389
8.5.3 Der Generator 390
8.5.4 Der Diskriminator 391
8.5.5 Das gegnerische Netz 392
8.5.6 Training des DCGAN 393
8.5.7 Zusammenfassung 396
8.6 Zusammenfassung Kapitel 8 396
Kapitel 9: Schlussfolgerungen 397
9.1 Kernkonzepte im Überblick 397
9.1.1 Verschiedene Ansätze der KI 398
9.1.2 Die Besonderheiten des Deep Learnings 398
9.1.3 Was ist vom Deep Learning zu halten? 399
9.1.4 Wichtige zugrunde liegende Technologien 401
9.1.5 Der allgemeine Machine-Learning-Workflow 402
9.1.6 Wichtige Netzarchitekturen 403
9.1.7 Der Raum der Möglichkeiten 407
9.2 Grenzen des Deep Learnings 409
9.2.1 Das Risiko der Vermenschlichung von Deep-Learning-Modellen 410
9.2.2 Lokale und extreme Verallgemeinerung 413
9.2.3 Zusammenfassung 414
9.3 Die Zukunft des Deep Learnings 415
9.3.1 Modelle als Programme 416
9.3.2 Jenseits von Backpropagation und differenzierbaren Layern 418
9.3.3 Automatisiertes Machine Learning 418
9.3.4 Beständiges Lernen und Wiederverwendung modularer Subroutinen 419
9.3.5 Langfristige Aussichten 421
9.4 Auf dem Laufenden bleiben 422
9.4.1 Praktische Erfahrungen sammeln mit Kaggle 423
9.4.2 Aktuelle Entwicklungen auf der arXiv-Website nachlesen 423
9.4.3 Erkundung des Keras-Ökosystems 424
9.5 Schlusswort 424
Anhang A: Installation von Keras und der Erweiterungen unter Ubuntu 425
A.1 Installation der wissenschaftlichen Pakete 426
A.2 Einrichtung der GPU-Unterstützung 427
A.3 Theano installieren (optional) 428
A.4 Keras installieren 429
Anhang B: Jupyter-Notebooks auf einer EC2-GPU-Instanz ausführen 431
B.1 Was sind Jupyter-Notebooks? – Gründe, sie auf AWS-GPUs ausführen 431
B.2 Gründe, auf AWS-Jupyter-Notebooks zu verzichten 431
B.3 Einrichtung einer AWS-GPU-Instanz 432
B.4 Keras installieren 436
B.5 Lokale Portweiterleitung einrichten 437
B.6 Jupyter mit dem lokalen Browser verwenden 437
Stichwortverzeichnis 439
Erscheint lt. Verlag | 31.5.2018 |
---|---|
Reihe/Serie | mitp Professional |
Sprache | deutsch |
Themenwelt | Mathematik / Informatik ► Informatik ► Netzwerke |
Schlagworte | Big Data • computer vision • Data Science • Keras • Künstliche Intelligenz • machine learning • Neuronale Netze • Programmierung • Python-Bibliothek |
ISBN-10 | 3-95845-839-4 / 3958458394 |
ISBN-13 | 978-3-95845-839-0 / 9783958458390 |
Haben Sie eine Frage zum Produkt? |
Größe: 24,5 MB
Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopierschutz. Eine Weitergabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persönlichen Nutzung erwerben.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich