Deep Learning kompakt für Dummies by John Paul Mueller, Luca Massaron

Deep Learning kompakt für Dummies

Schummelseite

Titelseite

Über die Autoren

John Mueller ist freiberuflicher Autor und technischer Redakteur. Das Schreiben liegt ihm offensichtlich im Blut, denn er hat bereits an 112 Büchern und mehr als 600 Artikeln mitgewirkt. Die Themen reichen vom Datenbank- und Netzwerkbetrieb über die künstliche Intelligenz bis hin zur praxisorientierten Programmierung. Zu seinen aktuellen Büchern zählen Leitfäden für die Datenwissenschaft, maschinelles Lernen und den Umgang mit Algorithmen. Als technischer Redakteur hat er schon über siebzig Autoren zu ihren Manuskripten beraten und die Herausgeber verschiedener Zeitschriften unterstützt. Neben seiner Beratertätigkeit hilft er außerdem beim Erstellen von Prüfungs- und Zertifizierungsfragen. Branchenthemen kommentiert er in seinem Blog unter http://blog.johnmuellerbooks.com/. Er ist ebenfalls über seine Website http://www.johnmuellerbooks.com/ und per E-Mail (auf Englisch) unter der E-Mail-Adresse john@johnmuellerbooks.com erreichbar.

Luca Massaron hat sich auf die Datenwissenschaft und Marketingforschung spezialisiert. Sein besonderes Augenmerk gilt der multivariaten Statistik, dem maschinellen Lernen und der Kundenanalyse. Seit über einem Jahrzehnt löst er knifflige Herausforderungen in der Praxis mithilfe von Algorithmen, Data-Mining und statistischen Methoden. Er gilt in Italien als einer der Pioniere der Internetzielgruppenanalyse und zählt zu den produktivsten Anwendern auf dem Data-Science-Portal kaggle.com. Seine Erfahrungen mit Daten, Analysen und dem vielversprechenden Gebiet Knowledge Discovery gibt er gern an Experten und Laien gleichermaßen weiter. Er ist überzeugt, dass ein grundlegendes Verständnis der Datenwissenschaft zu enormen technischen Fortschritten beitragen wird. Er ist außerdem als Google Developer Expert (GDE) für maschinelles Lernen zertifiziert.

Widmung von John Mueller

Dieses Buch widme ich Donnie und Shannon Thompson, die für mich nicht nur zwei äußerst zuvorkommende Nachbarn, sondern wahre Freunde sind.

Widmung von Luca Massaron

Ich widme dieses Buch meiner Frau Yukiko und unserer Tochter Amelia, meinen Eltern Renzo und Licia sowie Yoshiki, Takayo und Makiko, der Familie von Yukiko.

Danksagung von John Mueller

Mein größter Dank gilt meiner Frau Rebecca, die auch in schweren Zeiten fest an mich geglaubt hat. Obwohl sie nicht mehr unter uns weilt, ist sie immer noch die treibende Kraft hinter all meinen Büchern, hinter jedem Wort auf dem Papier.

Russ Mullen gilt Dank für sein technisches Lektorat dieses Buchs, von dem die Genauigkeit und Vielfalt der Inhalte klar profitiert hat. Russ hat sich bei der Recherche wie immer richtig ins Zeug gelegt, die Weiten des Internets nach hilfreichen Webseiten durchsucht und nützliche Verbesserungsvorschläge unterbreitet.

Matt Wagner, meinem Agenten, verdanke ich den Auftrag zu diesem Buch. Zudem hat er sich um die formellen Details gekümmert, mit denen sich Autoren nur ungern plagen. Dafür stehe ich in seiner Schuld.

Mehrere freiwillige Testleser haben das Buch in seiner Entstehungsphase teilweise oder vollständig gelesen und die Skripte ausprobiert und mir mit wertvollen Ratschlägen zur Seite gestanden. Mehr kann sich ein Autor wirklich nicht wünschen! Ich bedanke mich besonders bei Eva Beattie, Glenn A. Russell, Osvaldo Téllez Almirall und Simone Scardapane, die dieses Projekt immer wieder selbstlos unterstützt haben.

Und zu guter Letzt gilt mein Dank natürlich auch Katie Mohr, Susan Christophersen und dem gesamten Verlagsteam.

Danksagung von Luca Massaron

Mein größter Dank geht an meine Familie – Yukiko und Amelia –, deren Unterstützung und liebevolle Geduld meine Mitarbeit an diesem Buch ermöglicht hat. Außerdem möchte ich mich bei Simone Scardapane, seines Zeichens Dozent an der Universität La Sapienza (Rom) und ebenfalls Google Developer Expert, für seine wertvollen Anregungen beim Schreiben dieses Buchs bedanken.

Einführung

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.

Über dieses Buch

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:

Törichte Annahmen über den Leser

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.

Die offizielle Dokumentation der Python Software Foundation findet sich hier: 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.

Symbole, die in diesem Buch verwendet werden

Wichtige Hinweise oder zusätzliche Informationen in diesem Buch sind durch die folgenden Symbole am Seitenrand gekennzeichnet:

images 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.

images 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.

images 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.

images 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.

Weitere Ressourcen

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.

Wie es weitergeht

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 Codebeispiele höchstwahrscheinlich Probleme und Fehler.

Teil I

Einführung in Deep Learning

image