Du bist auf dem richtigen Weg.
Invarianz bedeutet, dass Sie ein Objekt als Objekt erkennen können, auch wenn sein Erscheinungsbild in gewisser Weise variiert . Dies ist im Allgemeinen eine gute Sache, da dadurch die Identität, Kategorie usw. des Objekts bei Änderungen der Besonderheiten der visuellen Eingabe, wie relative Positionen des Betrachters / der Kamera und des Objekts, beibehalten werden.
Das Bild unten enthält viele Ansichten derselben Statue. Sie (und gut ausgebildete neuronale Netze) können erkennen, dass in jedem Bild dasselbe Objekt erscheint, obwohl die tatsächlichen Pixelwerte sehr unterschiedlich sind.
Beachten Sie, dass die Übersetzung hier eine bestimmte Bedeutung im Sehen hat, die aus der Geometrie entlehnt ist. Es bezieht sich nicht auf irgendeine Art der Konvertierung, im Gegensatz zu einer Übersetzung von Französisch nach Englisch oder zwischen Dateiformaten. Stattdessen bedeutet dies, dass jeder Punkt / Pixel im Bild um den gleichen Betrag in die gleiche Richtung verschoben wurde. Alternativ können Sie sich vorstellen, dass der Ursprung um den gleichen Betrag in die entgegengesetzte Richtung verschoben wurde. Zum Beispiel können wir das 2. und 3. Bild in der ersten Reihe aus dem ersten generieren, indem wir jedes Pixel 50 oder 100 Pixel nach rechts verschieben.
Man kann zeigen, dass der Faltungsoperator bezüglich der Übersetzung pendelt. Wenn Sie mit falten , spielt es keine Rolle, ob Sie die gefaltete Ausgabe übersetzen oder ob Sie zuerst oder übersetzen und sie dann falten. Wikipedia hat ein
bisschen mehr .
fgf∗gfg
Ein Ansatz zur übersetzungsinvarianten Objekterkennung besteht darin, eine "Schablone" des Objekts zu erstellen und diese mit jeder möglichen Position des Objekts im Bild zu falten. Wenn Sie an einem Ort eine große Antwort erhalten, deutet dies darauf hin, dass sich an diesem Ort ein Objekt befindet, das der Vorlage ähnelt. Dieser Ansatz wird häufig als Template-Matching bezeichnet .
Invarianz vs. Äquivarianz
Santanu_Pattanayak Antwort ( hier ) weist darauf hin , dass es einen Unterschied zwischen Übersetzung Invarianz und Übersetzung Äquivarianz . Übersetzungsinvarianz bedeutet, dass das System unabhängig von der Verschiebung seiner Eingabe genau die gleiche Antwort ausgibt. Beispielsweise könnte ein Gesichtsdetektor "GESICHT GEFUNDEN" für alle drei Bilder in der oberen Reihe anzeigen. Äquivarianz bedeutet, dass das System in allen Positionen gleich gut funktioniert, aber seine Reaktion ändert sich mit der Position des Ziels. Beispielsweise würde eine Wärmekarte von "Gesichtsein" links, in der Mitte und rechts ähnliche Unebenheiten aufweisen, wenn sie die erste Bildreihe verarbeitet.
Dies ist manchmal ein wichtiger Unterschied, aber viele Leute nennen beide Phänomene "Invarianz", zumal es normalerweise trivial ist, eine äquivariante Antwort in eine invariante umzuwandeln - ignorieren Sie einfach alle Positionsinformationen).
Ich denke, es gibt einige Verwirrung darüber, was mit translationaler Invarianz gemeint ist. Faltung liefert Übersetzungsäquivarianz, dh wenn sich ein Objekt in einem Bild im Bereich A befindet und durch Faltung ein Merkmal am Ausgang im Bereich B erkannt wird, würde dasselbe Merkmal erkannt, wenn das Objekt im Bild in A 'übersetzt wird. Die Position des Ausgabe-Features würde auch basierend auf der Filterkerngröße in einen neuen Bereich B 'übersetzt. Dies wird als translatorische Äquivarianz und nicht als translatorische Invarianz bezeichnet.
quelle
Die Antwort ist tatsächlich kniffliger als es zunächst erscheint. Im Allgemeinen bedeutet die translatorische Invarianz, dass Sie das Objekt erkennen würden, unabhängig davon, wo es auf dem Frame erscheint.
Im nächsten Bild in Bild A und B würden Sie das Wort "gestresst" erkennen, wenn Ihre Vision die Übersetzungsinvarianz von Wörtern unterstützt .
Ich habe den Begriff Wörter hervorgehoben, weil, wenn Ihre Invarianz nur für Buchstaben unterstützt wird, der Rahmen C auch den Rahmen A und B entspricht: er hat genau die gleichen Buchstaben.
In der Praxis helfen Dinge wie MAX POOL, wenn Sie Ihr CNN auf Buchstaben trainiert haben, um die Übersetzungsinvarianz für Buchstaben zu erreichen, führen jedoch nicht unbedingt zu einer Übersetzungsinvarianz für Wörter. Beim Poolen wird das Feature (das von einer entsprechenden Ebene extrahiert wurde) unabhängig von der Position anderer Features extrahiert, sodass die relative Position der Buchstaben D und T und der Wörter STRESSED und DESSERTS nicht mehr bekannt sind.
Der Begriff selbst ist wahrscheinlich aus der Physik, wo t ranslational Symmetrie bedeutet , dass die Gleichungen gleich , unabhängig von Übersetzung im Raum bleiben.
quelle
@ Santanu
Während Ihre Antwort teilweise richtig ist und zu Verwirrung führt. Es ist richtig, dass Convolutional-Layer selbst oder Ausgabe-Feature-Maps Übersetzungsäquivarianten sind. Was die Max-Pooling-Schichten tun, ist eine gewisse Übersetzungsinvarianz, wie @Matt hervorhebt.
Das heißt, die Äquivarianz in den Feature-Maps in Kombination mit der Max-Pooling-Layer-Funktion führt zu einer Übersetzungsinvarianz in der Ausgabeschicht (Softmax) des Netzwerks. Die erste Reihe der obigen Bilder würde immer noch eine Vorhersage mit dem Namen "Statue" erzeugen, obwohl sie nach links oder rechts übersetzt wurde. Die Tatsache, dass die Vorhersage trotz der Übersetzung der Eingabe "statue" (dh dieselbe) bleibt, bedeutet, dass das Netzwerk eine gewisse Übersetzungsinvarianz erreicht hat.
quelle