Quelle est la difference entre “equivariant to translation” et “invariant to translation”


38

J'ai du mal à comprendre la différence entre équivariant de traduction et invariant de traduction .

Dans le livre Deep Learning . MIT Press, 2016 (I. Goodfellow, A. Courville et Y. Bengio), on peut trouver sur les réseaux convolutifs:

  • [...] la forme particulière de partage des paramètres donne à la couche une propriété appelée équivariance par rapport à la traduction
  • la mise en commun permet de rendre la représentation approximativement invariante par rapport aux petites traductions de l'entrée

Y a-t-il une différence entre eux ou les termes sont-ils utilisés indifféremment?


2
À l'époque de la statistique, comme à l'époque de Pitman, invariant était utilisé dans le sens d'équivariant.
Xi'an

Réponses:


39

L'équivariance et l'invariance sont parfois utilisées de manière interchangeable. Comme l'a souligné @ Xi'an , vous pouvez trouver des utilisations dans la littérature statistique, par exemple sur les notions d' estimateur invariant et en particulier d' estimateur de Pitman .

Cependant, je voudrais mentionner qu'il serait préférable que les deux termes restent séparés , car le préfixe " in " dans invariant est privatif (signifiant "aucune variance"), tandis que " équi- " dans équivariant se réfère à "variable". dans une proportion similaire ou équivalente ". En d'autres termes, l'un ne bouge pas, l'autre le fait .

Commençons par de simples caractéristiques d’image et supposons que l’image je ait un maximum unique m pour la position spatiale du pixel (Xm,ym) , qui est ici la principale caractéristique de classification. En d'autres termes: une image et toutes ses traductions sont "les mêmes" . Une propriété intéressante des classificateurs est leur capacité à classer de la même manière certaines versions déformées je de je , par exemple des traductions par tous les vecteurs (vous,v) .

La valeur maximale m de je est invariante : m=m : la valeur est la même. Alors que son emplacement sera à (Xm,ym)=(Xm-vous,ym-v) , il est équivariant , ce qui signifie qu’il varie "de manière égale" avec la distorsion .

Les formulations précises données en mathématiques pour l'équivariance dépendent des objets et des transformations que l'on considère, je préfère donc ici la notion la plus utilisée dans la pratique (et je peux être blâmé d'un point de vue théorique).

Ici, les traductions (ou une action plus générique) peuvent être équipées de la structure d'un groupe g , g étant un opérateur de traduction spécifique. Une fonction ou une caractéristique F est invariante sous g si, pour toutes les images d'une classe, et pour tout g ,

F(g(je))=F(je).

Il devient équivalent s'il existe une autre structure mathématique ou action (souvent un groupe) g qui reflète les transformations de g de manière significative . En d' autres termes, de telle sorte que pour chaque g , vous avez une expérience unique d' un gg tel que

F(g(je))=g(F(je)).

Dans l'exemple ci-dessus sur le groupe de traductions, g et g sont identiques (et donc g=g ): une traduction entière de l'image correspond à la même traduction exacte de l'emplacement maximal.

Une autre définition commune est:

F(g(je))=g(F(je)).

J'ai toutefois utilisé des g et des g potentiellement différents , car parfois F(je) et g(je) ne sont pas dans le même domaine. Cela se produit par exemple dans les statistiques multivariées (voir, par exemple , les propriétés d'équivariance et d'invariance des fonctions quantiles multivariées et connexes, et le rôle de la normalisation ). Mais ici, l'unicité de la cartographie entre g et g permet de revenir à la transformation initiale g .

Souvent, les gens utilisent le terme invariance parce que le concept d'équivariance est inconnu ou tout le monde utilise l'invariance, et l'équivariance semble plus pédante.

Pour mémoire, d’autres notions connexes (notamment en mathématiques et en physique) sont appelées covariance , contravariance , invariance différentielle .

En outre, l'invariance par translation, au moins approximative ou dans une enveloppe, a été une quête de plusieurs outils de traitement du signal et de l'image. Notamment, des transformations à plusieurs taux (banques de filtres) et à plusieurs échelles (ondelettes ou pyramides) ont été conçues au cours des 25 dernières années, par exemple sous le capot de transformées en ondelettes (pour une revue sur les ondelettes 2D, panorama sur les représentations géométriques multi-échelles ). Les ondelettes peuvent absorber quelques variations d'échelle discrètes. Toutes ces invariances (approximatives) viennent souvent avec le prix de la redondance dans le nombre de coefficients transformés. Mais ils sont plus susceptibles de produire des caractéristiques invariantes ou équivariantes.


4
Génial! J'admire vraiment vos efforts pour la réponse détaillée @Laurent Duval
Aamir

25

Les termes sont différents:

  • Équivariant par traduction signifie qu'une traduction d'entités en entrée entraîne une traduction équivalente en sorties. Donc, si votre motif 0,3,2,0,0 sur l’entrée entraîne 0,1,0,0 dans la sortie, le motif 0,0,3,2,0 peut conduire à 0,0,1, 0

  • Invariant à la traduction signifie qu'une traduction d'entités en entrée ne modifie pas du tout les sorties. Donc, si votre motif 0,3,2,0,0 sur l’entrée donne 0,1,0 dans la sortie, le motif 0,0,3,2,0 entraînerait également 0,1,0

Pour que les cartes de caractéristiques dans les réseaux de convolution soient utiles, elles ont généralement besoin d’un équilibre entre les deux propriétés. L'équivariance permet au réseau de généraliser la détection des contours, des textures et des formes à différents endroits. L'invariance permet de localiser avec moins de précision les caractéristiques détectées. Ce sont deux types complémentaires de généralisation pour de nombreuses tâches de traitement d'image.


La fonctionnalité traduite génère une sortie traduite sur une couche. Veuillez préciser si un objet entier considérablement traduit est détecté. Semble-t-il qu'il sera détecté même si CNN n'a pas été entraîné avec des images contenant différentes positions? L'équivariance est-elle valable dans ce cas (ressemble davantage à l'invariance)?
VladimirLenin

@ VladimirLenin: Je ne pense pas que l'élaboration de cette question soit nécessaire, ce n'est certainement pas quelque chose que l'OP a demandé ici. Je vous suggère de poser une question distincte, avec un exemple concret si possible. Même si visuellement un "objet entier" a été traduit, cela ne signifie pas que les cartes de caractéristiques d'un CNN suivent la même chose que ce à quoi vous vous attendiez.
Neil Slater

4

Il suffit d'ajouter mes 2 centimes

F:jeLjeL

  • F:jeL
  • F:LL

et il est exécuté en utilisant les propriétés suivantes

  • équivariance spatiale, en ce qui concerne ConvLayer (Convolution Spatiale 2D + NonLin, par exemple ReLU) comme un décalage dans l'entrée de la couche produit un décalage dans la sortie de la couche (Remarque: il s'agit de la couche et non de l'opérateur de convolution unique)
  • Invariance spatiale vis-à-vis de l'opérateur de mise en pool (par exemple, Max Pooling dépasse la valeur max dans son champ de réception quelle que soit sa position dans l'espace)

je

L

L'utilisation de couches entièrement connectées dans le système frontal rend le classifieur sensible à la position de la fonctionnalité dans une certaine mesure, en fonction de la structure du backend: plus il est profond et plus l'opérateur de conversion invariant (Pooling) utilisé est important

Il a été montré dans Quantifier translation-invariance dans des réseaux de neurones convolutionnels que, pour améliorer l'invariance de traduction du classifieur CNN, au lieu d'agir sur le biais inductif (architecture, profondeur, pooling,…), il est plus efficace d'agir sur le biais de l'ensemble de données )

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.