SENet, abréviation de Squeeze-and-Excitation Networks, est une architecture d'apprentissage profond qui améliore la puissance de représentation des réseaux de neurones en modélisant les dépendances entre les canaux. Elle a été introduite en 2018 par Jie Hu, Li Shen et Gang Sun, et a remporté le défi de reconnaissance visuelle à grande échelle ImageNet (ILSVRC) de cette année-là. L'innovation clé est le bloc squeeze-and-excitation (SE), qui recalibre de manière adaptative les réponses des caractéristiques par canal en modélisant explicitement les interdépendances entre les canaux. Ce mécanisme permet au réseau de mettre en avant les caractéristiques informatives et de supprimer celles moins utiles, améliorant la précision avec seulement une augmentation modeste du coût de calcul.
Les blocs SE peuvent être intégrés dans diverses architectures de base, notamment les réseaux résiduels (ResNets), où ils sont insérés dans les blocs résiduels. En appliquant l'attention par canal, SENet obtient des gains de performance significatifs sur les tâches de classification d'images, comme le démontre son taux d'erreur top-1 de 2,25 % sur l'ensemble de données ImageNet, une amélioration substantielle par rapport aux modèles de pointe précédents. L'architecture a également été étendue à d'autres domaines, notamment la détection d'objets et la segmentation sémantique, et a influencé les mécanismes d'attention ultérieurs dans l'apprentissage profond.
Bloc Squeeze-and-Excitation
Le bloc SE opère sur une carte de caractéristiques U de forme H × W × C, où H et W sont les dimensions spatiales et C est le nombre de canaux. Il se compose de deux opérations principales : le squeeze et l'excitation.
Squeeze : Une mise en commun globale moyenne est appliquée sur les dimensions spatiales, produisant un descripteur de canal z de longueur C. Cette opération agrège les informations spatiales globales, capturant la réponse moyenne de chaque canal. Formellement, pour chaque canal c, z_c = (1/(H×W)) Σ_{i=1}^{H} Σ_{j=1}^{W} u_{c}(i,j), où u_c est le c-ième canal de U.
Excitation : Le descripteur de canal est passé à travers un petit mécanisme de gating, typiquement un réseau entièrement connecté à deux couches. La première couche réduit la dimensionnalité à C/r (où r est un taux de réduction, généralement 16), suivie d'une activation ReLU, et la deuxième couche élargit à nouveau à C, suivie d'une activation sigmoïde. Cela produit un ensemble de poids de mise à l'échelle par canal s, où s = σ(W_2 δ(W_1 z)), avec W_1 et W_2 étant des matrices de poids apprises, δ désignant ReLU et σ la fonction sigmoïde.
La sortie finale est obtenue en rééchelonnant la carte de caractéristiques originale : x̂_c = s_c · u_c, où s_c est le poids de mise à l'échelle pour le canal c. Cette recalibration met en avant les canaux les plus informatifs pour la tâche.
Intégration avec les réseaux résiduels
SENet est souvent implémenté en insérant des blocs SE dans les blocs résiduels d'une ResNet. Dans un bloc résiduel standard, l'entrée x est ajoutée à la sortie d'un sous-réseau convolutif F(x), produisant x + F(x). Dans un bloc SE-ResNet, le bloc SE est appliqué à la sortie des couches convolutives avant l'addition résiduelle. Spécifiquement, après la dernière convolution du bloc, la carte de caractéristiques est passée à travers le bloc SE pour produire des caractéristiques recalibrées, qui sont ensuite ajoutées à la connexion de saut.
Cette intégration permet au réseau d'apprendre une attention par canal tout en préservant les avantages des connexions résiduelles, tels que l'entraînement stable et le flux de gradient. Le bloc SE ajoute un petit nombre de paramètres (environ 2C²/r par bloc) et une quantité négligeable de calcul, le rendant efficace pour les réseaux profonds.
Performance et impact
SENet a obtenu un taux d'erreur top-5 de 2,25 % sur le benchmark de classification ImageNet, surpassant le précédent vainqueur, qui avait une erreur top-5 de 2,99 %. Ce résultat a démontré l'efficacité de l'attention par canal pour améliorer la précision. L'architecture a également bien performé sur d'autres benchmarks, notamment CIFAR-10 et CIFAR-100, et a été adaptée pour des tâches telles que la détection d'objets et la segmentation d'instances, où elle a amélioré la précision moyenne (mAP) sur l'ensemble de données COCO.
Le succès de SENet a stimulé la recherche sur les mécanismes d'attention dans les réseaux de neurones. Il a influencé des architectures ultérieures comme l'attention multi-têtes dans les transformeurs, bien que les transformeurs utilisent une forme différente d'attention. Les blocs SE sont désormais un composant courant dans de nombreux modèles de pointe, y compris pour la classification d'images, la segmentation et même le traitement du langage naturel.
Formulation mathématique
Étant donné une carte de caractéristiques d'entrée U, le bloc SE calcule un vecteur de mise à l'échelle s comme décrit. L'opération de squeeze utilise la mise en commun globale moyenne, qui est une forme d'agrégation d'informations spatiales. L'opération d'excitation utilise une architecture en goulot d'étranglement pour capturer les dépendances entre canaux. La mise à l'échelle finale est une simple multiplication élément par élément.
Le taux de réduction r contrôle la capacité du mécanisme de gating. Un r plus petit augmente le nombre de paramètres mais peut améliorer les performances, tandis qu'un r plus grand réduit le coût de calcul. En pratique, r=16 est un choix courant qui équilibre précision et efficacité.
Variantes et extensions
Plusieurs variantes des blocs SE ont été proposées. Par exemple, le bloc squeeze-and-excitation spatial et par canal concurrent (scSE) applique l'attention à la fois sur les dimensions spatiales et les canaux. Une autre variante, le bloc gather-excite (GE), utilise une stratégie d'agrégation différente. Ces extensions visent à améliorer la flexibilité et l'efficacité des mécanismes d'attention.
Les blocs SE ont également été combinés avec d'autres techniques, telles que la normalisation par lots et le dropout, pour stabiliser davantage l'entraînement. Dans certains travaux, les blocs SE sont insérés dans des architectures non résiduelles, comme la U-Net pour la segmentation d'images médicales, produisant des améliorations de performance.
Coût de calcul
L'un des principaux avantages des blocs SE est leur faible surcoût de calcul. Pour un ResNet-50 typique, l'ajout de blocs SE augmente le nombre de paramètres d'environ 10 %, mais n'augmente les opérations en virgule flottante (FLOPs) que de moins de 1 %. Cela rend SENet adapté au déploiement sur des dispositifs à ressources limitées, comme les téléphones mobiles, où l'efficacité est cruciale.
L'opération de squeeze utilise la mise en commun globale moyenne, qui est peu coûteuse en calcul. L'opération d'excitation implique deux couches entièrement connectées, mais le taux de réduction maintient le nombre de paramètres faible. En conséquence, les blocs SE peuvent être ajoutés à presque n'importe quel réseau convolutif sans dégradation significative de la vitesse.
Relation avec les mécanismes d'attention
SENet est souvent décrit comme une forme d'attention par canal, car il apprend à se concentrer sur les canaux importants. Cela est conceptuellement similaire aux mécanismes d'attention dans d'autres domaines, comme les transformeurs dans le traitement du langage naturel, où les poids d'attention sont calculés sur des jetons. Cependant, les blocs SE opèrent sur des cartes de caractéristiques et n'impliquent pas d'attention spatiale. Des travaux ultérieurs, comme le module d'attention par bloc convolutif (CBAM), combinent l'attention par canal et spatiale, s'appuyant sur les idées de SENet.
Le succès de SENet a souligné l'importance de la recalibration des caractéristiques dans l'apprentissage profond. Il a montré que tous les canaux ne sont pas également importants, et qu'apprendre à les pondérer peut conduire à des gains de précision significatifs. Ce principe a été largement adopté dans les architectures modernes.
Héritage et influence
SENet est devenu un composant standard dans de nombreux modèles d'apprentissage profond. Son influence s'étend au-delà de la classification d'images à des domaines comme l'apprentissage profond en général, où les mécanismes d'attention sont désormais omniprésents. L'architecture est souvent utilisée comme référence pour évaluer de nouvelles méthodes d'attention.
Dans le contexte plus large du domaine, SENet a contribué à la tendance d'améliorer les réseaux de neurones par des innovations architecturales plutôt que par l'augmentation de la profondeur ou de la largeur. Il a démontré que des modules soigneusement conçus peuvent produire des améliorations substantielles, inspirant des approches similaires dans d'autres domaines.
Au début des années 2020, les blocs SE restent largement utilisés dans la recherche et l'industrie. Ils sont implémentés dans des frameworks d'apprentissage profond populaires comme TensorFlow et PyTorch, et sont disponibles dans les zoos de modèles. Les principes de squeeze-and-excitation continuent d'informer de nouveaux développements dans les architectures basées sur l'attention.