Neuronale Netze programmieren mit Python

Ihre Einführung in Künstliche Intelligenz. Inkl. KI-Lernumgebung und TensorFlow-Einstieg. Ausgabe 2020
Buch | Softcover
479 Seiten
2020 | 2. Auflage
Rheinwerk (Verlag)
978-3-8362-7450-0 (ISBN)

Lese- und Medienproben

Neuronale Netze programmieren mit Python - Joachim Steinwendner, Roland Schwaiger
29,90 inkl. MwSt
Geniale Ideen einfach erklärt:
  • Schneller Einstieg mit allen Python- und Mathegrundlagen
  • Lernalgorithmen, Aktivierungsfunktionen, Backpropagation
  • Inkl. Online-Lernumgebung und Einstieg in TensorFlow

Neuronale Netze stehen im Mittelpunkt, wenn es um Künstliche Intelligenz und Machine Learning geht. Sie revolutionieren Bild- und Spracherkennung, Spiele-KIs und vieles mehr. Zum Glück lassen sich die genialen Ideen dahinter einfach erklären. Um sie zu verstehen und einzusetzen, programmieren Sie verschiedene Netztypen selbst nach! Und zwar in Python, der Hauptsprache der KI-Welt. Sie werden sich dabei mit Mathematik und Programmierung befassen, brauchen aber keine konkreten Vorkenntnisse.

Grundlagen
Für Ihren leichten Einstieg haben die Autoren eine Lernumgebung vorbereitet, erläutern alle mathematischen Konzepte von Grund auf und fangen mit einfachen Neuronalen Netzen an. Python-Crashkurs inklusive.

Praxis, Praxis, Praxis
Die Theorie ist in diesem Fall wirklich wichtig. Aber dann entwickeln Sie selbst, und zwar verschiedene Netztypen – und wenden sie auf verschiedene Fragestellungen an.

Die Maschinen lernen lassen
Neuronale Netze müssen trainiert werden, und dabei kommt es auf das Wie an! Lernen Sie direkt am Beispiel, Fallstricke zu umgehen, Trainingsdaten geschickt zu nutzen, Werkzeuge auszuwählen und die Trefferquoten ihrer Modelle zu erhöhen.

Aus dem Inhalt:
Die Grundidee hinter Neuronalen Netzen
Ein einfaches Neuronales Netz aufbauen
Neuronale Netze trainieren
Überwachtes und unüberwachtes Lernen
Einführung in TensorFlow
Kompaktkurs Python
Wichtige mathematische Grundlagen
Reinforcement Learning
Verschiedene Netzarten und ihre Anwendungsbereiche
Back Propagation
Deep Learning
Werkzeuge für Data Scientists

Dr. Joachim Steinwendner ist wissenschaftlicher Projektleiter mit den Schwerpunkten Data Science, Maschinelles Lernen, Empfehlungssysteme und Deep Learning. Er hat die Entwicklung der Neuronalen Netze vom zukunftsweisenden Forschungssujet bis zur heutigen Alltagsrelevanz wissenschaftlich und für verschiedenen Branchen begleitet.

Dr. Roland Schwaiger ist Softwareentwickler, freiberuflicher Trainer und Berater. Die Entwicklung künstlicher Neuronaler Netze hat der promovierte Mathematiker viele Jahre über als Forscher begleitet und im Bereich Bilderkennung angewandt. Bei seiner Arbeit legt er Wert darauf, Theorie und Praxis zu verbinden. Ob als Autor, Kundenberater oder in seinen Seminaren – er ist begeistert, wenn der Funke überspringt.

Vorwort zur 2. Auflage ... 13

Materialien zum Buch ... 14

Vorwort ... 15

1. Einleitung ... 19

1.1 ... Wozu neuronale Netze? ... 19

1.2 ... Über dieses Buch ... 20

1.3 ... Der Inhalt kompakt ... 22

1.4 ... Ist diese Biene eine Königin? ... 25

1.5 ... Ein künstliches neuronales Netz für den Bienenstaat ... 26

1.6 ... Von der Biologie zum künstlichen Neuron ... 31

1.7 ... Einordnung und der Rest ... 36

1.8 ... Zusammenfassung ... 43

1.9 ... Referenzen ... 44

Teil I. Up and running ... 45

2. Das minimale Starterkit für die Entwicklung von neuronalen Netzen mit Python ... 47

2.1 ... Die technische Entwicklungsumgebung ... 47

2.2 ... Zusammenfassung ... 67

3. Ein einfaches neuronales Netz ... 69

3.1 ... Vorgeschichte ... 69

3.2 ... Her mit dem neuronalen Netz! ... 69

3.3 ... Neuron-Zoom-in ... 73

3.4 ... Stufenfunktion ... 78

3.5 ... Perceptron ... 80

3.6 ... Punkte im Raum -- Vektorrepräsentation ... 81

3.7 ... Horizontal und vertikal -- Spalten- und Zeilenschreibweise ... 88

3.8 ... Die gewichtete Summe ... 91

3.9 ... Schritt für Schritt -- Stufenfunktionen ... 91

3.10 ... Die gewichtete Summe reloaded ... 92

3.11 ... Alles zusammen ... 93

3.12 ... Aufgabe: Roboterschutz ... 96

3.13 ... Zusammenfassung ... 99

3.14 ... Referenzen ... 99

4. Lernen im einfachen Netz ... 101

4.1 ... Vorgeschichte: Man lässt planen ... 101

4.2 ... Lernen im Python-Code ... 102

4.3 ... Perceptron-Lernen ... 103

4.4 ... Trenngerade für einen Lernschritt ... 106

4.5 ... Perceptron-Lernalgorithmus ... 108

4.6 ... Die Trenngeraden bzw. Hyperplanes oder auch Hyperebenen für das Beispiel ... 113

4.7 ... scikit-learn-kompatibler Estimator ... 116

4.8 ... scikit-learn-Perceptron-Estimator ... 123

4.9 ... Adaline ... 126

4.10 ... Zusammenfassung ... 136

4.11 ... Referenzen ... 137

5. Mehrschichtige neuronale Netze ... 139

5.1 ... Ein echtes Problem ... 139

5.2 ... XOR kann man lösen ... 141

5.3 ... Vorbereitungen für den Start ... 147

5.4 ... Der Plan für die Umsetzung ... 149

5.5 ... Das Setup ("class") ... 150

5.6 ... Die Initialisierung ("__init__") ... 152

5.7 ... Was für zwischendurch ("print") ... 154

5.8 ... Die Auswertung ("predict") ... 155

5.9 ... Die Verwendung ... 157

5.10 ... Zusammenfassung ... 159

6. Lernen im mehrschichtigen Netz ... 161

6.1 ... Wie misst man einen Fehler? ... 161

6.2 ... Gradientenabstieg an einem Beispiel ... 163

6.3 ... Ein Netz aus sigmoiden Neuronen ... 172

6.4 ... Der coole Algorithmus mit Vorwärts-Delta und Rückwärts-Propagation ... 174
6.5 ... Ein "fit"-Durchlauf ... 187

6.6 ... Zusammenfassung ... 196

6.7 ... Referenz ... 196

7. Convolutional Neural Networks ... 197

7.1 ... Aufbau eines CNN ... 199

7.2 ... Der Kodierungsblock ... 200

7.3 ... Der Prädiktionsblock ... 207

7.4 ... Trainieren von Convolutional Neural Networks ... 209

7.5 ... Zusammenfassung ... 218

7.6 ... Referenzen ... 219

8. Programmierung von Convolutional Neural Networks mit TensorFlow 2 ... 221

8.1 ... Convolutional Networks zur Handschriftenerkennung ... 221

8.2 ... Transfer Learning mit Convolutional Neural Networks ... 237

8.3 ... Zusammenfassung ... 246

8.4 ... Referenzen ... 247

Teil II. Deep Dive ... 249

9. Vom Hirn zum Netz ... 251

9.1 ... Ihr Gehirn in Aktion ... 251

9.2 ... Das Nervensystem ... 252

9.3 ... Das Gehirn ... 253

9.4 ... Neuronen und Gliazellen ... 255

9.5 ... Eine Übertragung im Detail ... 257

9.6 ... Darstellung von Zellen und Netzen ... 260

9.7 ... Zusammenfassung ... 262

9.8 ... Referenzen ... 263

10. Die Evolution der neuronalen Netze ... 265

10.1 ... 1940er ... 265

10.2 ... 1950er ... 268

10.3 ... 1960er ... 270

10.4 ... 1970er ... 270

10.5 ... 1980er ... 271

10.6 ... 1990er ... 284

10.7 ... 2000er ... 285

10.8 ... 2010er ... 285

Die Fachpresse zur Vorauflage:

LINUX MAGAZIN: »Eine rundum gelungene, recht gründliche und gut verständliche Einführung ins maschinelle Lernen mit neuronalen Netzen.«

iX - Magazin für professionelle Informationstechnik: »Entwickler bekommen hier eine Menge Theorie inklusive der mathematischen Grundlagen serviert (...). «

Erscheinungsdatum
Reihe/Serie Rheinwerk Computing
Verlagsort Bonn
Sprache deutsch
Maße 172 x 230 mm
Einbandart kartoniert
Themenwelt Informatik Programmiersprachen / -werkzeuge Python
Informatik Theorie / Studium Künstliche Intelligenz / Robotik
Schlagworte Algorithmus Algoritmus • Deep-Learning • Einsteiger KI-Programmierung • Entwicklung Entwickeln • Hand-Buch lernen Grundlagen • Java • KNN • Künstliche Intelligenz • Künstliche Intelligenz • machine-learning • Mathematik • Programmieren • Python • Technik • Tensor-Flow • Theorie Praxis
ISBN-10 3-8362-7450-7 / 3836274507
ISBN-13 978-3-8362-7450-0 / 9783836274500
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich