LSTM | Introducción a LSTM

Contenidos

Objetivo

  • LSTM es un tipo especial de red neuronal recurrente capaz de manejar dependencias a largo plazo.
  • Comprender la arquitectura y el funcionamiento de una red LSTM

Introducción

Long Short Term Memory Network es un RNN avanzado, una red secuencial, que permite que la información persista. Es capaz de manejar el problema del gradiente de desaparición al que se enfrenta RNN. Una red neuronal recurrente también se conoce como RNN y se usa para la memoria persistente.

Digamos que mientras miras un video recuerdas la escena anterior o mientras lees un libro sabes lo que sucedió en el capítulo anterior. De manera similar, los RNN funcionan, recuerdan la información anterior y la usan para procesar la entrada actual. La deficiencia de RNN es que no pueden recordar las dependencias a largo plazo debido al gradiente de desaparición. Los LSTM están diseñados explícitamente para evitar problemas de dependencia a largo plazo.

Nota: Si está más interesado en aprender conceptos en un formato audiovisual, tenemos este artículo completo explicado en el video a continuación. Si no es así, puede seguir leyendo.

Arquitectura LSTM

En un nivel alto, LSTM funciona de manera muy similar a una celda RNN. Aquí está el funcionamiento interno de la red LSTM. El LSTM consta de tres partes, como se muestra en la imagen a continuación y cada parte realiza una función individual.

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

La primera parte elige si la información proveniente de la marca de tiempo anterior debe recordarse o es irrelevante y puede olvidarse. En la segunda parte, la celda intenta aprender nueva información de la entrada a esta celda. Por último, en la tercera parte, la celda pasa la información actualizada de la marca de tiempo actual a la siguiente.

Estas tres partes de una celda LSTM se conocen como puertas. La primera parte se llama Olvídese de la puerta, la la segunda parte se conoce como la puerta de entrada y el ultimo es la puerta de salida.

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

Al igual que un RNN simple, un LSTM también tiene un estado oculto donde H (t-1) representa el estado oculto de la marca de tiempo anterior y Ht es el estado oculto de la marca de tiempo actual. Además de eso, LSTM también tiene un estado de celda representado por C (t-1) y C

Aquí, el estado oculto se conoce como memoria a corto plazo y el estado de la celda se conoce como memoria a largo plazo. Consulte la siguiente imagen.

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

Es interesante notar que el estado de la celda lleva la información junto con todas las marcas de tiempo.

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

Tomemos un ejemplo para entender cómo funciona LSTM. Aquí tenemos dos oraciones separadas por un punto. La primera oración es «Bob es una buena persona» y la segunda oración es «Dan, por otro lado, es malvado». Está muy claro, en la primera oración estamos hablando de Bob y tan pronto como encontramos el punto (.) Comenzamos a hablar de Dan.

A medida que pasamos de la primera oración a la segunda, nuestra red debe darse cuenta de que ya no estamos hablando de Bob. Ahora nuestro tema es Dan. Aquí, la puerta Olvidar de la red le permite olvidarse de él. Entendamos los roles que juegan estas puertas en la arquitectura LSTM.

Olvidar puerta

En una celda de la red LSTM, el primer paso es decidir si debemos mantener la información de la marca de tiempo anterior u olvidarla. Aquí está la ecuación para la puerta de olvido.

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

Tratemos de entender la ecuación, aquí

  • Xt: entrada a la marca de tiempo actual.
  • Uf: peso asociado a la entrada
  • Ht-1: el estado oculto de la marca de tiempo anterior
  • Wf: Es la matriz de ponderaciones asociada al estado oculto.

Posteriormente, se le aplica una función sigmoidea. Eso hará que ft sea un número entre 0 y 1. Este ft se multiplica más tarde por el estado de celda de la marca de tiempo anterior, como se muestra a continuación.

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

Si ft es 0, la red olvidará todo y si el valor de ft es 1, no olvidará nada. Volvamos a nuestro ejemplo. La primera frase hablaba de Bob y después de un punto final, la red se encontrará con Dan, en un caso ideal, la red debería olvidarse de Bob.

Puerta de entrada

Tomemos otro ejemplo

“Bob sabe nadar. Me dijo por teléfono que había servido en la Marina durante cuatro largos años «.

Entonces, en estas dos oraciones, estamos hablando de Bob. Sin embargo, ambos brindan diferentes tipos de información sobre Bob. En la primera oración, obtenemos la información de que sabe nadar. Mientras que la segunda oración dice que usa el teléfono y sirvió en la Marina durante cuatro años.

Ahora solo piénselo, basado en el contexto dado en la primera oración, qué información de la segunda oración es crítica. Primero, usó el teléfono para avisar o sirvió en la marina. En este contexto, no importa si usó el teléfono o cualquier otro medio de comunicación para transmitir la información. El hecho de que estuvo en la Marina es una información importante y esto es algo que queremos que nuestro modelo recuerde. Esta es la tarea de la puerta de entrada.

La puerta de entrada se utiliza para cuantificar la importancia de la nueva información transportada por la entrada. Aquí está la ecuación de la puerta de entrada.

screenshot-from-2021-03-16-15-09-49-5612097Aquí,

  • Xt: Entrada con la marca de tiempo actual t
  • Ui: matriz de ponderaciones de entrada
  • Ht-1: un estado oculto en la marca de tiempo anterior
  • Wi: matriz de ponderación de la entrada asociada con el estado oculto

Nuevamente le hemos aplicado la función sigmoidea. Como resultado, el valor de I en la marca de tiempo t estará entre 0 y 1.

Nueva información

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

Ahora, la nueva información que necesitaba pasar al estado de la celda es una función de un estado oculto en la marca de tiempo anterior t-1 y la entrada x en la marca de tiempo t. La función de activación aquí es tanh. Debido a la función tanh, el valor de la nueva información estará entre -1 y 1. Si el valor de Nt es negativo, la información se resta del estado de la celda y si el valor es positivo, la información se agrega al estado de la celda en el fecha y hora actual.

Sin embargo, el Nt no se agregará directamente al estado de la celda. Aquí viene la ecuación actualizada

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

Aquí, Ct-1 es el estado de la celda en la marca de tiempo actual y otros son los valores que hemos calculado previamente.

Puerta de salida

Ahora considera esta oración

“Bob luchó solo contra el enemigo y murió por su país. Por sus contribuciones, valiente________. «

Durante esta tarea, tenemos que completar la segunda oración. Ahora, en el momento en que vemos la palabra valiente, sabemos que estamos hablando de una persona. En la frase solo Bob es valiente, no podemos decir que el enemigo es valiente o el país es valiente. Entonces, en base a la expectativa actual, tenemos que dar una palabra relevante para completar el espacio en blanco. Esa palabra es nuestra salida y esta es la función de nuestra puerta de salida.

Aquí está la ecuación de la puerta de salida, que es bastante similar a las dos puertas anteriores.

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

Su valor también estará entre 0 y 1 debido a esta función sigmoidea. Ahora, para calcular el estado oculto actual, usaremos Ot y tanh del estado de celda actualizado. Como se muestra abajo.

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

Resulta que el estado oculto es una función de la memoria a largo plazo (Ct) y la salida actual. Si necesita tomar la salida de la marca de tiempo actual, simplemente aplique la activación de SoftMax en el estado oculto Ht.

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

Aquí, el token con la puntuación máxima en la salida es la predicción.

Este es el diagrama más intuitivo de la red LSTM.

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

Este diagrama está tomado de un blog interesante. Les insto a todos a que lo revisen. Aqui esta el link-

Notas finales

En resumen, en este artículo vimos en detalle la arquitectura de un modelo secuencial LSTM y cómo funciona.

Si está buscando comenzar su viaje de ciencia de datos y desea todos los temas bajo un mismo techo, su búsqueda se detiene aquí. Eche un vistazo a la IA y ML BlackBelt certificadas de DataPeaker Más Programa

Si tienes alguna pregunta, ¡házmelo saber en la sección de comentarios!

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.