Long Short-Term Memory (LSTM)
Explore as redes de Memória de Longo e Curto Prazo (LSTM). Saiba como as LSTMs resolvem o problema do gradiente evanescente nas RNNs para tarefas de séries temporais, NLP e análise de vídeo.
A Memória de Longo e Curto Prazo (LSTM) é um tipo especializado de arquitetura de rede neural recorrente (RNN) capaz de aprender dependências de ordem em problemas de previsão de sequências. Ao contrário das redes neurais feedforward padrão, as LSTMs têm conexões de realimentação que lhes permitem processar não apenas pontos de dados individuais (como imagens), mas sequências inteiras de dados (como fala ou vídeo). Essa capacidade torna-as especialmente adequadas para tarefas em que o contexto de entradas anteriores é crucial para compreender os dados atuais, resolvendo as limitações de "memória de curto prazo" das RNNs tradicionais.
O problema das RNNs padrão#
Para compreender a inovação das LSTMs, é útil analisar os desafios enfrentados pelas redes neurais recorrentes básicas. Embora as RNNs sejam concebidas para lidar com informações sequenciais, têm dificuldade com sequências de dados longas devido ao problema do gradiente evanescente. À medida que a rede faz a retropropagação ao longo do tempo, os gradientes — valores usados para atualizar os pesos da rede — podem tornar-se exponencialmente menores, impedindo efetivamente que a rede aprenda ligações entre eventos distantes. Isto significa que uma RNN padrão pode lembrar-se de uma palavra da frase anterior, mas esquecer o contexto estabelecido três parágrafos antes. As LSTMs foram concebidas especificamente para resolver este problema, introduzindo uma estrutura interna mais complexa capaz de manter uma janela de contexto durante períodos muito mais longos.
Como funcionam as LSTMs#
O conceito central de uma LSTM é o estado da célula, frequentemente descrito como uma correia transportadora que percorre toda a cadeia da rede. Este estado permite que a informação flua por ele sem alterações, preservando dependências de longo prazo. A rede toma decisões sobre o que armazenar, atualizar ou descartar deste estado da célula utilizando estruturas chamadas portas.
- Porta de esquecimento: este mecanismo decide que informações já não são relevantes e devem ser removidas do estado da célula. Por exemplo, se um modelo de linguagem encontrar um novo sujeito, pode "esquecer" o género do sujeito anterior.
- Porta de entrada: esta porta determina quais informações novas são suficientemente significativas para serem armazenadas no estado da célula.
- Porta de saída: por fim, esta porta controla que partes do estado interno devem ser transmitidas para o próximo estado oculto e utilizadas na previsão imediata.
Ao regular este fluxo de informações, as LSTMs conseguem superar intervalos temporais superiores a 1.000 passos, apresentando um desempenho muito melhor do que as RNNs convencionais em tarefas que exigem análise de séries temporais.
Aplicações no mundo real#
As LSTMs impulsionaram muitos dos principais avanços em aprendizagem profunda na última década. Eis dois exemplos importantes da sua aplicação:
- Modelação sequência a sequência em tradução: as LSTMs são fundamentais para sistemas de tradução automática. Nesta arquitetura, uma LSTM (o codificador) processa uma frase de entrada num idioma (por exemplo, inglês) e comprime-a num vetor de contexto. Uma segunda LSTM (o descodificador) utiliza então este vetor para gerar a tradução noutro idioma (por exemplo, francês). Esta capacidade de lidar com sequências de entrada e saída de comprimentos diferentes é fundamental para o processamento de linguagem natural (NLP).
- Análise de vídeo e reconhecimento de atividades: embora as redes neurais convolucionais (CNNs), como a ResNet-50, sejam excelentes na identificação de objetos em imagens estáticas, não têm noção do tempo. Ao combinar CNNs com LSTMs, os sistemas de IA podem realizar reconhecimento de ações em fluxos de vídeo. A CNN extrai características de cada fotograma, e a LSTM analisa a sequência dessas características para determinar se uma pessoa está a caminhar, a correr ou a cair.
Integração de LSTMs com visão computacional#
Na visão computacional moderna, as LSTMs são frequentemente utilizadas em conjunto com extratores de características avançados. Por exemplo, podes utilizar um modelo YOLO para detetar objetos em fotogramas individuais e uma LSTM para acompanhar as suas trajetórias ou prever movimentos futuros.
Eis um exemplo conceptual que utiliza torch para definir uma LSTM simples capaz de processar uma sequência de vetores de características extraídos de um fluxo de vídeo:
import torch
import torch.nn as nn
# Define an LSTM model for processing sequential video features
# Input size: 512 (e.g., features from a CNN), Hidden size: 128
lstm_model = nn.LSTM(input_size=512, hidden_size=128, num_layers=2, batch_first=True)
# Simulate a batch of video sequences: 8 videos, 10 frames each, 512 features per frame
video_features = torch.randn(8, 10, 512)
# Pass the sequence through the LSTM
output, (hidden_state, cell_state) = lstm_model(video_features)
print(f"Output shape: {output.shape}") # Shape: [8, 10, 128]
print("LSTM successfully processed the temporal sequence.")Conceitos relacionados e distinções#
É útil distinguir as LSTMs de outras arquiteturas de processamento de sequências:
- LSTM vs. GRU: a unidade recorrente com portas (GRU) é uma variação simplificada da LSTM. As GRUs combinam as portas de esquecimento e de entrada numa única "porta de atualização" e fundem o estado da célula com o estado oculto. Isto torna as GRUs computacionalmente mais eficientes e mais rápidas de treinar, embora as LSTMs ainda possam superá-las em conjuntos de dados maiores e mais complexos.
- LSTM vs. Transformers: a arquitetura Transformer, que depende de mecanismos de autoatenção em vez de recorrência, substituiu em grande parte as LSTMs em tarefas de NLP, como as realizadas pelo GPT-4. Os Transformers podem processar sequências inteiras em paralelo, em vez de sequencialmente, permitindo um treino muito mais rápido em conjuntos de dados massivos. No entanto, as LSTMs continuam relevantes em cenários com poucos dados ou restrições específicas de séries temporais, nos quais a sobrecarga dos mecanismos de atenção é desnecessária.
Evolução e futuro#
Embora o mecanismo de atenção tenha assumido um papel central na IA generativa, as LSTMs continuam a ser uma opção robusta para aplicações mais leves, especialmente em ambientes de IA de edge, onde os recursos computacionais são limitados. Os investigadores continuam a explorar arquiteturas híbridas que combinam a eficiência de memória das LSTMs com o poder de representação dos modernos sistemas de deteção de objetos.
Para quem pretende gerir conjuntos de dados para treinar modelos de sequências ou realizar tarefas complexas de visão, a Ultralytics Platform oferece ferramentas abrangentes para anotação e gestão de conjuntos de dados. Além disso, compreender o funcionamento das LSTMs proporciona uma base sólida para entender modelos temporais mais avançados utilizados em veículos autónomos e robótica.









