Dropout (Reti Neurali)

Da Wiki AI.
Versione del 9 mar 2024 alle 22:57 di Alesaccoia (discussione | contributi) (Creata pagina con "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. Questo accade spesso quando la rete ha troppi parametri (eccessiva capacità) rispetto alla quantità di dati di addestramento disponibili. Durante l'addestramento di una rete neurale con dropout, ad ogni iterazion...")
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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. Questo accade spesso quando la rete ha troppi parametri (eccessiva capacità) rispetto alla quantità di dati di addestramento disponibili.

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.