mardi, novembre 28, 2023

Faire évoluer la reconnaissance d’images avec le Deep Learning géométrique


Il s’agit du premier d’une série d’articles sur les réseaux de neurones convolutifs équivariants de groupe (GCNN). Aujourd’hui, nous restons brefs, de haut niveau et conceptuels ; des exemples et des mises en œuvre suivront. En examinant les GCNN, nous reprenons un sujet que nous avions initialement écrit au sujet de en 2021 : Apprentissage profond géométriqueune approche fondée sur des principes et basée sur les mathématiques pour la conception de réseaux qui, depuis lors, n’a fait que croître en portée et en impact.

De l’alchimie à la science : le Deep Learning géométrique en deux minutes

En un mot, le Deep Learning géométrique consiste à dériver la structure du réseau à partir de deux éléments : le domaine et la tâche. Les articles entreront dans beaucoup de détails, mais permettez-moi de vous donner un aperçu rapide ici :

  • Par domaine, je fais référence à l’espace physique sous-jacent et à la manière dont il est représenté dans les données d’entrée. Par exemple, les images sont généralement codées sous forme de grille bidimensionnelle, avec des valeurs indiquant les intensités des pixels.
  • La tâche correspond à ce pour quoi nous entraînons le réseau : la classification, par exemple, ou la segmentation. Les tâches peuvent être différentes selon les étapes de l’architecture. À chaque étape, la tâche en question aura son mot à dire sur l’apparence que devrait avoir la conception des couches.

Par exemple, prenez MNIST. L’ensemble de données se compose d’images de dix chiffres, de 0 à 10, toutes en niveaux de gris. La tâche – sans surprise – consiste à attribuer à chaque image le chiffre représenté.

Tout d’abord, considérons le domaine. UN \(7\) est un \(7\) partout où il apparaît sur la grille. Nous avons donc besoin d’une opération équivariant de traduction: Il s’adapte de manière flexible aux changements (traductions) dans son entrée. Plus concrètement, dans notre contexte, équivariant les opérations sont capables de détecter les propriétés de certains objets même si cet objet a été déplacé, verticalement et/ou horizontalement, vers un autre emplacement. Convolutionomniprésente non seulement dans l’apprentissage profond, est précisément une telle opération d’équivariation de décalage.

Permettez-moi d’attirer particulièrement l’attention sur le fait que, dans l’équivariance, l’essentiel est cette « adaptation flexible ». Opérations d’équivariance de traduction faire se soucier de la nouvelle position d’un objet ; ils enregistrent une caractéristique non pas de manière abstraite, mais à la nouvelle position de l’objet. Pour comprendre pourquoi c’est important, considérons le réseau dans son ensemble. Lorsque nous composons des convolutions, nous construisons une hiérarchie de détecteurs de caractéristiques. Cette hiérarchie doit être fonctionnelle quel que soit l’endroit de l’image. De plus, elles doivent être cohérentes : les informations de localisation doivent être conservées entre les couches.

Du point de vue terminologique, il est donc important de distinguer l’équivariance de invariance. Une opération invariante, dans notre contexte, serait toujours capable de repérer une caractéristique partout où elle se produit ; cependant, il oublierait volontiers où se trouvait cette fonctionnalité. Il est donc clair que pour construire une hiérarchie de fonctionnalités, la traduction-invariance n’est pas assez.

Ce que nous avons fait maintenant, c’est dériver une exigence du domaine, la grille d’entrée. Et la tâche ? Si, finalement, tout ce que nous sommes censés faire est de nommer le chiffre, tout à coup, l’emplacement n’a plus d’importance. En d’autres termes, une fois la hiérarchie établie, l’invariance est assez. Dans les réseaux de neurones, mise en commun est une opération qui oublie les détails (spatiaux). Il ne se soucie que de la moyenne, par exemple, ou de la valeur maximale elle-même. C’est ce qui le rend adapté pour « résumer » des informations sur une région, ou une image complète, si à la fin nous nous soucions uniquement de renvoyer une étiquette de classe.

En un mot, nous avons pu formuler une liste de souhaits en matière de conception basée sur (1) ce qui nous est donné et (2) ce qui nous est confié.

Après cette esquisse de haut niveau du Deep Learning géométrique, nous zoomons sur le sujet désigné de cette série d’articles : équivariant de groupe réseaux de neurones convolutifs.

Le pourquoi de « l’équivariant » ne devrait pas, à l’heure actuelle, poser trop d’énigme. Mais qu’en est-il de ce préfixe « groupe » ?

Le « groupe » en équivariance de groupe

Comme vous l’avez peut-être deviné dans l’introduction, en parlant de « principes » et de « axé sur les mathématiques », ce vraiment concerne les groupes au « sens mathématique ». Selon votre parcours, la dernière fois que vous avez entendu parler de groupes, c’était à l’école, et sans même la moindre idée de leur importance. Je ne suis certainement pas qualifié pour résumer toute la richesse de ce à quoi ils servent, mais j’espère qu’à la fin de cet article, leur importance dans l’apprentissage profond prendra un sens intuitif.

Groupes de symétries

Voici un carré.

Un carré dans sa position par défaut, aligné horizontalement sur un axe X virtuel (invisible).

Maintenant, fermez les yeux.

Maintenant, regarde à nouveau. Est-ce qu’il est arrivé quelque chose sur la place ?

Un carré dans sa position par défaut, aligné horizontalement sur un axe X virtuel (invisible).

Vous ne pouvez pas le dire. Peut-être qu’il y a eu une rotation ; peut-être que ce n’était pas le cas. Par contre, et si les sommets étaient numérotés ?

Un carré dans sa position par défaut, avec des sommets numérotés de 1 à 4, en commençant dans le coin inférieur droit et en comptant dans le sens inverse des aiguilles d'une montre.

Maintenant tu le saurais.

Sans la numérotation, aurais-je pu faire pivoter le carré comme je le souhaitais ? Evidemment non. Cela ne passerait pas inaperçu :

Un carré tourné de quelques degrés dans le sens inverse des aiguilles d’une montre.

Il y a exactement quatre façons dont j’aurais pu faire pivoter le carré sans éveiller les soupçons. Ces moyens peuvent être désignés de différentes manières ; un moyen simple consiste à utiliser le degré de rotation : 90, 180 ou 270 degrés. Pourquoi pas plus ? Tout ajout supplémentaire de 90 degrés entraînerait une configuration que nous avons déjà vue.

Quatre carrés, avec chacun des sommets numérotés.  Le premier a le sommet 1 en bas à droite, le second une rotation vers le haut, en haut à droite, et ainsi de suite.

L’image ci-dessus montre trois carrés, mais j’ai répertorié trois rotations possibles. Qu’en est-il de la situation à gauche, celle que j’ai prise comme état initial ? Il pourrait être atteint en effectuant une rotation de 360 ​​​​degrés (ou deux fois plus, ou trois fois, ou …) Mais la façon dont cela est géré, en mathématiques, est de le traiter comme une sorte de « rotation nulle », de la même manière que \(0\) agit en outre, \(1\) en multiplication, ou la matrice identité en algèbre linéaire.

Au total, nous avons donc quatre Actions qui pourrait être effectué sur le carré (un carré non numéroté !) et le laisserait tel quel, ou invariant. Ceux-ci sont appelés les symétries de la place. Une symétrie, en mathématiques/physique, est une quantité qui reste la même quoi qu’il arrive au fil du temps. Et c’est là qu’interviennent les groupes. Groupes – concrètement, leur éléments – effectuer des actions comme la rotation.

Avant d’expliquer comment, permettez-moi de donner un autre exemple. Prenez cette sphère.

Une sphère de couleur uniforme.

Combien de symétries possède une sphère ? Une infinité. Cela implique que quel que soit le groupe choisi pour agir sur le carré, il ne servira pas à grand-chose à représenter les symétries de la sphère.

Affichage des groupes via le action lentille

Suite à ces exemples, permettez-moi de généraliser. Voici une définition typique.

Un groupe \(G\) est un ensemble fini ou infini d’éléments avec une opération binaire (appelée opération de groupe) qui satisfont ensemble les quatre propriétés fondamentales de fermeture, d’associativité, de propriété d’identité et de propriété inverse. L’opération par rapport à laquelle un groupe est défini est souvent appelée « opération de groupe », et un ensemble est appelé un groupe « sous » cette opération. Éléments \(UN\), \(B\), \(C\)… avec opération binaire entre \(UN\) et \(B\) dénoté \(UN B\) formez un groupe si

  1. Fermeture : Si \(UN\) et \(B\) sont deux éléments dans \(G\)alors le produit \(UN B\) est également dans \(G\).

  2. Associativité : La multiplication définie est associative, c’est-à-dire pour tout \(UN\),\(B\),\(C\) dans \(G\), \((AB)C=A(BC)\).

  3. Identité : Il y a un élément d’identité \(JE\) (alias \(1\), \(E\)ou \(e\)) tel que \(IA=AI=A\) pour chaque élément \(UN\) dans \(G\).

  4. Inverse : il doit y avoir un inverse (c’est-à-dire réciproque) de chaque élément. Ainsi, pour chaque élément \(UN\) de \(G\)l’ensemble contient un élément \(B=A^{-1}\) tel que \(AA^{-1}=A^{-1}A=I\).

En langage action, les éléments du groupe spécifient les actions autorisées ; ou plus précisément, ceux qui se distinguent les uns des autres. Deux actions peuvent être composées ; c’est « l’opération binaire ». Les exigences prennent désormais un sens intuitif :

  1. Une combinaison de deux actions – deux rotations, par exemple – reste une action du même type (une rotation).
  2. Si nous avons trois de ces actions, la manière dont nous les regroupons n’a pas d’importance. (Leur ordre d’application doit cependant rester le même.)
  3. Une action possible est toujours « l’action nulle ». (Tout comme dans la vie.) Quant à « ne rien faire », cela ne fait aucune différence si cela se produit avant ou après un « quelque chose » ; ce « quelque chose » est toujours le résultat final.
  4. Chaque action doit avoir un « bouton d’annulation ». Dans l’exemple des carrés, si je fais une rotation de 180 degrés, puis de nouveau de 180 degrés, je reviens à l’état d’origine. C’est si j’avais fait rien.

Reprenant une vision plus « à vol d’oiseau », ce que nous avons vu en ce moment est la définition d’un groupe par la manière dont ses éléments agissent les uns sur les autres. Mais pour que les groupes comptent « dans le monde réel », ils doivent agir sur quelque chose d’extérieur (les composants des réseaux neuronaux, par exemple). Comment cela fonctionne est le sujet des articles suivants, mais je vais brièvement décrire ici l’intuition.

Perspectives : CNN équivalent au groupe

Nous avons noté plus haut que, dans la classification d’images, un traduction-une opération invariante (comme la convolution) est nécessaire : A \(1\) est un \(1\) qu’il soit déplacé horizontalement, verticalement, dans les deux sens ou pas du tout. Mais qu’en est-il des rotations ? Debout sur la tête, un chiffre est toujours ce qu’il est. La convolution conventionnelle ne prend pas en charge ce type d’action.

Nous pouvons ajouter à notre liste de souhaits architecturaux en spécifiant un groupe de symétrie. Quel groupe? Si nous voulions détecter des carrés alignés sur les axes, un groupe approprié serait \(C_4\), le groupe cyclique d’ordre quatre. (Ci-dessus, nous avons vu qu’il nous fallait quatre éléments, et que nous pouvions faire du vélo à travers le groupe.) Si, d’un autre côté, nous ne nous soucions pas de l’alignement, nous voudrions n’importe lequel position pour compter. En principe, nous devrions nous retrouver dans la même situation que celle de la sphère. Cependant, les images vivent sur des grilles discrètes ; il n’y aura pas un nombre illimité de rotations en pratique.

Avec des applications plus réalistes, nous devons réfléchir plus attentivement. Prenez des chiffres. Quand est un numéro « le même » ? D’une part, cela dépend du contexte. S’il s’agissait d’une adresse manuscrite sur une enveloppe, accepterions-nous un \(7\) en tant que tel, avait-il été tourné de 90 degrés ? Peut être. (Même si on peut se demander ce qui pourrait pousser quelqu’un à changer la position du stylo à bille pour un seul chiffre.) Qu’en est-il d’un \(7\) debout sur la tête ? En plus de considérations psychologiques similaires, nous devrions être sérieusement incertains du message souhaité et, au moins, minimiser le point de données s’il faisait partie de notre ensemble de formation.

Surtout, cela dépend aussi du chiffre lui-même. UN \(6\)à l’envers, est un \(9\).

En zoomant sur les réseaux de neurones, il y a de la place pour encore plus de complexité. Nous savons que les CNN construisent une hiérarchie de fonctionnalités, en commençant par les plus simples, comme les bords et les coins. Même si, pour les couches ultérieures, nous ne souhaitons pas d’équivariance de rotation, nous aimerions quand même l’avoir dans l’ensemble initial de couches. (La couche de sortie – nous y avons déjà fait allusion – doit dans tous les cas être considérée séparément, car ses exigences résultent des spécificités de ce qui nous est confié.)

C’est tout pour aujourd’hui. J’espère avoir réussi à éclairer un peu pourquoi nous voudrions avoir des réseaux de neurones équivariants de groupe. La question demeure : comment les obtenir ? C’est de cela que porteront les prochains articles de la série.

En attendant, et merci d’avoir lu !

photo par Ihor OINUA sur Unsplash

Related Articles

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Latest Articles