Analogamente alle reti neurali tradizionali, come le reti neurali feedforward e le reti neurali convoluzionali (CNN), le reti neurali ricorrenti utilizzano i dati di addestramento per apprendere. Si distinguono per la loro "memoria", in quanto prendono informazioni da input precedenti per influenzare l’input e l’output correnti.
Mentre le reti di deep learning tradizionali presuppongono che gli input e gli output siano indipendenti l'uno dall'altro, l'output delle reti neurali ricorrenti dipende dagli elementi precedenti all'interno della sequenza. Sebbene anche gli eventi futuri siano utili per determinare l'output di una determinata sequenza, le reti neurali ricorrenti unidirezionali non possono tenere conto di questi eventi nelle loro previsioni.
Per spiegare cosa sono le RNN, prendiamo un'espressione idiomatica, come "sentirsi giù di corda", che si usa comunemente per indicare che si è tristi. Affinché questo modo di dire abbia senso, deve essere espresso in quell'ordine specifico. Di conseguenza, le reti ricorrenti devono tenere conto della posizione di ogni parola nell'espressione idiomatica e usano tali informazioni per prevedere la parola successiva nella sequenza.
Ogni parola della frase "sentirsi giù di corda" fa parte di una sequenza in cui l'ordine conta. La RNN tiene traccia del contesto mantenendo uno stato nascosto a ogni passo temporale. Si crea un ciclo di feedback passando lo stato nascosto da un passo temporale al successivo. Lo stato nascosto agisce come una memoria che memorizza le informazioni sugli input precedenti. A ogni passo temporale, la RNN elabora l'input corrente (ad esempio, una parola in una frase) insieme allo stato nascosto del passo temporale precedente. Questo permette alla RNN di "ricordare" i punti dati precedenti e di utilizzare queste informazioni per influenzare l'output attuale.
Un'altra caratteristica distintiva delle reti ricorrenti è che condividono parametri in ogni strato della rete. Mentre le reti feedforward hanno pesi diversi in ogni nodo, le reti neurali ricorrenti condividono lo stesso parametro di peso all'interno di ogni strato della rete. Detto questo, questi pesi sono ancora regolati attraverso i processi di retropropagazione e discesa del gradiente per facilitare l'apprendimento per rinforzo.
Le RNN utilizzano la propagazione in avanti e gli algoritmi di retropropagazione nel tempo (BPTT) per determinare i gradienti (o derivate), il che è leggermente diverso dalla retropropagazione tradizionale, in quanto è specifico per i dati di sequenza. I principi della BPTT sono gli stessi della retropropagazione tradizionale, in cui il modello addestra se stesso calcolando gli errori dal suo strato di output al suo strato di input. Questi calcoli ci consentono di adattare e modificare opportunamente i parametri del modello. La BPTT si differenzia dall'approccio tradizionale in quanto la BPTT somma gli errori a ogni passo temporale, mentre le reti feedforward non hanno bisogno di sommare gli errori, in quanto non condividono i parametri in ogni strato.