HyperAIHyperAI

Command Palette

Search for a command to run...

MobileNetV3 dévoilé : l’architecte des modèles légers qui domine l’efficacité et la précision

MobileNetV3, présenté dans le papier « Searching for MobileNetV3 » par Howard et al. en 2019, représente une évolution significative des architectures MobileNet précédentes. Conçu pour maximiser la précision tout en minimisant la latence, il intègre plusieurs innovations clés : des modules Squeeze-and-Excitation (SE), des fonctions d’activation « hard », et une conception partielle réalisée via une recherche d’architecture neuronale (NAS). Cette dernière permet d’optimiser automatiquement la structure du réseau pour atteindre un meilleur compromis entre performance et efficacité computationnelle. Le modèle propose deux variantes : MobileNetV3-Large et MobileNetV3-Small, chacune composée de blocs dits « bneck » (bottleneck), inspirés des blocs inversés de MobileNetV2 mais améliorés. La principale différence réside dans l’intégration du module SE après la convolution depthwise, qui permet au réseau de pondérer dynamiquement les canaux d’entrée selon leur importance. Ce module utilise une activation hard-sigmoid au lieu du sigmoid classique, réduisant ainsi la charge computationnelle. De plus, les fonctions d’activation sont remplacées par des versions « hard » : hard-swish après les premières couches convolutives et hard-sigmoid dans le module SE. Ces fonctions, bien que moins lisses, sont beaucoup plus rapides à calculer, particulièrement sur les dispositifs embarqués. La structure du bloc est composée de trois couches : une convolution pointwise (expansion), une convolution depthwise (traitement spatial), suivie d’un module SE optionnel, puis d’une dernière convolution pointwise sans activation (principe du « linear bottleneck »). Une connexion résiduelle est ajoutée uniquement lorsque les dimensions d’entrée et de sortie sont identiques. Le choix d’appliquer ou non le module SE est déterminé par NAS, qui sélectionne les blocs les plus bénéfiques pour chaque partie du réseau. Les expérimentations montrent que MobileNetV3 bat MobileNetV2 en précision pour une latence similaire. Sur ImageNet, les deux variantes surpassent leurs concurrents légers dans leurs catégories respectives, notamment en termes de rapport précision-latence. L’effet de la quantification (réduction de la précision des poids) est également étudié : bien qu’elle entraîne une légère baisse de précision, elle améliore significativement la vitesse d’exécution, ce qui renforce l’adéquation du modèle aux environnements à ressources limitées. Enfin, une implémentation complète en PyTorch est proposée, avec des classes modulaires pour le module SE, les blocs convolutifs et le bloc bottleneck. Le modèle est construit à partir d’une liste de configurations, ajustables via un multiplicateur de largeur (WIDTH_MULTIPLIER) et une résolution d’entrée. L’implémentation est validée par une sortie cohérente des dimensions des tensors et un nombre de paramètres proche de celui annoncé dans le papier (environ 5,5 millions pour MobileNetV3-Large). En résumé, MobileNetV3 incarne une optimisation fine du compromis performance/efficacité, combinant des mécanismes d’attention, des activations optimisées et une conception automatisée. Il reste une référence pour les applications mobiles et embarquées, où la latence et la consommation énergétique sont critiques. Son succès repose sur une synergie entre ingénierie logicielle (hard activations) et recherche architecturale (NAS), faisant de lui un véritable « géant miniature » intelligent.

Liens associés