Les classifieurs intermédiaires, également connus sous les dénominations de classifieurs auxiliaires ou de sorties précoces (early exits), constituent une technique d’ingénierie des modèles d’apprentissage profond, en particulier des réseaux de neurones profonds. Ils se caractérisent par l’intégration de modules de classification additionnels à des niveaux intermédiaires de l’architecture du réseau principal. Ces classifieurs auxiliaires sont typiquement entraînés pour effectuer la même tâche de classification que le classifieur final du réseau, et leur fonction de perte est combinée à celle du classifieur principal durant la phase d’apprentissage.
Les concepts fondamentaux et les principes essentiels sous-jacents aux classifieurs intermédiaires sont multiples. Architecturalement, ils prennent la forme de petites sous-structures (par exemple, quelques couches de convolution suivies de couches denses) qui se branchent sur des couches cachées sélectionnées du réseau principal. Leur principe de fonctionnement repose sur l’idée d’injecter un signal de gradient plus direct aux couches inférieures du réseau. Dans les réseaux très profonds, le gradient de l’erreur, en se propageant à rebours depuis la sortie vers les premières couches, peut devenir excessivement faible (phénomène de disparition du gradient) ou excessivement fort (explosion du gradient), rendant l’entraînement difficile, voire impossible. Les classifieurs intermédiaires fournissent des chemins de gradient supplémentaires et plus courts, aidant ainsi à atténuer ce problème et à faciliter la convergence des couches profondes. De plus, ils peuvent agir comme une forme de régularisation, en forçant les couches intermédiaires à apprendre des représentations discriminantes des données, ce qui peut améliorer la généralisation du modèle. Une autre facette importante est leur utilisation potentielle comme « sorties précoces » : si un classifieur intermédiaire atteint une confiance suffisante dans sa prédiction pour une instance donnée, l’inférence peut s’arrêter prématurément, économisant ainsi des ressources de calcul, particulièrement utile pour les applications en temps réel ou sur des dispositifs à capacité limitée. Durant l’entraînement, la perte totale du réseau est généralement une somme pondérée de la perte du classifieur principal et des pertes des classifieurs intermédiaires.
L’importance des classifieurs intermédiaires réside principalement dans leur capacité à améliorer l’entraînement et les performances des réseaux de neurones profonds. Ils ont joué un rôle crucial dans le développement et le succès de certaines architectures profondes pionnières. Leur pertinence se manifeste par une meilleure propagation du gradient, ce qui permet de construire et d’entraîner des réseaux plus profonds qu’il ne serait possible autrement. L’impact se traduit par des modèles plus précis, une convergence plus rapide et plus stable pendant l’entraînement, et la possibilité d’une inférence adaptative en termes de coût de calcul. En outre, l’analyse des prédictions des classifieurs intermédiaires peut offrir des aperçus sur la manière dont les représentations des données évoluent à travers les différentes couches du réseau, contribuant ainsi à une meilleure interprétabilité des modèles d’apprentissage profond.
Les applications pratiques des classifieurs intermédiaires sont variées, bien qu’ils soient le plus souvent associés aux réseaux de neurones convolutifs (CNN) pour la classification d’images. L’exemple le plus emblématique de leur utilisation est l’architecture GoogLeNet (ou Inception v1), introduite par Google en 2014, qui a remporté le défi ImageNet Large Scale Visual Recognition Challenge (ILSVRC) cette année-là. Dans GoogLeNet, deux classifieurs auxiliaires étaient ajoutés à des couches intermédiaires du réseau pour améliorer la convergence. Au-delà de la classification d’images, cette technique a également été explorée dans d’autres domaines tels que le traitement du langage naturel (NLP) pour des modèles séquentiels profonds, ou dans des tâches de détection d’objets et de segmentation sémantique. L’idée d’utiliser des sorties précoces basées sur des classifieurs intermédiaires est particulièrement pertinente pour les applications mobiles et embarquées où l’efficacité énergétique et la latence sont critiques. Par exemple, un système de reconnaissance faciale sur un smartphone pourrait utiliser un classifieur intermédiaire pour rapidement identifier des visages familiers avec une grande confiance, sans avoir à traverser l’intégralité d’un réseau profond coûteux.
Il existe plusieurs nuances et interprétations du concept de classifieur intermédiaire. Bien que les termes « classifieurs auxiliaires » et « sorties précoces » soient souvent utilisés de manière interchangeable, leur objectif principal peut différer. Les classifieurs auxiliaires sont principalement conçus pour aider à l’entraînement (par exemple, pour la propagation du gradient et la régularisation), et sont souvent désactivés ou retirés pendant la phase d’inférence. Les sorties précoces, quant à elles, sont explicitement conçues pour être utilisées pendant l’inférence afin de permettre des prédictions rapides pour les exemples « faciles ». Les stratégies de placement des classifieurs intermédiaires varient également ; leur positionnement optimal dans le réseau n’est pas toujours trivial et peut dépendre de l’architecture spécifique et de la tâche. L’architecture des classifieurs intermédiaires eux-mêmes peut aussi varier, allant de simples classifieurs linéaires à de petits réseaux de neurones. Une autre variation concerne la manière dont les prédictions des classifieurs intermédiaires sont utilisées : uniquement pour calculer une perte auxiliaire pendant l’entraînement, ou aussi pour influencer la prédiction finale du modèle, par exemple à travers un mécanisme d’ensemble.
Plusieurs concepts sont étroitement liés aux classifieurs intermédiaires. Le terme « classifieurs auxiliaires » (auxiliary classifiers) est un synonyme direct et très courant. « Branches auxiliaires » (auxiliary branches) est un autre terme désignant la structure architecturale de ces classifieurs. Le concept de « sorties précoces » (early exits) ou « inférence adaptative » (adaptive inference) est une application clé des classifieurs intermédiaires pendant l’inférence. La « supervision profonde » (deep supervision) est un concept plus général qui englobe l’idée d’ajouter des fonctions de perte à des couches intermédiaires d’un réseau profond, les classifieurs intermédiaires étant une manière de réaliser cette supervision profonde. La problématique de la « disparition du gradient » (vanishing gradient) est une des raisons principales motivant l’utilisation de ces classifieurs. Des concepts comme la « régularisation » sont également liés, car les classifieurs intermédiaires peuvent avoir un effet régularisateur. Il n’existe pas d’antonyme direct, mais on pourrait opposer cette approche aux réseaux qui utilisent une unique fonction de perte calculée seulement à la sortie finale du réseau.
L’origine des classifieurs intermédiaires dans leur forme moderne est largement attribuée à l’article « Going Deeper with Convolutions » de Szegedy et al. (2015), qui a introduit l’architecture GoogLeNet. Les auteurs ont explicitement motivé l’utilisation de classifieurs auxiliaires par la nécessité de fournir des gradients utiles aux couches inférieures des réseaux très profonds. Depuis leur introduction, l’utilisation et l’étude des classifieurs intermédiaires ont continué. Des recherches ont exploré différentes stratégies pour leur placement, leur conception, et leur pondération dans la fonction de perte. L’intérêt pour les sorties précoces, en particulier dans le contexte de l’efficacité des modèles d’apprentissage profond (Green AI), a également ravivé l’attention sur ces mécanismes. Les développements récents incluent des méthodes pour apprendre dynamiquement quand utiliser une sortie précoce, ou pour optimiser conjointement le réseau principal et ses classifieurs intermédiaires.
Les classifieurs intermédiaires présentent plusieurs avantages. Ils peuvent significativement améliorer la convergence des réseaux profonds, en particulier ceux qui souffrent de la disparition du gradient. Ils agissent comme une forme de régularisation, réduisant potentiellement le surapprentissage. Ils permettent l’implémentation de mécanismes de sorties précoces, conduisant à une inférence plus rapide et moins coûteuse en calcul pour de nombreux exemples. Ils peuvent également fournir une meilleure supervision des couches cachées, les encourageant à apprendre des caractéristiques plus discriminantes. Cependant, ils comportent aussi des inconvénients et des défis. L’ajout de classifieurs intermédiaires augmente la complexité de l’architecture du réseau et du processus d’entraînement. Ils introduisent un coût de calcul supplémentaire pendant l’entraînement, bien que ce coût puisse être compensé par une convergence plus rapide ou par des économies de calcul pendant l’inférence (avec les sorties précoces). Le réglage des hyperparamètres associés, comme le poids des pertes auxiliaires dans la fonction de perte globale, peut être délicat. Déterminer l’emplacement optimal et l’architecture des classifieurs intermédiaires reste un défi et relève souvent de l’heuristique ou de l’expérimentation. Enfin, leur efficacité n’est pas garantie pour toutes les architectures de réseau ou toutes les tâches, et dans certains cas, ils peuvent ne pas apporter d’amélioration notable, voire dégrader légèrement les performances si mal configurés. Leur utilité doit donc être évaluée au cas par cas.