Sobes.tech
Junior — Senior

¿Qué funciones de activación se aplican en CV (Swish/SiLU, Mish, GELU)?

sobes.tech AI

Respuesta de la IA

En visión por computador (CV), a menudo se utilizan funciones de activación modernas que ayudan a mejorar el entrenamiento de las redes neuronales mediante no linealidades más suaves y adaptativas en comparación con la ReLU clásica.

  • Swish (SiLU) — función de activación definida como (x \cdot \sigma(x)), donde (\sigma) es la sigmoide. Proporciona un gradiente suave y ayuda a evitar el problema de las "neuronas muertas". Se usa frecuentemente en arquitecturas modernas, como EfficientNet.

  • Mish — similar a Swish, pero con una fórmula más compleja: (x \cdot \tanh(\ln(1 + e^x))). Tiene propiedades de autorregulación y favorece una mejor convergencia y generalización.

  • GELU (Gaussian Error Linear Unit) — función aproximadamente igual a (x \cdot \Phi(x)), donde (\Phi(x)) es la función de distribución acumulativa normal. Se usa en transformadores y otros modelos, funcionando bien con un enfoque probabilístico en la activación.

Ejemplo de uso de Swish en PyTorch:

import torch
import torch.nn.functional as F

def swish(x):
    return x * torch.sigmoid(x)

x = torch.tensor([-1.0, 0.0, 1.0, 2.0])
print(swish(x))

Estas funciones ayudan a que los modelos aprendan mejor y alcancen mayor precisión en tareas de CV, especialmente en redes profundas.