Dimension-hopping nell'apprendimento automatico


10

Qual è il problema del salto di dimensione nell'apprendimento automatico (che si verifica nelle reti neurali convoluzionali e nel riconoscimento delle immagini)? Ne ho cercato su Google, ma tutto ciò che ottengo sono informazioni sulla fisica della deformazione della forma materiale. Mi sarà più utile se qualcuno lo spiega con un esempio relativo all'apprendimento automatico. Qualcuno può aiutarmi con questo o indicarmi risorse che possono?

Risposte:


7

Benvenuti in DataScience.SE! Non avevo mai sentito parlare di questo problema, quindi l'ho cercato. È spiegato nella terza diapositiva di questa presentazione di Geoff Hinton:

Altre cose che rendono difficile riconoscere gli oggetti

• I cambiamenti nel punto di vista causano cambiamenti nelle immagini che i metodi di apprendimento standard non possono affrontare.

- Salto di informazioni tra dimensioni di input (ovvero pixel)

• Immagina un database medico in cui l'età di un paziente a volte salta alla dimensione di input che normalmente codifica per peso!

- Per applicare l'apprendimento automatico vorremmo prima eliminare questo salto di dimensione.

In altre parole, si tratta di funzionalità concettuali che migrano o saltano da una dimensione di funzionalità di input a un'altra pur rappresentando la stessa cosa. Uno vorrebbe essere in grado di catturare o estrarre l'essenza della funzione pur essendo invariante rispetto a quale dimensione di input è codificata.


Capisco che in Computer Vision si vuole essere invarianti per i luoghi nell'immagine, ma non ho l'esempio dell'età.
Martin Thoma,

L'ho preso per dire che l'età e il peso dipendono, ma non ne sono sicuro; non è la mia presentazione! O forse volevano dire che usano letteralmente la colonna sbagliata e vogliamo rilevarla.
Emre,

@sdream Ho solo fatto un commento; Emre ha dato la risposta. (Ma probabilmente dovresti ancora accettarlo). Il punto con le CNN è che non solo una caratteristica cambia quando un oggetto si trova altrove, ma un modello completo ha un input diverso.
Martin Thoma,

@Emre, quello che sto ottenendo dalla tua risposta è che, indipendentemente dalla direzione in cui viene immessa una specifica proprietà, la caratteristica che questa specifica proprietà causa dovrebbe essere invariante rispetto alla dimensione di input di questa proprietà. Grazie! :). Ancora in attesa di risposte più specifiche, altrimenti contrassegnerà la risposta come risposta.
sdream,

3
L'esempio di età dovrebbe evidenziare un set di dati che non ha il salto di dimensione. L'età e il peso non "saltano" o scambiano i valori in modo casuale tra gli esempi: non sono intercambiabili e l'esempio mostra quanto sarebbe strano (e quanto difficile sarebbe rendere semplici compiti come la regressione lineare). I valori dei pixel nelle immagini (e dati simili in molte attività di elaborazione del segnale) si scambiano o si spostano facilmente a causa della natura del problema.
Neil Slater,

7

Per quanto ho capito, il problema è il seguente: nel riconoscimento delle immagini gli input alla tua rete potrebbero essere i pixel (scala di grigi o solo 1 e 0 per il bianco e nero). Se si desidera, ad esempio riconoscere i numeri scritti a mano, è molto difficile lavorare solo con valori che non si sa mai dove si troverà esattamente il numero (ovvero i valori neri).

Pixel 140 è nero o 142 nero? In entrambi i casi potrebbe essere un tre. Nell'esempio età / peso questi input sono ben definiti. La caratteristica 2 è il peso. La caratteristica 3 è l'età. Queste "dimensioni" non devono "saltare" nel set di dati.

Quindi: nell'allenamento dell'immagine, i "tre" o le "automobili" o le "case" devono essere riconosciuti indipendentemente dalla loro posizione nell'immagine, ovvero i valori dei pixel, ovvero il vettore caratteristica / input, ovvero le dimensioni rispetto a quelle chiaramente definite input come i dati del paziente.

Come risolvi questo problema nel riconoscimento delle immagini? Usi trucchi aggiuntivi, ad es. Convoluzione.


2

Ho letto le risposte precedenti e il commento di Neil Slater al post di Emre, copiato di nuovo di seguito, colpisce il chiodo. "Dimension hopping" è un termine creato dal Dr. Hinton di fama di pionieri dell'apprendimento automatico nel contesto del punto di vista. Per citare il dottor Hinton "Quindi, in genere immagina che le dimensioni di input corrispondano ai pixel e, se un oggetto si muove nel mondo e non muovi gli occhi per seguirlo, le informazioni sull'oggetto verranno visualizzate su pixel diversi." Età e peso sono dimensioni di input che non sono facilmente confuse. Il dottor Hinton ha usato questa evidente situazione di NON probabile dimensione dell'età e del peso dei pazienti per indicare che saremmo sicuramente in grado di individuare e correggere eventuali errori tra questi tipi di dati (è difficile non notare che la maggior parte degli adulti ha meno di 100 anni e più di 100 sterline). Il probabile problema del salto dimensionale, a cui il dottor Hinton si stava rivolgendo, è che i pixel potrebbero essere spostati perché abbiamo un punto di vista diverso (ad es. L'oggetto potrebbe essersi spostato o lo stiamo guardando da un'altra angolazione). Le reti neurali lineari non sarebbero in grado di rilevare ciò, mentre le reti neurali convoluzionali di progettazione lo farebbero.

"L'esempio di età dovrebbe evidenziare un set di dati che non ha un salto di dimensione. Età e peso non" saltano "o scambiano i valori in modo casuale tra gli esempi - non sono intercambiabili e l'esempio mostra quanto sarebbe strano (e come difficile renderebbe semplici compiti come la regressione lineare. I valori dei pixel nelle immagini (e dati simili in molte attività di elaborazione del segnale) si scambiano o si spostano facilmente a causa della natura del problema. - Neil Slater 29 maggio 16 alle 18:01 "


1

Spiegazione direttamente dal corso di Hinton su Neural Networks for Machine Learning ....

"L'hopping dimensionale si verifica quando si possono prendere le informazioni contenute nelle dimensioni di alcuni input e spostarle tra le dimensioni senza cambiare l'obiettivo . L'esempio canonico sta prendendo un immagine di una cifra scritta a mano e traducente all'interno dell'immagine. Le dimensioni che contengono "inchiostro" sono ora diverse (sono state spostate in altre dimensioni), tuttavia l'etichetta che assegniamo alla cifra non è cambiata. Nota che questo non è qualcosa ciò accade in modo coerente nel set di dati, ovvero è possibile che un set di dati contenga due cifre scritte a mano in cui una è una versione tradotta dell'altra, tuttavia ciò non modifica l'etichetta corrispondente delle cifre. "


0

La speranza riguarda solo i problemi con la porzione di immagine o pixel che si sposta all'interno della dimensione (principalmente) e talvolta in altri punti deboli (campo ricettivo diverso) ma l'output rimane lo stesso.

Questo problema viene affrontato con l'invarianza o l'equivalenza e sembra che l'esempio di peso ed età sia un modo semplice per affermare. Supponiamo che se siamo consapevoli di questo aumento di peso ed età, potremmo facilmente apportare modifiche all'algo e ottenere il giusto risultato. Ma come il salto di dati / informazioni, succede anche il salto di immagine, se consideriamo un '4' e un '4' spostato di diversi pixel a sinistra in classi diverse che hanno target diversi.

Con l'invarianza della traduzione o una migliore equivarianza, filtrare questo movimento o saltare non è un grosso problema sebbene aumenti la complessità e al costo di buttare via informazioni, come la posizione.

Per favore fatemi sapere se avete bisogno di più chiarezza che proverò.

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.