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.
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.
Risposte:
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.
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).