Diferentemente das redes neurais artificiais convencionais que não são capazes de se “lembrar” de valores e informações de um intervalo de tempo, as Long Short Term Memory (LSTMs) podem ser definidas como uma arquitetura de rede neural artificial capaz de processar informações sequenciais.
Ou seja, LSTMs podem processar informações que dependem da memorização de cada elemento de um conjunto, como um trecho de vídeo, por exemplo. Neste artigo, abordo o funcionamento das redes neurais Long Short Term Memory e seus principais componentes.
As redes neurais do tipo Long Short Term Memory (memória de curto e longo prazo) são um tipo especial de rede neural recorrente e capazes de aprender conexões em sequências de informação. Dentre as principais aplicações das redes neurais Long Short Term Memory destacam-se: processamento de tarefas de linguagem natural; processamento de áudio; e processamento de uma sequência de frames de vídeo.
Já sabemos que a ideia por trás das Long Short Term Memory, ou LSTMs, é fazer uso de informações sequenciais. Mas como isso funciona?
LSTMs, assim como todas as arquiteturas de redes neurais artificiais, são bioinspiradas. Ou seja, elas funcionam de forma análoga a algum processo biológico. Como vimos em outro post aqui do blog, as redes neurais convolucionais são inspiradas no funcionamento do córtex visual cerebral. Já LSTMs utilizam como base o funcionamento da memória. Logo, são divididas em dois tipos: memória de curto prazo e memória de longo prazo.
Memória de curto prazo: atua no momento da aquisição da informação. Na memória de curto prazo, a informação é retida por alguns segundos e, então, destinada para armazenamento por períodos mais longos ou descartada.
Memória de longo prazo: retém a informação, permitindo sua recuperação ou evocação a posteriori. É na memória de longo prazo que todo nosso conhecimento fica “armazenado”.
Em síntese, a arquitetura de LSTMs consiste em um conjunto de células de memória conectadas de forma recorrente que revolucionou e melhorou o desempenho de ferramentas como o reconhecimento de fala e as traduções automáticas do Google e as respostas da Alexa da Amazon.
Vou detalhar a seguir.
As células ou blocos de memória da LSTM (Figura 1) retêm e manipulam informações por meio de portões (gates). Eles, por sua vez, controlam a passagem de informações entre as células. Aliás, LSTMs possuem três tipos de portões. São eles:
Forget Gate (portão de esquecimento): decide quais informações devem ser descartadas, ou seja, esquecidas pela célula de memória.
Input Gate (portão de entrada): responsável por adicionar informações ao estado da célula de memória.
Output Gate (portão de saída): extrai as informações úteis do estado da célula de memória atual, direcionando-as para a célula de memória seguinte.
Todos os portões utilizam funções matemáticas específicas que possibilitam a manipulação da informação dentro da célula de memória de acordo com sua tarefa (esquecimento, entrada ou saída).
Figura 1. Bloco de memória de LSTM. Fonte: Data Science Academy (2021).
Além dos portões, a célula de memória de uma LSTM possui duas entradas, representadas por Xt e ht-1, onde:
Xt representa a entrada no momento específico;
e ht-1 a saída da célula anterior.
A memória de longo prazo ou estado da célula possui conexão com todos os portões, conforme exibido na Figura 1. A saída da célula, utilizada como input para a célula subsequente, é representada por Zt.
Por fim, a célula contém ainda um portão de modulação da entrada (input modulation gate), responsável por gerar um valor a partir da entrada atual e, também, da saída da célula anterior.
Neste post, vimos quais são as aplicações das redes neurais LSTM e entendemos com detalhes como funcionam suas arquiteturas, bem como seu elemento fundamental: a célula de memória. Algumas aplicações das LSTMs incluem: tradução de idiomas, geração de textos, chatbots, transcrição de áudio, legendas em imagens e, também, reconhecimento de ações em vídeos.