Quelles fonctions d'activation sont utilisées en CV (Swish/SiLU, Mish, GELU) ?
sobes.tech IA
Réponse de l'IA
En vision par ordinateur (CV), on utilise souvent des fonctions d’activation modernes qui aident à améliorer l’apprentissage des réseaux neuronaux grâce à des non-linéarités plus lisses et adaptatives par rapport à la ReLU classique.
-
Swish (SiLU) — fonction d’activation définie comme (x \cdot \sigma(x)), où (\sigma) est la sigmoïde. Elle assure un gradient fluide et aide à éviter le problème des "neurones morts". Elle est fréquemment utilisée dans des architectures modernes, comme EfficientNet.
-
Mish — similaire à Swish, mais avec une formule plus complexe : (x \cdot \tanh(\ln(1 + e^x))). Elle possède des propriétés d’autorégulation et favorise une meilleure convergence et généralisation.
-
GELU (Gaussian Error Linear Unit) — fonction approximativement égale à (x \cdot \Phi(x)), où (\Phi(x)) est la fonction de distribution cumulative normale. Elle est utilisée dans les transformateurs et autres modèles, fonctionnant bien avec une approche probabiliste de l’activation.
Exemple d’utilisation 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))
Ces fonctions aident les modèles à mieux apprendre et à atteindre une précision plus élevée dans les tâches de CV, notamment dans les réseaux profonds.