Simone Raponi : 11 Agosto 2023 22:22
Benvenuti al terzo articolo della nostra serie dedicata alle reti neurali ricorrenti (RNN). Dopo aver introdotto le Recurrent Neural Networks e la loro architettura, rispettivamente nel primo e nel secondo articolo, in questo articolo affronteremo un problema comune che le affligge: la temibile scomparsa del gradiente.
Per comprendere pienamente il problema della scomparsa del gradiente, dobbiamo prima discutere di come le Recurrent Neural Networks vengono addestrate. Come altre reti neurali, le RNN utilizzano un algoritmo chiamato backpropagation per aggiornare i loro pesi. Abbiamo brevemente descritto il funzionamento dell’algoritmo di backpropagation nell’ambito delle Convolutional Neural Networks in un precedente articolo. Nell’ambito delle Recurrent Neural Networks, questa tecnica è spesso chiamata “backpropagation through time” (BPTT), perché l’algoritmo “ripercorre” la sequenza temporale per aggiornare i pesi, come se tornasse indietro nel tempo!
Durante la backpropagation through time, vengono calcolati i gradienti dei pesi. Il gradiente rappresenta la direzione e l’intensità del cambiamento necessario per migliorare la performance della rete. Questi gradienti sono utilizzati per aggiornare i pesi della rete in modo che la funzione di errore (o di perdita) sia minimizzata.
![]() Vuoi diventare un esperto del Dark Web e della Cyber Threat Intelligence (CTI)?Stiamo per avviare il corso intermedio in modalità "Live Class" del corso "Dark Web & Cyber Threat Intelligence". A differenza dei corsi in e-learning, disponibili online sulla nostra piattaforma con lezioni pre-registrate, i corsi in Live Class offrono un’esperienza formativa interattiva e coinvolgente. Condotti dal professor Pietro Melillo, le lezioni si svolgono online in tempo reale, permettendo ai partecipanti di interagire direttamente con il docente e approfondire i contenuti in modo personalizzato. Questi corsi, ideali per aziende, consentono di sviluppare competenze mirate, affrontare casi pratici e personalizzare il percorso formativo in base alle esigenze specifiche del team, garantendo un apprendimento efficace e immediatamente applicabile. Guarda subito l'anteprima gratuita del corso su academy.redhotcyber.com Contattaci per ulteriori informazioni tramite WhatsApp al 375 593 1011 oppure scrivi a [email protected]
Se ti piacciono le novità e gli articoli riportati su di Red Hot Cyber, iscriviti immediatamente alla newsletter settimanale per non perdere nessun articolo. La newsletter generalmente viene inviata ai nostri lettori ad inizio settimana, indicativamente di lunedì. |
Il problema della scomparsa del gradiente si verifica quando i gradienti calcolati durante la backpropagation diventano molto piccoli. Quando il gradiente è vicino a zero, l’aggiornamento dei pesi durante il training è quasi inesistente, il che significa che la rete smette di apprendere o impiega molto tempo per farlo.
Questo problema è particolarmente grave nelle RNN a causa della loro natura sequenziale. Quando una RNN viene addestrata su lunghe sequenze di dati, l’informazione deve essere “trasportata” per molti passaggi temporali attraverso la backpropagation. Ma se i gradienti diventano troppo piccoli, l’informazione può “scomparire” prima di raggiungere i passaggi temporali iniziali.
La scomparsa del gradiente nelle RNN è legata alla funzione di attivazione utilizzata nei neuroni e al modo in cui i gradienti vengono calcolati durante la backpropagation.
Nelle RNN, la funzione di attivazione più comunemente utilizzata è la tangente iperbolica (tanh). Questa funzione ha un range di -1 a 1, e la sua derivata (che è utilizzata per calcolare i gradienti) è massima a 0 e si avvicina a 0 per valori di input lontani da 0.
Durante la backpropagation, i gradienti vengono calcolati moltiplicando la derivata della funzione di attivazione per il gradiente del passo temporale successivo. Se il valore della derivata della funzione di attivazione è basso, allora il valore del gradiente calcolato sarà anch’esso basso. E se questa operazione viene ripetuta per molti passaggi temporali (come in una lunga sequenza), i gradienti possono diventare estremamente piccoli, dando luogo al problema della scomparsa del gradiente.
Il problema della scomparsa del gradiente nelle RNN è noto da tempo, e sono state proposte diverse soluzioni. Le due soluzioni più comuni sono l’uso di altre funzioni di attivazione e l’uso di architetture di RNN modificate.
Invece di utilizzare la funzione di attivazione tanh, alcune RNN utilizzano la funzione ReLU (Rectified Linear Unit). La ReLU ha una derivata che è sempre 1 per input positivi, il che aiuta a mitigare la scomparsa del gradiente. Tuttavia, la ReLU ha anche dei problemi, come il fatto che la sua derivata è 0 per input negativi, il che può portare al “dormiveglia dei neuroni” (un problema in cui alcuni neuroni nella rete cessano di contribuire all’apprendimento).
Un’altra soluzione è l’uso di architetture di RNN modificate, come le Long Short-Term Memory (LSTM) e le Gated Recurrent Unit (GRU). Queste architetture introducono dei “gate” che controllano il flusso di informazioni attraverso la rete. Questi gate aiutano a mitigare sia il problema della scomparsa del gradiente che il problema correlato dell’esplosione del gradiente. Esploreremo queste architetture più in dettaglio nel prossimo articolo.
La scomparsa del gradiente è un problema significativo che rende difficile l’addestramento delle RNN su lunghe sequenze. Tuttavia, grazie alla ricerca e agli sforzi di sviluppo continuo nel campo del deep learning, esistono soluzioni che possono mitigare questo problema.
Nel prossimo articolo della nostra serie, esploreremo in dettaglio due di queste soluzioni: le Long Short-Term Memory (LSTM) e le Gated Recurrent Unit (GRU). Queste architetture avanzate hanno rivoluzionato l’uso delle RNN, rendendo possibile l’apprendimento su sequenze di dati molto più lunghe e complesse.
Se siete interessati a saperne di più sul problema della scomparsa del gradiente e sulle soluzioni proposte, consigliamo le seguenti risorse:
Sarebbe fantastico avere un agente AI capace di analizzare automaticamente il codice dei nostri progetti, individuare i bug di sicurezza, generare la correzione e pubblicarla subito in produzione. Epp...
La disillusione nei confronti degli incontri online spinge sempre più le donne a cercare intimità emotiva nel mondo virtuale. Sempre più donne si rivolgono all’intelligenza artificiale, ovvero ai...
Una falla critica di 13 anni, nota come RediShell, presente in Redis, permette l’esecuzione di codice remoto (RCE) e offre agli aggressori la possibilità di acquisire il pieno controllo del sistema...
Se n’è parlato molto poco di questo avvenimento, che personalmente reputo strategicamente molto importante e segno di un forte cambiamento nella gestione delle vulnerabilità non documentate in Ita...
Autore: Inva Malaj e Raffaela Crisci 04/10/2025 – Darkforums.st: “303” Rivendica Data Breach di 9 GB su Apple.com Nelle prime ore del 4 ottobre 2025, sul forum underground Darkforums è comparsa...