Dropout (Reti Neurali): differenze tra le versioni

Da Wiki AI.
Nessun oggetto della modifica
Nessun oggetto della modifica
 
(3 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
{{Template concetto
|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 13: Riga 16:
Jibin Mathew - PyTorch Artificial Intelligence Fundamentals-Packt Publishing (2020) pag 39
Jibin Mathew - PyTorch Artificial Intelligence Fundamentals-Packt Publishing (2020) pag 39


[[Category:Concetto]]
{{#seo:
[[Category:Reti Neurali]]
            |title=Dropout
            |title_mode=append
            |keywords=reti neurali, apprendimento automatico, intelligenza artificiale, overfitting, regolarizzazione, deep learning, modelli predittivi, analisi dati, machine learning, reti neurali artificiali
            |description=Il dropout è una tecnica di regolarizzazione utilizzata per prevenire l'overfitting nelle reti neurali. Durante l'addestramento, un sottoinsieme casuale di neuroni viene "spento", forzando la rete a imparare rappresentazioni più robuste e meno dipendenti da singoli neuroni. Questo processo aiuta a migliorare la capacità della rete di generalizzare a dati non visti.
           
            }}

Versione attuale delle 13:46, 17 ago 2024

Dropout (Reti Neurali)
Nome Inglese Dropout
Sigla

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.

  1. 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%.
  2. 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