Dropout (Reti Neurali): differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
Nome inglese: [[NomeInglese::Dropout]] | |||
Il dropout è una tecnica di [[regolarizzazione]] utilizzata per prevenire l'[[overfitting]] nelle reti neurali. L'overfitting si verifica quando una rete neurale impara troppo bene i dati di addestramento, a scapito delle sue prestazioni su nuovi dati non visti. | Il dropout è una tecnica di [[regolarizzazione]] utilizzata per prevenire l'[[overfitting]] nelle reti neurali. L'overfitting si verifica quando una rete neurale impara troppo bene i dati di addestramento, a scapito delle sue prestazioni su nuovi dati non visti. | ||
Riga 15: | Riga 17: | ||
[[Category:Concetto]] | [[Category:Concetto]] | ||
[[Category:Reti Neurali]] | [[Category:Reti Neurali]] | ||
__SHOWFACTBOX__ |
Versione delle 10:32, 11 apr 2024
Nome inglese: Dropout
Il dropout è una tecnica di regolarizzazione utilizzata per prevenire l'overfitting nelle reti neurali. L'overfitting si verifica quando una rete neurale impara troppo bene i dati di addestramento, a scapito delle sue prestazioni su nuovi dati non visti.
Durante l'addestramento di una rete neurale con dropout, ad ogni iterazione (cioè, ad ogni passo dell'algoritmo di addestramento), un sottoinsieme casuale di neuroni (insieme ai loro collegamenti) viene "ignorato" o escluso dal processo di addestramento.
- Durante il forward pass: Per ogni esempio di addestramento, alcuni neuroni non contribuiscono alla propagazione dell'input attraverso la rete. La loro attivazione è impostata a zero, come se temporaneamente "spenti". La frazione dei neuroni da disattivare è determinata dal tasso di dropout, un iperparametro. Tipicamente, questo tasso si aggira tra il 20% e il 50%.
- Durante il backward pass: Poiché i neuroni sono stati "spenti" durante il forward pass, anche la loro partecipazione nell'aggiornamento dei pesi (attraverso la retropropagazione dell'errore) è esclusa. In altre parole, i pesi dei neuroni disattivati rimangono inalterati in quell'iterazione dell'addestramento.
Il risultato di questo processo è che la rete impara a diventare meno dipendente da specifici neuroni o percorsi di neuroni, poiché questi possono essere disattivati in qualsiasi momento durante l'addestramento. Ciò aiuta a distribuire più uniformemente l'"importanza" tra i neuroni della rete, forzando la rete a trovare più percorsi per trasmettere l'informazione dall'input all'output. Di conseguenza, la rete diventa più robusta e migliora la sua capacità di generalizzare su dati non visti, riducendo il rischio di overfitting.
Al termine dell'addestramento, durante l'utilizzo della rete neurale per fare previsioni (cioè, in fase di test), tutti i neuroni sono attivi, e nessuno viene escluso.
Riferimenti
Jibin Mathew - PyTorch Artificial Intelligence Fundamentals-Packt Publishing (2020) pag 39