Cos'è LSTM, BiLSTM e quando usarli?


11

Sono molto nuovo di Deep learning e sono particolarmente interessato a sapere cosa sono LSTM e BiLSTM e quando usarli (principali aree di applicazione). Perché LSTM e BILSTM sono più popolari di RNN?

Possiamo usare queste architetture di apprendimento profondo in problemi senza supervisione?


2
BiLSTM significa LSTM bidirezionale, il che significa che il segnale si propaga all'indietro e in avanti nel tempo. È inoltre possibile applicare questa architettura ad altri RNN. Per i dettagli, leggi en.wikipedia.org/wiki/Bidirectional_recurrent_neural_networks e colah.github.io/posts/2015-08-Understanding-LSTMs Benvenuto nel sito!
Emre,

Ecco un post , la differenza tra RNN e LSTM e qui è un blog per dimostrare la differenza tra LSTM e Bidirectional-LTSM
Benyamin Jafari,

Risposte:


7

RNNle architetture piacciono LSTMe BiLSTMvengono utilizzate in occasioni in cui il problema di apprendimento è sequenziale, ad esempio se hai un video e vuoi sapere di cosa si tratta o vuoi che un agente legga per te una riga di documento che è un'immagine di testo ed è non in formato testo. Ti incoraggio vivamente a dare un'occhiata qui .

LSTMse le loro varianti bidirezionali sono popolari perché hanno cercato di imparare come e quando dimenticare e quando non usare le porte nella loro architettura. Nelle RNNarchitetture precedenti , i gradienti di fuga erano un grosso problema e impedivano a queste reti di imparare molto.

Usando Bidirezionale LSTMs, alimentate l'algoritmo di apprendimento con i dati originali una volta dall'inizio alla fine e una volta dalla fine all'inizio. Ci sono dibattiti qui, ma di solito impara più velocemente dell'approccio unidirezionale sebbene dipenda dal compito.

Sì, puoi usarli anche per l'apprendimento senza supervisione a seconda del tuo compito. dai un'occhiata qui e qui .


1
Grazie mille per la meravigliosa risposta. Possiamo usare lstm per l'estrazione di parole chiave in PNL?
Volka,

in realtà ci sono molti documenti su di loro, ad esempio puoi vedere qui e qui .
Media

Molte grazie. Mi chiedo solo se esiste un approccio di apprendimento approfondito per l'estrazione di parole chiave standard che possiamo usare?
Volka,

in realtà non l'ho visto, forse è meglio chiederlo :)
Media

4

Gli umani non iniziano a pensare da zero ogni secondo. Mentre leggi questo saggio, capisci ogni parola in base alla comprensione delle parole precedenti. Non buttare via tutto e ricominciare a pensare da zero. I tuoi pensieri hanno perseveranza.

Le reti neurali tradizionali non possono farlo e sembra una grande mancanza. Ad esempio, immagina di voler classificare il tipo di evento che sta accadendo in ogni punto di un film. Non è chiaro come una rete neurale tradizionale possa usare il suo ragionamento sugli eventi precedenti nel film per informare quelli successivi.

Le reti neurali ricorrenti risolvono questo problema. Sono reti con loop all'interno, che consentono alle informazioni di persistere.

Per ulteriori informazioni, vai al Blog di Cohen


2

Rispetto a LSTM, BLSTMo BiLSTMha due reti, una di accesso alle pastinformazioni nella forwarddirezione e un altro futurenella reversedirezione. WIKI

Una nuova classe Bidirectionalviene aggiunta come da documento ufficiale qui :

model = Sequential()
model.add(Bidirectional(LSTM(num_channels, 
        implementation = 2, recurrent_activation = 'sigmoid'),
        input_shape=(input_length, input_dim)))

L'esempio completo che utilizza i dati IMDB sarà così

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.