Schwaiger / Steinwendner | Neuronale Netze programmieren mit Python | E-Book | sack.de
E-Book

E-Book, Deutsch, 510 Seiten

Reihe: Rheinwerk Computing

Schwaiger / Steinwendner Neuronale Netze programmieren mit Python


3. Auflage 2025
ISBN: 978-3-367-10256-3
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection

E-Book, Deutsch, 510 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-367-10256-3
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



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


Dr. Roland Schwaiger ist in so manchen Bereichen der IT-Welt zuhause - Entwickler, Dozent, Forscher und Autor. In seinem Buch 'Schrödinger programmiert ABAP' oder 'Neuronale Netze programmieren mit Python' verbindet er technisches Know-how mit einem lockeren, humorvollen Stil, der selbst komplexe Themen verständlich und unterhaltsam macht. Seine berufliche Reise begann nach dem Studium der Informatik und Mathematik an der Bowling Green State University (Ohio, USA) und der Universität Salzburg, wo er in Mathematik/Informatik promovierte. Als Softwareentwickler bei der SAP AG in Walldorf sammelte er praktische Erfahrungen im Bereich Human Resources, bevor er sich der Wirtschaft und anwendungsbezogenen Projekten widmete. Seit Anfang 2000 unterrichtet Dr. Schwaiger an Fachhochschulen, Universitäten und für SAP. Dort bringt er Studierenden und Schulungsteilnehmern die Feinheiten der ABAP-Programmierung und Themen wie künstliche Intelligenz näher. Seine angewandte Forschung dreht sich um Künstliche Neuronale Netze, Evolutionäre Algorithmen und innovative Ansätze in der Softwareentwicklung. Als Geschäftsführer der NoR GmbH, einem Unternehmen mit Fokus auf SAP-HCM, SAP-Technologien und KI, bringt er Praxis und Forschung zusammen. Ob in Vorlesungen, Workshops oder seinem Buch - Dr. Schwaiger vermittelt nicht nur Wissen, sondern auch Begeisterung für die Welt der Informatik.
Schwaiger / Steinwendner Neuronale Netze programmieren mit Python jetzt bestellen!

Weitere Infos & Material


Vorwort ... 13  Vorwort zur 2. Auflage ... 16  Vorwort zur 3. Auflage (in Kooperation mit einem Transformer Neural Network) ... 17  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 ... 32  1.7 ... Einordnung und der Rest ... 36  1.8 ... Zusammenfassung ... 45  1.9 ... Referenzen ... 45

TEIL I.  Up and running ... 47  2.  Das minimale Starterkit für die Entwicklung von neuronalen Netzen mit Python ... 49  2.1 ... Die technische Entwicklungsumgebung ... 49  2.2 ... Zusammenfassung ... 72  3.  Ein einfaches neuronales Netz ... 73  3.1 ... Vorgeschichte ... 73  3.2 ... Her mit dem neuronalen Netz! ... 73  3.3 ... Neuron-Zoom-in ... 77  3.4 ... Stufenfunktion ... 82  3.5 ... Perceptron ... 84  3.6 ... Punkte im Raum -- Vektorrepräsentation ... 85  3.7 ... Horizontal und vertikal -- Spalten- und Zeilenschreibweise ... 92  3.8 ... Die gewichtete Summe ... 95  3.9 ... Schritt für Schritt -- Stufenfunktionen ... 95  3.10 ... Die gewichtete Summe reloaded ... 96  3.11 ... Alles zusammen ... 97  3.12 ... Aufgabe: Roboterschutz ... 100  3.13 ... Zusammenfassung ... 103  3.14 ... Referenzen ... 103  4.  Lernen im einfachen Netz ... 105  4.1 ... Vorgeschichte: Man lässt planen ... 105  4.2 ... Lernen im Python-Code ... 106  4.3 ... Perceptron-Lernen ... 107  4.4 ... Trenngerade für einen Lernschritt ... 110  4.5 ... Perceptron-Lernalgorithmus ... 112  4.6 ... Die Trenngeraden bzw. Hyperplanes oder auch Hyperebenen für das Beispiel ... 117  4.7 ... scikit-learn-kompatibler Estimator ... 120  4.8 ... scikit-learn-Perceptron-Estimator ... 127  4.9 ... Adaline ... 129  4.10 ... Zusammenfassung ... 139  4.11 ... Referenzen ... 141  5.  Mehrschichtige neuronale Netze ... 143  5.1 ... Ein echtes Problem ... 143  5.2 ... XOR kann man lösen ... 145  5.3 ... Vorbereitungen für den Start ... 150  5.4 ... Der Plan für die Umsetzung ... 152  5.5 ... Das Setup (»class«) ... 153  5.6 ... Die Initialisierung (»__init__«) ... 155  5.7 ... Was für zwischendurch (»print«) ... 158  5.8 ... Die Auswertung (»predict«) ... 159  5.9 ... Die Verwendung ... 161  5.10 ... Zusammenfassung ... 162  6.  Lernen im mehrschichtigen Netz ... 163  6.1 ... Wie misst man einen Fehler? ... 163  6.2 ... Gradientenabstieg an einem Beispiel ... 165  6.3 ... Ein Netz aus sigmoiden Neuronen ... 174  6.4 ... Der coole Algorithmus mit Vorwärts-Delta und Rückwärts-Propagation ... 176  6.5 ... Ein fit-Durchlauf ... 189  6.6 ... Zusammenfassung ... 198  6.7 ... Referenz ... 198  7.  Beispiele für tiefe neuronale Netze ... 199  7.1 ... Convolutional Neural Networks ... 199  7.2 ... Transformer Neural Networks ... 216  7.3 ... Das Optimierungsverfahren ... 226  7.4 ... Overfitting verhindern ... 228  7.5 ... Zusammenfassung ... 230  7.6 ... Referenzen ... 231  8.  Programmierung von Deep Neural Networks mit TensorFlow 2 ... 233  8.1 ... Convolutional Networks zur Handschriftenerkennung ... 233  8.2 ... Transfer Learning mit Convolutional Neural Networks ... 249  8.3 ... Transfer Learning mit Transformer Neural Networks ... 259  8.4 ... Zusammenfassung ... 264  8.5 ... Referenzen ... 265

TEIL II.  Deep Dive ... 267  9.  Vom Hirn zum Netz ... 269  9.1 ... Ihr Gehirn in Aktion ... 270  9.2 ... Das Nervensystem ... 270  9.3 ... Das Gehirn ... 271  9.4 ... Neuronen und Gliazellen ... 274  9.5 ... Eine Übertragung im Detail ... 276  9.6 ... Darstellung von Zellen und Netzen ... 279  9.7 ... Zusammenfassung ... 280  9.8 ... Referenzen ... 281

10.  Die Evolution der künstlichen neuronalen Netze ... 283  10.1 ... Die 1940er-Jahre ... 284  10.2 ... Die 1950er-Jahre ... 286  10.3 ... Die 1960er-Jahre ... 288  10.4 ... Die 1970er-Jahre ... 288  10.5 ... Die 1980er-Jahre ... 289  10.6 ... Die 1990er-Jahre ... 303  10.7 ... Die 2000er-Jahre ... 303  10.8 ... Die 2010er-Jahre ... 304  10.9 ... Zusammenfassung ... 307  10.10 ... Referenzen ... 307

11.  Der Machine-Learning-Prozess ... 309  11.1 ... Das CRISP-DM-Modell ... 309  11.2 ... Ethische und rechtliche Aspekte ... 313  11.3 ... Feature Engineering ... 324  11.4 ... Zusammenfassung ... 353  11.5 ... Referenzen ... 354

12.  Lernverfahren ... 355  12.1 ... Lernstrategien ... 355  12.2 ... Werkzeuge ... 384  12.3 ... Zusammenfassung ... 389  12.4 ... Referenzen ... 390

13.  Anwendungsbereiche und Praxisbeispiele ... 391  13.1 ... Warmup ... 391  13.2 ... Bildklassifikation ... 394  13.3 ... Erträumte Bilder ... 415  13.4 ... Deployment mit vortrainierten Netzen ... 426  13.5 ... Zusammenfassung ... 430  13.6 ... Referenzen ... 431  Anhang ... 433  A ... Python kompakt ... 435  B ... Mathematik kompakt ... 465  C ... TensorFlow 2 und Keras ... 485  Index ... 497


Vorwort


Über das Buch, die Macher und die Motivation dahinter.

Nach über zwei Jahren Arbeit an dem Buch haben wir es geschafft und haben endlich die Dinge »ausgespeichert«, die wir loswerden wollten. Wir beide, Joachim und Roland haben natürlich das Buchprojekt und unsere Zeitkontingente maßlos unter- bzw. überschätzt. Aber natürlich hatten wir einen guten Grund, uns selbst zu belügen: Wir wollten, ja, wir mussten aus innerem Antrieb unsere Erfahrung aus den letzten, sagen wir mal, 25 Jahren aufs Papier bringen.

In dieser Zeit hat sich viel im Bereich der neuronalen Netze getan. Damals haben wir damit begonnen, Frameworks in C(++) zu entwickeln, um überhaupt durch Parallelität die Berechnungen für die (Mini-)Netze durchführen zu können. Inzwischen, in Zeiten von TensorFlow und GPU-Berechnungen, ist das unvorstellbar.

Wir sind tatsächlich sehr begeistert von den unglaublichen Angeboten für Entwickler, die es derzeit gibt. Python und das Jupyter Notebook gehören unbedingt dazu. All das möchten wir Ihnen auf sehr praktische Art und Weise vorstellen – zugegebenermaßen eine spannende Aufgabe für uns beide. Und natürlich gehört/gehören die Geschichte(n) der Neuronalen Netze für das tiefere Verständnis auch dazu. Diese wird und werden sicher nicht zu kurz kommen.

Zu einem richtigen Vorwort gehören unbedingt Danksagungen. Das werden wir jetzt gleich mal erledigen, aber zuvor noch einige einleitende Sätze, warum wir das tun:

Schreiben ist für uns wie das Erstellen eines Halbfertigproduktes. Dabei muss aus dem Rohmaterial das Halbfertigprodukt erzeugt werden. Das Rohmaterial haben wir Autoren meistens im Kopf, jedoch der Weg auf das Papier ist der steinige, der ohne die Lektoren und die anderen Mitarbeiter des Verlags kaum gelingen kann. Geduld und Beharrlichkeit sind in dieser Phase der Schlüssel zum Erfolg. Und die kann schon mal etwas länger dauern als initial gedacht.

Ist das Halbfertigprodukt erst mal geliefert, läuft es weiter wie am Schnürchen, und es dauert nicht mehr lange, bis die glücklichen Autoren »ihr« Buch in der Hand halten können und damit beim Fertigprodukt angekommen sind. Das Marketing läuft, auch ohne Zutun des Autors, und macht Hoffnung auf gute Verkäufe. In unserem Fall ist diese Hoffnung verknüpft mit einem punktgenauen Marketing, sodass unser Buch genau dort landet, wo es landen soll, nämlich beim potenziellen Kunden. Und so sind wir nun bei Ihnen angekommen, lieber Leser, und freuen uns darauf, Ihnen spannende Inhalte zu präsentieren, und das hoffentlich auf unterhaltsame Art und Weise.

Wir möchten uns von Herzen bedanken bei

  • Almut Poll, unserer unermüdlichen Lektorin, die mit Kompetenz und Beharrlichkeit uns von Verlagsseite her unterstützt, die richtigen Leute kennt und auch mal auf den Inhalt losgeht, wenn es denn sein muss – danke, Almut.

  • Johannes Ernesti und Peter Kaiser dafür, dass sie auch während ihrer heißen Dissertationsphase Zeit hatten, das Buchkonzept zu lesen, und wertvolle Hinweise zur Umstrukturierung lieferten – danke, Johannes und Peter.

  • Christoph Meister für das unermüdliche Streben nach Perfektion und die Unterstützung von Almut – danke, Christoph.

  • Philipp Fischbeck für das fachliche Lektorat, das dem Buch so richtig gutgetan und uns angeregt hat, einige Dinge inhaltlich zu überdenken und neu darzustellen (Buchtipp: »Fit fürs Studium – Informatik« von Arne Boockmeyer, Philipp Fischbeck, Stefan Neubert, Rheinwerk Verlag, 2017) – danke, Philipp.

  • Petra Biedermann für die spitze Feder und den sprachlichen Schliff – danke, Petra.

  • Und allen, die emsig im Hintergrund arbeiten und das Buch entstehen lassen – danke euch allen!

Ich, Joachim Steinwendner, möchte mich zuallererst bei meiner geduldigen Familie bedanken. Bei meiner Frau Julia, die mich bei solchen Projekten unterstützt und meine manchmal durch Stress geprägte Laune ausgleicht. Natürlich geht mein Dank an meine drei Buben, Emil, Clemens und Anton, die mir auch zu Hause (manchmal) die nötige Ruhe zum Arbeiten verschafft und mich mit der Frage »Wann wird’s denn endlich fertig?« ständig angetrieben haben.

Auch möchte ich meinen Kolleginnen und Kollegen des Laboratory for Web Science der Fernfachhochschule Schweiz danken, die mir die Zeit und Unterstützung durch Diskussionen und Ermutigungen zu diesem Buch gegeben haben.

Ich, Roland Schwaiger, darf mich wieder einmal bei meiner Familie für die Zeit und Geduld während des Buchprojekts bedanken, und das natürlich im Speziellen bei meiner Frau Ursula, die stetig den Alltag managt und für die nötige Konstanz der Familie sorgt. Danke, Ursula, dafür – ohne dieses solide Fundament wäre solch ein Projekt nicht zu schaffen!

Waren meine früheren Buchprojekte eher Einzelarbeit, so freue ich mich darüber, dass unsere Kinder Elisa, Marie und Nico diesmal für diverse Aufgaben »eingespannt« werden konnten. Danke, Elisa und Marie, für das Probelesen und eure Korrekturen, die dem Buch sprachlich und inhaltlich zum Vorteil gereichten. Danke an Nico für das Herumspielen mit dem Code, das natürlich – so wie es sein sollte – einige Fehler zutage brachte.

Ein großes Dankeschön geht außerdem an Helmut A. Mayer, mit dem ich Themen rund um künstliche neuronale Netze und genetische Algorithmen seit vielen Jahren auf immer wieder neue Art und Weise betrachten und diskutieren darf. Danke für die Gespräche; ich freue mich jetzt schon auf das nächste.

Sünikon und Bad Dürrnberg, im Oktober 2019

Joachim Steinwendner und Roland Schwaiger

Vorwort zur 2. Auflage


1. Auflage: »Leder sind wir«.
2. Auflage: »Luder sind wir«.
3. Auflage: »Leider sind wir«.
4. Auflage: »Leda sind wir«.
5. Auflage: »Lieder sind wirr«.
– Ulrich Erckenbrecht (*1947), deutscher Schriftsteller

Wenn man im Bereich des maschinellen Lernens, der künstlichen Intelligenz und der neuronalen Netze arbeitet und die Unmenge an Literatur zu diesem Thema sieht, so beschleicht einen schnell mal das Gefühl, als wäre das schon ubiquitäres Wissen. Wer interessiert sich da noch für unser Buch?

Die Autoren dieser 2. Auflage, Roland Schwaiger und Joachim Steinwendner, wurden eines Besseren belehrt, und wir waren geradezu überwältigt vom Feedback, das wir von unseren geschätzten Lesern erhalten haben.

Für das möchten wir uns aufs Allerherzlichste bedanken, und wir haben jede Rückmeldung analysiert und in diese 2. Auflage einfließen lassen. Und beim Downloadmaterial haben wir die Struktur noch deutlicher gemacht.

Am liebsten würden wir ja jeden Mitarbeiter des Rheinwerk Verlags und jeden einzelnen Leser mit ihren wertvollen und motivierenden Kommentaren hier aufführen, das würde jedoch die Seitenanzahl in unendliche Weiten treiben. Aus diesem Grund verbleiben die Autoren mit einem einzigen großgeschriebenen

DANKE!

Sünikon und Bad Dürrnberg, im Jänner 2020

Joachim Steinwendner und Roland Schwaiger

Vorwort zur 3. Auflage (in Kooperation mit einem Transformer Neural Network)


Die Zahl 3 – wie ein gutes Buch: Der Anfang entfacht die Neugier, der Mittelteil fordert die Gedanken heraus, und das Ende hinterlässt uns verändert.

Mit großer Dankbarkeit und Demut blicken wir auf die Entwicklungen der letzten vier Jahre zurück, in denen sich das Feld der künstlichen Intelligenz, insbesondere durch den sprunghaften Fortschritt generativer Modelle, dramatisch gewandelt hat. Als wir die zweite Auflage dieses Buches veröffentlichten, ahnten wir nicht, in welchem Ausmaß Technologien wie generative neuronale Netze, Transformer-Modelle und große Sprachmodelle (wie GPT und Co.) das Feld des maschinellen Lernens revolutionieren würden.

Die vergangenen Jahre haben gezeigt, dass das, was einst als futuristische Vision galt, heute allgegenwärtige Realität ist. Generative Modelle sind mittlerweile nicht nur Forschungsgegenstand, sondern prägen aktiv den Alltag: von der automatischen Texterstellung über Bilderzeugung bis hin zu kreativen Anwendungen, die neue Horizonte eröffnen. Für uns als Autoren war es faszinierend und herausfordernd zugleich, mit diesen rasanten Entwicklungen Schritt zu halten und die Auswirkungen auf die Praxis in dieser neuen Auflage aufzugreifen.

Unser tief empfundener Dank gilt Ihnen, unseren Leserinnen und Lesern, die uns auf diesem Weg begleitet haben. Ihre Rückmeldungen, Fragen und Anregungen waren uns in dieser Zeit eine wichtige Quelle der Inspiration und Motivation. Sie haben uns gezeigt, dass auch in einem derart schnell wachsenden Feld ein tieferes Verständnis und strukturierte Wissensvermittlung weiterhin hoch geschätzt werden. Diese dritte Auflage spiegelt nicht nur den technologischen Fortschritt wider, sondern auch Ihre wertvollen Beiträge und Anregungen.

Ein besonderer Dank gilt außerdem dem Team des Rheinwerk Verlags, das uns in dieser aufregenden Zeit mit unermüdlichem Einsatz unterstützt hat. Wir haben versucht, die...


Schwaiger, Roland
Dr. Roland Schwaiger ist in so manchen Bereichen der IT-Welt zuhause – Entwickler, Dozent, Forscher und Autor. In seinem Buch „Schrödinger programmiert ABAP“ oder "Neuronale Netze programmieren mit Python" verbindet er technisches Know-how mit einem lockeren, humorvollen Stil, der selbst komplexe Themen verständlich und unterhaltsam macht.

Seine berufliche Reise begann nach dem Studium der Informatik und Mathematik an der Bowling Green State University (Ohio, USA) und der Universität Salzburg, wo er in Mathematik/Informatik promovierte. Als Softwareentwickler bei der SAP AG in Walldorf sammelte er praktische Erfahrungen im Bereich Human Resources, bevor er sich der Wirtschaft und anwendungsbezogenen Projekten widmete.

Seit Anfang 2000 unterrichtet Dr. Schwaiger an Fachhochschulen, Universitäten und für SAP. Dort bringt er Studierenden und Schulungsteilnehmern die Feinheiten der ABAP-Programmierung und Themen wie künstliche Intelligenz näher. Seine angewandte Forschung dreht sich um Künstliche Neuronale Netze, Evolutionäre Algorithmen und innovative Ansätze in der Softwareentwicklung.

Als Geschäftsführer der NoR GmbH, einem Unternehmen mit Fokus auf SAP-HCM, SAP-Technologien und KI, bringt er Praxis und Forschung zusammen. Ob in Vorlesungen, Workshops oder seinem Buch – Dr. Schwaiger vermittelt nicht nur Wissen, sondern auch Begeisterung für die Welt der Informatik.

Steinwendner, Joachim
Prof. Dr. Joachim Steinwendner ist Forschungsfeldleiter für Digital GeoHealth an der Fernfachhochschule Schweiz mit einer fundierten Expertise in Data Science, Maschinellem Lernen, Empfehlungssystemen und Deep Learning. Seine Forschungsarbeit umfasst die Entwicklung und Anwendung Künstlicher Intelligenz, insbesondere Neuronaler Netze, in den Domänen der Gesundheits- und Geoinformatik. Als Dozent an verschiedenen Hochschulen (unter anderem der ETH Zürich) legt er großen Wert darauf, komplexe KI-Technologien didaktisch ansprechend und verständlich zu vermitteln, um Studierende für diese Themen zu begeistern und praxisnah auf die Herausforderungen der digitalen KI-Transformation vorzubereiten.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.