Découvre comment la fonction d'activation SiLU (Swish) booste les performances de l'apprentissage profond dans les tâches d'IA telles que la détection d'objets et le NLP.
SiLU (Sigmoid Linear Unit), également connue sous le nom de fonction Swish, est une fonction d'activation utilisée dans les modèles d'apprentissage profond (DL), en particulier dans les réseaux neuronaux (NN). Elle a été proposée par des chercheurs de Google et a gagné en popularité en raison de son efficacité à améliorer les performances des modèles par rapport aux fonctions d'activation traditionnelles comme ReLU et Sigmoïde. SiLU est appréciée pour sa douceur et ses propriétés non monotones, qui peuvent aider à l'écoulement du gradient et à l'optimisation du modèle. Pour une compréhension plus large, voir un aperçu général des fonctions d'activation.
SiLU offre plusieurs avantages qui contribuent à son efficacité dans les modèles d'apprentissage profond :
SiLU se distingue des autres fonctions d'activation courantes :
max(0, x)
) et linéaire pour les valeurs positives mais souffre du problème du "dying ReLU" où les neurones peuvent devenir inactifs pour les entrées négatives. Voir un Explication de ReLU. SiLU est lisse et évite ce problème grâce à sa sortie non nulle pour les valeurs négatives.SiLU est polyvalent et a été appliqué avec succès dans divers domaines où des modèles d'apprentissage profond sont utilisés :
SiLU est facilement disponible dans les principaux cadres d'apprentissage profond :
torch.nn.SiLU
, avec les Documentation PyTorch pour SiLU disponibles.tf.keras.activations.swish
ou tf.keras.activations.silu
documenté dans le Documentation TensorFlow pour SiLU.Des plateformes comme Ultralytics HUB prennent en charge la formation des modèles et l'exploration de diverses options de déploiement pour les modèles utilisant des composants avancés comme SiLU. La recherche continue et les ressources d'organisations telles que DeepLearning.AI aident les praticiens à tirer parti de ces fonctions de manière efficace.
Comment fonctionne SiLU
SiLU est défini comme le produit de l'entrée et de la Sigmoïde appliquée à l'entrée. Essentiellement ,
SiLU(x) = x * sigmoid(x)
. Cette formulation permet à SiLU d'agir comme un mécanisme d'autorégulation, où la composante sigmoïde détermine la mesure dans laquelle l'entrée linéairex
est traversée. Lorsque la sortie sigmoïde est proche de 1, l'entrée passe à travers presque inchangée (similaire à ReLU pour les valeurs positives), et lorsqu'elle est proche de 0, la sortie est supprimée vers zéro. Contrairement à ReLU, SiLU est lisse et non monotone (il peut diminuer même lorsque l'entrée augmente), des propriétés dérivées de son Détails de la fonction sigmoïde composant. Le concept a été détaillé dans le papier Swish original.