Ultralytics YOLO27:
Torna al glossario di Ultralytics

Recurrent Neural Network (RNN)

Scopri come le reti neurali ricorrenti (RNN) elaborino dati sequenziali usando la memoria. Approfondisci le architetture RNN, le applicazioni NLP e le implementazioni in PyTorch.

Una rete neurale ricorrente (RNN) è un tipo di rete neurale artificiale progettata specificamente per riconoscere schemi in sequenze di dati, come testo, genomi, grafia o linguaggio parlato. A differenza delle reti feedforward tradizionali, che considerano tutti gli input e gli output indipendenti l'uno dall'altro, le RNN conservano una forma di memoria. Questa memoria interna consente loro di elaborare gli input tenendo conto delle informazioni precedenti, rendendole particolarmente adatte alle attività in cui il contesto e l'ordine temporale sono fondamentali. Questa architettura imita il modo in cui gli esseri umani elaborano le informazioni: per leggere una frase, ad esempio, è necessario ricordare le parole precedenti per comprendere quella corrente.

Come funzionano le RNN#

L'innovazione fondamentale di una RNN è la sua struttura ad anello. In una rete feedforward standard, le informazioni fluiscono in una sola direzione: dall'input all'output. Al contrario, una RNN dispone di un ciclo di feedback che consente alle informazioni di persistere. Mentre elabora una sequenza, la rete mantiene uno "stato nascosto", un vettore che funge da memoria a breve termine della rete. A ogni passo temporale, la RNN utilizza l'input corrente e lo stato nascosto precedente per produrre un output e aggiornare lo stato nascosto per il passo successivo.

Questa capacità di elaborazione sequenziale è essenziale per l'elaborazione del linguaggio naturale (NLP) e per l'analisi delle serie temporali. Tuttavia, le RNN standard spesso incontrano difficoltà con le sequenze lunghe a causa del problema del gradiente evanescente, in cui la rete dimentica gli input iniziali man mano che la sequenza cresce. Questa limitazione ha portato allo sviluppo di varianti più avanzate, come le reti con memoria a breve e lungo termine (LSTM) e le unità ricorrenti con gate (GRUs), che introducono meccanismi per regolare meglio il flusso delle informazioni su periodi più lunghi.

Applicazioni nel mondo reale#

Le reti neurali ricorrenti hanno trasformato molti settori consentendo alle macchine di comprendere i dati sequenziali. Ecco due esempi importanti:

  1. Traduzione automatica: servizi come Google Translate inizialmente si basavano in larga misura su architetture basate su RNN, in particolare modelli da sequenza a sequenza, per convertire il testo da una lingua all'altra. La rete legge l'intera frase di input, ad esempio in inglese, e costruisce un vettore di contesto, che utilizza quindi per generare l'output tradotto, ad esempio in francese, una parola alla volta, garantendo la coerenza grammaticale.

  2. Scrittura predittiva e correzione automatica: quando digiti su uno smartphone, la tastiera suggerisce la parola successiva più probabile. Questa funzione è spesso alimentata da un modello linguistico addestrato con RNN. Il modello analizza la sequenza di parole che hai già digitato per prevedere la parola successiva più probabile, migliorando la velocità e la precisione dell'utente. Una logica simile si applica ai sistemi di riconoscimento vocale che trascrivono l'audio parlato in testo.

RNN a confronto con CNN e Transformer#

È utile distinguere le RNN dalle altre principali architetture. Una rete neurale convoluzionale (CNN) è progettata principalmente per i dati spaziali, come le immagini, ed elabora griglie di pixel per identificare forme e oggetti. Ad esempio, Ultralytics YOLO26 utilizza un potente backbone CNN per il rilevamento degli oggetti in tempo reale. Mentre una CNN eccelle nel rispondere alla domanda "che cosa c'è in questa immagine?", una RNN eccelle nel rispondere alla domanda "che cosa succede dopo in questo video?".

Più recentemente, l'architettura Transformer ha in gran parte soppiantato le RNN in molte attività NLP complesse. I Transformer utilizzano un meccanismo di attenzione per elaborare intere sequenze in parallelo anziché in modo sequenziale. Tuttavia, le RNN rimangono altamente efficienti per specifiche applicazioni di streaming a bassa latenza e con risorse limitate, oltre a essere più semplici da implementare sui dispositivi edge per semplici previsioni di serie temporali.

Esempio di implementazione in PyTorch#

Sebbene le moderne attività di computer vision si basino spesso sulle CNN, i modelli ibridi possono utilizzare le RNN per analizzare le caratteristiche temporali estratte dai fotogrammi video. Di seguito è riportato un semplice esempio eseguibile che utilizza PyTorch per creare un livello RNN di base che elabora una sequenza di dati.

import torch
import torch.nn as nn

# Define a basic RNN layer
# input_size: number of features in the input (e.g., 10 features per time step)
# hidden_size: number of features in the hidden state (memory)
# batch_first: input shape will be (batch, seq, feature)
rnn = nn.RNN(input_size=10, hidden_size=20, num_layers=1, batch_first=True)

# Create a dummy input: Batch size 1, Sequence length 5, Features 10
input_seq = torch.randn(1, 5, 10)

# Forward pass through the RNN
# output contains the hidden state for every time step
# hn contains the final hidden state
output, hn = rnn(input_seq)

print(f"Output shape: {output.shape}")  # Expected: torch.Size([1, 5, 20])
print(f"Final hidden state shape: {hn.shape}")  # Expected: torch.Size([1, 1, 20])

Sfide e prospettive future#

Nonostante la loro utilità, le RNN presentano difficoltà computazionali. L'elaborazione sequenziale limita la parallelizzazione, rendendo l'addestramento più lento rispetto ai Transformer sulle GPU. Inoltre, la gestione del problema del gradiente esplosivo richiede un'attenta ottimizzazione degli iperparametri e tecniche come il gradient clipping.

Ciononostante, le RNN rimangono un concetto fondamentale del Deep Learning (DL). Sono parte integrante della comprensione dell'evoluzione dell'Intelligenza artificiale (AI) e sono ancora ampiamente utilizzate nei semplici sistemi di rilevamento delle anomalie per i sensori IoT. Per gli sviluppatori che realizzano pipeline complesse, ad esempio combinando modelli di visione con predittori di sequenze, la gestione dei dataset e dei workflow di addestramento è fondamentale. La Piattaforma Ultralytics semplifica questo processo offrendo strumenti per gestire i dati e distribuire i modelli in modo efficiente in diversi ambienti.

Explore solutions

Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo percorso verso il futuro del machine learning