Bewahren Autoencoder Entfernungen auf?


7

Nach meinem Verständnis werden Autoencoder verwendet, um eine kompakte Darstellung von Eingabefunktionen zu finden, die die wesentlichen zugrunde liegenden Informationen enthält.

Gibt es eine Beziehung zwischen den L2-Abständen im ursprünglichen Eingaberaum und dem reduzierten (kompakten) Raum? Wenn nicht, kann ich das Netzwerk so trainieren, dass die kompakte Darstellung nach der Transformation die Entfernung beibehält?


1
Ich würde nicht erwarten, dass dies für irgendetwas gilt - schließlich verwenden Menschen latente Autoencoder-Räume, um eine aussagekräftigere Ähnlichkeit zu erzielen -, wenn Sie beispielsweise einen Conv-Autoencoder auf Bildern trainieren, entsprechen ähnliche latente Vektoren semantisch verwandten Bildern im Gegensatz zu Bildern ähnlich im Pixelraum.
Jakub Bartczuk

2
Wenn Sie "Entfernungen (paarweise) beibehalten" sagen, meinen Sie damit zwischen allen Punkten des Eingaberaums oder nur zwischen den Punkten des Trainingssatzes? Mit anderen Worten, nehme ich an, ich bekomme einen neuen EingabepunktP(Testpunkt), der zum Trainingszeitpunkt nicht verwendet wurde. Erwarten Sie, dass der Autoencoder eine Darstellung lernt?Z so dass die Entfernung von Z von jedem Punkt im reduzierten Raum ist die gleiche Entfernung wie die Entfernung von Pim ursprünglichen Raum?
DeltaIV

1
Oder würden Sie sich mit einem Autoencoder zufrieden geben, der nur Darstellungen des Trainingssatzes lernt, bei denen die paarweisen Abstände der Punkte im Trainingssatz erhalten bleiben ? Dh so etwas wie mehrdimensionale Skalierung?
DeltaIV

1
@DeltaIV Die Eigenschaft, die ich sehen möchte, ist, dass ein Beispiel im Test-Set, wenn es sich in der Nähe eines Punkts im Training / Test-Set im ursprünglichen Raum befindet, auch im reduzierten Raum nahe ist.
Mahdi

Vielen Dank. Bitte fügen Sie diese Informationen in den Hauptteil der Frage ein: Alle wichtigen Informationen sollten vorhanden sein. Kommentare sollen nur vorübergehend sein.
DeltaIV

Antworten:


5

Nein, das tun sie nicht. Wir gestalten sie grundsätzlich so, dass sie keine Abstände einhalten können. Ein Autoencoder ist ein neuronales Netzwerk, das eine "sinnvolle" Darstellung der Eingabe lernt und dabei seine "semantischen" Merkmale beibehält. Die zitierten Wörter (wie so viele Begriffe in Deep Learning-Artikeln) haben keine strenge Definition, aber sagen wir, dass der Autoencoder, der auf einer Reihe von Eingaben trainiert ist, einige gemeinsame Merkmale dieser Eingaben lernen sollte, die es ermöglichen, eine unsichtbare Eingabe mit kleinen Eingaben zu rekonstruieren Fehler 1 .

Der einfachste Weg für den Autoencoder, die Unterschiede zwischen Eingabe und Ausgabe (rekonstruierte Eingabe) zu minimieren, besteht darin, nur die Eingabe auszugeben, dh die Identitätsfunktion zu lernen, die eine Isometrie ist, wodurch Abstände erhalten bleiben. Wir möchten jedoch nicht, dass der Autoencoder einfach die Identitätskarte lernt, da wir sonst keine "sinnvolle" Darstellung lernen, oder besser gesagt, wir lernen nicht, die Eingabe durch Erlernen ihrer Grundlagen zu "komprimieren" semantische Merkmale und "Wegwerfen" der winzigen Details (das Rauschen im Fall des Entrauschen des Autoencoders).

Um zu verhindern, dass der Autoencoder die Identitätstransformation lernt und ihn zwingt, die Eingabe zu komprimieren, reduzieren wir die Anzahl der Einheiten in den verborgenen Ebenen des Autoencoders (Engpassschicht oder -ebenen). Mit anderen Worten, wir zwingen es, eine Form der nichtlinearen Dimensionsreduktion zu lernen: Nicht umsonst besteht eine tiefe Verbindung zwischen linearen Autoencodern und PCA , einem bekannten statistischen Verfahren zur linearen Dimensionsreduktion.

Dies ist jedoch mit Kosten verbunden : Indem der Autoencoder gezwungen wird, eine Art nichtlineare Dimensionsreduzierung durchzuführen, verhindern wir, dass er Entfernungen beibehält. Tatsächlich können Sie beweisen, dass es zwischen zwei euklidischen Räumen keine Isometrie gibt, dh keine entfernungserhaltende TransformationEn und Em wenn m<n(Dies wird implizit in diesem Beweis einer anderen Aussage bewiesen ). Mit anderen Worten, eine dimensionsreduzierende Transformation kann keine Isometrie sein. Das ist eigentlich ziemlich intuitiv: Wenn der Autoencoder lernen muss, Elemente eines hochdimensionalen Vektorraums abzubildenVzu Elementen einer niederdimensionalen Mannigfaltigkeit M eingebettet in Vmuss es einige Richtungen in "opfern" VDies bedeutet, dass zwei Vektoren, die sich nur entlang dieser Richtungen unterscheiden, auf dasselbe Element von abgebildet werden M. Somit bleibt ihr Abstand, der anfänglich ungleich Null ist, nicht erhalten (er wird 0).

HINWEIS : Es kann möglich sein, eine Zuordnung einer endlichen Menge von Elementen von zu lernenV S={v1,,vn}zu einer endlichen Menge von Elementen O={w1,,wn}M, so dass die paarweisen Abstände erhalten bleiben. Dies versucht die mehrdimensionale Skalierung . Es ist jedoch unmöglich, alle Elemente von abzubildenV zu Elementen eines niederdimensionalen Raumes W unter Einhaltung von Abständen.


1 Dinge werden komplizierter, wenn wir uns auf meinen Lieblingsgeschmack von Autoencoder beziehen, den Variational Autoencoder, aber ich werde mich hier nicht darauf konzentrieren.


2
+1 schön, finde das Papier! (wird lesen!) Es erinnerte mich an eine Aussage, die ich vor Jahren gelesen hatte: " Ein grundlegender linearer Auto-Encoder lernt im Wesentlichen die gleiche Darstellung wie eine Hauptkomponentenanalyse (PCA) " Längkvist et al. Pattern Recognition Letters 42 (2014) 11-24. (So ​​viele großartige Artikel zum Lesen. Ich habe das Gefühl, wenn ich die Hälfte der
Artikel

2

Sie können ein Netzwerk mit einer beliebigen Verlustfunktion trainieren. Bei Ansatz 1 können Sie also eine Verlustfunktion erstellen, die das Netzwerk pusht, um sicherzustellen, dass der Abstand zwischen Paaren in einem Mini-Batch in der Ausgabe dem Abstand zwischen Paaren in der Eingabe entspricht. Wenn Sie dies auf Mini-Batch-Basis tun und die Batch-Größe beispielsweise 16 oder 32 beträgt, scheint dies nicht unbrauchbar zu sein. Oder Sie können ein paar Paare abtasten und den Verlust auf diesen berechnen (gleiche Anzahl von Paaren pro Mini-Batch, z. B. zufällig abgetastet).

Was die Schaffung eines nichtlinearen Netzwerks angeht, bei dem die Entfernung garantiert bleibt, ein Ansatz 2, könnte ein Ansatz darin bestehen, das Netzwerk aus Blöcken aufzubauen, die selbst Entfernungen bewahren, z. B. Rotationen. Ich bin mir nicht sicher, ob dieses Netzwerk etwas anderes als eine lineare Transformation und nur eine Rotation sein könnte. Jede Nichtlinearität, wie z. B. ein Sigmoid-Quetschen, würde die Abstände verformen.

Ich denke, Ansatz 1 klingt für mich praktikabel, obwohl keine Garantie dafür besteht, dass Entfernungen immer eingehalten werden und sie nicht sehr genau eingehalten werden. Der zweite Ansatz klingt für mich intuitiv so, dass Sie sich auf eine einzelne Rotationstransformation beschränken würden.

Bearbeiten: zur Verdeutlichung. Ich beantworte die Frage "Wie kann man einen Auto-Encoder dazu bringen, Abstand zu bewahren?". Die implizite Antwort, die ich auf "Bewahrt ein Auto-Encoder Abstand?" ist "Nicht standardmäßig; obwohl Sie eine Menge Beinarbeit leisten könnten, um dies zu fördern, dh Ansatz 1 oben".

Bearbeiten 2: @DeltaIV hat einen guten Punkt zur Dimensionsreduzierung. Es ist zu beachten, dass die Existenz von t-SNE usw., dh niedrigdimensionale Projektionen des hochdimensionalen Raums, sowohl die Grenzen des Versuchs, Distanz zu bewahren (Konflikt zwischen globalen Entfernungen und lokalen Entfernungen; Herausforderung, Entfernungen in reduzierten Dimensionen zu bewahren), zeigt. aber auch, dass es angesichts bestimmter Vorbehalte / Kompromisse etwas möglich ist.


1
Ansatz 2 ist fehlerhaft - abgesehen von der Tatsache, dass die Isometriegruppe aus Reflexionen, Rotationen und Translationen besteht (also nicht nur aus Rotationen, sondern aus jeder Zusammensetzung der drei: dies ist jedoch nur eine technische Frage), besteht die Isometriegruppe aus Bijektionen aus einem metrischen Raum Xauf sich selbst. Somit bewahren sie die Dimension und sind als solche nicht die Art von Transformation, die von Autoencodern gelernt wird, sondern nicht aufgrund der Nichtlinearitäten (ein Autoencoder ohne die Engpassschicht könnte die Identitätstransformation lernen): aufgrund der Dimensionsreduktion.
DeltaIV

@DeltaIV Es wurde eine 'Bearbeitung' hinzugefügt, um Ihren Punkt anzusprechen, dh ich stimme zu, dass Auto-Encoder im Allgemeinen keinen Abstand einhalten. und ich ging noch einen Schritt weiter und dachte darüber nach: "Was kann man tun, wenn man möchte, dass sie Distanz bewahren?".
Hugh Perkins

1
@DeltaIV Eigentlich habe ich festgestellt, dass ich Ihren Kommentar nicht vollständig gelesen habe, bevor ich geantwortet habe: D hat 'edit 2' hinzugefügt und den Teil zur Dimensionsreduzierung angesprochen, an den ich gestanden habe, an den ich früher noch nicht gedacht hatte :)
Hugh Perkins
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.