LSTM | Introduzione a LSTM

Contenuti

obbiettivo

  • LSTM è un tipo speciale di rete neurale ricorrente in grado di gestire dipendenze a lungo termine.
  • Comprendere l'architettura e il funzionamento di una rete LSTM

introduzione

La rete di memoria a lungo termine è un RNN avanzato, una rete sequenziale, che consente alle informazioni di persistere. È in grado di gestire il problema del gradiente di scomparsa che deve affrontare RNN. Una rete neurale ricorrente è anche nota come RNN e viene utilizzata per la memoria persistente.

Diciamo che mentre guardi un video ti ricordi la scena precedente o mentre leggi un libro sai cosa è successo nel capitolo precedente. Allo stesso modo, Gli RNN funzionano, ricordare le informazioni precedenti e utilizzarle per elaborare l'input corrente. La carenza di RNN è che non riescono a ricordare le dipendenze a lungo termine a causa del gradiente di scomparsa. Gli LSTM sono progettati esplicitamente per evitare problemi di dipendenza a lungo termine.

Nota: Se sei più interessato ad apprendere concetti in un formato audiovisivo, abbiamo questo articolo completo spiegato nel video qui sotto. Se non è così, puoi continuare a leggere.

Architettura LSTM

Ad alto livello, LSTM funziona in modo molto simile a una cella RNN. Ecco il funzionamento interno della rete LSTM. L'LSTM si compone di tre parti, come mostrato nell'immagine qui sotto e ogni parte svolge una funzione individuale.

screenshot-da-2021-03-16-13-26-39-1061104

La prima parte sceglie se l'informazione proveniente dal timestamp precedente deve essere ricordata o è irrilevante e può essere dimenticata. Nella seconda parte, la cella cerca di apprendere nuove informazioni dall'input a questa cella. Finalmente, nella terza parte, la cella passa le informazioni aggiornate dal timestamp corrente al successivo.

Queste tre parti di una cella LSTM sono note come porte. La prima parte si chiama Dimentica la porta, il la seconda parte è conosciuta come la porta di fronte e l'ultimo è la porta di uscita.

screenshot-da-2021-03-16-13-41-03-9628172

Come un semplice RNN, un LSTM ha anche uno stato nascosto in cui H (t-1) rappresenta lo stato nascosto del timestamp precedente e Ht è lo stato nascosto del timestamp corrente. a parte quello, LSTM ha anche uno stato cellulare rappresentato da C (t-1) y C

Qui, lo stato nascosto è noto come memoria a breve termine e lo stato della cellula è noto come memoria a lungo termine. Si prega di fare riferimento alla seguente immagine.

screenshot-da-2021-03-16-13-45-35-4331497

È interessante notare che lo stato della cella porta le informazioni insieme a tutti i timestamp.

screenshot-da-2021-03-16-13-56-49-4995559

Facciamo un esempio per capire come funziona LSTM. Qui abbiamo due frasi separate da un punto. La prima frase è “Bob è una brava persona” e la seconda frase è “e, In secondo luogo, è malvagio”. È molto chiaro, nella prima frase stiamo parlando di Bob e appena troviamo il punto (.) Abbiamo iniziato a parlare di Dan.

Mentre passiamo dalla prima frase alla seconda, la nostra rete deve rendersi conto che non stiamo più parlando di Bob. Ora il nostro argomento è Dan. Qui, la porta Forget Network ti fa dimenticare. Comprendiamo i ruoli che queste porte giocano nell'architettura LSTM.

Dimentica la porta

In una cella della rete LSTM, il primo passo è decidere se dobbiamo mantenere le informazioni del timestamp precedente o dimenticarle. Ecco l'equazione per la porta dell'oblio.

screenshot-da-2021-03-16-14-38-18-8223630

Proviamo a capire l'equazione, qui

  • Xt: input al timestamp corrente.
  • Uf: peso associato all'input
  • Ht-1: lo stato nascosto del timestamp precedente
  • Wf: È la matrice di ponderazione associata allo stato nascosto.

Successivamente, ad esso viene applicata una funzione sigmoide. Questo renderà ft un numero tra 0 e 1. Questo ft viene successivamente moltiplicato per lo stato della cella del timestamp precedente, come mostrato di seguito.

screenshot-da-2021-03-16-14-46-28-5691233

Se ft è 0, la rete dimenticherà tutto e se il valore di ft è 1, non dimenticherò nulla. Torniamo al nostro esempio. La prima frase parlava di Bob e dopo un punto fermo, la rete incontrerà Dan, in un caso ideale, la rete dovrebbe dimenticare Bob.

Cancello d'ingresso

Facciamo un altro esempio

“Bob sa nuotare. Mi ha detto al telefono che aveva prestato servizio in Marina per quattro lunghi anni “.

Quindi, in queste due frasi, stiamo parlando di bob. tuttavia, entrambi forniscono diversi tipi di informazioni su Bob. Nella prima frase, otteniamo le informazioni che sai nuotare. Mentre la seconda frase dice che usa il telefono e ha prestato servizio in Marina per quattro anni.

Ora pensaci, in base al contesto dato nella prima frase, quali informazioni nella seconda frase sono critiche?. Primo, usava il telefono per consigliare o prestava servizio in marina. In tale contesto, Non importa se hai usato il telefono o qualsiasi altro mezzo di comunicazione per trasmettere le informazioni. Il fatto che fosse in Marina è un'informazione importante e questo è qualcosa che vogliamo che il nostro modello ricordi. Questo è il compito della porta d'ingresso.

Il cancello d'ingresso viene utilizzato per quantificare l'importanza delle nuove informazioni trasportate dall'ingresso. Ecco l'equazione per la porta d'ingresso.

screenshot-da-2021-03-16-15-09-49-5612097Qui,

  • Xt: Inserimento con data e ora corrente t
  • Ui: matrice dei pesi di input
  • Ht-1: uno stato nascosto nel timestamp precedente
  • Wi: matrice di peso dell'input associato allo stato nascosto

Ancora una volta abbiamo applicato la funzione sigmoide. Di conseguenza, il valore di I al timestamp t sarà compreso tra 0 e 1.

Nuova informazione

screenshot-da-2021-03-16-15-18-59-8971848

Ora, la nuova informazione che doveva passare allo stato della cella è una funzione di uno stato nascosto al precedente timestamp t-1 e input x al timestamp t. La funzione di attivazione qui è tanh. A causa della funzione tanh, il valore della nuova informazione sarà compreso tra -1 e 1. Se il valore di Nt è negativo, l'informazione viene sottratta dallo stato della cella e se il valore è positivo, le informazioni vengono aggiunte allo stato della cella alla data e ora correnti.

tuttavia, il Nt non verrà aggiunto direttamente allo stato della cella. Ecco l'equazione aggiornata

screenshot-da-2021-03-16-15-27-17-8067958

Qui, Ct-1 è lo stato della cella al timestamp corrente e altri sono i valori che abbiamo calcolato in precedenza.

Porta di uscita

Ora considera questa frase

Bob ha combattuto il nemico da solo ed è morto per il suo paese. Per i tuoi contributi, coraggioso________. “

Durante questo compito, dobbiamo completare la seconda frase. Ora, nel momento in cui vediamo la parola coraggioso, sappiamo che stiamo parlando di una persona. Nella frase solo Bob è coraggioso, non possiamo dire che il nemico è coraggioso o il paese è coraggioso. Quindi, in base alle aspettative attuali, dobbiamo dare una parola pertinente per riempire lo spazio vuoto. Quella parola è la nostra uscita e questa è la funzione della nostra porta di uscita.

Ecco l'equazione del cancello di uscita, che è abbastanza simile alle precedenti due porte.

screenshot-da-2021-03-16-15-39-05-3222227

Il suo valore sarà anche tra 0 e 1 a causa di questa funzione sigmoide. Ora, per calcolare lo stato nascosto corrente, useremo Ot e tanh dallo stato della cella aggiornato. Come mostrato di seguito.

screenshot-da-2021-03-16-15-41-22-6532255

Si scopre che lo stato nascosto è una funzione della memoria a lungo termine (Ct) e l'uscita di corrente. Se hai bisogno di emettere il timestamp corrente, basta applicare l'attivazione SoftMax in stato nascosto Ht.

screenshot-da-2021-03-16-15-45-14-7356411

Qui, il token con il punteggio più alto nell'output è la previsione.

Questo è il diagramma più intuitivo della rete LSTM.

screenshot-da-2021-03-16-15-51-05-1381466

Questo diagramma è tratto da un blog interessante. Invito tutti a dare un'occhiata. Ecco il link-

Note finali

In sintesi, in questo articolo abbiamo visto in dettaglio l'architettura di un modello LSTM sequenziale e come funziona.

Se stai cercando di iniziare il tuo viaggio nella scienza dei dati e desideri tutti gli argomenti sotto lo stesso tetto, la tua ricerca si ferma qui. Dai un'occhiata alle certificazioni AI e ML BlackBelt di DataPeaker Più Programma

Se hai qualche domanda, Fatemi sapere nella sezione commenti!

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.