| Typ | Entität |
|---|---|
| Kategorie | werkzeug |
| Quellen | Quelle - Neuronale Netze selbst programmieren |
| Erstellt | 2026-09-26 |
| Aktualisiert | 2026-09-27 |
| Tags | software, maschinelles-lernen, python, framework |
Ein verbreitetes Open-Source-Framework für neuronale Netze in Python. Es bietet fertige Bausteine (Schichten, Aktivierungs- und Verlustfunktionen, Optimierer), berechnet Gradienten automatisch und kann das Training auf Grafikprozessoren (GPU) verlagern.
Warum ein Framework
Laut Quelle - Neuronale Netze selbst programmieren (Kap. 4) ist es für echte Projekte mühsam und fehleranfällig, jedes Netz von Grund auf selbst zu programmieren. Frameworks bündeln die wiederkehrenden Teile. Vor allem berechnen sie die Fehlergradienten automatisch, die im selbstgeschriebenen Netz von Hand hergeleitet werden mussten (siehe Backpropagation). Auf einer passenden GPU kann das Training um eine bis zwei Grössenordnungen schneller laufen.
Grundmuster
Das Buch arbeitet in Google Colab (Python-Notebooks im Browser) und baut dasselbe MNIST-Netz wie zuvor:
- Netzklasse erbt von
nn.Module. Die Schichten werden mitnn.Sequentialaufgezählt:nn.Linear(784, 200), Aktivierung,nn.Linear(200, 10), Aktivierung.nn.Linearenthält die Gewichte und einen Bias-Wert, beide lernfähig. - Verlustfunktion (
nn.MSELossodernn.BCELoss) und Optimierer (torch.optim.SGDoderAdam) werden im Konstruktor festgelegt. - Trainingsschritt in drei Zeilen:
optimiser.zero_grad()(alte Gradienten löschen),loss.backward()(Gradienten rückwärts berechnen),optimiser.step()(Gewichte anpassen). Dieses Muster haben fast alle PyTorch-Netze. - Daten kommen über eine eigene Klasse, die von
torch.utils.data.Dataseterbt und__len__und__getitem__bereitstellt. Die Zielwerte werden als One-hot-Vektor (1-aus-n-Codierung) angelegt. - Den Verlauf des Verlusts zeichnet man auf, um zu sehen, ob und wie stabil das Netz lernt.
Verfeinerungen im Buch
| Änderung | Genauigkeit auf MNIST |
|---|---|
| Ausgangsnetz: Sigmoid, MSE, SGD | 87 % |
| Verlust BCE (binäre Kreuzentropie, passend für Klassifikation) | 90 % |
| LayerNorm (Signale normalisieren) | 91 % |
| Aktivierung Leaky ReLU | 97 % |
| Optimierer Adam | 97 % |
| alles kombiniert | etwa 97 % |
Erklärungen in Aktivierungsfunktion und Gradientenverfahren.
PyTorch wurde ursprünglich von Meta (Facebook) entwickelt und ist heute neben TensorFlow/JAX das meistverwendete Framework, auch für grosse Sprachmodelle. Diese Angaben sind Allgemeinwissen und nicht eigens recherchiert. Quelle - Neuronale Netze programmieren mit Python verwendet stattdessen TensorFlow mit Keras und erwähnt PyTorch (torch) nur beim Stable-Diffusion-Beispiel als Bibliothek „mit ähnlichen Leistungen“ (S. 429).
Verwandt
- Künstliches neuronales Netz – was PyTorch baut und trainiert
- Backpropagation – wird von PyTorch automatisch berechnet
- MNIST – Datensatz der Beispiele
- TensorFlow – das andere grosse Framework, im zweiten Buch verwendet
