Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

SiLU (Sigmoid Linear Unit)

SiLU, también llamada Swish, multiplica una entrada por su sigmoide para obtener una activación suave con compuerta propia. Abarca sus matemáticas, origen y comparación con ReLU.

La unidad lineal sigmoide (SiLU) es una función de activación definida como SiLU(x) = x · σ(x), donde σ es la función sigmoide. Deja casi intactas las entradas positivas grandes, lleva las entradas negativas grandes casi a cero y presenta una transición suave entre ambas, con un mínimo de aproximadamente −0,278 en x ≈ −1,278. SiLU es la misma función que Swish con β = 1, y ambos nombres se utilizan indistintamente. Es habitual como opción predeterminada en modelos convolucionales de visión y, dentro del bloque SwiGLU, también activa las capas prealimentadas de muchos modelos de lenguaje grandes (LLM).

Definición y propiedades#

SiLU multiplica cada entrada por una compuerta, σ(x), cuyo valor está entre 0 y 1 y se calcula a partir de la propia entrada; por eso se denomina autoacotada. Su derivada es σ(x) · (1 + x · (1 − σ(x))), y ambas expresiones confieren a SiLU cuatro propiedades que distinguen su comportamiento durante el entrenamiento del de ReLU:

  • Suave en todo el dominio: La curva y su derivada son continuas, sin quiebros en cero, por lo que pequeños cambios en los pesos producen pequeños cambios en la salida, algo adecuado para el descenso del gradiente.
  • Gradiente para entradas negativas: Una unidad cuya entrada es negativa sigue recibiendo un gradiente pequeño, por lo que continúa aprendiendo. Las unidades ReLU cuyas entradas se mantienen negativas no reciben ningún gradiente y pueden dejar de aprender para siempre; este fallo se conoce como ReLU moribunda.
  • No monótona: La salida disminuye ligeramente a medida que x aumenta desde valores muy negativos hasta aproximadamente −1,28, y después aumenta; por tanto, la función no es monótona.
  • Acotada inferiormente y sin cota superior: Las salidas nunca bajan de aproximadamente −0,278 y las entradas positivas pasan sin saturarse, igual que con ReLU, lo que evita el comportamiento de desvanecimiento del gradiente de la sigmoide y la tanh en redes profundas.

El código de PyTorch de abajo calcula SiLU y los gradientes de SiLU y ReLU en cinco puntos.

import torch
import torch.nn.functional as F

x = torch.tensor([-4.0, -1.28, 0.0, 1.0, 4.0], requires_grad=True)

# SiLU(x) = x * sigmoid(x), comparada con ReLU para las mismas entradas
silu = F.silu(x)
relu = F.relu(x)

# Gradiente de cada activación con respecto a su entrada
silu_grad = torch.autograd.grad(silu.sum(), x)[0]
relu_grad = torch.autograd.grad(relu.sum(), x)[0]

print("SiLU output:  ", [round(v, 4) for v in silu.tolist()])
print("SiLU gradient:", [round(v, 4) for v in silu_grad.tolist()])
print("ReLU gradient:", relu_grad.tolist())

Imprime las salidas de SiLU [-0.0719, -0.2785, 0.0, 0.7311, 3.9281], los gradientes de SiLU [-0.0527, -0.0003, 0.5, 0.9277, 1.0527] y los gradientes de ReLU [0.0, 0.0, 0.0, 1.0, 1.0]. En −4, ReLU da una salida de 0 y no transmite ningún gradiente, mientras que SiLU sigue transmitiendo −0,0527. En −1,28, SiLU alcanza su mínimo de −0,2785 con un gradiente prácticamente igual a 0, y en 4 su gradiente supera ligeramente 1.

Origen del nombre#

Hendrycks y Gimpel llamaron unidad lineal sigmoide a x · σ(x) en su artículo de 2016 en el que presentaron GELU. Allí aparecía como una variante de GELU basada en la sigmoide que rendía peor que GELU, pero normalmente mejor que ReLU y ELU. En 2017, Elfwing, Uchibe y Doya utilizaron SiLU para aproximar funciones con redes neuronales en aprendizaje por refuerzo. Ese mismo año, investigadores de Google redescubrieron x · σ(βx) mediante una búsqueda automatizada de funciones de activación, la llamaron Swish e informaron de que sustituir ReLU por ella aumentaba la precisión top-1 de ImageNet un 0,9 % en Mobile NASNet-A y un 0,6 % en Inception-ResNet-v2. PyTorch añadió nn.SiLU en la versión 1.7 con el nombre anterior.

SiLU frente a otras funciones de activación#

  • ReLU: max(0, x) es más barata de calcular, produce ceros exactos y tiene un gradiente constante de 1 para entradas positivas. SiLU añade una sigmoide por elemento a cambio de suavidad y gradientes en el lado negativo.
  • GELU: x · Φ(x), donde Φ es la función de distribución acumulada normal estándar. Ambas curvas tienen la misma forma, y la SiLU escalada x · σ(1,702x) aproxima GELU con un error inferior a aproximadamente 0,02 en todo el dominio. GELU es la opción habitual en Transformers como BERT y ViT, mientras que SiLU es más común en detectores basados en CNN.
  • Sigmoide: σ(x) por sí sola comprime las entradas al intervalo de 0 a 1 y se satura en ambos extremos, por lo que sirve como capa de salida para obtener probabilidades. SiLU la utiliza únicamente como compuerta.
  • Hard-Swish: x · ReLU6(x + 3) / 6, una aproximación de SiLU presentada con MobileNetV3 que sustituye la compuerta sigmoide por una función lineal a trozos y evita la exponencial en hardware móvil.
  • SwiGLU: Unidad lineal con compuerta que multiplica SiLU(xW) elemento a elemento por una segunda proyección xV. Forma el bloque prealimentado de LLaMA y muchos otros LLM.

Dónde se utiliza SiLU#

SiLU, con el nombre de Swish, es la función de activación de EfficientNet y es habitual en los detectores de objetos modernos en tiempo real. Los modelos Ultralytics YOLO utilizan SiLU desde que YOLOv5 v4.0 sustituyó LeakyReLU y Hardswish por esta función en enero de 2021; en YOLO26, cada bloque Conv consta de una convolución, normalización por lotes y SiLU.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático