Quali sono gli scopi dei codificatori automatici?


10

Autoencoders sono reti neurali che apprendono una rappresentazione compressa dell'input per ricostruirlo successivamente, quindi possono essere utilizzati per la riduzione della dimensionalità. Sono composti da un codificatore e un decodificatore (che possono essere reti neurali separate). La riduzione della dimensionalità può essere utile al fine di affrontare o attenuare i problemi relativi alla maledizione della dimensionalità, in cui i dati diventano scarsi ed è più difficile ottenere un "significato statistico". Pertanto, gli autoencoder (e gli algoritmi come il PCA) possono essere utilizzati per gestire la maledizione della dimensionalità.

Perché ci preoccupiamo della riduzione della dimensionalità specificatamente utilizzando gli autoencoder? Perché non possiamo semplicemente usare PCA, se lo scopo è la riduzione della dimensionalità?

Perché dobbiamo decomprimere la rappresentazione latente dell'input se vogliamo solo eseguire la riduzione della dimensionalità o perché abbiamo bisogno della parte del decodificatore in un autoencoder? Quali sono i casi d'uso? In generale, perché è necessario comprimere l'input per decomprimerlo successivamente? Non sarebbe meglio usare solo l'input originale (per cominciare)?


1
Vedi anche la seguente domanda stats.stackexchange.com/q/82416/82135 su CrossValidated SE.
nbro

Risposte:


6

È importante pensare a che tipo di modelli nei dati vengono rappresentati.

Supponiamo di avere un set di dati di immagini in scala di grigio, in modo che ogni immagine abbia un'intensità uniforme. Come cervello umano ti renderai conto che ogni elemento in questo set di dati può essere descritto in termini di un singolo parametro numerico, che è quel valore di intensità. Questo è qualcosa per cui PCA funzionerebbe bene, perché ciascuna delle dimensioni (possiamo pensare a ciascun pixel come una dimensione diversa) è perfettamente linearmente correlata.

Supponiamo invece di avere un set di dati di immagini bitmap 128x128px in bianco e nero di cerchi centrati. Come cervello umano ti renderai presto conto che ogni elemento in questo set di dati può essere completamente descritto da un singolo parametro numerico, che è il raggio del cerchio. Questo è un livello di riduzione molto impressionante rispetto alle dimensioni binarie 16384, e forse ancora più importante è una proprietà semanticamente significativa dei dati. Tuttavia, PCA probabilmente non sarà in grado di trovare quel modello.

La tua domanda era "Perché non possiamo semplicemente usare PCA, se lo scopo è la riduzione della dimensionalità?" La semplice risposta è che PCA è lo strumento più semplice per la riduzione della dimensionalità, ma può perdere molte relazioni che potrebbero trovare tecniche più potenti come gli autoencoder.


3

Un caso d'uso di auto-codificatori (in particolare del decodificatore o del modello generativo dell'auto-codificatore) è quello di denunciare l'ingresso. Questo tipo di codificatori automatici, chiamati denodatori di codificatori automatici, accetta un input parzialmente danneggiato e tenta di ricostruire il corrispondente input non corrotto. Esistono diverse applicazioni di questo modello. Ad esempio, se si dispone di un'immagine corrotta, è possibile ripristinare quella non corrotta utilizzando un codificatore automatico di denoising.

Autoencoder e PCA sono correlati:

un autoencoder con un singolo livello nascosto completamente collegato, una funzione di attivazione lineare e una funzione di costo dell'errore al quadrato forma pesi che coprono lo stesso sottospazio di quello dei vettori di caricamento del componente principale, ma che non sono identici ai vettori di caricamento.

Per maggiori informazioni, dai un'occhiata al documento Dai principali sottospazi ai principali componenti con autotraslatori lineari (2018), di Elad Plaut. Vedi anche questa risposta , che spiega anche la relazione tra PCA e autoencoders.


3

PCA è un metodo lineare che crea una trasformazione in grado di cambiare le proiezioni dei vettori (cambiare asse)

Poiché PCA cerca la direzione della massima varianza, di solito ha un'elevata discriminatività MA non garantisce che la direzione della maggior varianza sia la direzione della maggior discriminazione.

LDA è un metodo lineare che crea una trasformazione in grado di trovare la direzione più rilevante per decidere se un vettore appartiene alla classe A o B.

PCA e LDA hanno versioni del kernel non lineari che potrebbero superare i loro limiti lineari.

I codificatori automatici possono eseguire la riduzione della dimensionalità con altri tipi di funzione di perdita, possono essere non lineari e potrebbero funzionare meglio di PCA e LDA per molti casi.

Probabilmente non esiste il miglior algoritmo di machine learning per fare qualsiasi cosa, a volte Deep Learning e Neural Nets sono eccessive per problemi semplici e PCA e LDA potrebbero essere provati prima di altre riduzioni di dimensionalità più complesse.


1
Cosa c'entra LDA con la domanda?
nbro

LDA può essere utilizzato come riduzione della dimensionalità. L'algoritmo originale deriva solo una proiezione ma è possibile utilizzarlo per ottenere una direzione discriminatoria di rango inferiore per una modellazione più accurata
Pedro Henrique Monforte

Neanche la PCA garantisce la massima varianza, poiché è un algoritmo avido che si avvicina solo al massimo.
Mathieu Bouville,

PCA ha una soluzione chiusa, l'asse principale sarà sempre la direzione della massima varianza. Non è un algoritmo avido (ma può essere implementato come uno)
Pedro Henrique Monforte

1
  1. La metà del decodificatore è necessaria per calcolare la funzione di perdita per l'addestramento della rete. Simile a come l'avversario è ancora necessario in un GAN anche se sei interessato solo alla componente generativa.
  2. I codificatori automatici possono apprendere incorporamenti non lineari dei dati e quindi sono più potenti del PCA vaniglia.
  3. I codificatori automatici hanno applicazioni oltre la riduzione della dimensionalità:
    • Generazione di nuovi punti dati o esecuzione dell'interpolazione (vedere VAE)
    • Crea filtri di denoising (ad es. Nell'elaborazione delle immagini)
    • Comprimi / decomprimi i dati
    • Previsione del collegamento (ad es. Nella scoperta di droghe)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.