Sobes.tech
Junior — Senior

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.