Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

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.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora