Trovare le differenze può essere fatto guardando i modelli. Diamo un'occhiata prima alla codifica sparsa.
Codifica sparsa
La codifica sparsa minimizza l'obiettivo
cui W è una matrice di basi, H è una matrice di codici e X è una matrice dei dati che desideriamo rappresentare. λ implementa uno scambio tra sparsità e ricostruzione. Nota che se ci viene dato H , la stima di W è facile tramite i minimi quadrati.
Lsc=||WH−X||22reconstruction term+λ||H||1sparsity term
WXλHW
In principio, non abbiamo comunque. Eppure, esistono molti algoritmi che possono risolvere il suddetto obiettivo rispetto a H . In realtà, ecco come facciamo l'inferenza: dobbiamo risolvere un problema di ottimizzazione se vogliamo conoscere la h appartenente a una x invisibile .HHhx
Encoder automatici
Gli encoder automatici sono una famiglia di reti neurali non supervisionate. Ce ne sono molti, ad es. Codificatori automatici profondi o quelli con diversi trucchi di regolarizzazione collegati - ad es. Denoising, contrattive, sparsi. Esistono anche quelli probabilistici, come le reti stocastiche generative o il codificatore automatico variazionale. La loro forma più astratta è
ma per ora andremo avanti con una molto più semplice:
L ae = | | W σ ( W T X )
D(d(e(x;θr);θd),x)
dove
σ è una funzione non lineare come il sigmoide logistico
σ ( x ) = 1Lae=||Wσ(WTX)−X||2
σ .
σ(x)=11+exp(−x)
Somiglianze
Si noti che sguardi quasi come L una e una volta che abbiamo impostato H = σ ( W T X ) . La differenza di entrambi è che i) i codificatori automatici non incoraggiano la scarsità nella loro forma generale ii) un codificatore automatico utilizza un modello per trovare i codici, mentre la codifica sparsa lo fa mediante l'ottimizzazione.LscLaeH=σ(WTX)
WWLsc
Inoltre, i diversi metodi di regolarizzazione producono rappresentazioni con caratteristiche diverse. Denoising Auto Encoder ha anche dimostrato di essere equivalente a una certa forma di RBM ecc.
Ma perché?
Se vuoi risolvere un problema di previsione, non avrai bisogno di codificatori automatici a meno che tu abbia solo pochi dati etichettati e molti dati senza etichetta. Quindi in genere sarà meglio addestrare un codificatore automatico profondo e mettere un SVM lineare in cima invece di allenare una rete neurale profonda.
Tuttavia, sono modelli molto potenti per catturare la caratteristica delle distribuzioni. Questo è vago, ma attualmente sono condotte ricerche che lo trasformano in fatti statistici concreti. I modelli gaussiani latenti profondi noti come encoder Variational Auto o reti stocastiche generative sono modi piuttosto interessanti per ottenere encoder automatici che stimano in modo dimostrabile la distribuzione dei dati sottostanti.