Mehrstufige Rückpropagation
Wie Tensorflow ermöglicht auch PyTorch das Erstellen komplexerer Rechen-Graphen mit mehreren Zwischentensoren.
12345678910111213import torch # Create a 2D tensor with gradient tracking x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]], requires_grad=True) # Define intermediate layers y = 6 * x + 3 z = 10 * y ** 2 # Compute the mean of the final output output_mean = z.mean() print(f"Output: {output_mean}") # Perform backpropagation output_mean.backward() # Print the gradient of x print("Gradient of x:\n", x.grad)
Der Gradient von output_mean
bezüglich x
wird mithilfe der Kettenregel berechnet. Das Ergebnis zeigt, wie stark eine kleine Änderung in jedem Element von x
den Wert von output_mean
beeinflusst.
Deaktivierung der Gradientenverfolgung
In bestimmten Fällen kann es sinnvoll sein, die Gradientenverfolgung zu deaktivieren, um Speicher und Rechenleistung zu sparen. Da requires_grad=False
das Standardverhalten ist, kann der Tensor ohne Angabe dieses Parameters erstellt werden:
x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Swipe to start coding
Sie sollen ein einfaches neuronales Netzwerk in PyTorch erstellen. Ziel ist es, den Gradienten des Verlusts bezüglich der Gewichtsmatrix zu berechnen.
- Definieren Sie eine zufällige Gewichtsmatrix (Tensor)
W
der Form1x3
, initialisiert mit Werten aus einer gleichverteilten Zufallsverteilung über [0, 1], mit aktiviertem Gradienten-Tracking. - Erstellen Sie eine Eingabematrix (Tensor)
X
basierend auf dieser Liste:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]
. - Führen Sie eine Matrixmultiplikation zwischen
W
undX
durch, umY
zu berechnen. - Berechnen Sie den mittleren quadratischen Fehler (MSE):
loss = mean((Y - Ytarget)
2 ). - Berechnen Sie den Gradienten des Verlusts (
loss
) bezüglichW
mittels Backpropagation. - Geben Sie den berechneten Gradienten von
W
aus.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 5
Mehrstufige Rückpropagation
Swipe um das Menü anzuzeigen
Wie Tensorflow ermöglicht auch PyTorch das Erstellen komplexerer Rechen-Graphen mit mehreren Zwischentensoren.
12345678910111213import torch # Create a 2D tensor with gradient tracking x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]], requires_grad=True) # Define intermediate layers y = 6 * x + 3 z = 10 * y ** 2 # Compute the mean of the final output output_mean = z.mean() print(f"Output: {output_mean}") # Perform backpropagation output_mean.backward() # Print the gradient of x print("Gradient of x:\n", x.grad)
Der Gradient von output_mean
bezüglich x
wird mithilfe der Kettenregel berechnet. Das Ergebnis zeigt, wie stark eine kleine Änderung in jedem Element von x
den Wert von output_mean
beeinflusst.
Deaktivierung der Gradientenverfolgung
In bestimmten Fällen kann es sinnvoll sein, die Gradientenverfolgung zu deaktivieren, um Speicher und Rechenleistung zu sparen. Da requires_grad=False
das Standardverhalten ist, kann der Tensor ohne Angabe dieses Parameters erstellt werden:
x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Swipe to start coding
Sie sollen ein einfaches neuronales Netzwerk in PyTorch erstellen. Ziel ist es, den Gradienten des Verlusts bezüglich der Gewichtsmatrix zu berechnen.
- Definieren Sie eine zufällige Gewichtsmatrix (Tensor)
W
der Form1x3
, initialisiert mit Werten aus einer gleichverteilten Zufallsverteilung über [0, 1], mit aktiviertem Gradienten-Tracking. - Erstellen Sie eine Eingabematrix (Tensor)
X
basierend auf dieser Liste:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]
. - Führen Sie eine Matrixmultiplikation zwischen
W
undX
durch, umY
zu berechnen. - Berechnen Sie den mittleren quadratischen Fehler (MSE):
loss = mean((Y - Ytarget)
2 ). - Berechnen Sie den Gradienten des Verlusts (
loss
) bezüglichW
mittels Backpropagation. - Geben Sie den berechneten Gradienten von
W
aus.
Lösung
Danke für Ihr Feedback!
Awesome!
Completion rate improved to 5single