PyTorch torch.nn.Sigmoid-Funktion
PyTorch torch.nn Referenzhandbuch
torch.nn.SigmoidEs ist die Sigmoid-Aktivierungsfunktion in PyTorch.
Sie bildet Eingabewerte auf Werte zwischen 0 und 1 ab und wird häufig für die binäre Klassifizierung oder als Gate-Steuersignal verwendet.
Funktionsdefinition
torch.nn.Sigmoid()
Mathematisches Prinzip
Sigmoid(x) = 1 / (1 + e^(-x))
Anwendungsbeispiele
Beispiel 1: Grundlegende Verwendung
Beispiel
import torch
import torch.nn as nn
sigmoid = nn.Sigmoid()
x = torch.tensor([-2.0, -1.0, 0.0, 1.0, 2.0])
output = sigmoid(x)
print("Eingabe:", x.tolist())
print("Ausgabe:", output.tolist())
import torch.nn as nn
sigmoid = nn.Sigmoid()
x = torch.tensor([-2.0, -1.0, 0.0, 1.0, 2.0])
output = sigmoid(x)
print("Eingabe:", x.tolist())
print("Ausgabe:", output.tolist())
Beispiel 2: Ausgabe der binären Klassifizierung
Beispiel
import torch
import torch.nn as nn
model = nn.Linear(10, 1)
sigmoid = nn.Sigmoid()
logits = model(torch.randn(4, 10))
probabilities = sigmoid(logits)
print("Logits:", logits.squeeze().tolist())
print("Probability:", probabilities.squeeze().tolist())
print("Vorhersage:", (probabilities > 0.5).squeeze().tolist())
import torch.nn as nn
model = nn.Linear(10, 1)
sigmoid = nn.Sigmoid()
logits = model(torch.randn(4, 10))
probabilities = sigmoid(logits)
print("Logits:", logits.squeeze().tolist())
print("Probability:", probabilities.squeeze().tolist())
print("Vorhersage:", (probabilities > 0.5).squeeze().tolist())
Beispiel 3: nn.functional-Version
Beispiel
import torch
import torch.nn.functional as F
x = torch.randn(4, 10)
output = torch.sigmoid(x)
output2 = F.sigmoid(x)
print("Form:", output.shape)
print("Beide Methoden liefern dasselbe Ergebnis:", torch.allclose(output, output2))
import torch.nn.functional as F
x = torch.randn(4, 10)
output = torch.sigmoid(x)
output2 = F.sigmoid(x)
print("Form:", output.shape)
print("Beide Methoden liefern dasselbe Ergebnis:", torch.allclose(output, output2))
Verwendungsszenarien
- Binäre Klassifikation: Ausgabewahrscheinlichkeit
- Gating-Mechanismus: Informationsfluss steuern
- Wahrscheinlichkeitsausgabe: Szenarien, die einen 0-1-Bereich erfordern
Hinweis: Beim Training tiefer Netzwerke funktioniert ReLU besser; Sigmoid neigt dazu, verschwindende Gradienten zu verursachen.
Andere Erweiterungen