Sie sind hier
E-Book

Deep Learning mit Python und Keras

Das Praxis-Handbuch vom Entwickler der Keras-Bibliothek

AutorFrançois Chollet
Verlagmitp Verlags GmbH & Co. KG
Erscheinungsjahr2018
Seitenanzahl448 Seiten
ISBN9783958458390
FormatPDF
Kopierschutzkein Kopierschutz/DRM
GerätePC/MAC/eReader/Tablet
Preis39,99 EUR
Einführung in die grundlegenden Konzepte von Machine Learning und Deep LearningZahlreiche praktische Anwendungsbeispiele zum Lösen konkreter AufgabenstellungenMaschinelles Sehen, Sprachverarbeitung, Bildklassifizierung, Vorhersage von Zeitreihen, Stimmungsanalyse, Erzeugung von Bildern und Texten u.v.m.Dieses Buch ist eine praxisorientierte Einführung und erläutert die grundlegenden Konzepte sowie den konkreten Einsatz von Deep Learning. Der Autor verzichtet dabei weitgehend auf mathematische Formeln und legt stattdessen den Fokus auf das Vermitteln der praktischen Anwendung von Machine Learning und Deep Learning.Anhand zahlreicher Beispiele erfahren Sie alles, was Sie wissen müssen, um Deep Learning zum Lösen konkreter Aufgabenstellungen einzusetzen. Dafür verwendet der Autor die Programmiersprache Python und die Deep-Learning-Bibliothek Keras, die das beliebteste und am besten geeignete Tool für den Einstieg in Deep Learning ist.Das Buch besteht aus zwei Teilen: Teil I ist eine allgemeine Einführung in das Deep Learning und erläutert die grundlegenden Zusammenhänge und Begriffe sowie alle erforderlichen Konzepte, die für den Einstieg in Deep Learning und Neuronale Netze wichtig sind. In Teil II erläutert der Autor ausführlich praktische Anwendungsmöglichkeiten des Deep Learnings beim maschinellen Sehen (Computer Vision) und bei der Verarbeitung natürlicher Sprache. Viele der hier vorgestellten Beispiele können Ihnen später als Vorlage zum Lösen von Problemen dienen, die Ihnen in der Praxis des Deep Learnings begegnen werden.Das Buch wendet sich an Leser, die bereits Programmiererfahrung mit Python haben und ins Machine Learning und Deep Learning einsteigen möchten. Für den Einsatz von Keras werden grundlegende Python-Kenntnisse vorausgesetzt.

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 (CVPR), der (NIPS), der (ICLR) und weiteren.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Cover1
Titel3
Impressum4
Inhaltsverzeichnis5
Einleitung13
Über dieses Buch14
Wer sollte dieses Buch lesen?14
Überblick15
Erforderliche Hard- und Software16
Quellcode17
Das Forum zum Buch17
Über den Autor17
Über den Fachkorrektor17
Danksagungen18
Teil I: Grundlagen des Deep Learnings19
Kapitel 1: Was ist Deep Learning?21
1.1 Künstliche Intelligenz, Machine Learning und Deep Learning21
1.1.1 Künstliche Intelligenz22
1.1.2 Machine Learning22
1.1.3 Die Repräsentation anhand der Daten erlernen24
1.1.4 Das »Deep« in Deep Learning27
1.1.5 Deep Learning in drei Diagrammen erklärt29
1.1.6 Was Deep Learning heute schon leisten kann31
1.1.7 Schenken Sie dem kurzfristigen Hype keinen Glauben32
1.1.8 Das Versprechen der KI33
1.2 Vor Deep Learning: eine kurze Geschichte des Machine Learnings35
1.2.1 Probabilistische Modellierung35
1.2.2 Die ersten neuronalen Netze36
1.2.3 Kernel-Methoden36
1.2.4 Entscheidungsbäume, Random Forests und Gradient Boosting Machines38
1.2.5 Zurück zu neuronalen Netzen39
1.2.6 Das Besondere am Deep Learning40
1.2.7 Der Stand des modernen Machine-Learnings42
1.3 Warum Deep Learning? Und warum jetzt?42
1.3.1 Hardware43
1.3.2 Daten44
1.3.3 Algorithmen45
1.3.4 Eine neue Investitionswelle46
1.3.5 Die Demokratisierung des Deep Learnings47
1.3.6 Bleibt es so?47
Kapitel 2: Bevor es losgeht: die mathematischen Bausteine eines NNs49
2.1 Ein erster Blick auf ein NN49
2.2 Datenrepräsentationen54
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 Tensoren55
2.2.5 Die wichtigsten Attribute56
2.2.6 Bearbeiten von Tensoren mit Numpy58
2.2.7 Datenstapel58
2.2.8 Beispiele für Datentensoren aus der Praxis59
2.2.9 Vektordaten59
2.2.10 Zeitreihen oder sequenzielle Daten60
2.2.11 Bilddaten61
2.2.12 Videodaten62
2.3 Das Getriebe von NNs: Tensoroperationen62
2.3.1 Elementweise Operationen63
2.3.2 Broadcasting64
2.3.3 Tensorprodukt66
2.3.4 Tensoren umformen69
2.3.5 Geometrische Interpretation von Tensoroperationen70
2.3.6 Eine geometrische Interpretation des Deep Learnings72
2.4 Der Antrieb von NNs: gradientenbasierte Optimierung73
2.4.1 Was ist eine Ableitung?74
2.4.2 Ableitung einer Tensoroperation: der Gradient76
2.4.3 Stochastisches Gradientenabstiegsverfahren77
2.4.4 Ableitungen verketten: der Backpropagation-Algorithmus80
2.5 Zurück zum ersten Beispiel81
2.6 Zusammenfassung Kapitel 283
Kapitel 3: Einführung in neuronale Netze85
3.1 Aufbau eines NNs86
3.1.1 Layer: Bausteine des Deep Learnings86
3.1.2 Modelle: vernetzte Layer88
3.1.3 Verlustfunktionen und Optimierer: Konfiguration des Lernvorgangs88
3.2 Einführung in Keras89
3.2.1 Keras, TensorFlow, Theano und CNTK91
3.2.2 Mit Keras entwickeln: eine kurze Übersicht92
3.3 Einrichtung eines Deep-Learning-Rechners93
3.3.1 Die bevorzugte Methode zum Ausführen von Deep-Learning- Experimenten: Jupyter-Notebooks94
3.3.2 Keras zum Laufen bringen: zwei Möglichkeiten95
3.3.3 Pro und Kontra: Deep Learning in der Cloud ausführen95
3.3.4 Für Deep Learning geeignete GPUs96
3.4 Klassifizierung von Filmbewertungen: ein Beispiel für eine Binärklassifizierung96
3.4.1 Die IMDb-Datensammlung96
3.4.2 Daten vorbereiten98
3.4.3 NN erzeugen99
3.4.4 Validierung des Ansatzes103
3.4.5 Vorhersagen über neue Daten mit einem trainierten NN treffen107
3.4.6 Weitere Experimente108
3.4.7 Zusammenfassung108
3.5 Ein Beispiel für eine Mehrfachklassifizierung: Klassifizierung von Nachrichtenmeldungen109
3.5.1 Die Reuters-Datensammlung109
3.5.2 Daten vorbereiten110
3.5.3 NN erzeugen111
3.5.4 Validierung des Ansatzes113
3.5.5 Vorhersagen über neue Daten treffen116
3.5.6 Eine weitere Möglichkeit zur Handhabung der Klassenbezeichnungen und der Verlustfunktion116
3.5.7 Hinreichend große zwischenliegende Layer sind wichtig117
3.5.8 Weitere Experimente117
3.5.9 Zusammenfassung118
3.6 Ein Beispiel für eine Regression: Vorhersage der Kaufpreise von Häusern118
3.6.1 Die Boston-Housing-Price-Datensammlung119
3.6.2 Daten vorbereiten120
3.6.3 NN erzeugen120
3.6.4 K-fache Kreuzvalidierungen des Ansatzes121
3.6.5 Zusammenfassung127
3.7 Zusammenfassung Kapitel 3127
Kapitel 4: Grundlagen des Machine Learnings129
4.1 Vier Teilgebiete des Machine Learnings129
4.1.1 Überwachtes Lernen129
4.1.2 Unüberwachtes Lernen130
4.1.3 Selbstüberwachtes Lernen130
4.1.4 Verstärkendes Lernen131
4.1.5 Glossar: Klassifizierung und Regression132
4.2 Bewertung von Machine-Learning-Modellen133
4.2.1 Trainings-, Validierungs- und Testmengen133
4.2.2 Worauf zu achten ist137
4.3 Datenvorverarbeitung, Merkmalserstellung und Erlernen von Merkmalen138
4.3.1 Datenvorverarbeitung für NNs138
4.3.2 Merkmalserstellung140
4.4 Überanpassung und Unteranpassung142
4.4.1 Das NN verkleinern143
4.4.2 Regularisierung der Gewichtungen147
4.4.3 Dropout-Regularisierung149
4.5 Ein allgemeiner Machine-Learning-Workflow151
4.5.1 Definition der Aufgabe und Zusammenstellen einer Datenmenge152
4.5.2 Auswahl eines Erfolgskriteriums153
4.5.3 Auswahl einer Bewertungsmethode153
4.5.4 Daten vorbereiten154
4.5.5 Entwicklung eines Modells, das besser funktioniert als zufälliges Raten154
4.5.6 Hochskalieren: Entwicklung eines Modells mit Überanpassung156
4.5.7 Regularisierung des Modells und Abstimmung der Hyperparameter156
4.6 Zusammenfassung Kapitel 4157
Teil II: Deep Learning in der Praxis159
Kapitel 5: Deep Learning und maschinelles Sehen161
5.1 Einführung in CNNs161
5.1.1 Die Faltungsoperation164
5.1.2 Die Max-Pooling-Operation170
5.2 Ein CNN von Grund auf mit einer kleinen Datenmenge trainieren172
5.2.1 Die Bedeutung des Deep Learnings für Aufgaben mit kleinen Datenmengen173
5.2.2 Daten herunterladen173
5.2.3 NN erzeugen177
5.2.4 Datenvorverarbeitung179
5.2.5 Datenaugmentation184
5.3 Verwendung eines vortrainierten CNNs189
5.3.1 Merkmalsextraktion190
5.3.2 Feinabstimmung202
5.3.3 Zusammenfassung210
5.4 Visualisierung: Was CNNs erlernen können210
5.4.1 Visualisierung zwischenliegender Aktivierungen211
5.4.2 Visualisierung von CNN-Filtern219
5.4.3 Visualisierung der Heatmaps der Klassenaktivierung224
5.5 Zusammenfassung Kapitel 5230
Kapitel 6: Deep Learning, Text und sequenzielle Daten231
6.1 Textdaten232
6.1.1 One-hot-Codierung von Wörtern und Zeichen234
6.1.2 Worteinbettung237
6.1.3 Zusammengefasst: von reinem Text zu Worteinbettungen243
6.1.4 Zusammenfassung251
6.2 Rekurrente neuronale Netze252
6.2.1 Ein rekurrenter Layer in Keras255
6.2.2 LSTM- und GRU-Layer260
6.2.3 Ein konkretes LSTM-Beispiel in Keras263
6.2.4 Zusammenfassung265
6.3 Erweiterte Nutzung rekurrenter neuronaler Netze265
6.3.1 Temperaturvorhersage266
6.3.2 Daten vorbereiten269
6.3.3 Eine vernünftige Abschätzung ohne Machine Learning272
6.3.4 Ein elementarer Machine-Learning-Ansatz274
6.3.5 Ein erstes RNN276
6.3.6 Rekurrentes Dropout-Verfahren zum Verhindern einer Überanpassung277
6.3.7 Hintereinanderschaltung rekurrenter Layer279
6.3.8 Bidirektionale RNNs281
6.3.9 Noch einen Schritt weiter gehen286
6.3.10 Zusammenfassung286
6.4 Verarbeitung von Sequenzen mit CNNs288
6.4.1 Eindimensionale Faltung sequenzieller Daten288
6.4.2 Eindimensionales Pooling sequenzieller Daten289
6.4.3 Implementierung eines eindimensionalen CNNs290
6.4.4 Lange Sequenzen mit einer Kombination aus CNNs und RNNs verarbeiten293
6.4.5 Zusammenfassung297
6.5 Zusammenfassung Kapitel 6298
Kapitel 7: Bewährte Verfahren des Deep Learnings299
7.1 Jenseits des Sequential-Modells: die funktionale Keras-API299
7.1.1 Einführung in die funktionale API303
7.1.2 Modelle mit mehreren Eingaben305
7.1.3 Modelle mit mehreren Ausgaben308
7.1.4 Gerichtete azyklische Graphen von Layern311
7.1.5 Gemeinsam genutzte Gewichtungen von Layern316
7.1.6 Modelle als Layer318
7.1.7 Zusammenfassung319
7.2 Deep-Learning-Modelle mit Callbacks und TensorBoard untersuchen und überwachen319
7.2.1 Beeinflussung eines Modells während des Trainings durch Callbacks320
7.2.2 Einführung in das Visualisierungs-Framework TensorBoard325
7.2.3 Zusammenfassung332
7.3 Modelle richtig ausreizen332
7.3.1 Erweiterte Architekturmuster333
7.3.2 Hyperparameteroptimierung336
7.3.3 Ensemblemodelle339
7.3.4 Zusammenfassung341
7.4 Zusammenfassung Kapitel 7342
Kapitel 8: Generatives Deep Learning343
8.1 Texterzeugung mit LSTM-Modellen345
8.1.1 Eine kurze Geschichte generativer RNNs345
8.1.2 Wie erzeugt man sequenzielle Daten?346
8.1.3 Die Bedeutung der Sampling-Strategie347
8.1.4 Implementierung der LSTM-Texterzeugung für Zeichen349
8.1.5 Zusammenfassung356
8.2 DeepDream356
8.2.1 DeepDream in Keras implementieren357
8.2.2 Zusammenfassung364
8.3 Stilübertragung mit dem Neural-Style-Algorithmus365
8.3.1 Verlustfunktion für den Inhalt366
8.3.2 Verlustfunktion für den Stil366
8.3.3 Stilübertragung in Keras367
8.3.4 Zusammenfassung376
8.4 Bilderzeugung mit Variational Autoencoders376
8.4.1 Sampling eines latenten Bilderraums376
8.4.2 Konzeptvektoren für das Bearbeiten von Bildern377
8.4.3 Variational Autoencoders378
8.4.4 Zusammenfassung385
8.5 Einführung in Generative Adversarial Networks386
8.5.1 Eine schematische GAN-Implementierung388
8.5.2 Einige nützliche Tricks389
8.5.3 Der Generator390
8.5.4 Der Diskriminator391
8.5.5 Das gegnerische Netz392
8.5.6 Training des DCGAN393
8.5.7 Zusammenfassung396
8.6 Zusammenfassung Kapitel 8396
Kapitel 9: Schlussfolgerungen397
9.1 Kernkonzepte im Überblick397
9.1.1 Verschiedene Ansätze der KI398
9.1.2 Die Besonderheiten des Deep Learnings398
9.1.3 Was ist vom Deep Learning zu halten?399
9.1.4 Wichtige zugrunde liegende Technologien401
9.1.5 Der allgemeine Machine-Learning-Workflow402
9.1.6 Wichtige Netzarchitekturen403
9.1.7 Der Raum der Möglichkeiten407
9.2 Grenzen des Deep Learnings409
9.2.1 Das Risiko der Vermenschlichung von Deep-Learning-Modellen410
9.2.2 Lokale und extreme Verallgemeinerung413
9.2.3 Zusammenfassung414
9.3 Die Zukunft des Deep Learnings415
9.3.1 Modelle als Programme416
9.3.2 Jenseits von Backpropagation und differenzierbaren Layern418
9.3.3 Automatisiertes Machine Learning418
9.3.4 Beständiges Lernen und Wiederverwendung modularer Subroutinen419
9.3.5 Langfristige Aussichten421
9.4 Auf dem Laufenden bleiben422
9.4.1 Praktische Erfahrungen sammeln mit Kaggle423
9.4.2 Aktuelle Entwicklungen auf der arXiv-Website nachlesen423
9.4.3 Erkundung des Keras-Ökosystems424
9.5 Schlusswort424
Anhang A: Installation von Keras und der Erweiterungen unter Ubuntu425
A.1 Installation der wissenschaftlichen Pakete426
A.2 Einrichtung der GPU-Unterstützung427
A.3 Theano installieren (optional)428
A.4 Keras installieren429
Anhang B: Jupyter-Notebooks auf einer EC2-GPU-Instanz ausführen431
B.1 Was sind Jupyter-Notebooks? – Gründe, sie auf AWS-GPUs ausführen431
B.2 Gründe, auf AWS-Jupyter-Notebooks zu verzichten431
B.3 Einrichtung einer AWS-GPU-Instanz432
B.4 Keras installieren436
B.5 Lokale Portweiterleitung einrichten437
B.6 Jupyter mit dem lokalen Browser verwenden437
Stichwortverzeichnis439

Weitere E-Books zum Thema: Netzwerke - Clouds - Datenbanken

Sichere Netzwerkkommunikation

E-Book Sichere Netzwerkkommunikation
Grundlagen, Protokolle und Architekturen Format: PDF

Netzwerke werden in allen Bereichen der IT eingesetzt, und es gibt zahlreiche Technologien zur sicheren Netzwerkkommunikation. Doch welche der verfügbaren Techniken lassen sich kombinieren und in der…

Sichere Netzwerkkommunikation

E-Book Sichere Netzwerkkommunikation
Grundlagen, Protokolle und Architekturen Format: PDF

Netzwerke werden in allen Bereichen der IT eingesetzt, und es gibt zahlreiche Technologien zur sicheren Netzwerkkommunikation. Doch welche der verfügbaren Techniken lassen sich kombinieren und in der…

Sichere Netzwerkkommunikation

E-Book Sichere Netzwerkkommunikation
Grundlagen, Protokolle und Architekturen Format: PDF

Netzwerke werden in allen Bereichen der IT eingesetzt, und es gibt zahlreiche Technologien zur sicheren Netzwerkkommunikation. Doch welche der verfügbaren Techniken lassen sich kombinieren und in der…

Sichere Netzwerkkommunikation

E-Book Sichere Netzwerkkommunikation
Grundlagen, Protokolle und Architekturen Format: PDF

Netzwerke werden in allen Bereichen der IT eingesetzt, und es gibt zahlreiche Technologien zur sicheren Netzwerkkommunikation. Doch welche der verfügbaren Techniken lassen sich kombinieren und in der…

Microsoft ISA Server 2006

E-Book Microsoft ISA Server 2006
Leitfaden für Installation, Einrichtung und Wartung Format: PDF

Im Januar 2005 ist mein erstes Buch zum Thema ISA Server 2004 erschienen. Die Erstauflage war bereits nach wenigen Monaten ausverkauft, was offensichtlich bedeutet, dass der Bedarf nach Informationen…

Microsoft ISA Server 2006

E-Book Microsoft ISA Server 2006
Leitfaden für Installation, Einrichtung und Wartung Format: PDF

Im Januar 2005 ist mein erstes Buch zum Thema ISA Server 2004 erschienen. Die Erstauflage war bereits nach wenigen Monaten ausverkauft, was offensichtlich bedeutet, dass der Bedarf nach Informationen…

Veritas Storage Foundation®

E-Book Veritas Storage Foundation®
High End-Computing für UNIX, Design und Implementation von Hochverfügbarkeitslösungen mit VxVM und VCS Format: PDF

Hochkonzentrierter und praxisorientierter Kurs zur 'Veritas Storage Foundation': Storage Virtualisierung (Teil 1) erzeugt virtuelle Diskspeicher, die bei Kompatibilität zu ihren physischen…

Veritas Storage Foundation®

E-Book Veritas Storage Foundation®
High End-Computing für UNIX, Design und Implementation von Hochverfügbarkeitslösungen mit VxVM und VCS Format: PDF

Hochkonzentrierter und praxisorientierter Kurs zur 'Veritas Storage Foundation': Storage Virtualisierung (Teil 1) erzeugt virtuelle Diskspeicher, die bei Kompatibilität zu ihren physischen…

Veritas Storage Foundation®

E-Book Veritas Storage Foundation®
High End-Computing für UNIX, Design und Implementation von Hochverfügbarkeitslösungen mit VxVM und VCS Format: PDF

Hochkonzentrierter und praxisorientierter Kurs zur 'Veritas Storage Foundation': Storage Virtualisierung (Teil 1) erzeugt virtuelle Diskspeicher, die bei Kompatibilität zu ihren physischen…

Weitere Zeitschriften

aufstieg

aufstieg

Zeitschrift der NaturFreunde in Württemberg Die Natur ist unser Lebensraum: Ort für Erholung und Bewegung, zum Erleben und Forschen; sie ist ein schützenswertes Gut. Wir sind aktiv in der Natur ...

CE-Markt

CE-Markt

CE-Markt ist Pflichtlektüre in der Unterhaltungselektronik-Branche. Die Vermarktung von Home und Mobile Electronics mit den besten Verkaufsargumenten und Verkaufsstrategien gehören ebenso zum ...

Demeter-Gartenrundbrief

Demeter-Gartenrundbrief

Einzige Gartenzeitung mit Anleitungen und Erfahrungsberichten zum biologisch-dynamischen Anbau im Hausgarten (Demeter-Anbau). Mit regelmäßigem Arbeitskalender, Aussaat-/Pflanzzeiten, Neuigkeiten ...

Euro am Sonntag

Euro am Sonntag

Deutschlands aktuelleste Finanz-Wochenzeitung Jede Woche neu bietet €uro am Sonntag Antworten auf die wichtigsten Fragen zu den Themen Geldanlage und Vermögensaufbau. Auch komplexe Sachverhalte ...

Evangelische Theologie

Evangelische Theologie

Über »Evangelische Theologie« In interdisziplinären Themenheften gibt die Evangelische Theologie entscheidende Impulse, die komplexe Einheit der Theologie wahrzunehmen. Neben den Themenheften ...