Deep Learning mit Python und Keras - Das Praxis-Handbuch vom Entwickler der Keras-Bibliothek

Deep Learning mit Python und Keras - Das Praxis-Handbuch vom Entwickler der Keras-Bibliothek

 

 

 

von: François Chollet

mitp Verlags GmbH & Co. KG, 2018

ISBN: 9783958458390

Sprache: Deutsch

448 Seiten, Download: 24471 KB

 
Format:  PDF, auch als Online-Lesen

geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop
Typ: A (einfacher Zugriff)

 

eBook anfordern

Mehr zum Inhalt

Deep Learning mit Python und Keras - Das Praxis-Handbuch vom Entwickler der Keras-Bibliothek



  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  

Kategorien

Service

Info/Kontakt

  Info
Hier gelangen Sie wieder zum Online-Auftritt Ihrer Bibliothek