Quelle - Neuronale Netze programmieren mit Python

Aus Zweites Gehirn, dem persönlichen Wiki
Quelle - Neuronale Netze programmieren mit Python
TypQuelle
Rohdateisources/Neuronale_Netze_mit_Python __ Copy 5ed8-wxnq-uv67-ckzb.pdf (nur lokal, per .gitignore vom Repository ausgeschlossen)
AutorRoland Schwaiger und Joachim Steinwendner
VerlagRheinwerk Verlag, Bonn
Datum_quelle2024 (3. Auflage, Vorwort September 2024, PDF Dezember 2024; 1. Auflage 2019)
FormatPDF (lizenziertes E-Book mit persönlichem Wasserzeichen), 516 Seiten, mit Textebene
Erstellt2026-09-27
Aktualisiert2026-09-27
Tagsneuronale-netze, maschinelles-lernen, deep-learning, python, tensorflow, buch

Praxisbuch von Roland Schwaiger und Joachim Steinwendner (Rheinwerk, 3. Auflage 2024): vom Perzeptron über selbst programmierte Backpropagation zu Faltungsnetzen und Transformern mit TensorFlow 2 und Hugging Face. Der zweite Teil behandelt Biologie, Geschichte, den Machine-Learning-Prozess mit Ethik und Feature Engineering, Lernverfahren und Praxisbeispiele.

Lizenz

Das PDF ist ein auf den Nutzer lizenziertes E-Book mit persönlichem Wasserzeichen. Die Nutzungsbedingungen erlauben nur den persönlichen Gebrauch und verbieten die Weitergabe „weder ganz noch in Teilen“ (S. 3). Die Rohdatei liegt deshalb nur lokal in sources/ und ist per .gitignore vom Repository ausgeschlossen, wie die beiden anderen Bücher. Die Wiki-Seiten fassen in eigenen Worten zusammen und zitieren Code nur in kurzen Zeilen.

Einordnung der Quelle

  • Die Autoren arbeiten nach eigener Angabe seit rund 25 Jahren mit neuronalen Netzen (S. 13). Joachim Steinwendner ist am Laboratory for Web Science der Fernfachhochschule Schweiz tätig (S. 14), also an der Schule, an der der Nutzer 2002–2004 studierte.
  • Die 3. Auflage ergänzt vor allem Transformer, Hugging Face, generative KI und Ethik. Das Vorwort dazu entstand laut Titel „in Kooperation mit einem Transformer Neural Network“ (S. 17).
  • Code in Jupyter Notebooks, empfohlen wird Google Colab. Frameworks: NumPy, scikit-learn, TensorFlow 2 mit Keras, Hugging Face Transformers.
  • Im Vergleich zu Quelle - Neuronale Netze selbst programmieren (Rashid) ist das Buch breiter: Es behandelt neben dem Grundnetz auch CNN, Transformer, Lernarten, Datenaufbereitung und Geschichte. Rashid ist dafür mathematisch sorgfältiger.

Aufbau der Quelle

Seiten Kapitel Eingeflossen in
19–45 Einleitung: Bienenkönigin-Netz, biologisches und künstliches Neuron, KI/ML/Deep Learning, Turing-Test, symbolisch vs. subsymbolisch Künstliches neuronales Netz, Maschinelles Lernen, Geschichte der neuronalen Netze
49–72 Starterkit: Anaconda, Jupyter, Colab, Python-Module –
73–141 Perzeptron, Perzeptron-Lernen, scikit-learn-Estimator, Adaline Perzeptron, Linearer Klassifikator
143–198 Mehrschichtiges Netz (XOR), Gradientenabstieg, Backpropagation in NumPy, ein Lernschritt von Hand Perzeptron, Gradientenverfahren, Backpropagation, Aktivierungsfunktion
199–231 Tiefe Netze: CNN, Transformer, Momentum/Adam, Early Stopping, Dropout Faltungsnetz, Transformer, Gradientenverfahren, Überanpassung, Aktivierungsfunktion
233–265 TensorFlow 2: CNN für MNIST, Transfer Learning mit Inception-v3, Hugging Face Faltungsnetz, MNIST, ImageNet, Transformer, Hugging Face
269–281 Vom Hirn zum Netz: Nervensystem, Neuron, Synapse, Aktionspotenzial Künstliches neuronales Netz
283–308 Evolution der KNN 1943–2017, Hopfield-Netz mit Code Geschichte der neuronalen Netze
309–354 Machine-Learning-Prozess: CRISP-DM, Ethik und Recht, Feature Engineering Feature Engineering, KI-Ethik
355–390 Lernverfahren: überwacht, unüberwacht (SOM), verstärkend (Q-Learning), teilüberwacht, Konfusionsmatrix, ROC Maschinelles Lernen, Verstärkendes Lernen
391–431 Praxis: Regression, Bienen/Hummeln-CNN, Katzen/Hunde mit Transfer Learning, DeepDream, Gradio Faltungsnetz, Hugging Face
435–495 Anhänge: Python kompakt (mit k-NN), Mathematik kompakt, TensorFlow 2 und Keras Mustererkennung, Perzeptron, TensorFlow

Kernaussagen

  1. Ein Neuron ist gewichtete Summe plus Schwelle. Das Perzeptron lernt linear trennbare Aufgaben sicher (Konvergenztheorem), scheitert aber an XOR. Adaline rechnet den Fehler vor der Stufenfunktion und bleibt dadurch auch bei überlappenden Klassen stabil. Mehrere Perzeptronen in Schichten lösen XOR (Perzeptron).
  2. Lernen heisst Fehler minimieren. Der Gradientenabstieg geht gegen die Steigung des quadratischen Fehlers, Backpropagation verteilt den Fehler mit der transponierten Gewichtsmatrix nach hinten. Das Buch programmiert beides in NumPy (Gradientenverfahren, Backpropagation).
  3. Tiefe Netze brauchen besondere Architekturen und Tricks. Faltungsnetze nutzen lokale Filter mit geteilten Gewichten und Pooling (Faltungsnetz). Transformer betrachten mit Self-Attention alle Tokens gleichzeitig (Transformer). ReLU, Glorot/He-Initialisierung, Adam, Early Stopping und Dropout machen das Training tiefer Netze erst möglich (Aktivierungsfunktion, Überanpassung).
  4. Vortrainierte Netze ersparen das Training. Transfer Learning mit Inception-v3 erkennt einen Schäferhund zu 92 % und unterscheidet Katzen und Hunde zu etwa 97 % (ImageNet, Hugging Face).
  5. Das Netz ist nur ein Teil des Prozesses. Nach CRISP-DM kostet die Datenaufbereitung am meisten Zeit (Feature Engineering). Fairness, Erklärbarkeit, Energieverbrauch und Recht müssen schon im Geschäftsverständnis geklärt werden (KI-Ethik).

Bewertung

Einordnung (Claude)

Das Buch ist didaktisch locker (viele österreichische Wendungen, Aufgaben mit Lösungen) und gut für den Einstieg in die Praxis mit Frameworks. Die mathematischen Formeln sind im PDF grösstenteils als Bilder eingebettet und waren in der Textebene nicht lesbar. Rechenbeispiele liessen sich deshalb nur teilweise prüfen. Viele Codebeispiele stammen aus der 1. Auflage (2019, TensorFlow 2.0) und nutzen heute veraltete Aufrufe, z.B. fit_generator, RMSprop(lr=…), OneHotEncoder(sparse=…), plt.style.use('seaborn-whitegrid') (nicht eigens geprüft).

Nachgerechnet und korrekt: Trenngerade x₂ = −x₁ + 9 (S. 110), Gradienten-Annäherung an 12 bzw. −12 bei x² (S. 166), Gradientenabstieg Tabelle 6.2 (Fehler 2,42, Gradient −0,44, Gewicht −6,31 nach 10 Schritten, S. 171), XOR-Gewichte des MLP (OR, NAND, AND mit ±20/±30, S. 161), Parameterzahl des MNIST-CNN (192 202 ≈ „nahezu 200 000“, S. 240), Hopfield-Kapazität 0,14 · 10 = 1,4 (S. 294), Parameterzahlen des Keras-Beispiels (160 + 2112 + 195 = 2467, S. 493).

Fehler und Ungenauigkeiten in der Quelle
  • California-Housing-Beispiel (S. 391–394): Der Text beschreibt die Merkmale des Boston-Datensatzes (Kriminalitätsrate, Schüler/Lehrer-Verhältnis, Stickoxide) und spricht von 13 Eingängen, der California-Datensatz hat 8. Der Zielwert ist in 100 000 Dollar angegeben, das Buch multipliziert mit 10 000 und kommt auf einen „mittleren Hauspreis“ von 20 686 statt rund 207 000 Dollar. Die Fehlerwerte (MSE 27,6, MAE 3,4) passen zu Boston, nicht zu diesem Datensatz, und der Mittelwert heisst einmal 20 685, einmal 23 000 Dollar.
  • Normalverteilung (S. 214): Zwischen −σ und +σ liegen 68,26 %, nicht 64,26 %. Die Abbildung daneben zeigt korrekt 2 × 34,13 %.
  • Parameterzahlen (S. 212): ResNet50 hat rund 25 Millionen Parameter, nicht 2,4 Millionen (Einordnung Claude, Allgemeinwissen).
  • Inception-v3 (S. 253, 256, 265): preprocess_input skaliert auf −1 bis +1, nicht auf 0 bis 1. Das zeigt schon die Buchausgabe selbst (219 → 0,7176 = 219/127,5 − 1). Die Referenz arXiv 1409.4842 ist das GoogLeNet-Paper (Inception v1), nicht Inception-v3.
  • ImageNet (S. 250): Der Trainingsdatensatz der ILSVRC hat rund 1,2 Millionen Bilder, nicht 150 000 (so auch Quelle - Recherche - Bildverarbeitung heute 2026). AlexNet wird im Text mit 15,3 %, in der Abbildung mit 16,4 % Fehler angegeben.
  • Q-Learning (S. 355): wird als „Schmankerl für das Supervised Learning“ angekündigt, gehört aber zum verstärkenden Lernen, wie das Buch später selbst schreibt.
  • Adaline (S. 129): Die Fehlerberechnung heisst dort „Root Mean Square (RMS)“, gemeint ist der quadratische Fehler bzw. Least Mean Square (LMS), wie S. 137 und 288 richtig sagen.
  • make_blobs (S. 127–128): n_samples ist die Gesamtzahl der Punkte (hier 100, also 50 je Klasse), n_features die Zahl der Merkmale, nicht der Kategorien.
  • Label Encoding (S. 327–328): Der LabelEncoder nummeriert alphabetisch (befriedigend = 0 … sehr gut = 4), die Reihenfolge der Schulnoten aus Tabelle 11.1 geht damit gerade verloren. Die Listing-Überschrift spricht von Haarfarbe, kodiert werden die Noten.
  • BinaryEncoder (S. 330): Er macht kein One-Hot-Encoding, sondern schreibt die Kategorie-Nummer als Binärzahl in wenige Spalten.
  • Recht (S. 323): Die DSGVO erlaubt Datenbearbeitung nicht nur mit ausdrücklicher Zustimmung, sondern auf mehreren Rechtsgrundlagen (z.B. Vertrag, berechtigtes Interesse). Der „Legal AI Act“ heisst EU AI Act (KI-Verordnung) und war im September 2024 nicht mehr nur vorgeschlagen, sondern seit August 2024 in Kraft (Einordnung Claude, nicht eigens recherchiert).
  • Jahreszahlen uneinheitlich: Perzeptron 1957 (S. 84), 1958 (S. 287), Konvergenztheorem 1959 (S. 481). Backpropagation 1985 (S. 175) und 1986 (S. 302). Urform des CNN 1998 (S. 201) und 1989 (S. 302).
  • Kleinigkeiten: „Kigma“ statt Kingma (S. 228, 231), „Halber White“ statt Halbert White (S. 482), TensorFlow „1.10 bis 1.18“ (es gab nur bis 1.15, S. 488), tf.Variable() ohne Wert (S. 488), tensorflow-gpu als eigenes Paket ist veraltet (S. 486), Listing mit 25 statt 30 Iterationen (S. 116), range(1,8) liefert sieben statt acht Quadratzahlen (S. 447), „Transfer Neural Networks“ statt Transformer (S. 230), im Iris-Entscheidungsbaum steht zweimal „Blütenblattbreite“, wo die Länge gemeint ist (S. 319), Hidden-Layer-Eingang „Output des Hidden Layers“ statt des Input Layers (S. 160).

Neu angelegte Seiten

Verwandt