LSTM

programador
1.1.2 – Classificacao
1.1.2.5 – Redes Neurais – Texto Sequencias
1.1.2.5.2 – LSTM
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

a memória de longo prazo que revolucionou sequências

LSTM (Long Short-Term Memory) é uma arquitetura de RNN projetada para lembrar informações por longos períodos. Desenvolvida por Sepp Hochreiter e Jürgen Schmidhuber em 1997, ela resolveu o problema do gradiente. Diferente de RNNs simples, LSTMs possuem mecanismos de porta que controlam o fluxo de informações. Primeiramente, elas decidem o que esquecer, o que guardar e o que enviar como saída. Além disso, esse controle permite que a rede aprenda dependências de longo alcance. Por exemplo, em uma frase longa, a LSTM conecta sujeito distante ao verbo.

as portas que controlam a memória

LSTMs possuem três portas especializadas que regulam o fluxo de informações. Primeiramente, a porta de esquecimento decide quais informações descartar do estado da célula. Além disso, a porta de entrada decide quais novas informações serão armazenadas. A porta de saída decide qual parte da memória será usada na saída atual. Por exemplo, em uma frase, o modelo mantém o sujeito na memória até encontrar o verbo. Essas portas usam funções sigmoide (0-1) para controle gradual. Esse mecanismo permite preservar informações importantes por longas sequências.

estado celular e estado oculto

LSTM mantém duas estruturas de memória: estado celular (memória de longo prazo) e estado oculto. Primeiramente, o estado celular carrega informações através da sequência com pouca alteração. Além disso, o estado oculto contém informações relevantes para a saída imediata. As portas interagem com ambos para controlar o fluxo de informações. Por exemplo, o estado celular mantém contexto da frase inteira. O estado oculto pode conter a palavra atual processada. Essa separação permite preservar informações importantes enquanto gera saídas relevantes. É a chave para o sucesso do LSTM.

aplicações que transformaram áreas

LSTMs foram fundamentais no avanço de diversas aplicações de sequências antes dos Transformers. Primeiramente, reconhecimento de fala da Google e Apple utilizava LSTMs para transcrição. Além disso, tradução automática do Google Tradutor empregava LSTMs em sua arquitetura. Modelagem de linguagem para assistentes virtuais usava LSTMs para entender comandos. Por exemplo, previsão de séries temporais financeiras ainda usa LSTMs amplamente. Na geração de texto, LSTMs criavam conteúdo coerente em sequências longas. Embora Transformers dominem hoje, LSTMs permanecem valiosas para séries temporais. Para iniciantes, LSTMs mostram como memória controlada permite aprendizado de sequências complexas.

Redes Recorrentes – RNN

programador
1.1.2 – Classificacao
1.1.2.5 – Redes Neurais – Texto Sequencias
1.1.2.5.1 – Redes Recorrentes – RNN
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

memória para processar sequências

Redes Neurais Recorrentes (RNNs) são projetadas para processar dados sequenciais como texto e séries temporais. Diferente de redes tradicionais, elas possuem memória interna que captura informações anteriores. Primeiramente, cada elemento da sequência é processado em ordem, atualizando um estado oculto. Além disso, esse estado carrega informações sobre elementos já vistos anteriormente. Por exemplo, ao ler uma frase, a RNN lembra palavras iniciais para entender as finais. Essa capacidade de memória torna as RNNs ideais para sequências de comprimento variável. São a base para processamento de linguagem e séries temporais.

o problema dos gradientes que desaparecem

RNNs simples enfrentam dificuldade em aprender dependências de longo prazo nas sequências. Primeiramente, gradientes se tornam exponencialmente menores à medida que retrocedem no tempo. Além disso, isso impede que a rede aprenda relações entre elementos distantes. Por exemplo, em uma frase longa, o sujeito pode estar distante do verbo. Esse problema limitava a aplicabilidade de RNNs em sequências muito extensas. Foi a principal motivação para desenvolvimento de arquiteturas mais avançadas. LSTMs surgiram especificamente para resolver essa limitação fundamental.

aplicações práticas com rnns

RNNs são amplamente utilizadas em tarefas que envolvem sequências temporais. Primeiramente, previsão de séries temporais financeiras usa RNNs para antecipar tendências. Além disso, reconhecimento de fala converte áudio em texto usando RNNs. Modelagem de linguagem prevê a próxima palavra em uma sequência. Por exemplo, teclados preditivos em smartphones usam RNNs para sugestões. Na tradução automática, RNNs processam frases de origem e geram traduções. Apesar de Transformers dominarem hoje, RNNs ainda são usadas em aplicações específicas. Para iniciantes, RNNs demonstram como memória permite entender sequências.

arquiteturas avançadas bidirecionais

RNNs bidirecionais (BiRNNs) processam sequências nas duas direções simultaneamente. Primeiramente, uma RNN lê a sequência da esquerda para a direita normalmente. Além disso, outra RNN lê a sequência da direita para a esquerda. Os estados das duas direções são combinados para cada posição. Por exemplo, para entender uma palavra, o contexto futuro também é considerado. Isso é especialmente útil em tarefas de classificação de texto. O contexto completo da frase melhora significativamente a precisão das previsões. BiRNNs são comuns em sistemas de processamento de linguagem natural.