Deep Learning Academy · Lezione

La cella RNN vanilla

Trasporti uno stato nascosto tra i vari passaggi

Lezione 2 di 413 passaggi

La cella RNN vanilla è una lezione Deep Learning Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Deep Learning Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Deep Learning Academy include 4 lezioni in totale.

Cosa fa una cella

Una cella RNN è il piccolo motore che viene eseguito a ogni istante temporale. Le si forniscono un input e la memoria precedente, e restituisce la nuova memoria.

Due input a ogni passaggio

A ogni passaggio la cella riceve due elementi: l'input corrente x e lo stato nascosto precedente. Li combina per ottenere un nuovo stato nascosto.

La formula fondamentale

La cella vanilla calcola una somma pesata dell'input e della memoria, poi la comprime. Questa singola riga è il cuore della RNN.

h_t = tanh(W_x @ x_t + W_h @ h_prev + b)

Perché tanh?

L'attivazione tanh mantiene lo stato nascosto tra -1 e 1, così i valori della memoria rimangono stabili invece di crescere senza controllo dopo molti passaggi.

Due matrici dei pesi

Una matrice W_x legge il nuovo input, mentre un'altra, W_h, legge la memoria precedente. La cella impara entrambe per decidere cosa conservare e cosa aggiungere.

Lo stato nascosto iniziale

Prima del primo passaggio non esiste alcuna memoria, quindi lo stato nascosto inizia come un vettore di zeri e si riempie man mano che la sequenza lo attraversa.

h0 = torch.zeros(hidden_size)

Srotolamento nel tempo

Immagini la cella copiata una volta per ogni passaggio, con la memoria trasmessa lungo la catena. Questa rappresentazione si chiama srotolamento della rete nel tempo.

Output dalla memoria

Le serve una previsione a un determinato passaggio? Passi lo stato nascosto di quel passaggio attraverso un piccolo livello di output per ottenere logits o un valore.

y_t = W_y @ h_t + b_y

Utilizzo in PyTorch

PyTorch mette a disposizione nn.RNN, così non deve scrivere il ciclo manualmente. Imposti le dimensioni dell'input e dello stato nascosto, poi fornisca una sequenza organizzata in batch.

rnn = nn.RNN(input_size=10, hidden_size=20)

Output e stato finale

La chiamata al livello restituisce due elementi: gli output a ogni passaggio e lo stato nascosto finale, utile per classificare l'intera sequenza.

out, h_n = rnn(x)

Il limite

Le RNN vanilla funzionano, ma la loro memoria svanisce rapidamente nelle sequenze lunghe. Questa debolezza prepara il terreno a celle dotate di gate, come la LSTM.

Controllo rapido

Quali sono i due elementi che una cella RNN vanilla riceve come input a ogni passaggio?

Riepilogo

La cella vanilla combina l'input e la memoria precedente con tanh per creare un nuovo stato nascosto, ripetendo il procedimento passo dopo passo lungo la sequenza. ✅

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «La cella RNN vanilla» è gratuita?

Sì — il testo completo di «La cella RNN vanilla» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Deep Learning Academy, passa a CoddyKit PRO. Il corso Deep Learning Academy include 4 lezioni in totale.

Cosa imparerò in «La cella RNN vanilla»?

Trasporti uno stato nascosto tra i vari passaggi Eserciti Deep Learning Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Deep Learning Academy?

Non è richiesta alcuna esperienza precedente. Deep Learning Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «La cella RNN vanilla»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Deep Learning Academy?

Sì. Ogni lezione Deep Learning Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Perché le sequenze hanno bisogno di memoria
  2. La cella RNN vanilla
  3. Gate LSTM e GRU
  4. Impacchettare le sequenze e gestire il padding
← Torna a Deep Learning Academy