Capsule Neural Networks : qu'est-ce que c'est, comment ça marche, architecture et composants

Publié: 2020-04-03

Comment reconnaissez-vous les choses ? Si j'écris "leur" et "leur", les liriez-vous tous les deux comme "leur" ? Votre réponse serait probablement oui.

Votre cerveau peut identifier les principales caractéristiques et vous aider à reconnaître les choses. C'est pourquoi vous pouvez facilement repérer les visages. Les réseaux de neurones capsules fonctionnent de manière similaire. Dans cet article, nous allons voir ce qu'ils sont et comment ils fonctionnent. Si vous êtes intéressé par les algorithmes d'apprentissage automatique , vous aimerez sûrement cet article. Alors, commençons.

Table des matières

Qu'est-ce qu'un réseau de neurones capsule ?

Un réseau de neurones à capsule se concentre sur la réplication des réseaux de neurones biologiques pour effectuer une meilleure reconnaissance et segmentation. Ils sont un type de réseau de neurones artificiels. Ils ont une couche imbriquée sous une couche des réseaux de neurones de la capsule, c'est ce que le mot "capsule" indique.

Les capsules de ces réseaux déterminent les paramètres des caractéristiques d'un objet. Supposons que vos réseaux de capsules doivent identifier un visage. Les capsules se concentreront sur la détermination de la présence ou non des traits spécifiques du visage. Ils ne sont pas limités à cela seul. Ils vérifieront également comment les caractéristiques du visage particulier sont organisées. Ainsi, votre système ne peut identifier un visage que lorsque les capsules déterminent que les éléments de ce visage sont dans le bon ordre.

Vous vous demandez peut-être comment déterminent-ils l'ordre de ces fonctionnalités ? Ces réseaux peuvent le faire en raison de la contribution que vous leur donnez. Lorsqu'ils ont examiné des centaines (voire des milliers) d'images, ils peuvent effectuer cette tâche efficacement.

En savoir plus : Réseaux de neurones : applications dans le monde réel

Comment fonctionnent les réseaux Capsule ?

Voyons maintenant comment fonctionnent ces réseaux. Initialement, les capsules effectuent une multiplication matricielle des matrices de poids avec des vecteurs d'entrée. Cela nous donne des informations sur la relation spatiale entre plusieurs entités de bas niveau et de haut niveau.

Après cela, les capsules sélectionnent une capsule mère. Ils effectuent la sélection via un routage dynamique, dont nous parlerons plus loin dans cet article. Une fois qu'ils ont choisi leur capsule mère, ils trouvent la somme des vecteurs écrasés entre 0 et 1 lorsqu'ils s'accrochent à leur direction. Vous effectuez un écrasement en utilisant la norme du cadre de coordonnées comme probabilité d'existence et la distance cosinus comme mesure de l'accord.

Il existe une différence significative entre les réseaux de neurones standard et les réseaux de neurones à capsule. Alors que les réseaux de capsules utilisent des capsules pour encapsuler des informations essentielles sur une image, les réseaux de neurones standard utilisent des neurones à cette fin. Les capsules produisent des vecteurs, alors que les neurones ne peuvent produire que des quantités scalaires. Pour cette raison, les capsules peuvent identifier la direction d'un visage (ou une caractéristique spécifique), mais les neurones ne le peuvent pas. Si vous modifiez la direction d'une entité, la valeur du vecteur restera la même, mais sa direction changera en fonction du changement de position.

Les réseaux de capsules fonctionnent incroyablement bien sur de petits ensembles de données et facilitent l'interprétation d'images robustes. En dehors de cela, ils conservent toutes les informations de l'image, y compris la texture, l'emplacement et la pose. Leur seul inconvénient est qu'ils ne peuvent pas surpasser de vastes ensembles de données.

Lire : 6 types de fonction d'activation dans les réseaux de neurones

Quelle est l'architecture d'un réseau de neurones capsule ?

Les deux principaux composants d'un réseau de capsules sont un encodeur et un décodeur. Au total, ils contiennent six couches. L'encodeur a les trois premières couches, et ils ont la responsabilité de prendre et de convertir l'image d'entrée en un vecteur (16 dimensions). La première couche de l'encodeur est le réseau neuronal convolutif, et il extrait les caractéristiques de base de l'image.

La deuxième couche est le réseau PrimaryCaps, et il prend ces fonctionnalités essentielles et trouve des modèles plus détaillés parmi eux. Par exemple, il pourrait voir la relation spatiale entre des traits particuliers. Différents ensembles de données ont différents nombres de capsules dans le réseau PrimaryCaps ; par exemple, l'ensemble de données MNIST a 32 capsules. La troisième couche est le réseau DigitCaps, et le nombre de capsules qu'il contient varie également. Après ces couches, l'encodeur a un vecteur à 16 dimensions qui va au décodeur.

Le décodeur a trois couches connectées. Il prend le vecteur à 16 dimensions et essaie de reconstruire la même image à partir de zéro à l'aide des données dont il dispose. De cette façon, le réseau devient plus robuste car il peut faire des prédictions en fonction de ses connaissances.

Lisez aussi : Réseau de neurones récurrent en Python

Calculs dans un CNN

Multiplication matricielle

Entre la première couche et la deuxième couche, nous effectuons la multiplication matricielle. Cela encode les informations des relations spatiales, et les informations encodées montrent la probabilité des classifications d'étiquettes.

Poids scalaires

Dans cette étape de calculs, les capsules de niveau inférieur ajustent leurs poids en fonction des poids des capsules de haut niveau. Ils le font pour correspondre aux poids des capsules de haut niveau. Les capsules de haut niveau représentent graphiquement la répartition du poids et acceptent la plus grande allocation à passer. Ils communiquent tous entre eux via un routage dynamique.

Routage dynamique

Dans le routage dynamique, les capsules inférieures envoient leurs données à la capsule mère. Ils envoient tous leurs données à la capsule la plus appropriée selon eux, et la capsule qui reçoit le plus de données devient la capsule parente. Les capsules mères suivent l'accord et attribuent les pondérations en conséquence.

Pour comprendre le routage dynamique, supposons que vous donniez à votre réseau de capsules des images d'une maison. Il rencontre quelques problèmes avec l'identification du toit de la maison. Ainsi, les capsules analysent l'image, en particulier sa partie constante. Ils coordonnent l'ossature de la maison concernant les murs et le toit.

Ils décident d'abord si l'objet est une maison ou non, puis envoient leurs prédictions aux capsules de haut niveau. Si les projections du toit concernant les murs correspondent à d'autres prédictions des capsules de bas niveau, la sortie indique que l'objet est une maison. C'est le processus d'acheminement par accord.

Non-linéarité vecteur à vecteur

Une fois le routage dynamique terminé, le système écrase les informations, ce qui signifie qu'il comprime ces informations. Il vous donne la probabilité que la capsule reconnaisse ou non une caractéristique particulière.

Dernières pensées

Après avoir parcouru cet article, vous devez vous être familiarisé avec les réseaux de neurones à capsule et leurs opérations. Vous devez également avoir réalisé à quel point leurs actions pouvaient être utiles.

Si vous souhaitez en savoir plus sur les algorithmes d'apprentissage automatique, consultez notre blog. Vous y trouverez des articles savants.

Si vous souhaitez en savoir plus sur l'apprentissage automatique, consultez le diplôme PG en apprentissage automatique et IA de IIIT-B & upGrad, conçu pour les professionnels en activité et offrant plus de 450 heures de formation rigoureuse, plus de 30 études de cas et missions, IIIT- Statut B Alumni, plus de 5 projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Que sont les réseaux de neurones transformateurs ?

Lorsqu'un réseau de neurones prend une séquence de vecteurs en entrée, la transforme en un vecteur appelé (le processus est appelé codage) puis le décode en une autre séquence, il s'appelle un réseau de neurones transformateur. Le transformateur est un composant présent dans de nombreuses architectures de réseaux neuronaux pour le traitement de données séquentielles, y compris le texte en langage clair, les signaux acoustiques, les séquences génomiques et les données de séries chronologiques. L'application la plus courante des réseaux de neurones transformateurs est le traitement du langage naturel.

Que sont les réseaux de neurones graphiques et comment fonctionnent les graphiques ?

Les réseaux de neurones de graphes, ou GNN, sont des modèles de neurones qui utilisent la transmission de messages entre les nœuds de graphes pour représenter la dépendance des graphes. Ces réseaux opèrent directement sur les structures de graphes données. En termes simples, chaque nœud du graphique a une étiquette et un réseau de neurones est utilisé pour prédire les nœuds d'étiquette en fonction de la vérité terrain. Les GNN ont récemment pris de l'importance dans diverses disciplines, notamment les réseaux sociaux, les graphes de connaissances, les systèmes de recommandation et même les sciences de la vie.

Les capsules sont-elles différentes des réseaux de capsules ?

Les deux termes, capsules et réseaux de capsules, sont liés à l'apprentissage en profondeur, mais ce n'est pas la même chose. Un groupe de neurones dont les vecteurs d'activité représentent les paramètres d'instanciation d'un certain élément, tel que celui d'un objet, est appelé capsule. Cependant, les réseaux de capsules sont des réseaux qui peuvent récupérer des informations géographiques et d'autres aspects importants pour minimiser la perte de données pendant le processus d'opérations de mise en commun.