Book description
- Von den Grundlagen Neuronaler Netze über Machine Learning bis hin zu Deep-Learning-Algorithmen
- Anschauliche Diagramme, Anwendungsbeispiele in Python und der Einsatz von NumPy
- Keine Vorkenntnisse in Machine Learning oder höherer Mathematik erforderlich
Deep Learning muss nicht kompliziert sein. Mit diesem Buch lernst du anhand vieler Beispiele alle Grundlagen, die du brauchst, um Deep-Learning-Algorithmen zu verstehen und anzuwenden. Dafür brauchst du nichts weiter als Schulmathematik und Kenntnisse der Programmiersprache Python. Alle Codebeispiele werden ausführlich erläutert und mathematische Hintergründe anhand von Analogien veranschaulicht.
Der Autor erklärt leicht verständlich, wie Neuronale Netze lernen und wie sie mit Machine-Learning-Verfahren trainiert werden können. Du erfährst, wie du dein erstes Neuronales Netz erstellst und wie es mit Deep-Learning-Algorithmen Bilder erkennen sowie natürliche Sprache verarbeiten und modellieren kann. Hierbei kommen Netze mit mehreren Schichten wie CNNs und RNNs zum Einsatz.
Fokus des Buches ist es, Neuronale Netze zu trainieren, ohne auf vorgefertigte Python-Frameworks zurückzugreifen. So verstehst du Deep Learning von Grund auf und kannst in Zukunft auch komplexe Frameworks erfolgreich für deine Projekte einsetzen.
Aus dem Inhalt:- Parametrische und nichtparametrische Modelle
- Überwachtes und unüberwachtes Lernen
- Vorhersagen mit mehreren Ein- und Ausgaben
- Fehler messen und verringern
- Hot und Cold Learning
- Batch- und stochastischer Gradientenabstieg
- Überanpassung vermeiden
- Generalisierung
- Dropout-Verfahren
- Backpropagation und Forward Propagation
- Bilderkennung
- Verarbeitung natürlicher Sprache (NLP)
- Sprachmodellierung
- Aktivierungsfunktionen
- Sigmoid-Funktion
- Tangens hyperbolicus
- Softmax
- Convolutional Neural Networks (CNNs)
- Recurrent Neural Networks (RNNs)
- Long Short-Term Memory (LSTM)
- Deep-Learning-Framework erstellen
Table of contents
- Impressum
- Vorwort
- Einleitung
- Über den Autor
- Danksagung
- Kapitel 1: Deep Learning: Weshalb man sich damit befassen sollte
-
Kapitel 2: Grundlegende Konzepte: Wie lernen Maschinen?
- 2.1 Was ist Deep Learning?
- 2.2 Was ist Machine Learning?
- 2.3 Überwachtes Machine Learning
- 2.4 Unüberwachtes Machine Learning
- 2.5 Parametrisches und nichtparametrisches Lernen
- 2.6 Überwachtes parametrisches Lernen
- 2.7 Unüberwachtes parametrisches Lernen
- 2.8 Nichtparametrisches Lernen
- 2.9 Zusammenfassung
-
Kapitel 3: Vorhersage mit neuronalen Netzen: Forward Propagation
- 3.1 Vorhersage
- 3.2 Ein einfaches neuronales Netz trifft eine Vorhersage
- 3.3 Was ist ein neuronales Netz?
- 3.4 Wie funktioniert das neuronale Netz?
- 3.5 Eine Vorhersage mit mehreren Eingaben treffen
- 3.6 Mehrere Eingaben: Wie verhält sich das neuronale Netz?
- 3.7 Mehrere Eingaben: vollständiger ausführbarer Code
- 3.8 Eine Vorhersage mit mehreren Ausgaben treffen
- 3.9 Vorhersagen mit mehreren Eingaben und mehreren Ausgaben treffen
- 3.10 Mehrere Ein- und Ausgaben: Wie funktioniert das?
- 3.11 Vorhersagen über Vorhersagen
- 3.12 Kurzeinführung in NumPy
- 3.13 Zusammenfassung
-
Kapitel 4: Lernen in neuronalen Netzen: Gradientenabstieg
- 4.1 Vorhersagen, Vergleichen und Erlernen
- 4.2 Vergleichen
- 4.3 Erlernen
- 4.4 Vergleichen: Trifft das Netz gute Vorhersagen?
- 4.5 Warum Fehler messen?
- 4.6 Was ist die einfachste Form des Lernens in neuronalen Netzen?
- 4.7 Hot und Cold Learning
- 4.8 Hot und Cold Learning: Eigenschaften
- 4.9 Richtung und Betrag anhand des Fehlers berechnen
- 4.10 Eine Iteration des Gradientenabstiegs
- 4.11 Lernen bedeutet nur, den Fehler zu verringern
- 4.12 Mehrere Schritte des Lernens
- 4.13 Weshalb funktioniert das? Was ist weight_delta eigentlich?
- 4.14 Tunnelblick auf ein Konzept
- 4.15 Eine Kiste, aus der zwei Stangen ragen
- 4.16 Ableitungen: Zweiter Ansatz
- 4.17 Was du wirklich wissen musst
- 4.18 Was man eigentlich nicht wissen muss
- 4.19 Wie man Ableitungen zum Lernen verwendet
- 4.20 Wirkt das vertraut?
- 4.21 Den Gradientenabstieg stören
- 4.22 Visualisierung der übermäßigen Korrektur
- 4.23 Divergenz
- 4.24 Einführung von alpha
- 4.25 Alpha im Code
- 4.26 Auswendig lernen
-
Kapitel 5: Mehrere Gewichte gleichzeitig erlernen: Generalisierung des Gradientenabstiegs
- 5.1 Lernen durch Gradientenabstieg mit mehreren Eingaben
- 5.2 Gradientenabstieg mit mehreren Eingaben erklärt
- 5.3 Mehrere Lernschritte
- 5.4 Einfrieren eines Gewichts: Was bewirkt das?
- 5.5 Lernen mittels Gradientenabstieg mit mehreren Ausgaben
- 5.6 Lernen mittels Gradientenabstieg mit mehreren Eingaben und mehreren Ausgaben
- 5.7 Was erlernen die Gewichte?
- 5.8 Visualisierung der Werte von Gewichten
- 5.9 Visualisierung von Skalarprodukten (gewichtete Summen)
- 5.10 Zusammenfassung
-
Kapitel 6: Das erste tiefe neuronale Netz: Einführung in Backpropagation
- 6.1 Das Ampelproblem
- 6.2 Vorbereitung der Daten
- 6.3 Matrizen
- 6.4 Erstellen von Matrizen in Python
- 6.5 Erstellen eines neuronalen Netzes
- 6.6 Erlernen der gesamten Datenmenge
- 6.7 Vollständiger, Batch- und stochastischer Gradientenabstieg
- 6.8 Neuronale Netze erlernen eine Korrelation
- 6.9 Druck nach oben und unten
- 6.10 Grenzfall: Überanpassung
- 6.11 Grenzfall: Widersprüchliche Druckkräfte
- 6.12 Erlernen indirekter Korrelation
- 6.13 Korrelation erzeugen
- 6.14 Stapeln neuronaler Netze: Überblick
- 6.15 Backpropagation: Fehlerattribuierung
- 6.16 Backpropagation: Weshalb funktioniert das?
- 6.17 Linear vs. nichtlinear
- 6.18 Weshalb das neuronale Netz noch nicht funktioniert
- 6.19 Bedingte Korrelation
- 6.20 Eine kurze Pause
- 6.21 Das erste tiefe neuronale Netz
- 6.22 Backpropagation im Code
- 6.23 Eine Iteration der Backpropagation
- 6.24 Alles zusammenbringen
- 6.25 Warum sind tiefe Netze von Bedeutung?
-
Kapitel 7: Neuronale Netze abbilden: im Kopf und auf Papier
- 7.1 Zeit für Vereinfachungen
- 7.2 Korrelationszusammenfassung
- 7.3 Die alte, zu komplizierte Visualisierung
- 7.4 Die vereinfachte Visualisierung
- 7.5 Weitere Vereinfachung
- 7.6 Ein Netz bei der Vorhersage beobachten
- 7.7 Visualisierung mit Buchstaben statt Bildern
- 7.8 Variablen verknüpfen
- 7.9 Alles zusammen
- 7.10 Die Bedeutung von Visualisierungstools
-
Kapitel 8: Signale erlernen, Rauschen ignorieren: Einführung in Regularisierung und Batching
- 8.1 Ein dreischichtiges Netz mit dem MNIST-Datensatz
- 8.2 Das war einfach
- 8.3 Auswendiglernen vs. Generalisierung
- 8.4 Überanpassung in neuronalen Netzen
- 8.5 Wie Überanpassung entsteht
- 8.6 Die einfachste Regularisierung: früher Abbruch
- 8.7 Der Industriestandard: das Dropout-Verfahren
- 8.8 Weshalb das Dropout-Verfahren funktioniert: Ensembles
- 8.9 Das Dropout-Verfahren im Code
- 8.10 Bewertung des Dropout-Verfahrens mit dem MNIST-Datensatz
- 8.11 Batch-Gradientenabstieg
- 8.12 Zusammenfassung
-
Kapitel 9: Modellierung von Wahrscheinlichkeiten und Nichtlinearitäten: Aktivierungsfunktionen
- 9.1 Was ist eine Aktivierungsfunktion?
- 9.2 Standardaktivierungsfunktionen der verdeckten Schicht
- 9.3 Standardaktivierungsfunktionen der Ausgabeschicht
- 9.4 Das grundlegende Problem: Eingaben ähneln einander
- 9.5 softmax-Berechnung
- 9.6 Anleitung für die Nutzung von Aktivierungsfunktionen
- 9.7 Multiplikation von delta mit der Steigung
- 9.8 Ausgabe in Steigung umwandeln (Ableitung)
- 9.9 Verbesserung des MNIST-Netzes
- Kapitel 10: Einführung in Convolutional Neural Networks
-
Kapitel 11: Neuronale Netze, die Sprache verstehen: Knecht – Mann + Frau == ?
- 11.1 Was bedeutet es, Sprache zu verstehen?
- 11.2 Verarbeitung natürlicher Sprache
- 11.3 Überwachte Verarbeitung natürlicher Sprache
- 11.4 Die IMDB-Filmbewertungsdatenbank
- 11.5 Wortkorrelationen in Eingabedaten erfassen
- 11.6 Vorhersage von Filmbewertungen
- 11.7 Kurz vorgestellt: Embedding-Schichten
- 11.8 Interpretation der Ausgabe
- 11.9 Architektur neuronaler Netze
- 11.10 Wort-Embeddings vergleichen
- 11.11 Welche Bedeutung hat ein Neuron?
- 11.12 Ausfüllen der Lücke
- 11.13 Bedeutung ergibt sich aus dem Verlust
- 11.14 Knecht – Mann + Frau ~= Magd
- 11.15 Wortanalogien
- 11.16 Zusammenfassung
-
Kapitel 12: Rekurrente Schichten für Daten variabler Größe
- 12.1 Die Herausforderungen von variabler Größe
- 12.2 Spielen Vergleiche tatsächlich eine Rolle?
- 12.3 Die erstaunliche Leistungsstärke gemittelter Wortvektoren
- 12.4 Wie werden Informationen in diesen Embeddings gespeichert?
- 12.5 Wie verwendet ein neuronales Netz Embeddings?
- 12.6 Die Beschränkungen von Bag-of-words-Vektoren
- 12.7 Verwendung von Einheitsmatrizen zum Summieren von Wort-Embeddings
- 12.8 Matrizen, die überhaupt nichts verändern
- 12.9 Erlernen der Übergangsmatrizen
- 12.10 Lernen, nützliche Satzvektoren zu erzeugen
- 12.11 Forward Propagation in Python
- 12.12 Wie funktioniert die Backpropagation?
- 12.13 Training durchführen
- 12.14 Einrichtung
- 12.15 Forward Propagation beliebiger Größe
- 12.16 Backpropagation beliebiger Größe
- 12.17 Aktualisierung von Gewichten beliebiger Größe
- 12.18 Ausführung und Analyse der Ausgabe
- 12.19 Zusammenfassung
-
Kapitel 13: Automatische Optimierung: Entwicklung eines Deep-Learning-Frameworks
- 13.1 Was ist ein Deep-Learning-Framework?
- 13.2 Einführung in Tensoren
- 13.3 Einführung in Automatic Gradient Computation (Autograd)
- 13.4 Eine kurze Bestandsaufnahme
- 13.5 Mehrfach verwendete Tensoren
- 13.6 Autograd um mehrmals verwendbare Tensoren erweitern
- 13.7 Wie funktioniert Backpropagation durch Addition?
- 13.8 Negation hinzufügen
- 13.9 Weitere Funktionen hinzufügen
- 13.10 Autograd zum Trainieren eines neuronalen Netzes verwenden
- 13.11 Automatische Optimierung hinzufügen
- 13.12 Schichttypen hinzufügen
- 13.13 Schichten, die weitere Schichten enthalten
- 13.14 Verlustfunktions-Schichten
- 13.15 Erlernen eines Frameworks
- 13.16 Nichtlineare Schichten
- 13.17 Die Embedding-Schicht
- 13.18 Indizierung zu Autograd hinzufügen
- 13.19 Zurück zur Embedding-Schicht
- 13.20 Die Kreuzentropie-Schicht
- 13.21 Die rekurrente Schicht eines neuronalen Netzes
- 13.22 Zusammenfassung
-
Kapitel 14: Lernen, wie Shakespeare zu schreiben: Long Short-Term Memory
- 14.1 Zeichenbasierte Sprachmodellierung
- 14.2 Die Notwendigkeit einer verkürzten Backpropagation
- 14.3 Truncated Backpropagation
- 14.4 Eine Stichprobe von der Ausgabe
- 14.5 Verschwindende und explodierende Gradienten
- 14.6 Ein Testbeispiel für Backpropagation in RNNs
- 14.7 LSTM-Zellen
- 14.8 Veranschaulichung von LSTM-Gates
- 14.9 Die LSTM-Schicht
- 14.10 Erweiterung des zeichenbasierten Sprachmodells
- 14.11 Training des zeichenbasierten LSTM-Sprachmodells
- 14.12 Optimierung des zeichenbasierten LSTM-Sprachmodells
- 14.13 Zusammenfassung
- Kapitel 15: Deep Learning mit unbekannten Daten: Federated Learning
-
Kapitel 16: Wie geht es weiter? Ein kurzer Leitfaden
- 16.1 Glückwunsch!
- 16.2 Schritt 1: Lerne PyTorch
- 16.3 Schritt 2: Nimm an einem weiteren Deep-Learning-Kurs teil
- 16.4 Schritt 3: Lies ein mathematisch anspruchsvolles Lehrbuch
- 16.5 Schritt 4: Schreibe ein Blog und unterrichte Deep Learning
- 16.6 Schritt 5: Twitter
- 16.7 Schritt 6: Verweise auf wissenschaftliche Arbeiten
- 16.8 Schritt 7: Verschaffe dir Zugriff auf eine GPU (oder mehrere)
- 16.9 Schritt 8: Lass dich für praktische Erfahrungen bezahlen
- 16.10 Schritt 9: Beteilige dich an einem Open-Source-Projekt
- 16.11 Schritt 10: Fördere deine Community vor Ort
Product information
- Title: Neuronale Netze und Deep Learning kapieren -- Der einfache Praxiseinstieg mit Beispielen in Python
- Author(s):
- Release date: November 2019
- Publisher(s): mitp Verlag
- ISBN: 9783747500170
You might also like
book
Deep Learning mit Python und Keras - Das Praxis-Handbuch vom Entwickler der Keras-Bibliothek
Einführung in die grundlegenden Konzepte von Machine Learning und Deep Learning Zahlreiche praktische Anwendungsbeispiele zum Lösen …
book
Python 3 - Lernen und professionell anwenden
Einführung in alle Sprachgrundlagen: Klassen, Objekte, Vererbung, Dictionaries Benutzungsoberflächen und Multimediaanwendungen mit PyQt, Datenbanken, XML und …
book
Python 3 - Lernen und professionell anwenden
Einführung in alle Sprachgrundlagen: Klassen, Objekte, Vererbung, Kollektionen, Dictionaries Benutzungsoberflächen und Multimediaanwendungen mit PyQt, Datenbanken, XML …
book
Deep Learning mit R und Keras - Das Praxis-Handbuch von Entwicklern von Keras und RStudio
Einführung in die grundlegenden Konzepte von Machine Learning und Deep Learning Zahlreiche praktische Anwendungsbeispiele zum Lösen …