toco O que são RNNs e LSTMs em Deep Learning? - Unite.AI
Entre em contato
Masterclass de IA:

AI 101

O que são RNNs e LSTMs em Deep Learning?

mm
Atualização do on

Muitos dos avanços mais impressionantes no processamento de linguagem natural e nos chatbots de IA são impulsionados por Redes Neurais Recorrentes (RNNs) e redes de memória de longo e curto prazo (LSTM). RNNs e LSTMs são arquiteturas especiais de redes neurais capazes de processar dados sequenciais, dados em que a ordem cronológica é importante. LSTMs são versões essencialmente melhoradas de RNNs, capaz de interpretar sequências de dados mais longas. Vamos dar uma olhada em como RNNs e LSTMS são estruturados e como eles permitem a criação de sistemas sofisticados de processamento de linguagem natural.

O que são Redes Neurais Feed-Forward?

Portanto, antes de falarmos sobre como funcionam as Memórias de Curto Prazo Longo (LSTM) e as Redes Neurais Convolucionais (CNN), devemos discutir o formato de uma rede neural em geral.

Uma rede neural destina-se a examinar dados e aprender padrões relevantes, para que esses padrões possam ser aplicados a outros dados e novos dados possam ser classificados. As redes neurais são divididas em três seções: uma camada de entrada, uma camada oculta (ou várias camadas ocultas) e uma camada de saída.

A camada de entrada é o que leva os dados para a rede neural, enquanto as camadas ocultas são o que aprendem os padrões nos dados. As camadas ocultas no conjunto de dados são conectadas às camadas de entrada e saída por “pesos” e “vieses”, que são apenas suposições de como os pontos de dados estão relacionados entre si. Esses pesos são ajustados durante o treinamento. À medida que a rede treina, as suposições do modelo sobre os dados de treinamento (os valores de saída) são comparadas com os rótulos de treinamento reais. Durante o treinamento, a rede deve (espero) ficar mais precisa na previsão de relacionamentos entre pontos de dados, para poder classificar com precisão novos pontos de dados. Redes neurais profundas são redes que possuem mais camadas no meio/camadas mais ocultas. Quanto mais camadas ocultas e mais neurônios/nós o modelo tiver, melhor o modelo poderá reconhecer padrões nos dados.

Redes neurais regulares de feed-forward, como as que descrevi acima, costumam ser chamadas de “redes neurais densas”. Essas densas redes neurais são combinadas com diferentes arquiteturas de rede especializadas na interpretação de diferentes tipos de dados.

O que são RNNs (redes neurais recorrentes)?

As redes neurais recorrentes adotam o princípio geral das redes neurais feed-forward e as permitem lidar com dados sequenciais por dando ao modelo uma memória interna. A parte “Recorrente” do nome RNN vem do fato de que as entradas e saídas fazem um loop. Uma vez produzida a saída da rede, a saída é copiada e devolvida à rede como entrada. Ao tomar uma decisão, não apenas as entradas e saídas atuais são analisadas, mas também as entradas anteriores. Dito de outra forma, se a entrada inicial da rede for X e a saída for H, tanto H quanto X1 (a próxima entrada na sequência de dados) serão alimentados na rede para a próxima rodada de aprendizagem. Dessa forma, o contexto dos dados (as entradas anteriores) é preservado à medida que a rede treina.

O resultado dessa arquitetura é que as RNNs são capazes de lidar com dados sequenciais. No entanto, os RNNs sofrem de alguns problemas. RNNs sofrem com o problemas de gradiente desaparecendo e gradiente explosivo.

O comprimento das sequências que um RNN pode interpretar é bastante limitado, especialmente em comparação com LSTMs.

O que são LSTMs (Long Short-Term Memory Networks)?

Redes de Long Short-Term Memory podem ser consideradas extensões de RNNs, mais uma vez aplicando o conceito de preservação do contexto das entradas. No entanto, os LSTMs foram modificados de várias maneiras importantes que lhes permitem interpretar dados anteriores com métodos superiores. As alterações feitas nos LSTMs lidam com o problema do gradiente de fuga e permitem que os LSTMs considerem sequências de entrada muito mais longas.

Os modelos LSTM são compostos por três componentes diferentes, ou portas. Há uma porta de entrada, uma porta de saída e uma porta de esquecimento. Assim como os RNNs, os LSTMs levam em consideração as entradas do passo de tempo anterior ao modificar a memória do modelo e os pesos de entrada. O portão de entrada toma decisões sobre quais valores são importantes e devem passar pelo modelo. Uma função sigmóide é usada no portão de entrada, que faz determinações sobre quais valores passar pela rede recorrente. Zero diminui o valor, enquanto 1 o preserva. Uma função TanH também é usada aqui, que decide a importância dos valores de entrada para o modelo, variando de -1 a 1.

Depois que as entradas atuais e o estado da memória são contabilizados, o portão de saída decide quais valores enviar para a próxima etapa de tempo. No portão de saída, os valores são analisados ​​e atribuídos a uma importância que varia de -1 a 1. Isso regula os dados antes de serem levados para o próximo cálculo de intervalo de tempo. Por fim, a função do portão de esquecimento é descartar as informações que o modelo considera desnecessárias para tomar uma decisão sobre a natureza dos valores de entrada. O portão de esquecimento usa uma função sigmóide nos valores, gerando números entre 0 (esqueça isso) e 1 (mantenha isso).

Uma rede neural LSTM é feita de camadas LSTM especiais que podem interpretar dados de palavras sequenciais e densamente conectadas como as descritas acima. Depois que os dados passam pelas camadas LSTM, eles seguem para as camadas densamente conectadas.

Blogueiro e programador com especialidades em Machine Learning e Aprendizagem profunda tópicos. Daniel espera ajudar outras pessoas a usar o poder da IA ​​para o bem social.