Quais funções de ativação são aplicadas em CV (Swish/SiLU, Mish, GELU)?
sobes.tech IA
Resposta da IA
Na visão computacional (CV), frequentemente utilizam-se funções de ativação modernas que ajudam a melhorar o treino de redes neurais através de não linearidades mais suaves e adaptativas em comparação com a ReLU clássica.
-
Swish (SiLU) — função de ativação definida como (x \cdot \sigma(x)), onde (\sigma) é a sigmoide. Proporciona um gradiente suave e ajuda a evitar o problema das "neurônias mortas". É frequentemente usada em arquiteturas modernas, como EfficientNet.
-
Mish — semelhante ao Swish, mas com uma fórmula mais complexa: (x \cdot \tanh(\ln(1 + e^x))). Possui propriedades de autorregulação e favorece uma melhor convergência e generalização.
-
GELU (Gaussian Error Linear Unit) — função aproximadamente igual a (x \cdot \Phi(x)), onde (\Phi(x)) é a função de distribuição acumulativa normal. É usada em transformadores e outros modelos, funcionando bem com uma abordagem probabilística na ativação.
Exemplo de uso do Swish no 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 funções ajudam os modelos a aprender melhor e alcançar maior precisão em tarefas de CV, especialmente em redes profundas.