Neuronale Netze programmieren mit Python -  Joachim Steinwendner,  Roland Schwaiger

Neuronale Netze programmieren mit Python (eBook)

eBook Download: EPUB
2020 | 2. Auflage
479 Seiten
Rheinwerk Computing (Verlag)
978-3-8362-7452-4 (ISBN)
Systemvoraussetzungen
20,93 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

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.

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


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 (...). «

1.3    Der Inhalt kompakt


Wir befinden uns jetzt in der Einleitung, in der wir Sie für neuronale Netze, Python und das Experimentieren mit unserem Buch motivieren wollen. In diesem Abschnitt liefern wir eine thematische Einordnung der neuronalen Netze in das weite Gebiet der künstlichen Intelligenz. Wir erläutern Begriffe, Konzepte und Zusammenhänge wie künstliche Intelligenz, Machine Learning (ML) und Data Science.

Nach der Lektüre dieses Abschnitts haben Sie den Blick eines Vogels und sind eingenordet. Aus der Vogelperspektive haben Sie dann auch bereits die wichtigsten Wege kennengelernt, Netze zu trainieren, und Sie wissen, wie Netze lernen. Wir zeigen Ihnen die wichtigsten Lernverfahrenüberwachtes, unüberwachtes und verstärkendes Lernen – mit ihren Anwendungsgebieten an konkreten Beispielen.

Danach geht’s in den praktischen Teil I des Buches. Dieser Teil ist zum Mitmachen gedacht, und darüber hinaus werden wir uns die Zeit nehmen, die Themen mit Theorie leicht verdaulich zu verknüpfen. Es ist für uns wichtig, dass Sie die Ergebnisse praktisch erarbeiten und dadurch einen intimen, intuitiven Zugang zum Wissen über die internen Vorgänge in Netzen erhalten. Zu dem Zweck werden wir u. a. die nötigen Werkzeuge für die Programmierung installieren, den Aufbau und die Auswertungsberechnungen im Netz programmieren und die Visualisierung der Ergebnisse umsetzen. Schritt für Schritt und in Form von leicht verständlichen Tutorials werden wir Sie sogar bis zur Programmierung der Lernalgorithmen von neuronalen Netzen ohne und unter Zuhilfenahme der TensorFlow-Bibliothek geleiten.

Kapitel 2 ist für die Installation und Einrichtung der benötigten Entwicklungswerkzeuge gedacht. Sie lernen die Data-Science-Plattform Anaconda, die Programmierumgebung Jupyter und die ersten Zeilen Python kennen. Dies wird ein wichtiges Grundlagenkapitel, da die Fertigkeiten, die Sie im Umgang mit der webbasierten, interaktiven Programmierumgebung Jupyter Notebook erarbeiten, Ihnen die darauffolgenden Programmierschritte erleichtern werden.

In Kapitel 3 beschreiben wir einfache neuronale Netze und Schritt für Schritt den Weg, Berechnungen mit diesen auszuführen. Sie werden natürlich selbst den Code für diese Netze mithilfe eines Jupyter Notebooks implementieren.

Dem Perceptron, einem Neuronenmodell, das bis heute die Grundlage der KNN darstellt, ist Kapitel 4 gewidmet. Dazu nehmen wir uns Aufgabenstellungen vor, die ganz einfach gesagt darin bestehen, Dinge in Gruppen einzuteilen, wie zum Beispiel festzustellen, ob eine Biene eine Königin ist oder nicht oder ob eine E-Mail Spam ist oder nicht. Bei der Diskussion des Perceptrons werden wir gewisse Schwachstellen dieses Neuronenmodells entdecken, wie zum Beispiel jene, dass eine mögliche Lösung für eine Aufgabenstellung nicht stabil erlernt werden kann. Das bedeutet: Obwohl das Perceptron bereits einmal die richtige Antwort zu einer Frage gelernt hat, wird diese Antwort durch neue Beispiele wieder »vergessen«. Das ist in vielen Fällen eine nicht befriedigende Situation, und darum beschreiben wir als eine mögliche Gegenmaßnahme zum Gedächtnisverlust des Perceptrons die Implementierung eines weiteren Netzes, das sogenannte Adaline. Das Adaline bleibt nicht nur stabil, sondern merkt sich die erlernten Antworten. Sich etwas merken ist eine Voraussetzung für Lernen – und so ist Adaline ein simples Beispiel, wie Lernen auch bei großen neuronalen Netzen funktioniert. Sie werden viel Neues dabei erfahren, wie zum Beispiel, was ein quadratischer Fehler ist und wie er beim Lernen von Nutzen sein kann.

In Kapitel 5 werden wir uns der Lösung einer historischen Aufgabenstellung für Perceptrons widmen, dem sogenannten XOR-Problem. XOR, das Exklusiv-Oder, steht für eine bestimmte logische Verknüpfung, so wie AND oder OR. So viel sei bereits an dieser Stelle verraten: Das XOR-Problem ist ein unlösbares Problem für das Perceptron. Dies führte dazu, dass die Forschung im Bereich der neuronalen Netze eine Zeit lang auf Eis lag. Jedoch hat sich eine Lösung aufgetan, und diese lautet: Nimm mehrere Perceptrons, ordne sie in Schichten, und staple sie übereinander. Und genau so werden Sie die Lösung des XOR-Problems kennenlernen und implementieren.

Mit dieser Anpassung lernen die KNN, auch komplexere Aufgabenstellungen vorzunehmen, bei denen keine eindeutige Zuordnung zu einer Gruppe möglich ist; denken Sie zum Beispiel an die Unterscheidung von drei Arten von Bienen: der Königin, den Drohnen und den Arbeiterinnen. Wenn Sie die Länge der Bienenkörper messen, werden sich Gruppen aufgrund der Länge herauskristallisieren, jedoch wird es auch immer Bienen geben, die nicht eindeutig einer Gruppe zuzuordnen sind.

Kapitel 6 hat es in sich, da wir das Lernen in mehrschichtigen Netzen selbst realisieren werden. Damit werden Sie ein tiefes Verständnis für die inneren Abläufe in KNN erlangen. Dazu wird etwas Mathematik benötigt, die natürlich, wie versprochen, im Anhang zu finden ist und in diesem Kapitel in Teilen diskutiert wird. In diesem Zuge werden Sie die Bedeutung von so schönen Begriffen wie Gradientenabstieg, Feed-forward-Berechnung, Backpropagation bis zur Ausgabeschicht, Backpropagation bis zur verborgenen Schicht, Korrektur der Gewichtungen, Backpropagation in Matrixform erlernen. Lauter spannende Dinge, die Sie mithilfe von numpy – einem Python-Modul für mathematische Berechnungen – implementieren werden.

Kapitel 7 führt Sie logisch weiter zu den sogenannten Convolutional Neural Networks (CNN), die hauptsächlich in der aktuellen maschinellen Verarbeitung von Bild- und Audiodateien eingesetzt werden. Die CNN stellen eine spezielle mehrschichtige Feed-forward-Netzwerkarchitektur dar und sind eigentlich der Inbegriff für tiefe neuronale Netze (Deep Neural Nets) bzw. Deep Learning.

Während in Kapitel 7 noch eher theoretische Erläuterungen im Vordergrund stehen, widmet sich Kapitel 8 der Anwendung dieses Wissens. Ein einfaches Beispiel für den Durchlauf der Schichten wird zur Vertiefung des Wissens herangezogen. Dazu verwenden wir unter anderem den Klassiker unter den Bilderkennungsaufgaben, die Erkennung von handgeschriebenen Ziffern.

Kapitel 8 setzt also unser Wissen aus dem vorherigen Kapitel um. Dieses Kapitel verwendet Python-Bibliotheken, um Sie, sehr geehrter Leser, zu Ihrem eigenen, modernen neuronalen Netz, das State of the Art ist, zu führen. Aufgrund der Entwicklungskomplexität einer vollständig selbst implementierten Python-Lösung für neuronale Netze greifen wir auf die bereits erwähnte Open-Source-Bibliothek TensorFlow zurück.

In Teil II, »Deep Dive«, erfahren Sie noch mehr rund um das Thema neuronale Netze. Dazu gehören die biologischen Hintergründe, die Forschungsgeschichte der KNN und ein Überblick über die verschiedenen Anwendungsbereiche von neuronalen Netzen.

In Kapitel 9 werden wir ausgehend von der Biologie die Bestandteile von künstlichen neuronalen Netzen erläutern: Soma, Dendriten, Axon, Zellkörper, Aktionspotenzial … Wir verfolgen damit den Plan, dass Sie in die Lage versetzt werden, eigene Experimente durchzuführen, die Elemente von neuronalen Netzen verändern. Vielleicht wollen Sie die Neuronen biologienäher modellieren oder tiefer in die Biologie eintauchen – wir wollen den Anfang Ihres Weges für Sie ebnen.

In Kapitel 10 zeigen wir Ihnen die unterschiedlichsten Netzwerkarchitekturen. Derzeit sind Deep Learning und CNN in aller Munde, jedoch gibt es auch andere Netze, die Ihre Fantasie anregen und das eigenständige Experimentieren fördern sollten. Dazu folgt ein Ausflug in die Geschichte der Netze, wobei wir das bereits Besprochene in den historischen Kontext setzen. Wir haben es uns nicht nehmen lassen, einen weiteren Klassiker, das sogenannte Hopfield-Netzwerk, zu implementieren. Dieser Netztyp gehört zur Klasse der Netze mit Rückkopplung (bzw. Feedback-Netze). Seine Einsatzmöglichkeiten, zum Beispiel das Erkennen von Gegenständen in verrauschten Bildern, sind vielfältig.

Kapitel 11 erläutert die Aspekte des Machine-Learning-Prozesses im Zusammenhang mit neuronalen Netzen. Dieses Kapitel greift einen wesentlichen Aspekt auf – den Umgang mit den Daten. Wir haben bisher schön vorbereitete Daten verwendet. Im Leben eines Data Scientist ist jedoch die Aufbereitung von Daten für Machine-Learning-Algorithmen oder neuronale Netze das tägliche, oft mühsame Brot. Diese Aufbereitung wird auch als...

Erscheint lt. Verlag 28.5.2020
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Informatik Theorie / Studium Künstliche Intelligenz / Robotik
ISBN-10 3-8362-7452-3 / 3836274523
ISBN-13 978-3-8362-7452-4 / 9783836274524
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Wasserzeichen)
Größe: 35,5 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
der Praxis-Guide für Künstliche Intelligenz in Unternehmen - Chancen …

von Thomas R. Köhler; Julia Finkeissen

eBook Download (2024)
Campus Verlag
38,99
Wie du KI richtig nutzt - schreiben, recherchieren, Bilder erstellen, …

von Rainer Hattenhauer

eBook Download (2023)
Rheinwerk Computing (Verlag)
17,43