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 output_mean beeinflusst.
Deaktivieren der Gradientenverfolgung
In bestimmten Fällen empfiehlt sich das Deaktivieren der Gradientenverfolgung, 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
Aufgabe ist der Aufbau eines einfachen neuronalen Netzes in PyTorch. Ziel ist die Berechnung des Gradienten des Loss bezüglich der Gewichtsmatrix.
- Definition einer zufälligen Gewichtsmatrix (Tensor)
Wder Form1x3, initialisiert mit Werten aus einer gleichverteilten Zufallsverteilung über [0, 1], mit aktiviertem Gradienten-Tracking. - Erstellung einer Eingabematrix (Tensor)
Xbasierend auf dieser Liste:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]. - Durchführung der Matrixmultiplikation zwischen
WundXzur Berechnung vonY. - Berechnung des mittleren quadratischen Fehlers (MSE):
loss = mean((Y - Ytarget)
2 ). - Berechnung des Gradienten des Loss (
loss) bezüglichWmittels Backpropagation. - Ausgabe des berechneten Gradienten von
W.
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
Großartig!
Completion Rate verbessert auf 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 output_mean beeinflusst.
Deaktivieren der Gradientenverfolgung
In bestimmten Fällen empfiehlt sich das Deaktivieren der Gradientenverfolgung, 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
Aufgabe ist der Aufbau eines einfachen neuronalen Netzes in PyTorch. Ziel ist die Berechnung des Gradienten des Loss bezüglich der Gewichtsmatrix.
- Definition einer zufälligen Gewichtsmatrix (Tensor)
Wder Form1x3, initialisiert mit Werten aus einer gleichverteilten Zufallsverteilung über [0, 1], mit aktiviertem Gradienten-Tracking. - Erstellung einer Eingabematrix (Tensor)
Xbasierend auf dieser Liste:[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]. - Durchführung der Matrixmultiplikation zwischen
WundXzur Berechnung vonY. - Berechnung des mittleren quadratischen Fehlers (MSE):
loss = mean((Y - Ytarget)
2 ). - Berechnung des Gradienten des Loss (
loss) bezüglichWmittels Backpropagation. - Ausgabe des berechneten Gradienten von
W.
Lösung
Danke für Ihr Feedback!
single