Vous êtes sur la bonne voie.
L'invariance signifie que vous pouvez reconnaître un objet en tant qu'objet, même lorsque son apparence varie d'une manière ou d'une autre. C'est généralement une bonne chose, car cela préserve l'identité, la catégorie, etc. de l'objet, malgré les modifications apportées aux détails de l'entrée visuelle, comme les positions relatives du spectateur / de la caméra et de l'objet.
L'image ci-dessous contient de nombreuses vues de la même statue. Vous (et les réseaux de neurones bien entraînés) pouvez reconnaître que le même objet apparaît dans chaque image, même si les valeurs de pixels réelles sont très différentes.
Notez que la traduction a ici une signification spécifique dans la vision, empruntée à la géométrie. Il ne fait référence à aucun type de conversion, contrairement à une traduction du français vers l'anglais ou entre formats de fichiers. Cela signifie plutôt que chaque point / pixel de l’image a été déplacé de la même quantité dans la même direction. Alternativement, vous pouvez penser à l'origine comme ayant été décalée d'un montant égal dans la direction opposée. Par exemple, nous pouvons générer les deuxième et troisième images de la première ligne en déplaçant chaque pixel de 50 ou 100 pixels vers la droite.
On peut montrer que l'opérateur de convolution commute en ce qui concerne la traduction. Si vous convolvez
F avec
g, peu importe si vous traduisez la sortie convolution
F* g, ou si vous traduisez
F ou
gd'abord, puis les convoluer. Wikipedia a un
peu plus .
Une approche de la reconnaissance d'objet invariante en traduction consiste à prendre un "modèle" de l'objet et à le convoluer à chaque emplacement possible de l'objet dans l'image. Si vous obtenez une réponse volumineuse à un emplacement, cela suggère qu'un objet ressemblant au modèle se trouve à cet emplacement. Cette approche est souvent appelée correspondance de modèles .
Invariance vs Equivariance
La réponse de Santanu_Pattanayak ( ici ) indique qu'il existe une différence entre l' invariance de traduction et l' équivariance de traduction . L'invariance de traduction signifie que le système produit exactement la même réponse, quelle que soit la manière dont son entrée est décalée. Par exemple, un détecteur de visage peut signaler "FACE FOUND" pour les trois images de la rangée supérieure. L'équivariance signifie que le système fonctionne également bien d'une position à l'autre, mais sa réponse change en fonction de la position de la cible. Par exemple, une carte thermique de "visage-iness" aurait des bosses similaires à gauche, au centre et à droite lorsqu'elle traite la première ligne d'images.
C’est parfois une distinction importante, mais beaucoup de gens appellent les deux phénomènes "invariance", d’autant plus qu’il est généralement trivial de convertir une réponse équivariante en réponse invariante - il suffit de ne pas tenir compte de toutes les informations de position).
Je pense qu'il y a une certaine confusion sur ce que l'on entend par invariance translationnelle. La convolution fournit une équivariance de traduction, ce qui signifie que si un objet dans une image est dans la zone A et que, par convolution, une caractéristique est détectée à la sortie dans la zone B, la même caractéristique sera détectée lorsque l'objet dans l'image sera traduit en A '. La position de l'entité en sortie serait également traduite dans une nouvelle zone B 'basée sur la taille du noyau du filtre. C'est ce qu'on appelle l'équivariance translationnelle et non l'invariance translationnelle.
la source
La réponse est en réalité plus compliquée qu'il n'y parait au début. En règle générale, l'invariance traductionnelle signifie que vous reconnaîtrez l'objet sans distinction d'où il apparaît sur le cadre.
Dans l'image suivante des cadres A et B, vous reconnaîtrez le mot "souligné" si votre vision prend en charge l'invariance de traduction des mots .
J'ai mis en évidence le terme de mots car si votre invariance ne prend en charge que les lettres, alors la trame C sera également égale aux trames A et B: elle a exactement les mêmes lettres.
Concrètement, si vous formez votre CNN sur les lettres, des éléments tels que MAX POOL vous aideront à obtenir l’invariance de traduction des lettres, mais ne conduiront pas nécessairement à une invariance de traduction des mots. La mise en commun extrait l'entité (extraite du calque correspondant) sans tenir compte de l'emplacement des autres entités. Elle perd donc la connaissance de la position relative des lettres D et T et les mots STRESSED et DESSERTS se ressemblent.
Le terme lui-même provient probablement de la physique, où symétrie de traduction signifie que les équations restent les mêmes quelle que soit la traduction dans l'espace.
la source
@Santanu
Bien que votre réponse soit correcte en partie et prête à confusion. Il est vrai que les couches de convolution elles-mêmes ou les cartes d'entités en sortie sont des équivariants de traduction. Les couches de max-pooling fournissent une invariance de traduction, comme le souligne @Matt.
C'est-à-dire que l'équivariance dans les cartes de caractéristiques combinée à la fonction de couche de regroupement maximal conduit à une invariance de traduction dans la couche de sortie (softmax) du réseau. La première série d'images ci-dessus produirait toujours une prédiction appelée "statue" même si elle a été traduite à gauche ou à droite. Le fait que la prédiction reste "statuette" (c'est-à-dire identique) malgré la traduction de l'entrée signifie que le réseau a obtenu une certaine invariance de traduction.
la source