¿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.