Schweitzer Fachinformationen
Wenn es um professionelles Wissen geht, ist Schweitzer Fachinformationen wegweisend. Kunden aus Recht und Beratung sowie Unternehmen, öffentliche Verwaltungen und Bibliotheken erhalten komplette Lösungen zum Beschaffen, Verwalten und Nutzen von digitalen und gedruckten Medien.
Über die Autoren 9
Widmung von John Mueller 9
Widmung von Luca Massaron 10
Danksagung von John Mueller 10
Danksagung von Luca Massaron 10
Einführung 21
Über dieses Buch 21
Törichte Annahmen über den Leser 23
Symbole, die in diesem Buch verwendet werden 23
Weitere Ressourcen 24
Wie es weitergeht 24
Teil I: Einführung in Deep Learning 27
Kapitel 1 Einführung in Deep Learning 29
Definition von Deep Learning 30
Künstliche Intelligenz als Oberbegriff 30
Die Rolle der KI 32
Maschinelles Lernen als Teil der KI 35
Deep Learning als Form des maschinellen Lernens 37
Deep Learning in der Praxis 39
Der Prozess des Lernens 39
Aufgabenbewältigung mit Deep Learning 39
Deep Learning als Bestandteil größerer Anwendungen 40
Programmierumgebung für Deep Learning 40
Deep Learning: Hype vs Realität 43
Ihre ersten Schritte 43
Ungeeignete Szenarien für Deep Learning 43
Kapitel 2 Maschinelles Lernen 45
Definition von maschinellem Lernen 45
Funktionsweise von maschinellem Lernen 46
Lernen durch unterschiedliche Strategien 47
Training, Validierung und Test 49
Suche nach Generalisierungen 51
Der Einfluss von Bias 51
Beachtung der Komplexität des Modells 52
Lernstrategien und Arten von Algorithmen 52
Fünf wesentliche Strategien 53
Verschiedene Arten von Algorithmen 54
Sinnvolle Einsatzbereiche für maschinelles Lernen 59
Anwendungsszenarien für maschinelles Lernen 59
Die Grenzen des maschinellen Lernens 62
Kapitel 3 Installation und Verwendung von Python 65
Verwendung von Python in diesem Buch 66
Installation von Anaconda 66
Anaconda von Continuum Analytics 67
Installation von Anaconda unter Linux 67
Installation von Anaconda unter Mac OS X 68
Installation von Anaconda unter Windows 70
Jupyter Notebook 72
Verwendung von Jupyter Notebook 73
Verwendete Datensätze in diesem Buch 79
Erstellen einer Anwendung 81
Die Arbeit mit Zellen 81
Hinzufügen von Dokumentationszellen 82
Andere Zellarten 83
Einrückung von Codezeilen 83
Hinzufügen von Kommentaren 85
Weitere Informationen zu Python 88
Arbeiten in der Cloud 89
Verwendung der Datensätze und Kernels von Kaggle 89
Verwendung von Google Colaboratory 89
Kapitel 4 Frameworks für Deep Learning 93
Das Framework-Prinzip 94
Unterschiede zwischen Frameworks 94
Hohe Beliebtheit von Frameworks 95
Frameworks speziell für Deep Learning 96
Auswahl eines Frameworks 97
Einfache Frameworks für Deep Learning 98
Kurzvorstellung von TensorFlow 101
Teil II: Grundlagen von Deep Learning 113
Kapitel 5 Rechnen mit Matrizen 115
Nötige mathematische Grundlagen 116
Die Arbeit mit Daten 116
Matrixdarstellung von Daten 117
Skalar-, Vektor- und Matrixoperationen 118
Erzeugung einer Matrix 119
Multiplikation von Matrizen 121
Fortgeschrittene Matrixoperationen 123
Datenanalysen mit Tensoren 125
Effektive Nutzung von Vektorisierung 127
Der Lernprozess als Optimierung 128
Kostenfunktionen 128
Minimierung des Fehlers 129
Die richtige Richtung 130
Kapitel 6 Grundlagen der linearen Regression 133
Kombination von Variablen 134
Die einfache lineare Regression 134
Die multiple lineare Regression 135
Verwendung des Gradientenabstiegs 137
Die lineare Regression in Aktion 138
Vermischung von Variablen unterschiedlichen Typs 140
Modellierung der Antworten 140
Modellierung der Merkmale 141
Umgang mit komplexen Zusammenhängen 142
Nutzung von Wahrscheinlichkeiten 144
Spezifikation einer binären Antwort 144
Umwandlung numerischer Schätzungen in Wahrscheinlichkeiten 145
Schätzung der richtigen Merkmale 148
Irreführende Ergebnisse durch inkompatible Merkmale 148
Vermeidung einer Überanpassung durch Merkmalsauswahl und Regularisierung 149
Lernen aus einzelnen Beispielen 150
Verwendung des Gradientenabstiegs 150
Stochastisches Gradientenabstiegsverfahren 151
Kapitel 7 Einführung in neuronale Netze 155
Das faszinierende Perzeptron 156
Höhen und Tiefen des Perzeptrons 156
Die Funktionsweise des Perzeptrons 157
Trennbare und nicht trennbare Daten 158
Komplexere Lernverfahren und neuronale Netze 160
Das Neuron als Grundbaustein 160
Vorwärtsausrichtung in Feedforward-Netzen 162
Schichten und noch mehr Schichten 164
Lernen mittels Rückwärtspropagierung 167
Vermeidung von Überanpassung 170
Kapitel 8 Entwurf eines einfachen neuronalen Netzes 173
Grundlegende Funktionsweise neuronaler Netze 173
Definition der grundlegenden Architektur 175
Die wichtigsten Funktionen eines neuronalen Netzes 176
Lösen eines einfachen Problems 180
Ein Blick ins Innere von neuronalen Netzen 183
Auswahl der richtigen Aktivierungsfunktion 183
Auswahl eines cleveren Optimierers 185
Auswahl einer sinnvollen Lernrate 186
Kapitel 9 Deep Learning im Detail 187
Daten, Daten, Daten 188
Strukturierte und unstrukturierte Daten 188
Mooresches Gesetz 189
Datenwachstum infolge des mooreschen Gesetzes 191
Vorteile durch all die neuen Daten 191
Innovationen dank Daten 192
Rechtzeitigkeit und Qualität von Daten 192
Mehr Tempo bei der Datenverarbeitung 193
Nutzung leistungsstarker Hardware 194
Weitere Investitionen in Deep Learning 195
Neuerungen von Deep Learning 195
Immer mehr Schichten 196
Bessere Aktivierungsfunktionen 198
Regularisierung durch Dropout 199
Die Suche nach noch smarteren Lösungen 201
Kontinuierliches Lernen (Online Learning) 201
Übertragung von Wissen (Transfer Learning) 201
Simple Komplettlösungen (End-to-End Learning) 202
Kapitel 10 Konvolutionsnetze 205
Bilderkennung mit Konvolutionsnetzen 206
Grundsätzlicher Aufbau von digitalen Bildern 206
Konvolutionen (Faltungen) 208
Funktionsprinzip von Konvolutionen 209
Vereinfachtes Pooling 212
Beschreibung der LeNet-Architektur 214
Erkennung von Kanten und Formen in Bildern 219
Visualisierung von Konvolutionen 220
Einige erfolgreiche Architekturen 222
Übertragung von Wissen (Transfer Learning) 223
Kapitel 11 Rekurrente neuronale Netze 227
Einführung in rekurrente neuronale Netze 227
Modellierung von Sequenzen durch Erinnerung 228
Erkennung und Übersetzung von Sprache 230
Korrekte Beschriftung von Bildern 233
LSTM-Zellen (Long Short-Term Memory) 234
Unterschiedliche »Gedächtnisse« 235
Die LSTM-Architektur 235
Verschiedene LSTM-Varianten 238
Der Aufmerksamkeitsmechanismus 239
Teil III: Anwendung von Deep Learning 241
Kapitel 12 Bildklassifikation 243
Herausforderungen bei der Bildklassifikation 244
ImageNet und Alternativen 244
Erstellen von Zusatzbildern (Image Augmentation) 246
Unterscheidung von Verkehrszeichen 249
Vorbereitung der Bilddaten 250
Durchführen einer Klassifikation 253
Kapitel 13 Komplexe Konvolutionsnetze 259
Unterschiedliche Aufgaben beim Erkennen von Objekten im Bild 260
Lokalisierung von Objekten 261
Klassifikation mehrerer Objekte 262
Annotation mehrerer Objekte in Bildern 263
Segmentierung von Bildern 264
Wahrnehmung von Objekten in ihrer Umgebung 265
Funktionsweise von RetinaNet 266
Verwendung des Codes von Keras RetinaNet 267
Böswillige Angriffe auf DL-Anwendungen 272
Heimtückische Pixel 274
Hacking mit Stickern und anderen Artefakten 275
Kapitel 14 Sprachverarbeitung 277
Verarbeitung von Sprache 278
Verstehen durch Tokenisierung 279
Zusammenführen aller Texte 281
Auswendiglernen von wichtigen Sequenzen 284
Semantikanalyse durch Worteinbettungen 284
KI für Stimmungsanalysen 289
Kapitel 15 Automatisch erzeugte Musik und visuelle Kunst 297
Computergenerierte Kunst 298
Nachahmung eines künstlerischen Stils 298
Statistische Verfahren als Grundlage 300
Der Unterschied zwischen Kreativität und Deep Learning 302
Imitation eines Künstlers 303
Neue Werke im Stile eines bestimmten Malers 303
Kombination von Stilen zum Erzeugen neuer Werke 305
Überzeugende Imitate mit einem GAN 305
Musikkomposition mit Deep Learning 306
Kapitel 16 Generative Adversarial Networks 309
Konkurrierende neuronale Netze 310
Wettbewerb als Schlüssel zum Erfolg 310
Realistischere Ergebnisse 313
Komplexere GANs für anspruchsvollere Aufgaben 320
Realistische Imitate von Promigesichtern 321
Mehr Bilddetails und Bildübersetzung 321
Kapitel 17 Verstärkendes Lernen mit Deep Learning 323
Strategische Spiele mit neuronalen Netzen 324
Grundprinzip des verstärkenden Lernens 324
Simulierte Spielumgebungen 326
Q-learning 330
Funktionsweise von AlphaGo 333
Eine echte Gewinnerstrategie 335
Selbstständiges Lernen in großem Stil 337
Teil IV: Der Top-Ten-Teil 339
Kapitel 18 Zehn Anwendungsszenarien für Deep Learning 341
Kolorieren von Schwarz-Weiß-Aufnahmen 341
Analyse der Körperhaltung in Echtzeit 342
Verhaltensanalysen in Echtzeit 343
Übersetzung von Sprachen 344
Einsparungen mit Solaranlagen 345
Computer als Spielgegner 345
Erzeugung von Stimmen 346
Demografische Analysen 347
Kunst basierend auf normalen Fotos 348
Vorhersage von Naturkatastrophen 348
Kapitel 19 Zehn unverzichtbare Tools für Deep Learning 351
Kompilieren von mathematischen Ausdrücken mit Theano 351
Stärkung von TensorFlow mit Keras 352
Dynamische Berechnung von Graphen mit Chainer 353
Einrichtung einer MATLAB-ähnlichen Umgebung mit Torch 354
Dynamische Ausführung von Aufgaben mit PyTorch 354
Schnellere DL-Forschung dank CUDA 355
Geschäftliche Erfolge mit Deeplearning4j 357
Data-Mining mit Neural Designer 358
Algorithmentraining mit Microsoft Cognitive Toolkit (CNTK) 359
Volle GPU-Leistung mit MXNet 359
Stichwortverzeichnis 361
Mit dem Begriff Deep Learning kann ein Großteil der Bevölkerung noch nicht viel anfangen. Vor allem im englischsprachigen Raum vermutet manch einer gar etwas Geheimnisvolles oder Unerklärliches dahinter, da das Wörtchen »deep« in gewissen Zusammenhängen auf düstere Intrigen oder unergründliche Mysterien hinweist (»deep conspiracy«, »deep mystery«). Tatsächlich jedoch ist Deep Learning alles andere als mysteriös und aus unserem Alltag nicht mehr wegzudenken. Auch Sie nutzen schon Deep Learning - wenn Sie Ihr Smartphone mit Sprachbefehlen steuern, wenn Sie bestimmte Apps verwenden und manchmal sogar, wenn Sie einfach nur einen Einkaufsbummel machen. Deep Learning findet sich heute überall. Darum wird es Zeit, sich genauer mit diesem »tief gehenden Lernen« und seinen faszinierenden Anwendungsgebieten zu befassen.
Wie so viele neue Technologien weckt auch Deep Learning in manchen Menschen irrationale Ängste. Sie fürchten eine unabwendbare Apokalypse und außer Kontrolle geratene Killerroboter. Mit der Realität hat das eher nichts zu tun. Viel wahrscheinlicher ist wohl, dass gewiefte Ganoven mithilfe von Deep Learning täuschend echte Dokumente und Profile von erfundenen Personen erstellen werden, um ihre Mitmenschen oder den Staat hereinzulegen und um Tausende Euros zu erleichtern.
Falls auch Ihnen Deep Learning noch fremd ist - oder Sie womöglich gar zur besorgten Killerroboterfraktion gehören -, bringt Deep Learning für Dummies hoffentlich Licht ins Dunkel. Diese neue Technologie eröffnet uns im Alltag ungeahnte Möglichkeiten, hat aber auch ihre Grenzen. Nach dem Lesen des Buchs sind Sie mit den Vor- und Nachteilen besser vertraut.
Deep Learning für Dummies enthält Codebeispiele, die auf jedem standardmäßigen Mac-, Linux- und Windows-System laufen. Sie können den Code auch online testen, unter anderem mit Google Colab. (Hinweise im Buch erklären, wie Sie dies bewerkstelligen.) Mit einem Grafikprozessor oder anderer spezieller Ausstattung werden die Beispiele zwar schneller ausgeführt, aber in diesem Buch geht es ja nicht um Geschwindigkeitsrekorde. Vielmehr sollen Sie lernen, wie Sie auf jedem beliebigen Rechner Programme für Deep Learning schreiben können - selbst wenn die Ausführung dann etwas Geduld erfordert. (Falls ein Beispiel besonders lange dauert, wird an der entsprechenden Stelle darauf hingewiesen.)
Der erste Teil dieses Buchs vermittelt Grundkenntnisse, damit Sie nicht gleich zu Beginn die Orientierung verlieren. Sie erfahren, wie Sie nötige Tools installieren und welche mathematischen Methoden Sie beherrschen sollten. Die ersten Beispiele behandeln eher geläufige Regressionsaufgaben und maschinelles Lernen, aber ohne diese Grundlagen können Sie das Potenzial von Deep Learning nicht ausschöpfen.
Danach geht es richtig los: Sie lernen zum Beispiel, wie sich automatisch Kunstwerke generieren lassen und wie Sie so manch andere Aufgabe ganz ohne aufwendige Programmierung oder besondere Hardware bewältigen. Dieses Buch ersetzt zwar kein ausführlicheres Studium in diesem Fachbereich, aber es vermittelt Ihnen ein gutes Gespür für die Theorie und Praxis beim Deep Learning.
Damit Sie alle Erläuterungen im Buch besser nachvollziehen können, gelten folgende Konventionen:
Festbreitenschrift
http://www.fuer-dummies.de
Eigentlich soll man seinen Mitmenschen ja nichts unterstellen. Wir tun dies aber trotzdem.
Wir nehmen nämlich an, dass Sie mit Ihrem Computer und Betriebssystem vertraut sind und diesbezüglich keine Hilfestellung benötigen. (In Kapitel 3 finden Sie allerdings Installationshinweise für Anaconda, und in Kapitel 4 wird erklärt, wie Sie die TensorFlow- und Keras-Frameworks installieren.) Wir möchten uns voll und ganz auf Deep Learning mit der Programmiersprache Python konzentrieren und gehen daher nicht auf plattformspezifische Fragen ein. Sie sollten also wissen, wie Sie Anwendungen installieren und aufrufen und wie Sie generell mit Ihrem gewählten Betriebssystem arbeiten.
Zu Python finden Sie bei Bedarf unzählige Kurse und Hilfeseiten im Web. Als Beispiel seien hier https://www.w3schools.com/python/ und https://www.tutorialspoint.com/python/ (beide auf Englisch) sowie https://www.python-kurs.eu/index.php (auf Deutsch) genannt.
https://www.w3schools.com/python/
https://www.tutorialspoint.com/python/
https://www.python-kurs.eu/index.php
Die offizielle Dokumentation der Python Software Foundation findet sich hier: https://www.python.org/doc/.
https://www.python.org/doc/
Dieses Buch ist auch kein Auffrischungskurs in Mathe. Es enthält zwar zahlreiche komplexe Formeln, aber primär geht es um das Lösen von Problemen mittels Deep Learning und Python, nicht um die Grundlagen der theoretischen Mathematik.
Zu guter Letzt nehmen wir an, dass Sie wissen, wie man Inhalte im Internet abruft. Das Buch bietet Verweise auf weiterführende Materialien, die natürlich nur dann nützlich sind, wenn Sie sie auch tatsächlich im Web finden.
Wichtige Hinweise oder zusätzliche Informationen in diesem Buch sind durch die folgenden Symbole am Seitenrand gekennzeichnet:
Tipps sparen Ihnen Zeit und unnötigen Arbeitsaufwand. Es handelt sich meist um Methoden oder Hilfsmittel, mit denen Sie Python optimal nutzen oder Aufgaben beim Deep Learning effizienter ausführen.
Wir möchten uns ungern wie strenge Eltern aufspielen und Ihnen missbilligend auf die Finger klopfen, aber die Ratschläge neben diesem Warnsymbol sollten Sie unbedingt befolgen! Sonst kann es sein, dass Ihr Programm nicht wie gewünscht funktioniert oder dass eigentlich narrensichere Algorithmen doch die falschen Ergebnisse liefern. Schlimmstenfalls gehen womöglich gar Ihre Daten verloren.
Dieses Symbol weist auf vertiefende Tipps oder Methoden hin. Manche dieser Informationshappen finden Sie vielleicht langweilig - oder aber sie liefern Ihnen den entscheidenden Hinweis, wie Sie eines Ihrer Programme zum Laufen bringen. Diese Abschnitte können Sie nach Belieben auch überspringen.
Den Text neben diesem Symbol sollten Sie unbedingt lesen und verinnerlichen. Hier werden wesentliche Prozesse oder Zusammenhänge erläutert, die Sie zur Arbeit mit Python oder zur erfolgreichen Umsetzung von Deep Learning benötigen.
Bestimmt haben Sie keine Lust, den Programmcode aus unserem Buch mühsam abzutippen und all die neuronalen Netze manuell zu rekonstruieren. Viel lieber würden Sie wahrscheinlich praktische Aufgaben lösen und testen, was mit Python, maschinellen Lernverfahren und Deep Learning tatsächlich alles möglich ist. Da haben wir gute Nachrichten: Alle Beispiele aus den verschiedenen Kapiteln stehen als Download bereit. Sie finden sie unter http://wiley-vch.de/ISBN9783527716876.
http://wiley-vch.de/ISBN9783527716876
Nun kann es losgehen! Wenn Sie sich bisher noch nie mit Python und Deep Learning befasst haben, beginnen Sie am besten mit Kapitel 1. Lesen Sie sich das Buch in Ihrem eigenen Rhythmus durch, sodass Sie alle Informationen gut verarbeiten können.
Sollten Sie es auch als Neuling ganz eilig haben und sofort Ihre ersten Deep-Learning-Programme mit Python schreiben wollen, können Sie direkt zu Kapitel 3 springen. Beschweren Sie sich aber nicht, wenn Ihnen einige Themen später etwas verwirrend vorkommen. Falls Sie Anaconda (die in diesem Buch genutzte Programmierumgebung) bereits installiert und eine aktuelle Python-Distribution zum Laufen gebracht haben, brauchen Sie Kapitel 3 nur zu überfliegen.
Die in diesem Buch erläuterten Aufgabenstellungen beim Deep Learning werden mit TensorFlow und Keras gelöst. Selbst als fortgeschrittener Anwender sollten Sie Kapitel 4 unbedingt lesen, um Ihr System korrekt zu konfigurieren. Falls Sie der Konfigurationsanleitung in diesem Buch nicht folgen, gibt es später beim Ausführen der...
Dateiformat: ePUBKopierschutz: Adobe-DRM (Digital Rights Management)
Systemvoraussetzungen:
Das Dateiformat ePUB ist sehr gut für Romane und Sachbücher geeignet – also für „fließenden” Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Adobe-DRM wird hier ein „harter” Kopierschutz verwendet. Wenn die notwendigen Voraussetzungen nicht vorliegen, können Sie das E-Book leider nicht öffnen. Daher müssen Sie bereits vor dem Download Ihre Lese-Hardware vorbereiten.Bitte beachten Sie: Wir empfehlen Ihnen unbedingt nach Installation der Lese-Software diese mit Ihrer persönlichen Adobe-ID zu autorisieren!
Weitere Informationen finden Sie in unserer E-Book Hilfe.