Zweck der L2-Normalisierung für das Triplett-Netzwerk


7

Triplett-basiertes Fernstudium zur Gesichtserkennung scheint sehr effektiv zu sein. Ich bin neugierig auf einen bestimmten Aspekt des Papiers. Um eine Einbettung für ein Gesicht zu finden, normalisieren die Autoren die verborgenen Einheiten mithilfe der L2-Normalisierung, wodurch die Darstellung auf einer Hypersphäre eingeschränkt wird. Warum ist das hilfreich oder notwendig?

Antworten:


7

Der quadratische euklidische Abstand zwischen normalisierten Vektoren ist proportional zu ihrer Kosinusähnlichkeit (Ref: Wikipedia ), so dass der Vorteil der Verwendung der Normalisierung mehr oder weniger der Vorteil der Kosinusähnlichkeit gegenüber ist Euklidische Entfernung. Wie in Andy Jones 'Antwort erwähnt, würde eine Skalierung des Randes um einen Faktor ohne Normalisierung die Einbettung nur entsprechend skalieren.

EINEIN- -B.B.2=EINEIN2+B.B.2- -2EINB.EINB.=2- -2EINB.EINB.

Eine weitere schöne Eigenschaft ist, dass bei einer solchen Normalisierung der Wert des euklidischen Quadratabstands garantiert innerhalb des Bereichs , was uns viel Aufwand bei der Auswahl eines geeigneten Randparameters erspart .[0,4]]α

In einem anderen Artikel, auf den in diesem Artikel verwiesen wird, wird beispielsweise das sogenannte Federmodell verwendet, das auf dem (nicht normalisierten) quadratischen euklidischen Abstand basiert, wobei eine der praktischen Schwierigkeiten darin besteht, einen geeigneten Rand und Teilungspunkt zu bestimmen, da sich die Einbettung ständig ändert Das Training geht weiter.

Wenn Sie die Normalisierungsebene selbst implementieren möchten, finden Sie hier einen Blog über die Ableitungen und die Implementierung in Caffe (ein Teil des Blogs ist auf Chinesisch, hat jedoch keine Auswirkungen auf das Lesen).


Warum ist der quadratische euklidische Abstand innerhalb von [0, 4] begrenzt, wenn er in diesem Fall gleich dem Kosinusabstand ist, der nur in [-1, 1] sein kann?
Pir

@pir Wenn Sie sich die rechte Seite der Formel ansehen, ist es tatsächlich 2-2 * cos_sim, was zwischen [0, 4] liegt, da cos_sim in [-1, 1] ist
dontloo

1

Ich denke, das liegt daran, dass es einen bevorzugten Ort und eine bevorzugte Skalierung für die Einbettung bietet. Die bevorzugte Position bedeutet, dass der Verlust nicht mehr translatorisch invariant ist. Dies ist nützlich, wenn Sie mit Gleitkommazahlen arbeiten, während die bevorzugte Skala die Bedeutung des Randparameters angibt. Ohne die Hypersphärenbeschränkung würde das Aufblasen des Randes um den Faktor alle Einbettungen nur um den Faktor skalieren .cc


Das macht Sinn, danke. Wissen Sie, wie die Gradienten für die Parameter durch diese Normalisierung geändert werden?
Pir

IIRC Der typische Ansatz besteht darin, am Ende jedes Schritts einfach auf die Hypersphäre zurück zu projizieren.
Andy Jones

1
Nein, laut dieser Torch-Implementierung irre ich mich; Sie leiten den Verlauf einfach ab und wenden ihn auf die übliche Weise an.
Andy Jones
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.