Nicht aus der Schweiz? Besuchen Sie lehmanns.de
Deep Learning Kochbuch -  Douwe Osinga

Deep Learning Kochbuch (eBook)

Praxisrezepte für einen schnellen Einstieg

(Autor)

eBook Download: EPUB
2019 | 1. Auflage
262 Seiten
O'Reilly Verlag
978-3-96010-265-6 (ISBN)
Systemvoraussetzungen
34,90 inkl. MwSt
(CHF 34,10)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Lassen Sie sich von Deep Learning nicht abschrecken! Dank Frameworks wie Keras und TensorFlow ist der schnelle Einstieg in die Entwicklung von Deep-Learning-Anwendungen nun auch für Softwareentwickler ohne umfassende Machine-Learning-Kenntnisse möglich. Mit den Rezepten aus diesem Buch lernen Sie, typische Aufgabenstellungen des Deep Learning zu lösen, wie etwa die Klassifizierung und Generierung von Texten, Bildern und Musik. Jedes Kapitel behandelt ein Projekt, wie z.B. das Trainieren eines Empfehlungssystems für Musik. Schritt für Schritt wird gezeigt, wie das jeweilige Projekt umgesetzt wird. Darüber hinaus beschreibt der Autor Douwe Osinga zahlreiche Techniken, die Ihnen helfen, wenn Sie einmal nicht mehr weiterwissen. Alle Codebeispiele sind in Python geschrieben und auf GitHub als Python-Notebooks frei verfügbar. Aus dem Inhalt: - Entwickeln Sie Deep-Learning-Anwendungen, die Nutzern einen echten Mehrwert bieten - Berechnen Sie Ähnlichkeiten von Texten mithilfe von Word-Embeddings - Erstellen Sie ein Empfehlungssystem für Filme basierend auf Wikipedia-Links - Visualisieren Sie die internen Vorgänge einer künstlichen Intelligenz, um nachvollziehen zu können, wie diese arbeitet - Entwickeln Sie ein Modell, das passende Emojis für Textpassagen vorschlägt - Realisieren Sie einen Reverse-Image-Search-Dienst mithilfe von vortrainierten Netzwerken - Vergleichen Sie, wie Generative Adversarial Networks, Autoencoder und LSTM-Netzwerke Icons erzeugen - Trainieren Sie ein Klassifikationsmodell für Musikstile und lassen Sie es Musikstücke dementsprechend zuordnen

Douwe Osinga ist ein erfahrener Softwareentwickler, früher bei Google, Globetrotter und Gründer von drei Startups. Auf seiner beliebten Website für Software-Projekte beschäftigt er sich neben anderen spannenden Themen auch mit dem Machine Learning: douweosinga.com/projects

Douwe Osinga ist ein erfahrener Softwareentwickler, früher bei Google, Globetrotter und Gründer von drei Startups. Auf seiner beliebten Website für Software-Projekte beschäftigt er sich neben anderen spannenden Themen auch mit dem Machine Learning: douweosinga.com/projects

Vorwort


Die Geschichte des Deep Learning


Die Wurzeln des aktuellen Deep-Learning-Booms reichen überraschend weit zurück – bis hinein in die 1950er-Jahre. Vage Vorstellungen von »intelligenten Maschinen« können sogar noch früher in Fiktion und Spekulation gefunden werden, aber in den 1950er- und 1960er-Jahren wurden die ersten »künstlichen neuronalen Netze« basierend auf einem extrem vereinfachten Modell biologischer Neuronen entwickelt. Unter diesen ersten Modellen stieß das Perzeptron-System von Frank Rosenblatt auf besonderes Interesse. Verbunden mit einer einfachen Kamera, konnte es lernen, verschiedene Objektarten zu unterscheiden. Obwohl die erste Version als Software auf einem IBM-Computer lief, wurden die folgenden Versionen komplett als Hardware implementiert.

Das Interesse am mehrschichtigen Perzeptron-Modell (MLP) setzte sich in den 1960er-Jahren fort. Dies änderte sich jedoch, als Marvin Minksy und Seymour Papert im Jahr 1969 ihr Buch Perceptrons (MIT Press) veröffentlichten. In diesem Buch bewiesen sie, dass lineare Perzeptron-Modelle das Verhalten einer nichtlinearen Funktion (XOR) nicht klassifizieren können. Trotz der Schwachstellen des Beweises (zu der Zeit der Publikation existierten bereits nicht-lineare Perzeptron-Modelle, und diese wurden auch von den Autoren erwähnt) läutete die Veröffentlichung des Buchs den Finanzierungseinbruch neuronaler Netze ein. Die Forschung erholte sich davon erst in den 1980er-Jahren mit dem Aufkommen einer neuen Forschergeneration.

Der steile Anstieg der Rechenleistung zusammen mit der Entwicklung der Backpropagation-Technik (seit den 1960er-Jahren in verschiedenen Formen bekannt, aber erst in den 1980er-Jahren allgemein angewandt) führte zu einem wieder aufkeimenden Interesse an neuronalen Netzen. Computer hatten nicht nur die benötigte Rechenleistung, um größere Netzwerke zu trainieren, sondern es gab nun auch Methoden, um tiefere Netze effizient zu trainieren. Die ersten Konvolutionsnetzwerke kombinierten diese Erkenntnisse mit einem Modell der Funktionsweise des Sehvermögens von Säugetieren. Dadurch entstanden erstmals Netzwerke, die komplexe Bilder wie handgeschriebene Ziffern oder Gesichter erkennen konnten. Konvolutionsnetze erreichen dies, indem sie dasselbe »Teilnetz« auf verschiedene Stellen des Bilds anwenden und die Ergebnisse daraus zu abstrakteren Merkmalen zusammenfassen. In Kapitel 12 schauen wir uns diese Funktionsweise genauer an.

In den 1990er- und frühen 2000er-Jahren ging das Interesse an neuronalen Netzen wieder zurück, da »verständlichere« Modelle wie Support Vector Machines (SVMs) und Entscheidungsbäume an Beliebtheit gewannen. SVMs erwiesen sich für viele Datenquellen der damaligen Zeit als hervorragende Klassifikatoren, besonders in Verbindung mit von Menschen entwickelten Datenmerkmalen. In der Bildverarbeitung wurde die »Entwicklung von Merkmalen« populär. Dabei werden Merkmalsdetektoren erstellt, die kleine Elemente in einem Bild erkennen, die dann von Hand zu etwas Größerem vereint werden, das komplexere Formen erkennt. Später stellte sich heraus, dass Deep-Learning-Netze sehr ähnliche Merkmale erkennen und diese auch auf sehr ähnliche Weise kombinieren. In Kapitel 12 erforschen wir einige der inneren Abläufe dieser Modelle und visualisieren dabei das, was sie lernen.

Mit dem Aufkommen der Allzweckprogrammierung auf Grafikprozessoren (GPUs) in den späten 2000er-Jahren konnten neuronale Netzwerkarchitekturen große Fortschritte gegenüber anderen Modellen erzielen. GPUs enthalten Tausende kleine Prozessoren, die Milliarden von Operationen pro Sekunde parallel ausführen können. Ursprünglich für Computerspiele entwickelt, um komplexe 3-D-Szenen in Echtzeit darstellen zu können, stellte sich heraus, dass dieselbe Hardware verwendet werden kann, um neuronale Netze parallel zu trainieren und so Geschwindigkeitsverbesserungen um den Faktor 10 oder höher zu erreichen.

Außerdem ermöglichte das Internet nun den Zugriff auf riesige Trainingsdatensätze. Forscher, die zuvor Klassifikatoren mit Tausenden von Bildern trainierten, hatten jetzt Zugang zu Bildern im zwei- bis dreistelligen Millionenbereich. Verbunden mit größeren Netzwerkarchitekturen hatten neuronale Netze nun beste Erfolgsaussichten. Diese Dominanz hat sich in den folgenden Jahren dank verbesserter Techniken fortgesetzt und auch auf andere Anwendungsgebiete als die Bilderkennung ausgeweitet, etwa auf Übersetzung, Spracherkennung und Bilderzeugung.

Warum genau jetzt?


Während der rapide Rechenleistungsanstieg und bessere Techniken zu einer Interessenzunahme an neuronalen Netzen führten, sahen wir gleichzeitig große Fortschritte bei deren Benutzerfreundlichkeit. Insbesondere Deep-Learning-Frameworks wie TensorFlow, Theano und Torch ermöglichen auch Laien, komplexe neuronale Netze zu verwenden, um ihre eigenen Aufgaben im Bereich des Machine Learnings zu lösen. Dies hat eine Aufgabe, die früher nur mit monate- oder sogar jahrelanger Programmiererfahrung und Anstrengung bewältigt werden konnte (GPU-Kernel effizient zu programmieren, ist extrem schwierig!), zu etwas gemacht, das jeder an einem Nachmittag (oder in ein paar Tagen) erledigen kann. Durch die gestiegene Benutzerfreundlichkeit ist auch die Zahl der Forscher, die an Deep-Learning-Aufgaben arbeiten können, sprunghaft gestiegen. Frameworks wie Keras ermöglichen durch ihr noch größeres Abstraktionsniveau, dass jeder, der über ordentliche Python-Kenntnisse und gewisse Hilfsmittel verfügt, interessante eigene Experimente durchführen kann, wie auch dieses Buch zeigt.

Ein zweites wichtiges Argument für »Warum genau jetzt?« ist, dass große Datensätze nun für jedermann erreichbar geworden sind. Klar, Facebook und Google haben immer noch einen Vorteil durch ihren Zugang zu Milliarden von Bildern, Kommentaren und sonstigen Dingen, aber mittlerweile kann man Datensätze mit Millionen von Elementen aus einer Vielzahl an Quellen beziehen. In Kapitel 1 sehen wir verschiedene Möglichkeiten, um an Datensätze zu gelangen. Über das gesamte Buch hinweg zeigt der Beispielcode jedes Kapitels normalerweise im ersten Rezept, wie man an den benötigten Trainingsdatensatz herankommt.

Mittlerweile haben auch private Unternehmen begonnen, riesige Datenmengen zu produzieren und zu sammeln, wodurch der gesamte Bereich des Deep Learnings plötzlich wirtschaftlich sehr interessant geworden ist. Ein Modell, das zwischen Hunden und Katzen unterscheiden kann, ist ja schön und gut, aber ein Modell, das unter Berücksichtigung historischer Verkaufsdaten den Umsatz um 15 % erhöht, kann den Unterschied zwischen Profit und Bankrott für ein Unternehmen ausmachen.

Voraussetzungen


Heutzutage gibt es eine große Auswahl an Plattformen, Technologien und Programmiersprachen für Deep Learning. In diesem Buch sind alle Codebeispiele in Python verfasst, und viele basieren auf dem ausgezeichneten Framework Keras. Die Codebeispiele sind auf GitHub als Python-Notebooks verfügbar. Zum Verständnis ist es hilfreich, über Grundlagenkenntnisse in den folgenden Gebieten zu verfügen:

Python

Python 3 wird bevorzugt, aber Python 2.7 sollte auch funktionieren. Wir verwenden eine Vielzahl an Hilfsbibliotheken, die alle einfach per pip installiert werden können. Der Code ist im Allgemeinen recht einfach gehalten, sodass selbst Anfänger in der Lage sein sollten, dem Geschehen zu folgen.

Keras

Die Schwerstarbeit im Machine Learning wird fast vollständig von Keras übernommen. Keras ist eine abstrakte Schnittstelle für die Deep-Learning-Frameworks TensorFlow und Theano. Keras ermöglicht es, neuronale Netze auf sehr gut lesbare Weise zu definieren. Der gesamte Code wurde mit TensorFlow getestet, sollte aber auch mit Theano funktionieren.

NumPy, SciPy, scikit-learn

Diese umfangreichen und nützlichen Bibliotheken werden in vielen Rezepten nebenbei verwendet. Meistens sollte aus dem Kontext heraus klar sein, was passiert. Aber kurz in der entsprechenden Dokumentation nachzulesen, kann nicht schaden.

Jupyter Notebook

Notebooks bieten eine tolle Möglichkeit, Code zu präsentieren. Sie ermöglichen eine Mischung aus Code, Ausgabe des Codes und Kommentaren – und dabei alles schön im Browser einsehbar.

Jedes Kapitel hat ein oder mehrere Notebooks, die den dazugehörigen Code enthalten. Der gedruckte Code im Buch lässt oft Details wie Importe aus, daher ist es sinnvoll, den Code von Git herunterzuladen und ein lokales Notebook zu starten. Mit folgendem Code können Sie die Notebooks herunterladen und in das neue Verzeichnis gehen:

git clone https://github.com/DOsinga/deep_learning_cookbook.git

cd deep_learning_cookbook

So können Sie eine virtuelle Umgebung für das Projekt erstellen:

python3 -m venv...

Erscheint lt. Verlag 11.2.2019
Reihe/Serie Animals
Animals
Übersetzer Marcus Fraaß
Verlagsort Heidelberg
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Schlagworte AI • Artificial Intelligence • Computervision • Keras • KI • Künstliche Intelligenz • Künstliche Neuronale Netze • machine learning • tensorflow
ISBN-10 3-96010-265-8 / 3960102658
ISBN-13 978-3-96010-265-6 / 9783960102656
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Wasserzeichen)
Größe: 4,7 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Das umfassende Handbuch

von Johannes Ernesti; Peter Kaiser

eBook Download (2023)
Rheinwerk Computing (Verlag)
CHF 34,95
Deterministische und randomisierte Algorithmen

von Volker Turau; Christoph Weyer

eBook Download (2024)
De Gruyter (Verlag)
CHF 63,45
Das Handbuch für Webentwickler

von Philip Ackermann

eBook Download (2023)
Rheinwerk Computing (Verlag)
CHF 38,95