Qu'est-ce qu'EfficientNet ? Un aperçu rapide
Comprends l'architecture EfficientNet et sa magie de mise à l'échelle composée ! Explore EfficientNet B0-B7 pour une efficacité de classification et de segmentation d'image de premier ordre.

En 2019, des chercheurs de Google AI ont présenté EfficientNet, un modèle de computer vision de pointe conçu pour reconnaître des objets et des motifs dans des images. Il a été principalement conçu pour la classification d'images, qui consiste à attribuer une image à l'une de plusieurs catégories prédéfinies. Cependant, aujourd'hui, EfficientNet sert également de base pour des tâches plus complexes telles que la détection d'objets, la segmentation et l'apprentissage par transfert.
Avant EfficientNet, les modèles de machine learning et de vision AI tentaient d'améliorer leur précision en ajoutant davantage de couches ou en augmentant la taille de ces couches. Les couches sont les étapes d'un modèle de réseau de neurones (un type de modèle de deep learning inspiré du cerveau humain) qui traitent les données pour apprendre des motifs et améliorer la précision.
Ces changements créaient un compromis, rendant les modèles AI traditionnels plus lourds et plus lents, alors que le gain de précision était souvent minime par rapport à l'augmentation significative de la puissance de calcul requise.
EfficientNet a adopté une approche différente. Il a augmenté la profondeur (le nombre de couches), la largeur (le nombre d'unités dans chaque couche) et la résolution de l'image (le niveau de détail des images d'entrée) de manière équilibrée. Cette méthode, appelée mise à l'échelle composée, utilise de manière fiable toute la puissance de traitement disponible. Le résultat final est un modèle plus petit et plus rapide qui peut surpasser les anciens modèles tels que ResNet ou DenseNet.
Aujourd'hui, les nouveaux modèles de computer vision tels que Ultralytics YOLO11 offrent une précision, une vitesse et une efficacité supérieures. Malgré tout, EfficientNet reste une étape importante qui a influencé la conception de nombreuses architectures avancées.
Dans cet article, nous allons décortiquer EfficientNet en cinq minutes, en couvrant son fonctionnement, ce qui le rend unique et pourquoi il reste important en vision par ordinateur. C'est parti !
Qu'est-ce qu'EfficientNet ?#
Avant la conception d'EfficientNet, la plupart des modèles de reconnaissance d'images amélioraient leur précision en ajustant leurs couches ou en augmentant la taille des images d'entrée pour capturer plus de détails. Bien que ces stratégies amélioraient les résultats, elles rendaient également les modèles plus lourds et plus exigeants. Cela signifiait qu'ils nécessitaient plus de mémoire et un meilleur matériel.
Au lieu de modifier chaque couche individuellement, EfficientNet ajuste la profondeur, la largeur et la résolution de l'image ensemble grâce à une méthode appelée compound scaling. Cette approche permet au modèle de croître efficacement sans surcharger aucun aspect.
L'architecture d'EfficientNet traite les images à travers une série de blocs, chacun composé de plus petits modules. Le nombre de modules dans chaque bloc dépend de la taille du modèle.

Fig 1. Les blocs de construction d'EfficientNet. (Source)
Les versions plus petites utilisent moins de modules, tandis que les versions plus grandes répètent les modules plus fréquemment. Cette conception flexible permet à EfficientNet d'offrir une précision et une efficacité élevées dans une large gamme d'applications, des appareils mobiles aux systèmes à grande échelle.
Comment fonctionne le compound scaling#
La méthode de compound scaling étend la profondeur, la largeur et la résolution d'image d'un modèle tout en les maintenant en équilibre. Cela permet d'utiliser la puissance de calcul de manière efficace. La série commence par un modèle de base plus petit appelé EfficientNet-B0, qui sert de fondation à toutes les autres versions.
À partir de B0, les modèles augmentent en taille vers des variantes plus grandes nommées EfficientNet-B1 jusqu'à EfficientNet-B7. À chaque étape, le réseau gagne des couches supplémentaires, augmente le nombre de canaux (unités utilisées pour le traitement) et gère des images d'entrée à plus haute résolution. L'ampleur de la croissance à chaque étape est déterminée par un paramètre appelé le compound coefficient, qui garantit que la profondeur, la largeur et la résolution augmentent dans des proportions fixes plutôt qu'indépendamment.

Fig 2. La mise à l'échelle composée augmente la largeur, la profondeur et la résolution de l'image d'un modèle. (Source)
Architecture d'EfficientNet#
Passons maintenant à l'architecture d'EfficientNet.
Il repose sur MobileNetV2, un modèle de vision par ordinateur léger optimisé pour les appareils mobiles et embarqués. Au cœur se trouve le bloc Mobile Inverted Bottleneck Convolution (MBConv), une couche spéciale qui traite les données d'image comme une convolution standard mais avec moins de calculs. Ce bloc rend le modèle à la fois rapide et plus efficace en termes de mémoire.
À l'intérieur de chacun des blocs MBConv se trouve un module squeeze-and-excitation (SE). Ce module ajuste la force des différents canaux dans le réseau. Il augmente la force des canaux essentiels et réduit celle des autres. Le module aide le réseau à se concentrer sur les caractéristiques les plus importantes d'une image, tout en ignorant le reste. Le modèle EfficientNet utilise également une fonction d'activation Swish (une fonction mathématique qui aide le réseau à apprendre des motifs), ce qui l'aide à mieux détecter les motifs dans les images que les méthodes plus anciennes.
Au-delà de cela, il utilise DropConnect, où certaines connexions à l'intérieur du réseau sont désactivées de manière aléatoire pendant l'entraînement. Cette méthode de régularisation stochastique (une technique de randomisation pour empêcher le modèle de mémoriser les données d'entraînement au lieu de généraliser) réduit le surapprentissage en forçant le réseau à apprendre des représentations de caractéristiques plus robustes (des motifs plus forts et plus généraux dans les données) qui se transfèrent mieux aux données inédites.

Fig 3. Architecture d'EfficientNet-B0 (Source)
Un bref aperçu des variantes du modèle EfficientNet#
Maintenant que nous comprenons mieux le fonctionnement des modèles EfficientNet, discutons des différentes variantes.
Les modèles EfficientNet varient de B0 à B7, avec B0 comme base qui équilibre vitesse et précision. Chaque version augmente la profondeur, la largeur et la résolution de l'image, améliorant ainsi la précision. Cependant, elles exigent également plus de puissance de calcul, allant des versions B1 et B2 aux versions B6 et B7 plus performantes.
Alors que les modèles EfficientNet-B3 et EfficientNet-B4 offrent un bon équilibre pour les images plus grandes, B5 est souvent choisi pour des jeux de données complexes nécessitant de la précision. Au-delà de ces modèles, la dernière version, EfficientNet V2, peut améliorer la vitesse d'entraînement, mieux gérer les petits jeux de données et est optimisée pour le matériel moderne.
Applications d'EfficientNet#
EfficientNet peut produire des résultats précis tout en utilisant moins de mémoire et de puissance de traitement que de nombreux autres modèles. Cela le rend utile dans de nombreux domaines, de la recherche scientifique aux produits que les gens utilisent quotidiennement.
Analyse d'images médicales#
Les images médicales, telles que les scanners thoraciques, contiennent souvent des détails subtils qui sont essentiels pour un diagnostic précis. Les modèles d'IA peuvent aider à analyser ces images pour découvrir des motifs qui pourraient être difficiles à détecter pour les humains. Une adaptation d'EfficientNet à cette fin est MONAI (Medical Open Network for AI) EfficientNet, qui est spécifiquement conçu pour l'analyse d'images médicales.
S'appuyant sur l'architecture d'EfficientNet, des chercheurs ont également développé Lung-EffNet, un modèle qui classe les scanners pulmonaires pour détecter des tumeurs. Il peut catégoriser les tumeurs comme bénignes, malignes ou normales, atteignant une précision signalée de plus de 99 % dans des environnements expérimentaux.

Fig 4. Classification d'images de tumeurs à l'aide de Lung-EffNet. (Source)
Détection d'objets en temps réel#
La détection d'objets est le processus qui consiste à trouver des objets dans une image et à déterminer leurs emplacements. C'est un élément clé d'applications telles que les systèmes de sécurité, les voitures autonomes et les drones.
EfficientNet est devenu important dans ce domaine car il offrait un moyen très efficace d'extraire des caractéristiques des images. Sa méthode de mise à l'échelle de la profondeur, de la largeur et de la résolution a montré comment les modèles pouvaient être précis sans être trop lourds ni trop lents. C'est pourquoi de nombreux systèmes de détection, tels que EfficientDet, utilisent EfficientNet comme base.
Des modèles plus récents, tels qu'Ultralytics YOLO11, partagent le même objectif de combiner vitesse et précision. Cette tendance vers des modèles efficaces a été fortement influencée par les idées issues d'architectures comme EfficientNet.
Avantages et inconvénients d'EfficientNet#
Voici quelques avantages de l'utilisation d'EfficientNet dans les projets de vision par ordinateur :
- Haute précision avec moins de paramètres : EfficientNet peut offrir une précision similaire ou supérieure à celle d'anciens modèles comme ResNet ou DenseNet. Cependant, il utilise moins de paramètres, ce qui le rend plus rapide à entraîner et plus facile à déployer.
- Famille de modèles évolutive : Allant de B0 à B7, tu peux choisir une version qui correspond à ton matériel et à tes exigences de précision sans modifier le réseau de base.
- Idéal pour l'apprentissage par transfert : EfficientNet peut offrir des performances de modèle fiables pour l'apprentissage par transfert, qui est le processus de réentraînement d'un modèle pré-entraîné pour une tâche personnalisée. Il peut fonctionner comme une base pour diverses tâches de computer vision. Il a également montré de bons résultats lorsqu'il a été affiné. Par exemple, il a atteint une précision de pointe sur CIFAR-100, un jeu de données de classification d'images largement utilisé, avec beaucoup moins de paramètres que les modèles précédents.
Bien qu'il y ait de nombreux avantages à utiliser EfficientNet, voici quelques limitations à garder à l'esprit :
- Nécessite plus de mémoire : Des versions comme EfficientNet-B6 et EfficientNet-B7 nécessitent beaucoup de mémoire GPU.
- Mise à l'échelle optimisée pour ImageNet : Les paramètres de mise à l'échelle ont été conçus pour le jeu de données ImageNet, de sorte que les performances peuvent chuter sur des jeux de données très différents sans affinement. C'est particulièrement vrai pour les petits jeux de données, car l'architecture et la mise à l'échelle d'EfficientNet ont été conçues pour un jeu de données vaste et diversifié comme ImageNet, qui fournit suffisamment de données pour justifier sa profondeur et sa largeur.
- Plus lent sur certains matériels : EfficientNet utilise des couches appelées MBConv qui sont conçues pour l'efficacité sur le matériel moderne. Sur des GPU ou CPU plus anciens, ces couches peuvent fonctionner plus lentement.
Points clés#
EfficientNet a changé la façon dont les modèles de vision par ordinateur se développent en maintenant la profondeur, la largeur et la résolution d'image en équilibre. Il reste un modèle important et a influencé des architectures plus récentes. En particulier, il occupe une place significative dans l'histoire de la vision par ordinateur.
Rejoins notre communauté et notre répertoire GitHub pour en savoir plus sur l'IA. Consulte nos pages de solutions pour lire des articles sur l'IA dans la santé et le computer vision dans l'automobile. Découvre nos options de licence et commence à créer avec le computer vision dès aujourd'hui !






