Glosario

SiLU (Unidad lineal sigmoidea)

Descubre cómo la función de activación SiLU (Swish) aumenta el rendimiento del aprendizaje profundo en tareas de IA como la detección de objetos y la PNL.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

La unidad lineal sigmoidea (SiLU), también conocida como función Swish, es una función de activación utilizada en las redes neuronales (NN). Las funciones de activación son componentes críticos que introducen la no linealidad en la red, permitiéndole aprender patrones complejos a partir de los datos. SiLU fue desarrollada por investigadores de Google Brain y ha ganado popularidad debido a su eficacia en diversas tareas de aprendizaje profundo, superando a menudo a funciones más antiguas como ReLU en modelos más profundos.

Relevancia y ventajas

La importancia de SiLU proviene de sus propiedades únicas, que pueden mejorar el rendimiento del modelo y la dinámica de entrenamiento. A diferencia de la función ReLU, ampliamente utilizada, SiLU es suave y no monótona. Esto significa que su salida no aumenta estrictamente con su entrada, lo que le permite modelar funciones más complejas. La suavidad ayuda a la optimización basada en el gradiente, evitando cambios bruscos durante el entrenamiento. Las investigaciones, incluido el artículo original de Swish, sugieren que sustituir ReLU por SiLU puede mejorar la precisión de la clasificación en conjuntos de datos difíciles como ImageNet, sobre todo en redes muy profundas. Su mecanismo de auto-regulación ayuda a regular el flujo de información, mitigando potencialmente problemas como el del gradiente evanescente.

Comparación con otras funciones de activación

SiLU ofrece un perfil diferente en comparación con otras funciones de activación habituales:

  • ReLU (Unidad Lineal Rectificada): Más sencilla y eficiente desde el punto de vista computacional, pero puede sufrir el problema de la "ReLU moribunda", en la que las neuronas se vuelven inactivas. La ReLU es monótona y no suave en cero.
  • ReLU con fugas: Una mejora de ReLU que aborda el problema de la neurona moribunda permitiendo un gradiente pequeño y distinto de cero para las entradas negativas. Al igual que ReLU, Leaky ReLU es monotónico.
  • GELU (Unidad lineal de error gaussiano): Otra función de activación suave, utilizada a menudo en modelos transformadores. GELU pondera las entradas por su magnitud en lugar de hacerlo sólo por el signo, como ReLU. SiLU puede considerarse una alternativa suave que a veces funciona mejor empíricamente. Puedes encontrar una visión general de las funciones de activación para más comparaciones.

Aplicaciones de SiLU

SiLU es versátil y se ha aplicado con éxito en diversos ámbitos en los que se utilizan modelos de aprendizaje profundo:

  • Detección de Objetos: Modelos modernos de detección de objetos, incluidas arquitecturas relacionadas con Ultralytics YOLOa menudo incorporan SiLU o funciones de activación avanzadas similares para mejorar la precisión de la identificación y localización de objetos en imágenes o vídeos. Esto mejora el rendimiento en aplicaciones que van desde la conducción autónoma a la analítica del comercio minorista, contribuyendo a una mejor comprensión de la evaluación de los modelos.
  • Procesamiento del Lenguaje Natural (PLN): SiLU puede utilizarse dentro de arquitecturas de transformadores y otros modelos de PLN para tareas como la clasificación de textos, la traducción automática y el análisis de sentimientos. Sus propiedades pueden ayudar al modelo a captar patrones lingüísticos intrincados, mejorando las capacidades de comprensión y generación. Explora más aplicaciones PLN.
  • Clasificación de imágenes: En las Redes Neuronales Convolucionales (CNN ) profundas diseñadas para la clasificación de imágenes, SiLU puede sustituir a las capas ReLU, lo que a menudo conduce a una mejor convergencia y precisión final, especialmente a medida que aumenta la profundidad de la red. Esto es relevante cuando se trabaja con conjuntos de datos como COCO.

SiLU está disponible en los principales marcos de aprendizaje profundo como PyTorch (como torch.nn.SiLUdocumentado aquí) y TensorFlow (como tf.keras.activations.swishdocumentado aquí). Plataformas como Ultralytics HUB ayuda formación y despliegue de modelos que utilizan componentes tan avanzados.

Leer todo