Modelos Sequence-to-Sequence
Descubra como os modelos sequence-to-sequence transformam sequências de entrada em sequências de saída, impulsionando tarefas de IA como tradução, chatbots e reconhecimento de fala.
Os modelos Sequence-to-Sequence (Seq2Seq) são uma classe fundamental de arquitecturas de
arquitecturas de aprendizagem profunda concebidas para transformar
uma sequência de entrada de comprimento fixo numa sequência de saída de comprimento fixo, em que os comprimentos da entrada e da saída podem variar
independentemente. Esta capacidade torna-os essenciais para resolver problemas complexos em que a relação entre a
A capacidade de mapear uma única entrada para uma sequência de saída de comprimento fixo Ao contrário dos modelos padrão que mapeiam uma única entrada para um único rótulo,
os modelos Seq2Seq são excelentes na compreensão do contexto ao longo do tempo, o que permite que muitos dos modelos de
aplicações de processamento de linguagem natural (PNL)
utilizadas diariamente, como os serviços de tradução e os assistentes de voz.
A arquitetura codificador-descodificador
A estrutura central de um modelo Seq2Seq assenta numa estrutura codificador-descodificador, um conceito introduzido em
fundamentais, como o
Sequence to Sequence Learning with Neural Networks (Aprendizagem sequência a sequência com redes neuronais ). Esta
arquitetura divide a tarefa em duas fases distintas: codificação do contexto e descodificação dos resultados.
-
O codificador: Este componente processa a sequência de entrada item a item (por exemplo, palavras numa frase ou
quadros num vídeo). Comprime a informação numa representação interna de comprimento fixo conhecida como vetor de contexto
vetor de contexto. Tradicionalmente, os codificadores são construídos utilizando
Redes Neuronais Recorrentes (RNN) ou
variantes especializadas como
redes de memória de curto prazo longa (LSTM)
que são capazes de captar dependências de longo prazo nos dados.
-
O descodificador: Uma vez codificada a entrada, o descodificador pega no vetor de contexto e gera a
sequência de saída, um passo de cada vez. Prevê o próximo item da sequência com base nas previsões anteriores e no vetor de contexto.
anteriores e no vetor de contexto. As implementações avançadas utilizam frequentemente um mecanismo de
mecanismo de atenção para se concentrar em
partes específicas da sequência de entrada de forma dinâmica, atenuando o estrangulamento de informação encontrado nos pares básicos de codificador-descodificador.
Aplicações no Mundo Real
A flexibilidade dos modelos Seq2Seq permite a sua aplicação em vários domínios para além da simples análise de texto.
-
Tradução automática: Talvez
a aplicação mais famosa, o Seq2Seq modela ferramentas eléctricas como o
Google Translate. O modelo aceita uma frase numa língua de origem
(por exemplo, English) e produz uma frase numa língua de chegada (por exemplo, espanhol), tratando as diferenças gramaticais e
estrutura da frase com fluência.
-
Sumarização de texto: Estes modelos
modelos podem ingerir documentos ou artigos longos e gerar resumos concisos. Ao compreender o significado central do
do texto de entrada, o descodificador produz uma sequência mais curta que retém a informação chave, uma técnica vital para a
agregação automática de notícias.
-
Legenda da imagem: Ao estabelecer uma ponte entre
visão computacional e a PNL, um modelo Seq2Seq pode
descrever o conteúdo de uma imagem. Uma rede neural convolucional (CNN) actua como codificador para extrair
visuais, enquanto uma RNN ou Transformer actua como descodificador para gerar uma frase descritiva. Este é um excelente
exemplo de um modelo multimodal.
-
Reconhecimento de voz: Nestes sistemas
sistemas, a entrada é uma sequência de quadros de sinais de áudio e a saída é uma sequência de caracteres de texto ou palavras.
Esta tecnologia está na base de
assistentes virtuais como a Siri e a Alexa.
Comparação com Conceitos Relacionados
É importante distinguir os modelos Seq2Seq de outras arquitecturas para compreender a sua utilidade específica.
-
Vs. Classificação padrão: Os classificadores padrão, como os utilizados na
classificação básica de imagens, mapeiam uma única entrada
(como uma imagem) para um único rótulo de classe. Em contraste, os modelos Seq2Seq mapeiam seqüências para seqüências, permitindo
comprimentos de saída variáveis.
-
Vs. Deteção de objectos: Modelos como
Ultralytics YOLO11 concentram-se na deteção espacial dentro de um
um único fotograma, identificando objectos e as suas localizações. Enquanto YOLO processa as imagens estruturalmente, os modelos Seq2Seq
processam os dados temporalmente. No entanto, os domínios sobrepõem-se em tarefas como
como o seguimento de objectos, em que a identificação de trajectórias de objectos
de objectos ao longo de fotogramas de vídeo envolve a análise de dados sequenciais.
-
Vs. Transformers: A arquitetura
A arquitetura Transformer é a evolução moderna do
Seq2Seq. Enquanto os modelos Seq2Seq originais se baseavam fortemente em RNNs e
Gated Recurrent Units (GRU),
Transformers utilizam auto-atenção para processar seqüências em paralelo, oferecendo melhorias significativas de velocidade e precisão.
e precisão.
Exemplo de implementação
Embora os modelos Seq2Seq completos para a tradução sejam complexos, os blocos de construção estão acessíveis através de bibliotecas como
PyTorch. O exemplo seguinte demonstra como
inicializar um codificador simples baseado em LSTM que poderia servir como a primeira metade de um modelo Seq2Seq.
import torch
import torch.nn as nn
# Initialize an LSTM layer (The Encoder)
# input_size=10 (feature dimension), hidden_size=20 (context vector size)
encoder = nn.LSTM(input_size=10, hidden_size=20, batch_first=True)
# Create a dummy input sequence: Batch size 1, Sequence length 5, Features 10
input_seq = torch.randn(1, 5, 10)
# Forward pass processing the sequence
output, (hidden_state, cell_state) = encoder(input_seq)
# The hidden_state represents the 'context vector' for the sequence
print(f"Context Vector shape: {hidden_state.shape}")
# Output: torch.Size([1, 1, 20])
Para os interessados em explorar tarefas de sequência no âmbito da visão por computador, como o seguimento de objectos através de
de vídeo, a exploração dos modos de seguimentoUltralytics constitui um
ponto de entrada prático. Para aprofundar a sua compreensão da mecânica subjacente, o curso
curso Stanford CS224n NLP oferece materiais abrangentes sobre
modelação de sequências e aprendizagem profunda.