Die Unterschiede können anhand der Modelle ermittelt werden. Schauen wir uns zuerst die spärliche Codierung an.
Sparse Codierung
Eine spärliche Codierung minimiert das Objektiv
wobei W eine Matrix von Basen ist, H eine Matrix von Codes ist und X eine Matrix der Daten ist, die wir darstellen möchten. λ implementiert einen Handel zwischen Sparsamkeit und Wiederaufbau. Beachten Sie, dass die Schätzung von W über die kleinsten Quadrate einfach ist , wenn wir H erhalten .
Lsc=||WH−X||22reconstruction term+λ||H||1sparsity term
WXλHW
Am Anfang haben wir nicht jedoch. Es gibt jedoch viele Algorithmen, die das obige Ziel in Bezug auf H lösen können . Tatsächlich schließen wir so: Wir müssen ein Optimierungsproblem lösen, wenn wir wissen wollen, welches h zu einem unsichtbaren x gehört .HHhx
Auto-Encoder
Auto-Encoder sind eine Familie von unbeaufsichtigten neuronalen Netzen. Es gibt ziemlich viele davon, z. B. Deep-Auto-Encoder oder solche mit unterschiedlichen Regularisierungstricks - z. B. Denoising, Contractive, Sparse. Es gibt sogar probabilistische, wie zum Beispiel generative stochastische Netzwerke oder den variationalen Auto-Encoder. Ihre abstrakteste Form ist
,
aber wir werden mit einem viel einfacheren jetzt mitgehen:
L ae = | | W σ ( W T X )
D(d(e(x;θr);θd),x)
wobei
σ eine nichtlineare Funktion ist, wie das logistische Sigma
σ ( x ) = 1Lae= | | Wσ( WTX) - X| |2
σ .
σ( x ) = 11 + exp( - x )
Ähnlichkeiten
Man beachte, dass fast wie L a e aussieht, wenn wir H = σ ( W T X ) setzen . Der Unterschied zwischen beiden besteht darin, dass i) Autoencoder in ihrer allgemeinen Form keine Sparsamkeit fördern, ii) ein Autoencoder ein Modell zum Auffinden der Codes verwendet, während eine sparsame Codierung dies durch Optimierung tut.Ls cLein eH= σ( WTX)
WWLs c
Auch die verschiedenen Methoden der Regularisierung ergeben Darstellungen mit unterschiedlichen Merkmalen. Es wurde auch gezeigt, dass das Entrauschen von Auto-Encodern einer bestimmten Form von RBMs usw. entspricht.
Aber wieso?
Wenn Sie ein Vorhersageproblem lösen möchten, benötigen Sie keine automatischen Codierer, es sei denn, Sie haben nur wenige beschriftete Daten und viele unbeschriftete Daten. Dann ist es im Allgemeinen besser, einen Deep-Auto-Encoder zu trainieren und eine lineare SVM darauf zu legen, als ein tiefes neuronales Netz zu trainieren.
Sie sind jedoch sehr leistungsfähige Modelle zur Erfassung der Eigenschaften von Distributionen. Dies ist vage, aber derzeit werden Untersuchungen durchgeführt, die dies in statistische Fakten umwandeln. Tief latente Gaußsche Modelle, auch bekannt als Variational Auto Encoder oder generative stochastische Netzwerke, sind interessante Methoden, um Auto Encoder zu erhalten, die die zugrunde liegende Datenverteilung nachweislich schätzen.