Un réseau de neurones à capsules (CapsNet) est un système d'apprentissage automatique, un type de réseau de neurones artificiels (RNA), qui peut être utilisé pour mieux modéliser les relations hiérarchiques. Cette approche tente de se rapprocher davantage de l'organisation neuronale biologique. L'idée est d'ajouter des structures appelées « capsules » à un réseau de neurones convolutif (CNN), et de réutiliser les sorties de plusieurs de ces capsules pour former des représentations plus stables (par rapport à diverses perturbations) pour les capsules supérieures. La sortie est un vecteur composé de la probabilité d'une observation et d'une pose pour cette observation. Ce vecteur est similaire à ce qui est fait, par exemple, lors d'une classification avec localisation dans les CNN.
Parmi d'autres avantages, les CapsNet abordent le « problème de Picasso » en reconnaissance d'images : des images qui ont toutes les bonnes parties mais qui ne sont pas dans la relation spatiale correcte (par exemple, dans un « visage », les positions de la bouche et d'un œil une oreille sont inversées). Pour la reconnaissance d'images, les capsnets exploitent le fait que, bien que les changements de point de vue aient des effets non linéaires au niveau du pixel, ils ont des effets linéaires au niveau objet/partie. Cela peut être comparé à l'inversion du rendu d'un objet composé de plusieurs parties.
Historique
En 2000, Geoffrey Hinton et al. a décrit un système d'imagerie qui combinait la segmentation et la reconnaissance en un seul processus d'inférence à l'aide d'arbres d'analyse. Les réseaux de crédibilité dits crédibilité décrivaient la distribution conjointe sur les variables latentes et sur les arbres d'analyse possibles. Ce système s'est avéré utile sur la base de données de chiffres manuscrits MNIST.
Un mécanisme de routage dynamique pour les réseaux de capsules a été introduit par Hinton et son équipe en 2017. L'approche a permis de réduire les taux d'erreur sur MNIST et de réduire la taille des ensembles d'entraînement. Les résultats ont été jugées considérablement meilleurs qu'un CNN sur des chiffres fortement superposés. Dans l'idée originale de Hinton, une minicolonne représenterait et détecterait une entité multidimensionnelle.
Transformations
Une invariance est une propriété d'un objet qui ne change pas suite à une transformation. Par exemple, l'aire d'un cercle ne change pas si le cercle est déplacé vers la gauche. De manière informelle, une équivariance est une propriété qui change de manière prévisible sous une transformation. Par exemple, le centre d'un cercle se déplace de la même quantité que le cercle lorsque celui-ci est déplacé. Une non-équivariance est une propriété dont la valeur ne change pas de manière prévisible sous une transformation. Par exemple, transformer un cercle en une ellipse signifie que son périmètre ne peut plus être calculé comme étant φ fois le diamètre.
En vision par ordinateur, la classe d'un objet est censée être invariante sur de nombreuses transformations. C'est-à-dire qu'un chat reste un chat s'il est déplacé, retourné ou réduit en taille. Cependant, de nombreuses autres propriétés sont plutôt équivariantes. Le volume d'un chat change lorsqu'il est mis à l'échelle. Les propriétés équivariantes telles que la relation spatiale sont dans une pose, des données qui décrivent la translation, la rotation, l'échelle et la réflexion d'un objet. La translation est un changement de position dans une ou plusieurs dimensions. La rotation est un changement d'orientation. L'échelle est un changement de taille. La réflexion est une image miroir.
Les capsnets non supervisés apprennent une variété linéaire globale entre un objet et sa pose en tant que matrice de poids. En d'autres termes, les capsnets peuvent identifier un objet indépendamment de sa pose, plutôt que d'avoir à apprendre à reconnaître l'objet en incluant ses relations spatiales comme faisant partie de l'objet. Dans les capsnets, la pose peut incorporer des propriétés autres que spatiales, par exemple la couleur (les chats peuvent être, de différentes couleurs). En multipliant l'objet par la variété, nous posons l'objet (pour un objet, dans l'espace).
Regroupement des données
Les capsnets rejettent la stratégie de couche de regroupement des CNN conventionnels qui réduit la quantité de détails à traiter à la prochaine couche supérieure. Le regroupement permet un degré de invariabilité translationnelle (il peut reconnaître le même objet à un endroit quelque peu différent) et permet qu'un plus grand nombre de types de caractéristiques soit représenté. Les partisans des capsnets soutiennent que le regroupement :
- viole la perception biologique des formes car il n'a aucun cadre de coordonnées intrinsèque ;
- fournit une invariance (rejet des informations positionnelles) au lieu d'une équivariance (démêlage de ces informations) ;
- ignore la variété linéaire qui est à la base de nombreuses variations entre les images ;
- route statiquement au lieu de communiquer une « trouve » potentielle à la caractéristique qui peut l'apprécier ;
- endommage les détecteurs de caractéristiques voisins, en supprimant les informations sur lesquelles ils reposent.
Capsules
Une capsule est un ensemble de neurones qui s'activent individuellement pour diverses propriétés d'un type d'objet, telles que la position, la taille et la teinte. Formellement, une capsule est un ensemble de neurones qui produisent collectivement un vecteur d'activité avec un élément pour chaque neurone afin de tenir sa valeur de de propriété (par exemple la teinte). Les programmes graphiques utilisent la valeur de propriété pour dessiner un objet. Les capsnets tentent de dériver ces valeurs à partir de leur entrée. La probabilité de présence de l'entité dans une entrée spécifique est la longueur du vecteur, tandis que l'orientation du vecteur représente les propriétés de la capsule.
Les neurones artificiels traditionnels produisent une valeur réelle en sortie qui représente approximativement la probabilité d'une observation. Les capsnets remplacent les détecteurs de caractéristiques avec sorties scalaires par de multicomposante capsules vectorielles et le regroupement par maximisation par un routage par accord. Les capsules étant indépendantes, lorsque plusieurs capsules s'accordent, la probabilité de détection correcte est beaucoup plus élevée. Un groupement minimal de deux capsules considérant une entité six dimensionnelle s'accorderait à moins de 10 % par hasard qu'une seule fois sur un million d'essais. À ces dimensions augmentent, la probabilité d'accord entre les plus grandes plaques.
Les capsules des couches supérieures prennent les sorties des capsules des couches inférieures et acceptent celles dont les sorties se regroupent. Un regroupement entraîne une sortie de la capsule supérieure à un poids de sécurité. Les capsules supérieures valent les données aberrantes (outliers) pour se concentrer sur des grappes, similaire à la transformation de Hough, à la RHT et au RANSAC.
Routage par accord
Les sorties d'une capsule (enfant) sont routées vers les capsules de la couche suivante (parent) selon la capacité de l'enfant à prédire les sorties du parent, au cours de quelques itérations. Chaque sortie du parent peut converger avec les prédictions de certains enfants et diverger d'autres, ce qui signifie que ce parent est présent ou absent de la image. Pour chaque parent possible, chaque enfant calcule un vecteur de prédiction en multipliant sa propre sortie par une matrice de poids (entraînée poids par rétropropagation). Ensuite, la sortie du parent est calculée comme le produit scalaire d'une prédiction par un coefficient représentant la probabilité que cet enfant soit membre de ce parent. Un enfant dont les prédictions sont proches plus proche de la sortie résultante augmente progressivement le coefficient entre le parent et l'enfant, et le diminue pour les autres.
Les réseaux de capsules restent un domaine de recherche actif dans le domaine Deep learning, offrant une alternative aux CNN traditionnels pour les tâches nécessitant des hiérarchies spatiales explicites. Ils ont été explorés dans des contextes tels que Artificial intelligence et Machine learning, avec des applications potentielles dans des domaines comme Computer vision et Robotics. Bien qu'ils ne soient pas aussi répandus que les modèles basés sur Transformer (architecture), ils continuent une inspiration pour travailler sur les représentations équiviaires et les réacheminements.