Comprendre l'architecture EfficientNet et sa magie de mise à l'échelle composite ! Explorez EfficientNet B0-B7 pour une efficacité de classification et de segmentation d'images de premier ordre.

Comprendre l'architecture EfficientNet et sa magie de mise à l'échelle composite ! Explorez EfficientNet B0-B7 pour une efficacité de classification et de segmentation d'images de premier ordre.
En 2019, des chercheurs de Google AI ont présenté EfficientNet, un modèle de vision artificielle de pointe conçu pour reconnaître les objets et les motifs dans les images. Il a été principalement conçu pour la classification d'images, qui consiste à attribuer une image à l'une des plusieurs catégories prédéfinies. Cependant, aujourd'hui, EfficientNet sert également de base à des tâches plus complexes telles que la détection d'objets, la segmentation et l'apprentissage par transfert.
Avant EfficientNet, ces modèles d'apprentissage automatique et de Vision IA essayaient d'améliorer la précision en ajoutant plus de couches ou en augmentant la taille de ces couches. Les couches sont les étapes d'un modèle de réseau neuronal (un type de modèle d'apprentissage profond inspiré du cerveau humain) qui traitent les données pour apprendre des motifs et améliorer la précision.
Ces changements ont créé un compromis, rendant les modèles d'IA traditionnels plus grands et plus lents, tandis que la précision supplémentaire é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 (nombre de couches), la largeur (nombre d'unités dans chaque couche) et la résolution de l'image (le niveau de détail des images d'entrée) ensemble de manière équilibrée. Cette méthode, appelée mise à l'échelle composite, 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 être plus performant que les anciens modèles comme ResNet ou DenseNet.
Aujourd'hui, les modèles de vision par ordinateur plus récents comme Ultralytics YOLO11 offrent une plus grande précision, vitesse et efficacité. Malgré cela, 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 expliquant comment il fonctionne, ce qui le rend unique et pourquoi il est toujours important dans la vision par ordinateur. Commençons !
Avant la conception d'EfficientNet, la plupart des modèles de reconnaissance d'images amélioraient la précision en ajustant leurs couches ou en augmentant la taille de l'image d'entrée pour capturer plus de détails. Bien que ces stratégies aient amélioré les résultats, elles ont également rendu les modèles plus lourds et plus exigeants. Cela signifiait qu'ils avaient besoin de plus de mémoire et d'un meilleur matériel.
Au lieu de modifier des couches individuelles, EfficientNet ajuste simultanément la profondeur, la largeur et la résolution de l'image à l'aide d'une méthode appelée mise à l'échelle composite. Cette approche permet au modèle de croître efficacement sans surcharger un aspect particulier.
L'architecture EfficientNet traite les images à travers une série de blocs, chacun étant construit à partir de modules plus petits. Le nombre de modules dans chaque bloc dépend de la taille du modèle.
Les versions plus petites utilisent moins de modules, tandis que les versions plus grandes répètent les modules plus souvent. Cette conception flexible permet à EfficientNet d'offrir une précision et une efficacité élevées dans un large éventail d'applications, des appareils mobiles aux systèmes à grande échelle.
La méthode de mise à l'échelle composite é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 efficacement la puissance de calcul. La série commence par un modèle de base plus petit appelé EfficientNet-B0, qui sert de base à toutes les autres versions.
À partir de B0, les modèles sont mis à l'échelle en variantes plus grandes nommées EfficientNet-B1 à 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. La quantité de croissance à chaque étape est déterminée par un paramètre appelé coefficient composé, qui garantit que la profondeur, la largeur et la résolution augmentent dans des proportions fixes plutôt qu'indépendamment.
Ensuite, examinons l'architecture d'EfficientNet.
Il s’appuie sur MobileNetV2, un modèle de vision par ordinateur léger optimisé pour les appareils mobiles et embarqués. Son cœur est 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 économe en mémoire.
À l'intérieur de chaque bloc MBConv se trouve un module squeeze-and-excitation (SE). Ce module ajuste la force des différents canaux du réseau. Il augmente la force des canaux essentiels et réduit la force 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 à repérer les motifs dans les images mieux que les anciennes méthodes.
Au-delà de cela, il utilise DropConnect, où certaines connexions à l'intérieur du réseau sont désactivées au hasard 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 schémas plus forts et plus généraux dans les données) qui se transfèrent mieux aux données non vues.
Maintenant que nous comprenons mieux le fonctionnement des modèles EfficientNet, parlons des différentes variantes de modèles.
Les modèles EfficientNet s'échelonnent de B0 à B7, en commençant par B0 comme base de référence qui équilibre la vitesse et la précision. Chaque version augmente la profondeur, la largeur et la résolution de l'image, améliorant ainsi la précision. Cependant, ils exigent également plus de puissance de calcul, du B1 et B2 aux B6 et B7 très performants.
Alors que les modèles EfficientNet-B3 et EfficientNet-B4 offrent un équilibre pour les images plus grandes, B5 est souvent choisi pour les ensembles de données complexes qui nécessitent de la précision. Au-delà de ces modèles, le dernier modèle, EfficientNet V2, peut améliorer la vitesse d'entraînement, mieux gérer les petits ensembles de données et est optimisé pour le matériel moderne.
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.
Les images médicales, telles que les scanners CT des poumons, 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 schémas qu'il pourrait être difficile pour les humains de détecter. 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 classifie les scanners pulmonaires pour détecter les tumeurs. Il peut catégoriser les tumeurs comme bénignes, malignes ou normales, atteignant une précision rapportée de plus de 99 % dans des contextes expérimentaux.
La détection d'objets est le processus qui consiste à trouver des objets dans une image et à déterminer leur emplacement. 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 ou lents. C'est pourquoi de nombreux systèmes de détection, comme EfficientDet, utilisent EfficientNet comme backbone.
Les modèles plus récents, tels que Ultralytics YOLOv8, partagent le même objectif de combiner vitesse et précision. Cette tendance vers des modèles efficaces a été fortement influencée par des idées provenant d'architectures comme EfficientNet.
Voici quelques avantages de l'utilisation d'EfficientNet dans les projets de vision par ordinateur :
Bien qu'il existe de nombreux avantages liés à l'utilisation d'EfficientNet, voici quelques-unes des limitations d'EfficientNet à garder à l'esprit :
EfficientNet a changé la façon dont les modèles de vision par ordinateur se développent en maintenant l'équilibre entre la profondeur, la largeur et la résolution de l'image. Il reste un modèle important et a également influencé les architectures plus récentes. En particulier, il occupe une place importante dans l'histoire de la vision par ordinateur.
Rejoignez notre communauté et notre dépôt GitHub pour en savoir plus sur l'IA. Consultez nos pages de solutions pour en savoir plus sur l'IA dans le secteur de la santé et la vision par ordinateur dans l'automobile. Découvrez nos options de licence et commencez à développer avec la vision par ordinateur dès aujourd'hui !