Che cos'è la pre-formazione di una rete neurale?


22

Bene, la domanda dice tutto.

Cosa si intende per "pre-allenamento di una rete neurale"? Qualcuno può spiegare in puro inglese semplice?
Non riesco a trovare alcuna risorsa ad esso correlata. Sarebbe bello se qualcuno potesse indicarmi.


www.deeplearningbook.org ha una buona introduzione all'argomento.
mnagaraj,

Risposte:


22

Il solito modo di formare una rete:

Si desidera formare una rete neurale per eseguire un'attività (ad es. Classificazione) su un set di dati (ad es. Un set di immagini). Inizi ad allenarti inizializzando i pesi in modo casuale. Non appena si inizia l'allenamento, i pesi vengono cambiati per eseguire l'attività con meno errori (ad es. Ottimizzazione). Una volta che sei soddisfatto dei risultati dell'allenamento, risparmi i pesi della tua rete da qualche parte.

Ora sei interessato a formare una rete per eseguire una nuova attività (ad esempio il rilevamento di oggetti) su un set di dati diverso (ad esempio anche immagini ma non uguali a quelle utilizzate in precedenza). Invece di ripetere ciò che hai fatto per la prima rete e iniziare dall'allenamento con pesi inizializzati casualmente, puoi utilizzare i pesi salvati dalla rete precedente come valori di peso iniziali per il tuo nuovo esperimento. L'inizializzazione dei pesi in questo modo viene definita come l'utilizzo di una rete pre-allenata. La prima rete è la tua rete pre-formata. La seconda è la rete che stai perfezionando.

L'idea alla base del pre-allenamento è che l'inizializzazione casuale è ... beh ... casuale, i valori dei pesi non hanno nulla a che fare con l'attività che stai cercando di risolvere. Perché un insieme di valori dovrebbe essere migliore di un altro insieme? In quale altro modo si inizializzerebbero i pesi? Se sapessi come inizializzarli correttamente per l'attività, potresti anche impostarli sui valori ottimali (leggermente esagerati). Non è necessario addestrare nulla. Hai la soluzione ottimale al tuo problema. La pre-formazione dà alla rete un vantaggio. Come se avesse già visto i dati prima.

Cosa fare attenzione quando ci si allena:

Il primo compito utilizzato nel pre-allenamento della rete può essere lo stesso della fase di messa a punto. Anche i set di dati utilizzati per la pre-formazione e la regolazione fine possono essere gli stessi, ma possono anche essere diversi. È davvero interessante vedere come il pre-training su un'attività diversa e un set di dati diverso può ancora essere trasferito in un nuovo set di dati e in una nuova attività leggermente diversi. L'uso di una rete pre-formata ha generalmente senso se entrambi i compiti o entrambi i set di dati hanno qualcosa in comune. Maggiore è il divario, meno efficace sarà l'allenamento. Non ha molto senso pre-addestrare una rete per la classificazione delle immagini addestrandola prima sui dati finanziari. In questo caso c'è troppa disconnessione tra le fasi di pre-allenamento e messa a punto.


10

La pre-regolazione / messa a punto funziona come segue:

  1. m
  2. UNm
  3. BmUN
  4. mB

UNB


Nota a margine: le persone potrebbero usare il termine fine tuning solo se (non) congeli i pesi. Non sono sicuro che ci sia un uso coerente di questo termine
Martin Thoma,

4

Le due risposte sopra spiegano bene. Voglio solo aggiungere una cosa sottile per quanto riguarda il pre-allenamento per Deep Belief Nets (DBN). Il pre-training per DBN è un apprendimento non supervisionato (cioè senza dati etichettati) e il training successivo è un apprendimento supervisionato (cioè senza dati etichettati).

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.