LSTM | Introdução ao LSTM

Conteúdo

objetivo

  • LSTM é um tipo especial de rede neural recorrente capaz de lidar com dependências de longo prazo.
  • Compreender a arquitetura e operação de uma rede LSTM

Introdução

Long Short Term Memory Network é um RNN avançado, uma rede sequencial, que permite que a informação persista. É capaz de lidar com o problema do gradiente de desaparecimento que RNN enfrenta. Uma rede neural recorrente também é conhecida como RNN e é usada para memória persistente.

Digamos que enquanto assiste a um vídeo você se lembra da cena anterior ou enquanto lê um livro você sabe o que aconteceu no capítulo anterior. de forma similar, RNNs trabalham, lembre-se das informações anteriores e use-as para processar a entrada atual. A deficiência de RNN é que eles não conseguem se lembrar de dependências de longo prazo devido ao gradiente de desaparecimento. LSTMs são explicitamente projetados para evitar problemas de dependência de longo prazo.

Observação: Se você está mais interessado em aprender conceitos em formato audiovisual, temos esse artigo completo explicado no vídeo abaixo. Sim, não é assim, você pode continuar lendo.

Arquitetura LSTM

Em um alto nível, LSTM funciona como uma célula RNN. Aqui está o funcionamento interno da rede LSTM. O LSTM consiste em três partes, como mostrado na imagem abaixo e cada parte desempenha uma função individual.

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

A primeira parte escolhe se a informação proveniente do carimbo de data / hora anterior deve ser lembrada ou é irrelevante e pode ser esquecida. Na segunda parte, a célula tenta aprender novas informações da entrada para esta célula. Por último, na terceira parte, a célula passa as informações atualizadas do carimbo de data / hora atual para o próximo.

Essas três partes de uma célula LSTM são conhecidas como portas. A primeira parte é chamada Esquece a porta, a a segunda parte é conhecida como a porta da frente e o último é a porta de saída.

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

Como um simples RNN, um LSTM também tem um estado oculto onde H (t-1) representa o estado oculto do carimbo de data / hora anterior e Ht é o estado oculto do carimbo de data / hora atual. Além disso, LSTM também tem um estado de célula representado por C (t-1) y C

Aqui, o estado oculto é conhecido como memória de curto prazo e o estado da célula é conhecido como memória de longo prazo. Por favor, consulte a seguinte imagem.

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

É interessante notar que o estado da célula carrega as informações junto com todos os carimbos de data / hora.

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

Vamos dar um exemplo para entender como funciona o LSTM. Aqui temos duas frases separadas por um ponto. A primeira frase é “Bob é uma boa pessoa” e a segunda frase é “E, por outro lado, é mal”. É muito claro, na primeira frase estamos falando sobre Bob e assim que encontrarmos o ponto (.) Começamos a falar sobre Dan.

À medida que vamos da primeira frase para a segunda, nossa rede deve perceber que não estamos mais falando sobre Bob. Agora nosso tópico é Dan. Aqui, a porta Forget Network permite que você esqueça isso. Vamos entender as funções que essas portas desempenham na arquitetura LSTM.

Esquece a porta

Em uma célula da rede LSTM, o primeiro passo é decidir se devemos manter as informações do carimbo de data / hora anterior ou esquecê-las. Aqui está a equação para a porta do esquecimento.

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

Vamos tentar entender a equação, aqui

  • Xt: entrada para o carimbo de data / hora atual.
  • Uf: peso associado à entrada
  • Ht-1: o estado oculto do carimbo de data / hora anterior
  • Wf: É a matriz de ponderação associada ao estado oculto.

Subseqüentemente, uma função sigmóide é aplicada a ele. Isso fará com que ft seja um número entre 0 e 1. Este ft é posteriormente multiplicado pelo estado da célula do carimbo de data / hora anterior, como é mostrado a seguir.

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

Se ft for 0, a rede vai esquecer tudo e se o valor de ft for 1, não vai esquecer de nada. Vamos voltar ao nosso exemplo. A primeira frase foi falando sobre Bob e depois de um ponto final, a rede vai encontrar Dan, em um caso ideal, a rede deve esquecer Bob.

Porta de entrada

Vamos dar outro exemplo

“Bob sabe nadar. Ele me disse por telefone que havia servido na Marinha por quatro longos anos “.

Então, nestas duas frases, nós estamos falando sobre bob. Porém, ambos fornecem diferentes tipos de informações sobre Bob. Na primeira frase, nós obtemos a informação de que você sabe nadar. Enquanto a segunda frase diz que ele usa o telefone e serviu na Marinha por quatro anos.

Agora apenas pense sobre isso, com base no contexto fornecido na primeira frase, quais informações na segunda frase são críticas. Primeiro, usou o telefone para aconselhar ou serviu na marinha. Neste contexto, Não importa se você usou o telefone ou qualquer outro meio de comunicação para transmitir as informações. O fato de ele ter estado na Marinha é uma informação importante e é algo que queremos que nosso modelo lembre. Esta é a tarefa da porta da frente.

O portão de entrada é usado para quantificar a importância das novas informações transportadas pela entrada. Aqui está a equação para a porta da frente.

screenshot-from-2021-03-16-15-09-49-5612097Aqui,

  • Xt: Entrada com carimbo de data / hora atual t
  • Ui: matriz de pesos de entrada
  • Ht-1: um estado oculto no carimbo de data / hora anterior
  • Wi: matriz de peso da entrada associada ao estado oculto

Mais uma vez, aplicamos a função sigmóide. Como resultado, o valor de I no carimbo de data / hora t estará entre 0 e 1.

Nova informação

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

Agora, a nova informação que precisava passar para o estado da célula é uma função de um estado oculto no carimbo de data / hora anterior t-1 e entrada x no carimbo de data / hora t. A função de ativação aqui é tanh. Devido à função tanh, o valor da nova informação estará entre -1 e 1. Se o valor de Nt for negativo, a informação é subtraída do estado da célula e se o valor for positivo, a informação é adicionada ao estado da célula na data e hora atuais.

Porém, o Nt não será adicionado diretamente ao estado da célula. Aí vem a equação atualizada

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

Aqui, Ct-1 é o estado da célula no carimbo de data / hora atual e outros são os valores que calculamos anteriormente.

Porta de saída

Agora considere esta frase

Bob lutou contra o inimigo sozinho e morreu por seu país. Por suas contribuições, corajoso________. “

Durante esta tarefa, temos que completar a segunda frase. Agora, no momento em que vemos a palavra bravo, nós sabemos que estamos falando sobre uma pessoa. Na frase apenas Bob é corajoso, não podemos dizer que o inimigo é valente ou o país é valente. Então, com base na expectativa atual, temos que dar uma palavra relevante para preencher o espaço em branco. Essa palavra é a nossa saída e esta é a função da nossa porta de saída.

Aqui está a equação do portão de saída, que é bastante semelhante às duas portas anteriores.

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

Seu valor também estará entre 0 e 1 devido a esta função sigmóide. Agora, para calcular o estado oculto atual, vamos usar Ot e tanh a partir do estado da célula atualizado. Como mostrado abaixo.

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

Acontece que o estado oculto é uma função da memória de longo prazo (Ct) e a saída atual. Se você precisar imprimir o carimbo de data / hora atual, basta aplicar a ativação do SoftMax no estado oculto Ht.

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

Aqui, o token com a pontuação mais alta na saída é a previsão.

Este é o diagrama mais intuitivo da rede LSTM.

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

Este diagrama foi retirado de um blog interessante. Peço a todos que dêem uma olhada. Aqui está o link-

Notas finais

Em resumo, neste artigo, vimos em detalhes a arquitetura de um modelo LSTM sequencial e como ele funciona.

Se você está procurando iniciar sua jornada de ciência de dados e deseja todos os tópicos sob o mesmo teto, sua busca para aqui. Dê uma olhada no AI e ML BlackBelt certificados da DataPeaker Mais Programa

Se você tem alguma dúvida, Deixe-me saber na seção de comentários!

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.