Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Gradienten in PyTorch | Fortgeschrittenere Konzepte
PyTorch-Grundlagen

bookGradienten in PyTorch

Gradienten sind grundlegend bei Optimierungsaufgaben wie dem Training von neuronalen Netzwerken, da sie helfen, Gewichte und Biases anzupassen, um den Fehler zu minimieren. In PyTorch werden sie automatisch mit dem autograd-Modul berechnet, das Operationen auf Tensoren verfolgt und Ableitungen effizient berechnet.

Aktivierung der Gradientenverfolgung

Um die Gradientenverfolgung für einen Tensor zu aktivieren, wird beim Erstellen des Tensors das Argument requires_grad=True verwendet. Dies weist PyTorch an, alle Operationen auf dem Tensor für die Gradientenberechnung zu verfolgen.

1234
import torch # Create a tensor with gradient tracking enabled tensor = torch.tensor(2.0, requires_grad=True) print(tensor)
copy

Aufbau eines Rechenbaums

PyTorch erstellt einen dynamischen Rechenbaum (computational graph), während Operationen an Tensoren mit requires_grad=True durchgeführt werden. Dieser Graph speichert die Beziehungen zwischen Tensoren und Operationen und ermöglicht so die automatische Differenzierung.

Wir beginnen mit der Definition einer einfachen Polynomfunktion:

y = 5x3 + 2x2 + 4x + 8

Das Ziel ist es, die Ableitung bezüglich x an der Stelle x = 2 zu berechnen.

123456
import torch # Define the tensor x = torch.tensor(2.0, requires_grad=True) # Define the function y = 5 * x ** 3 + 2 * x ** 2 + 4 * x + 8 print(f"Function output: {y}")
copy

Die Visualisierung dieses Rechenbaums, erstellt mit der PyTorchViz-Bibliothek, mag auf den ersten Blick komplex erscheinen, vermittelt jedoch effektiv das zugrunde liegende Prinzip:

Gradientenberechnung

Um den Gradienten zu berechnen, muss die Methode backward() auf dem Ausgabetensor aufgerufen werden. Dadurch wird die Ableitung der Funktion bezüglich des Eingabetensors berechnet.

Der berechnete Gradient kann anschließend über das Attribut .grad abgerufen werden.

12345678
import torch x = torch.tensor(2.0, requires_grad=True) y = 5 * x ** 3 + 2 * x ** 2 + 4 * x + 8 # Perform backpropagation y.backward() # Print the gradient of x grad = x.grad print(f"Gradient of x: {grad}")
copy

Der berechnete Gradient ist die Ableitung von y nach x, ausgewertet bei x = 2.

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 1

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 5

bookGradienten in PyTorch

Swipe um das Menü anzuzeigen

Gradienten sind grundlegend bei Optimierungsaufgaben wie dem Training von neuronalen Netzwerken, da sie helfen, Gewichte und Biases anzupassen, um den Fehler zu minimieren. In PyTorch werden sie automatisch mit dem autograd-Modul berechnet, das Operationen auf Tensoren verfolgt und Ableitungen effizient berechnet.

Aktivierung der Gradientenverfolgung

Um die Gradientenverfolgung für einen Tensor zu aktivieren, wird beim Erstellen des Tensors das Argument requires_grad=True verwendet. Dies weist PyTorch an, alle Operationen auf dem Tensor für die Gradientenberechnung zu verfolgen.

1234
import torch # Create a tensor with gradient tracking enabled tensor = torch.tensor(2.0, requires_grad=True) print(tensor)
copy

Aufbau eines Rechenbaums

PyTorch erstellt einen dynamischen Rechenbaum (computational graph), während Operationen an Tensoren mit requires_grad=True durchgeführt werden. Dieser Graph speichert die Beziehungen zwischen Tensoren und Operationen und ermöglicht so die automatische Differenzierung.

Wir beginnen mit der Definition einer einfachen Polynomfunktion:

y = 5x3 + 2x2 + 4x + 8

Das Ziel ist es, die Ableitung bezüglich x an der Stelle x = 2 zu berechnen.

123456
import torch # Define the tensor x = torch.tensor(2.0, requires_grad=True) # Define the function y = 5 * x ** 3 + 2 * x ** 2 + 4 * x + 8 print(f"Function output: {y}")
copy

Die Visualisierung dieses Rechenbaums, erstellt mit der PyTorchViz-Bibliothek, mag auf den ersten Blick komplex erscheinen, vermittelt jedoch effektiv das zugrunde liegende Prinzip:

Gradientenberechnung

Um den Gradienten zu berechnen, muss die Methode backward() auf dem Ausgabetensor aufgerufen werden. Dadurch wird die Ableitung der Funktion bezüglich des Eingabetensors berechnet.

Der berechnete Gradient kann anschließend über das Attribut .grad abgerufen werden.

12345678
import torch x = torch.tensor(2.0, requires_grad=True) y = 5 * x ** 3 + 2 * x ** 2 + 4 * x + 8 # Perform backpropagation y.backward() # Print the gradient of x grad = x.grad print(f"Gradient of x: {grad}")
copy

Der berechnete Gradient ist die Ableitung von y nach x, ausgewertet bei x = 2.

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 1
some-alt