Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca

Problemi delle Recurrent Neural Networks: Scomparsa del Gradiente

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.

Che cos’è la 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.

Iscriviti GRATIS ai WorkShop Hands-On della RHC Conference 2025 (Giovedì 8 maggio 2025)

Il giorno giovedì 8 maggio 2025 presso il teatro Italia di Roma (a due passi dalla stazione termini e dalla metro B di Piazza Bologna), si terranno i workshop "hands-on", creati per far avvicinare i ragazzi alla sicurezza informatica e alla tecnologia. Questo anno i workshop saranno:

  • Creare Un Sistema Ai Di Visual Object Tracking (Hands on)
  • Social Engineering 2.0: Alla Scoperta Delle Minacce DeepFake
  • Doxing Con Langflow: Stiamo Costruendo La Fine Della Privacy?
  • Come Hackerare Un Sito WordPress (Hands on)
  • Il Cyberbullismo Tra Virtuale E Reale
  • Come Entrare Nel Dark Web In Sicurezza (Hands on)

  • Potete iscrivervi gratuitamente all'evento, che è stato creato per poter ispirare i ragazzi verso la sicurezza informatica e la tecnologia.
    Per ulteriori informazioni, scrivi a [email protected] oppure su Whatsapp al 379 163 8765


    Supporta RHC attraverso:


    Ti piacciono gli articoli di Red Hot Cyber? Non aspettare oltre, iscriviti alla newsletter settimanale per non perdere nessun articolo.

    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.

    Perché si verifica la scomparsa del gradiente?

    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.

    Soluzioni 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.

    Conclusioni

    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.

    Riferimenti e Approfondimenti

    Se siete interessati a saperne di più sul problema della scomparsa del gradiente e sulle soluzioni proposte, consigliamo le seguenti risorse:

    1. Understanding LSTM Networks: Un post del blog di Christopher Olah che spiega il funzionamento delle LSTM, una soluzione comune al problema della scomparsa del gradiente.
    2. Vanishing gradients & LSTMs: Un articolo di Anish Singh che discute il problema della scomparsa del gradiente e l’approccio delle LSTM.
    3. Deep Learning Book – Chapter 10: Un capitolo del libro “Deep Learning” di Ian Goodfellow, Yoshua Bengio e Aaron Courville, che offre una discussione tecnica sulle RNN, la scomparsa del gradiente e le soluzioni proposte.

    Simone Raponi
    Esperto in machine learning e sicurezza informatica. Ha un dottorato in Computer Science and Engineering, durante il quale ha sviluppato modelli di intelligenza artificiale per rilevare pattern correlati alla cybersecurity. Durante la sua carriera accademica ha ricevuto diversi riconoscimenti ed ha pubblicato numerosi articoli scientifici divenuti popolari nell'ambito. Ex Machine Learning Scientist alla NATO, attualmente lavora come AI/ML Cybersecurity Engineer per una startup, dove impiega quotidianamente algoritmi di AI per affrontare e risolvere complesse sfide nel campo dell'automazione della sicurezza informatica.

    Articoli in evidenza

    Ora il Ransomware arriva per posta ordinaria! L’innovazione si firma Bianlian. Scopri i retroscena

    Negli Stati Uniti è stata individuata una nuova frode: i criminali inviano false richieste di riscatto via posta per conto del gruppo BianLian. Le buste indicano che il mittente è “BI...

    Black Basta e Cactus utilizzano Teams e OneDrive per le loro operazioni. I dettagli degli attacchi

    I team Managed XDR e Incident Response di Trend Micro hanno recentemente scoperto campagne coordinate dai gruppi ransomware Black Basta e Cactus che utilizzano una variante condivisa del malware BackC...

    Allarme VMware: 3 vulnerabilità critiche attivamente sfruttate – Aggiorna subito!

    La società Broadcom ha rilasciato aggiornamenti di sicurezza per risolvere tre vulnerabilità attivamente sfruttate nei prodotti VMware ESXi, Workstation e Fusion che potrebbero causare ...

    DarkLab di RHC Pubblica Il Report DarkMirror 2024: L’osservatorio delle minacce Ransomware

    Il ransomware continua a rappresentare una delle minacce più pervasive e dannose nel panorama della cybersecurity globale. Secondo il report “DarkMirror” di DarkLab, relativo al sec...

    Alla scoperta della Remote Code Execution (RCE). Il bug di sicurezza più temuto!

    Tra tutte le vulnerabilità la più temuta per le vittime e la più ricercata per gli aggressori è la remote code execution, tristemente nota RCE. Questa vulnerabilità permette d...