Appeler SMS WhatsApp Email

Définition Capsule Networks

Capsule Networks

Capsule Networks, souvent abrégés en CapsNets, représentent une architecture de réseau de neurones artificiels conçue pour surmonter certaines limitations fondamentales des réseaux de neurones convolutifs (CNNs), notamment en ce qui concerne la gestion des hiérarchies spatiales et la robustesse aux variations de point de vue. Ils introduisent le concept de « capsules », qui sont de petits groupes de neurones dont les vecteurs d’activité encodent les propriétés d’une entité ou d’une partie d’objet spécifique, y compris sa présence et ses paramètres d’instanciation tels que la position, l’orientation, la taille et la déformation.

Les concepts fondamentaux des Capsule Networks reposent sur plusieurs principes essentiels. Au cœur se trouve la « capsule » elle-même. Contrairement aux neurones traditionnels des CNNs qui produisent une sortie scalaire (une activation), une capsule produit un vecteur. La longueur de ce vecteur représente la probabilité qu’une entité spécifique (comme un œil, un nez, ou un objet entier) soit présente dans l’entrée, tandis que l’orientation du vecteur encode les propriétés de cette entité, collectivement appelées sa « pose ». Cette représentation vectorielle permet aux CapsNets de capturer et de préserver des informations spatiales détaillées qui sont souvent perdues dans les opérations de pooling des CNNs. Un autre principe crucial est le « routage dynamique » (dynamic routing, ou plus spécifiquement « routing-by-agreement »). Ce mécanisme permet aux capsules d’une couche inférieure d’envoyer leurs sorties de manière sélective aux capsules de la couche supérieure avec lesquelles elles « s’accordent ». L’accord est déterminé par la capacité d’une capsule de bas niveau à prédire la sortie d’une capsule de haut niveau. Si plusieurs capsules de bas niveau (représentant des parties d’un objet) font des prédictions cohérentes pour une capsule de haut niveau (représentant l’objet entier), alors la connexion entre elles est renforcée. Ce processus itératif permet au réseau de construire dynamiquement des hiérarchies de parties-tout robustes. Les CapsNets visent l’équivariance plutôt que l’invariance. L’invariance, souvent recherchée par les CNNs via le pooling, signifie que la représentation ne change pas lorsque l’entrée est transformée (par exemple, une légère translation). L’équivariance signifie que si l’entrée est transformée, la représentation change de manière prévisible et correspondante. Pour les CapsNets, cela signifie que si un objet change de pose, le vecteur de la capsule représentant cet objet changera de manière à refléter cette nouvelle pose, sans perdre l’identité de l’objet.

L’importance et la pertinence des Capsule Networks découlent principalement de leur potentiel à adresser des faiblesses inhérentes aux CNNs, qui dominent actuellement le domaine de la vision par ordinateur. Les CNNs, malgré leurs succès, ont tendance à mal généraliser à des points de vue non vus lors de l’entraînement, nécessitent d’énormes quantités de données étiquetées, et peuvent être facilement trompés par des attaques adversariales. Le « problème de Picasso » illustre bien cela : un CNN peut reconnaître un visage même si les positions relatives des yeux, du nez et de la bouche sont incorrectes, car il se concentre sur la présence de ces caractéristiques plutôt que sur leurs relations spatiales précises. Les CapsNets, en encodant explicitement la pose et en utilisant le routage dynamique pour vérifier la cohérence spatiale entre les parties et le tout, promettent une meilleure compréhension de la structure des objets. Cela pourrait conduire à des modèles plus robustes aux variations de point de vue, nécessitant moins de données d’entraînement car ils apprennent des concepts plus intrinsèques sur les objets. Leur impact potentiel est significatif pour améliorer la fiabilité et l’efficacité des systèmes de vision par ordinateur, en particulier dans des scénarios où les données sont rares ou les variations de perspective sont importantes.

Les applications pratiques des Capsule Networks sont encore principalement au stade de la recherche et du développement, bien qu’elles aient démontré des performances prometteuses sur des tâches spécifiques. L’une des premières applications notables a été la reconnaissance de chiffres manuscrits, où les CapsNets ont atteint une précision de pointe sur l’ensemble de données MNIST, tout en étant plus robustes aux transformations affines que les CNNs. Ils ont également été appliqués à des ensembles de données plus complexes comme CIFAR-10 (classification de petites images en couleurs) et smallNORB (reconnaissance d’objets 3D sous différents angles et éclairages), montrant des améliorations dans la généralisation à partir de points de vue nouveaux. Au-delà de la classification d’images, les CapsNets sont explorés pour la segmentation d’objets, où leur capacité à distinguer des instances d’objets qui se chevauchent est un avantage. Par exemple, dans l’analyse d’images médicales, ils pourraient aider à identifier et segmenter des tumeurs ou des organes avec une plus grande précision, même avec des variations de position et d’orientation. D’autres domaines d’application potentiels incluent la robotique (pour une meilleure perception et manipulation des objets), la compréhension de scènes, la reconnaissance d’actions et même le traitement du langage naturel pour modéliser des structures hiérarchiques dans le texte. Cependant, leur adoption à grande échelle est freinée par des défis computationnels et la nécessité de perfectionner les architectures.

Il existe différentes nuances et variations dans la conception des Capsule Networks. L’architecture originale proposée par Sabour, Frosst et Hinton en 2017 utilisait un algorithme de routage dynamique itératif. Plus tard, Hinton et son équipe ont proposé une version alternative appelée « Matrix Capsules with EM Routing » (2018), où les capsules produisent des matrices de pose et où l’algorithme de routage est basé sur l’algorithme Expectation-Maximization (EM). Cette approche visait à améliorer la représentation des relations spatiales et à réduire le nombre de paramètres. On distingue généralement les « capsules primaires » (primary capsules), qui sont la première couche de capsules et fonctionnent souvent comme des CNNs pour extraire des caractéristiques de bas niveau, et les « capsules de niveau supérieur » (par exemple, « digit capsules » dans MNIST), qui reçoivent les informations des capsules primaires via le routage dynamique pour former des concepts plus abstraits. Le nombre de capsules, la dimensionnalité des vecteurs de capsules, et le nombre d’itérations de routage sont des hyperparamètres importants qui influencent la performance et la complexité du modèle. Le débat scientifique se poursuit sur la scalabilité des CapsNets pour des images de très haute résolution et des ensembles de données à très grande échelle comme ImageNet, où les CNNs conservent un avantage en termes de performance brute et d’efficacité d’entraînement.

Plusieurs concepts sont étroitement liés aux Capsule Networks. Les Réseaux de Neurones Convolutifs (CNNs) sont le point de comparaison le plus direct ; les CapsNets cherchent à améliorer les CNNs en incorporant explicitement les hiérarchies de parties-tout et la pose. L’apprentissage profond (Deep Learning) est le domaine plus large auquel appartiennent les CapsNets et les CNNs. Les concepts de transformation d’affinité, d’équivariance et d’invariance sont centraux pour comprendre ce que les CapsNets tentent d’accomplir en termes de représentation des données. L’équivariance aux transformations signifie que si l’entrée change (par exemple, un objet est tourné), la représentation de la capsule change de manière correspondante (le vecteur de pose est mis à jour). L’idée de codage prédictif (predictive coding), une théorie sur le fonctionnement du cerveau, a également influencé la pensée de Geoffrey Hinton et partage des similitudes conceptuelles avec le routage dynamique, où les couches supérieures tentent de prédire l’activité des couches inférieures. En termes d’antonymes conceptuels, on pourrait considérer les modèles « sac de mots » (bag-of-words) ou « sac de caractéristiques » (bag-of-features) qui ignorent largement l’information spatiale et les relations structurelles, se concentrant uniquement sur la présence ou l’absence de caractéristiques.

L’origine des Capsule Networks remonte aux travaux de Geoffrey Hinton. L’idée des capsules a été introduite pour la première fois dans un article de 2011 intitulé « Transforming Autoencoders », co-écrit par Hinton, Alex Krizhevsky et Sida D. Wang, bien que les concepts sous-jacents aient été explorés par Hinton dès le début des années 2000. Ces premiers travaux se concentraient sur la manière dont les réseaux pourraient apprendre à reconnaître des objets indépendamment de leur point de vue en modélisant explicitement les transformations. Cependant, c’est l’article de 2017, « Dynamic Routing Between Capsules » par Sara Sabour, Nicholas Frosst et Geoffrey Hinton, qui a véritablement lancé les Capsule Networks dans le domaine public de la recherche en apprentissage profond, en introduisant une architecture fonctionnelle et l’algorithme de routage dynamique. Un an plus tard, en 2018, Hinton et une autre équipe ont publié « Matrix Capsules with EM Routing », proposant une évolution de l’architecture initiale. Depuis lors, la communauté de recherche a exploré diverses améliorations, applications et analyses théoriques des CapsNets, bien qu’ils n’aient pas encore atteint le niveau de popularité et d’utilisation généralisée des CNNs.

Les Capsule Networks présentent un ensemble distinct d’avantages, d’inconvénients, de défis et de limitations. Parmi les avantages majeurs, on note leur capacité intrinsèque à modéliser les relations hiérarchiques entre les parties d’un objet et l’objet entier, ainsi que la pose des objets. Cela conduit à une meilleure généralisation à partir de points de vue non vus pendant l’entraînement et potentiellement à un besoin réduit en données d’entraînement. L’équivariance qu’ils cherchent à atteindre permet une représentation plus riche et plus informative que la simple invariance. Certains travaux suggèrent également une plus grande robustesse aux attaques adversariales par rapport aux CNNs traditionnels, car la cohérence spatiale interne est plus difficile à tromper. Les représentations internes des CapsNets pourraient également être plus interprétables.
Cependant, les inconvénients et les défis sont significatifs. Le routage dynamique, bien que puissant, est computationnellement intensif, ce qui rend l’entraînement et l’inférence des CapsNets plus lents que ceux des CNNs optimisés, en particulier sur du matériel standard. Leur performance sur des ensembles de données très vastes et complexes comme ImageNet n’a pas encore égalé celle des architectures CNN de pointe. La scalabilité des CapsNets à des images de très haute résolution et à des hiérarchies de caractéristiques très profondes reste un domaine de recherche actif. De plus, l’écosystème autour des CapsNets (outils, bibliothèques logicielles, modèles pré-entraînés) est moins développé que celui des CNNs, ce qui peut freiner leur adoption. La recherche est encore nécessaire pour déterminer la meilleure façon de concevoir les architectures de capsules, de choisir les hyperparamètres et de surmonter les défis computationnels pour qu’ils puissent réaliser leur plein potentiel.