Deep Learning mit R und Keras Das Praxis-Handbuch : von den Entwicklern von Keras und RStudio
Einführung in die grundlegenden Konzepte von Machine Learning und Deep Learning Zahlreiche praktische Anwendungsbeispiele zum Lösen konkreter Aufgabenstellungen: Maschinelles Sehen, Sprachverarbeitung, Bildklassifizierung, Vorhersage von Zeitreihen, Stimmungsanalyse CNNs, Rekurrente neuronale Netze,...
Otros Autores: | , |
---|---|
Formato: | Libro electrónico |
Idioma: | Alemán |
Publicado: |
Frechen :
MITP
2018.
|
Edición: | 1. Auflage |
Colección: | mitp Professional
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630489806719 |
Tabla de Contenidos:
- Cover
- Titel
- Impressum
- Inhaltsverzeichnis
- Vorwort
- Einleitung
- Danksagungen
- Über die Autoren
- Teil I: Grundlagen des Deep Learnings
- Kapitel 1: Was ist Deep Learning?
- 1.1 Künstliche Intelligenz, Machine Learning und Deep Learning
- 1.1.1 Künstliche Intelligenz
- 1.1.2 Machine Learning
- 1.1.3 Die Repräsentation anhand der Daten erlernen
- 1.1.4 Das »Deep« in Deep Learning
- 1.1.5 Deep Learning in drei Diagrammen erklärt
- 1.1.6 Was Deep Learning heute schon leisten kann
- 1.1.7 Schenken Sie dem kurzfristigen Hype keinen Glauben
- 1.1.8 Das Versprechen der KI
- 1.2 Bevor es Deep Learning gab: eine kurze Geschichte des Machine Learnings
- 1.2.1 Probabilistische Modellierung
- 1.2.2 Die ersten neuronalen Netze
- 1.2.3 Kernel-Methoden
- 1.2.4 Entscheidungsbäume, Random Forests und Gradient Boosting Machines
- 1.2.5 Zurück zu neuronalen Netzen
- 1.2.6 Das Besondere am Deep Learning
- 1.2.7 Der Stand des modernen Machine Learnings
- 1.3 Warum Deep Learning? Und warum jetzt?
- 1.3.1 Hardware
- 1.3.2 Daten
- 1.3.3 Algorithmen
- 1.3.4 Eine neue Investitionswelle
- 1.3.5 Die Demokratisierung des Deep Learnings
- 1.3.6 Bleibt es so?
- Kapitel 2: Bevor es losgeht: die mathematischen Bausteine eines neuronalen Netzes
- 2.1 Ein erster Blick auf ein neuronales Netz
- 2.2 Datenrepräsentationen
- 2.2.1 Skalare (0-D-Tensoren)
- 2.2.2 Vektoren (1-D-Tensoren)
- 2.2.3 Matrizen (2-D-Tensoren)
- 2.2.4 3-D-Tensoren und höherdimensionale Tensoren
- 2.2.5 Die wichtigsten Attribute
- 2.2.6 Bearbeiten von Tensoren in R
- 2.2.7 Datenstapel
- 2.2.8 Beispiele für Datentensoren aus der Praxis
- 2.2.9 Vektordaten
- 2.2.10 Zeitreihen oder sequenzielle Daten
- 2.2.11 Bilddaten
- 2.2.12 Videodaten
- 2.3 Das Getriebe von neuronalen Netzen: Tensoroperationen
- 2.3.1 Elementweise Operationen.
- 2.3.2 Operationen mit Tensoren unterschiedlicher Dimensionalität
- 2.3.3 Tensorprodukt
- 2.3.4 Tensoren umformen
- 2.3.5 Geometrische Interpretation von Tensoroperationen
- 2.3.6 Eine geometrische Interpretation des Deep Learnings
- 2.4 Der Antrieb von neuronalen Netzen: gradientenbasierte Optimierung
- 2.4.1 Was ist eine Ableitung?
- 2.4.2 Ableitung einer Tensoroperation: der Gradient
- 2.4.3 Stochastisches Gradientenabstiegsverfahren
- 2.4.4 Ableitungen verketten: der Backpropagation-Algorithmus
- 2.5 Zurück zum ersten Beispiel
- 2.6 Zusammenfassung Kapitel 2
- Kapitel 3: Einführung in neuronale Netze
- 3.1 Aufbau eines neuronalen Netzes
- 3.1.1 Layer: Bausteine des Deep Learnings
- 3.1.2 Modelle: vernetzte Layer
- 3.1.3 Verlustfunktionen und Optimierer: Konfiguration des Lernvorgangs
- 3.2 Einführung in Keras
- 3.2.1 Keras, TensorFlow, Theano und CNTK
- 3.2.2 Keras installieren
- 3.2.3 Mit Keras entwickeln: eine kurze Übersicht
- 3.3 Einrichtung eines Deep-Learning-Rechners
- 3.3.1 Zwei Möglichkeiten, Keras zum Laufen zu bringen
- 3.3.2 Pro und Kontra: Deep Learning in der Cloud ausführen
- 3.3.3 Für Deep Learning geeignete GPUs
- 3.4 Klassifikation von Filmbewertungen: ein Beispiel für eine Binärklassifikation
- 3.4.1 Die IMDb-Datensammlung
- 3.4.2 Daten vorbereiten
- 3.4.3 Neuronales Netz erzeugen
- 3.4.4 Validierung des Ansatzes
- 3.4.5 Vorhersagen über neue Daten mit einem trainierten neuronalen Netz treffen
- 3.4.6 Weitere Experimente
- 3.4.7 Zusammenfassung
- 3.5 Ein Beispiel für eine Mehrfachklassifikation: Klassifikation von Nachrichtenmeldungen
- 3.5.1 Die Reuters-Datensammlung
- 3.5.2 Daten vorbereiten
- 3.5.3 Neuronales Netz erzeugen
- 3.5.4 Validierung des Ansatzes
- 3.5.5 Vorhersagen über neue Daten treffen.
- 3.5.6 Eine weitere Möglichkeit zur Handhabung der Klassenbezeichnungen und der Verlustfunktion
- 3.5.7 Hinreichend große zwischenliegende Layer sind wichtig
- 3.5.8 Weitere Experimente
- 3.5.9 Zusammenfassung
- 3.6 Ein Beispiel für eine Regression: Vorhersage der Kaufpreise von Häusern
- 3.6.1 Die Boston-Housing-Price-Datensammlung
- 3.6.2 Daten vorbereiten
- 3.6.3 Neuronales Netz erzeugen
- 3.6.4 K-fache Kreuzvalidierung des Ansatzes
- 3.6.5 Zusammenfassung
- 3.7 Zusammenfassung Kapitel 3
- Kapitel 4: Grundlagen des Machine Learnings
- 4.1 Vier Teilgebiete des Machine Learnings
- 4.1.1 Überwachtes Lernen
- 4.1.2 Unüberwachtes Lernen
- 4.1.3 Selbstüberwachtes Lernen
- 4.1.4 Bestärkendes Lernen
- 4.2 Bewertung von Machine-Learning-Modellen
- 4.2.1 Trainings-, Validierungs- und Testmengen
- 4.2.2 Worauf zu achten ist
- 4.3 Datenvorverarbeitung, Merkmalserstellung und Erlernen von Merkmalen
- 4.3.1 Datenvorverarbeitung für neuronale Netze
- 4.3.2 Merkmalserstellung
- 4.4 Überanpassung und Unteranpassung
- 4.4.1 Das neuronale Netz verkleinern
- 4.4.2 Regularisierung der Gewichte
- 4.4.3 Dropout-Regularisierung
- 4.5 Ein allgemeiner Machine-Learning-Workflow
- 4.5.1 Definition der Aufgabe und Zusammenstellen einer Datenmenge
- 4.5.2 Auswahl eines Erfolgskriteriums
- 4.5.3 Auswahl einer Bewertungsmethode
- 4.5.4 Daten vorbereiten
- 4.5.5 Entwicklung eines Modells, das besser funktioniert als zufälliges Raten
- 4.5.6 Hochskalieren: Entwicklung eines Modells mit Überanpassung
- 4.5.7 Regularisierung des Modells und Abstimmung der Hyperparameter
- 4.6 Zusammenfassung Kapitel 4
- Teil II: Deep Learning in der Praxis
- Kapitel 5: Deep Learning und maschinelles Sehen
- 5.1 Einführung in CNNs
- 5.1.1 Die Faltungsoperation
- 5.1.2 Die Max-Pooling-Operation
- 5.2 Ein CNN von Grund auf mit einer kleinen Datenmenge trainieren.
- 5.2.1 Die Bedeutung des Deep Learnings für Aufgaben mit kleinen Datenmengen
- 5.2.2 Daten herunterladen
- 5.2.3 Erstellen des neuronalen Netzes
- 5.2.4 Datenvorverarbeitung
- 5.2.5 Datenaugmentation
- 5.3 Verwendung eines vortrainierten CNNs
- 5.3.1 Merkmalsextraktion
- 5.3.2 Feinabstimmung
- 5.3.3 Zusammenfassung
- 5.4 Visualisierung: Was CNNs erlernen können
- 5.4.1 Visualisierung zwischenliegender Aktivierungen
- 5.4.2 Visualisierung von CNN-Filtern
- 5.4.3 Visualisierung der Heatmaps der Klassenaktivierung
- 5.5 Zusammenfassung Kapitel 5
- Kapitel 6: Deep Learning, Text und sequenzielle Daten
- 6.1 Textdaten
- 6.1.1 One-hot-Codierung von Wörtern und Zeichen
- 6.1.2 Worteinbettung
- 6.1.3 Zusammengefasst: von reinem Text zu Worteinbettungen
- 6.1.4 Zusammenfassung
- 6.2 Rekurrente neuronale Netze
- 6.2.1 Ein rekurrenter Layer in Keras
- 6.2.2 LSTM- und GRU-Layer
- 6.2.3 Ein konkretes LSTM-Beispiel in Keras
- 6.2.4 Zusammenfassung
- 6.3 Erweiterte Nutzung rekurrenter neuronaler Netze
- 6.3.1 Temperaturvorhersage
- 6.3.2 Daten vorbereiten
- 6.3.3 Eine vernünftige Abschätzung ohne Machine Learning
- 6.3.4 Ein elementarer Machine-Learning-Ansatz
- 6.3.5 Ein erstes RNN
- 6.3.6 Rekurrentes Dropout-Verfahren zum Verhindern einer Überanpassung
- 6.3.7 Hintereinanderschaltung rekurrenter Layer
- 6.3.8 Bidirektionale RNNs
- 6.3.9 Noch einen Schritt weiter gehen
- 6.3.10 Zusammenfassung
- 6.4 Verarbeitung von Sequenzen mit CNNs
- 6.4.1 Eindimensionale Faltung sequenzieller Daten
- 6.4.2 Eindimensionales Pooling sequenzieller Daten
- 6.4.3 Implementierung eines eindimensionalen CNNs
- 6.4.4 Lange Sequenzen mit einer Kombination aus CNNs und RNNs verarbeiten
- 6.4.5 Zusammenfassung
- 6.5 Zusammenfassung Kapitel 6
- Kapitel 7: Bewährte Verfahren des Deep Learnings.
- 7.1 Jenseits des Sequential-Modells: die funktionale Keras-API
- 7.1.1 Einführung in die funktionale API
- 7.1.2 Modelle mit mehreren Eingaben
- 7.1.3 Modelle mit mehreren Ausgaben
- 7.1.4 Gerichtete azyklische Graphen von Layern
- 7.1.5 Gemeinsam genutzte Gewichte von Layern
- 7.1.6 Modelle als Layer
- 7.1.7 Zusammenfassung
- 7.2 Deep-Learning-Modelle mit Callbacks und TensorBoard untersuchen und überwachen
- 7.2.1 Beeinflussung eines Modells während des Trainings durch Callbacks
- 7.2.2 Einführung in das Visualisierungs-Framework TensorBoard
- 7.2.3 Zusammenfassung
- 7.3 Modelle richtig ausreizen
- 7.3.1 Erweiterte Architekturmuster
- 7.3.2 Hyperparameteroptimierung
- 7.3.3 Ensemblemodelle
- 7.3.4 Zusammenfassung
- 7.4 Zusammenfassung Kapitel 7
- Kapitel 8: Generatives Deep Learning
- 8.1 Texterzeugung mit LSTM-Modellen
- 8.1.1 Eine kurze Geschichte generativer RNNs
- 8.1.2 Wie erzeugt man sequenzielle Daten?
- 8.1.3 Die Bedeutung der Sampling-Strategie
- 8.1.4 Implementierung der LSTM-Texterzeugung für Zeichen
- 8.1.5 Zusammenfassung
- 8.2 DeepDream
- 8.2.1 DeepDream in Keras implementieren
- 8.2.2 Zusammenfassung
- 8.3 Stilübertragung mit dem Neural-Style-Algorithmus
- 8.3.1 Verlustfunktion für den Inhalt
- 8.3.2 Verlustfunktion für den Stil
- 8.3.3 Stilübertragung in Keras
- 8.3.4 Zusammenfassung
- 8.4 Bilderzeugung mit Variational Autoencoders
- 8.4.1 Sampling eines latenten Bilderraums
- 8.4.2 Konzeptvektoren für das Bearbeiten von Bildern
- 8.4.3 Variational Autoencoders
- 8.4.4 Zusammenfassung
- 8.5 Einführung in Generative-Adversarial-Netze
- 8.5.1 Eine schematische GAN-Implementierung
- 8.5.2 Einige nützliche Tricks
- 8.5.3 Der Generator
- 8.5.4 Der Diskriminator
- 8.5.5 Das gegnerische Netz
- 8.5.6 Training des DCGAN
- 8.5.7 Zusammenfassung
- 8.6 Zusammenfassung Kapitel 8.
- Kapitel 9: Schlussfolgerungen.