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

Architettura e funzionamento delle Recurrent Neural Networks

Simone Raponi : 10 Agosto 2023 09:28

Benvenuti alla seconda parte della nostra serie di articoli sulle reti neurali ricorrenti (RNN). Nel nostro precedente articolo, abbiamo fornito una panoramica generale delle RNN, esaminando il loro ruolo nell’ambito dell’intelligenza artificiale e del machine learning. In questo articolo, ci immergeremo più profondamente nell’architettura e nel funzionamento delle RNN, esplorando la loro unicità e la loro potenza nel trattamento dei dati sequenziali.

Un’immagine che mostra l’architettura di una RNN

Architettura di una Recurrent Neural Network

Le RNN, come suggerisce il loro nome, sono caratterizzate da connessioni “ricorrenti”. Questo significa che hanno cicli nei loro percorsi di calcolo, a differenza delle reti neurali feedforward (FNN), in cui le informazioni fluiscono solo in una direzione, dall’input all’output.

L’architettura di una RNN è costituita da uno strato di input, uno o più strati nascosti e uno strato di output. Ogni strato è composto da un insieme di neuroni artificiali o nodi. La caratteristica distintiva delle RNN è che i nodi nello strato nascosto hanno una connessione “ricorrente”, ovvero una connessione che forma un ciclo, permettendo alle informazioni di circolare all’interno dello strato.


CALL FOR SPONSOR - Sponsorizza l'ottavo episodio della serie Betti-RHC

Sei un'azienda innovativa, che crede nella diffusione di concetti attraverso metodi "non convenzionali"? Conosci il nostro corso sul cybersecurity awareness a fumetti? Red Hot Cyber sta ricercando un nuovo sponsor per una nuova puntata del fumetto Betti-RHC mentre il team è impegnato a realizzare 3 nuovi episodi che ci sono stati commissionati.

Contattaci tramite WhatsApp al numero 375 593 1011 per richiedere ulteriori informazioni oppure alla casella di posta [email protected]



Supporta RHC attraverso:


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


Questa struttura permette a una RNN di conservare un “stato nascosto” che mantiene l’informazione sulla sequenza dei dati fino a quel momento. Questo stato nascosto agisce come una sorta di memoria, permettendo alla rete di ricordare l’informazione passata e di usarla per fare previsioni sul futuro.

Per capire come questo funziona in pratica, potrebbe essere utile un esempio. Immaginiamo una RNN progettata per tradurre una frase dall’inglese all’italiano. Quando la rete elabora la frase “I love reading”, deve essere in grado di ricordare la relazione tra “I” e “love”, e tra “love” e “reading”, per tradurre correttamente la frase in “Io amo leggere”. Questo è possibile grazie allo stato nascosto, che conserva le informazioni sui termini precedenti nella sequenza.

Come funziona una Recurrent Neural Network?

Per comprendere il funzionamento interno di una RNN, è utile immaginare la rete “spiegata” (unfold) nel tempo. Questa è una tecnica comune utilizzata per visualizzare l’elaborazione sequenziale in una RNN. In questa rappresentazione, ogni passo temporale della sequenza viene mostrato come un nodo separato nella rete.

Quando una RNN processa una sequenza di dati, inizia dall’inizio della sequenza e aggiorna il suo stato nascosto ad ogni passo temporale. Questo aggiornamento dello stato nascosto è calcolato in base al dato corrente e allo stato nascosto precedente.

In termini matematici, lo stato nascosto a un certo passo temporale t (denotato come hT) viene calcolato come segue:

hT = f(Whh * h(t-1) + Whx * xt)

In questa formula, Whh e Whx sono matrici di pesi che la rete apprende durante il training, xt è il dato di input al passo temporale t, e f è una funzione di attivazione non lineare, come la tangente iperbolica (tanh) o la funzione ReLU (Rectified Linear Unit).

Una volta calcolato il nuovo stato nascosto ht, la RNN produce un output per il passo temporale corrente. Questo output è in genere calcolato utilizzando una funzione di attivazione softmax, che produce un vettore di probabilità per le possibili previsioni.

Il processo descritto viene ripetuto per ogni passo temporale della sequenza. Alla fine della sequenza, la RNN avrà prodotto una serie di output, uno per ogni passo temporale.

Variazioni dell’architettura RNN

Mentre l’architettura base delle RNN è potente, esistono diverse varianti che cercano di superare alcuni dei suoi limiti. Due delle varianti più note sono le Long Short-Term Memory (LSTM) e le Gated Recurrent Unit (GRU), che introducono nuovi meccanismi per controllare come le informazioni vengono passate attraverso la rete. Queste varianti saranno oggetto di discussione più approfondita nel nostro quarto articolo.

Conclusioni

In questo articolo, abbiamo esplorato l’architettura e il funzionamento delle RNN. Questi concetti fondamentali ci aiutano a capire come le RNN siano in grado di gestire dati sequenziali in modo così efficace, rendendole strumenti potenti per l’elaborazione del linguaggio naturale, la previsione delle serie temporali e molto altro ancora.

Tuttavia, come vedremo nel prossimo articolo, le RNN non sono senza sfide. Il problema della “scomparsa del gradiente” è una questione critica che può rendere difficile l’addestramento delle RNN su lunghe sequenze. Inoltre, esistono diverse varianti dell’architettura RNN, come le LSTM e le GRU, che cercano di superare alcuni dei limiti delle RNN standard. Esploreremo queste sfide e le possibili soluzioni nel nostro prossimo articolo.

Riferimenti e Approfondimenti

Per coloro che sono interessati a esplorare ulteriormente l’architettura e il funzionamento delle RNN, consigliamo le seguenti risorse:

Recurrent Neural Networks by Example in Python: Un tutorial pratico che mostra come costruire una RNN in Python.

The Unreasonable Effectiveness of Recurrent Neural Networks: Un post del blog di Andrej Karpathy che esplora l’efficacia delle RNN attraverso vari esperimenti.

Deep Learning Book – Chapter 10: Un capitolo del libro “Deep Learning” di Ian Goodfellow, Yoshua Bengio e Aaron Courville, che offre un approfondimento tecnico sulle RNN e le loro varianti.

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.

Lista degli articoli

Articoli in evidenza

Operazione Checkmate: colpo grosso delle forze dell’ordine. BlackSuit è stato fermato!
Di Redazione RHC - 25/07/2025

Nel corso di un’operazione internazionale coordinata, denominata “Operation Checkmate”, le forze dell’ordine hanno sferrato un duro colpo al gruppo ransomware BlackSuit (qu...

I Mostri sono stati puniti! GreySkull: 18 condanne e 300 anni di carcere per i pedofili
Di Redazione RHC - 25/07/2025

Il Dipartimento di Giustizia degli Stati Uniti ha segnalato lo smantellamento di quattro piattaforme darknet utilizzate per la distribuzione di materiale pedopornografico. Contemporaneamente, un dicio...

Nuovi attacchi all’Italia da NoName057(16) e una Infiltrazione nel sistema idrico ceco
Di Redazione RHC - 24/07/2025

“Combattere il cybercrime è come estirpare le erbacce: se non elimini le radici a fondo, queste ricresceranno” e oggi, più che mai, questa verità si conferma ess...

XSS.IS messo a tacere! Dentro l’inchiesta che ha spento uno dei bazar più temuti del cyber‑crime
Di Luca Stivali - 24/07/2025

Immagina di aprire, come ogni sera, il bookmark del tuo forum preferito per scovare nuove varianti di stealer o l’ennesimo pacchetto di credenziali fresche di breach. Invece della solita bachec...

Firefox 141: rilasciato un aggiornamento critico di Sicurezza
Di Redazione RHC - 24/07/2025

Il 22 luglio 2025, Mozilla ha rilasciato Firefox 141, un aggiornamento volto a migliorare la sicurezza del browser. Nell’ambito del Bollettino MFSA 2025-56, sono state risolte 18 vulnerabilit&#...