Si può (teoricamente) allenare una rete neurale con meno campioni di allenamento rispetto ai pesi?


12

Prima di tutto: lo so, non esiste un numero generale di dimensioni del campione richieste per addestrare una rete neurale. Dipende da troppi fattori come la complessità dell'attività, il rumore nei dati e così via. E più campioni di formazione ho, migliore sarà la mia rete.

Ma mi chiedevo: è teoricamente possibile formare una rete neurale con meno campioni di allenamento rispetto ai pesi, se presumo che il mio compito sia abbastanza "semplice"? Qualcuno conosce un esempio in cui ha funzionato? O questa rete funzionerà quasi sicuramente male?

Se considero, ad esempio, la regressione polinomiale, non riesco ad adattare un polinomio di grado 4 (cioè con 5 parametri liberi) su solo 4 punti dati. Esiste una regola simile per le reti neurali, considerando il mio numero di pesi come il numero di parametri liberi?


Sì: se i pesi vengono inizializzati in modo casuale, è teoricamente possibile ottenere una rete neurale perfettamente allenata anche con zero campioni di allenamento. (Pubblicare un commento, non una risposta, poiché so che questo non è proprio quello che stai chiedendo.)
Darren Cook

Risposte:


17

Le persone lo fanno sempre con reti di grandi dimensioni. Ad esempio, la famosa rete AlexNet ha circa 60 milioni di parametri, mentre ImageNet ILSVRC su cui è stata originariamente formata ha solo 1,2 milioni di immagini.

Il motivo per cui non si adatta un polinomio a 5 parametri a 4 punti dati è che può sempre trovare una funzione che si adatta esattamente ai punti dati, ma fa cose insensate altrove. Bene, come è stato notato di recente , AlexNet e reti simili possono adattarsi a etichette casuali arbitrarie applicate a ImageNet e semplicemente memorizzarle tutte, presumibilmente perché hanno molti più parametri rispetto ai punti di allenamento. Ma qualcosa sui priori della rete combinato con il processo di ottimizzazione della discesa gradiente stocastica significa che, in pratica, questi modelli possono ancora generalizzare bene a nuovi punti dati quando si danno loro etichette reali. Non capiamo ancora davvero perché ciò accada.


2
+1. Vorrei aggiungere che per un confronto con la regressione polinomiale, considererei anche che i campioni sono altamente dimensionali. La risoluzione media dell'immagine su ImageNet è di circa 469x387 pixel, se ritagliata a 256x256 abbiamo 1,2 milioni di parametri di input di 65k, che sono altamente correlati all'interno di ciascun campione, fornendo così molte più informazioni alla rete neurale (e in particolare un NN convoluzionale) che nel caso della regressione polinomiale.
jjmontes,

3
@jjmontes vero, ma il mistero principale è che queste reti hanno la capacità di memorizzare e generalizzare (beh). In altre parole, possono frantumare i dati di allenamento con etichette casuali e comunque generalizzare bene. Questo non è qualcosa che si vede nei metodi tradizionali ML.
Amelio Vazquez-Reina,

6

I sistemi sottodeterminati sono sottodeterminati solo se non si impongono vincoli diversi dai dati. Seguendo il tuo esempio, adattando un polinomio di 4 gradi a 4 punti di dati significa che hai un grado di libertà non vincolato dai dati, che ti lascia con una linea (nello spazio dei coefficienti) di soluzioni altrettanto buone. Tuttavia, è possibile utilizzare varie tecniche di regolarizzazione per rendere trattabile il problema. Ad esempio, imponendo una penalità sulla norma L2 (ovvero la somma dei quadrati) dei coefficienti, si assicura che esista sempre un'unica soluzione con la massima forma fisica.

Esistono anche tecniche di regolarizzazione per le reti neurali, quindi la risposta breve alla tua domanda è "sì, puoi". Di particolare interesse è una tecnica chiamata "dropout", in cui, per ogni aggiornamento dei pesi, si elimina casualmente un determinato sottoinsieme di nodi dalla rete. Cioè, per quella particolare iterazione dell'algoritmo di apprendimento, fai finta che questi nodi non esistano. Senza dropout, la rete può apprendere rappresentazioni molto complesse dell'input che dipendono da tutti i nodi che lavorano insieme nel modo giusto. È probabile che tali rappresentazioni "memorizzino" i dati di addestramento, piuttosto che trovare modelli che generalizzano. Il dropout garantisce che la rete non possa utilizzare tutti i nodi contemporaneamente per adattare i dati di addestramento; deve essere in grado di rappresentare bene i dati anche quando mancano alcuni nodi,

Si noti inoltre che quando si utilizza il dropout, i gradi di libertà in un dato punto durante l'allenamento possono effettivamente essere inferiori al numero di campioni di allenamento, anche se in totale si stanno imparando più pesi rispetto ai campioni di allenamento.


2
Ciò forse esagera il ruolo che la regolarizzazione esplicita gioca nelle reti profonde: questo documento a cui ho fatto riferimento nella mia risposta mostra l'abbandono e altre forme di regolarizzazione che hanno solo piccoli effetti su quanto la rete può memorizzare. Potrebbe essere, tuttavia, che la tua storia di base sia giusta, ma la principale regolarizzazione in gioco è quella implicita di SGD; questo è ancora un po 'oscuro.
Dougal,
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.