Función torch.nn.Sigmoid de PyTorch
Manual de referencia de PyTorch torch.nn
torch.nn.SigmoidEs la función de activación sigmoide en PyTorch.
Asigna los valores de entrada a un rango entre 0 y 1, frecuentemente usada para clasificación binaria o como señal de control de compuertas.
Definición de la función
torch.nn.Sigmoid()
Principio matemático
Sigmoid(x) = 1 / (1 + e^(-x))
Ejemplo de uso
Ejemplo 1: Uso básico
Ejemplo
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("Entrada:", x.tolist())
print("Salida:", 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("Entrada:", x.tolist())
print("Salida:", output.tolist())
Ejemplo 2: Salida de clasificación binaria
Ejemplo
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("Probabilidad:", probabilities.squeeze().tolist())
print("Predicción:", (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("Probabilidad:", probabilities.squeeze().tolist())
print("Predicción:", (probabilities > 0.5).squeeze().tolist())
Ejemplo 3: Versión nn.functional
Ejemplo
import torch
import torch.nn.functional as F
x = torch.randn(4, 10)
output = torch.sigmoid(x)
output2 = F.sigmoid(x)
print("Forma:", output.shape)
print("Los dos métodos producen el mismo resultado:", torch.allclose(output, output2))
import torch.nn.functional as F
x = torch.randn(4, 10)
output = torch.sigmoid(x)
output2 = F.sigmoid(x)
print("Forma:", output.shape)
print("Los dos métodos producen el mismo resultado:", torch.allclose(output, output2))
Escenarios de uso
- Clasificación binaria: probabilidad de salida
- Mecanismo de compuerta: control del flujo de información
- Salida de probabilidad: escenarios que requieren el rango 0-1
Nota: Al entrenar redes profundas, ReLU funciona mejor; Sigmoid puede provocar la desaparición del gradiente.
Otras extensiones