Essencial
Seq2seq, encoder-decoder e o bottleneck
Seq2seq clássico comprime uma fonte variável num estado fixo que condiciona o decoder autorregressivo, criando bottleneck.
Atualizada em
1
Conceito
Sequence-to-sequence learning mapeia uma sequência de tamanho variável para outra. Tradução é o exemplo clássico, mas o padrão cobre transcrição, resumo e geração estruturada. A arquitetura separa um encoder, que lê a fonte, de um decoder autorregressivo, que produz o target.
Num modelo recorrente, o encoder atualiza hidden state a cada token-fonte. Seu estado final, ou uma transformação dele, vira representação fixa da fonte inteira. O decoder começa dessa representação, consome beginning-of-sequence e prevê uma distribuição para o primeiro target. O token selecionado entra no próximo passo até o end token.
Os comprimentos não precisam coincidir. O modelo aprende alinhamento indiretamente pelo objetivo final. Cross-entropy pontua cada posição do target, e máscaras excluem padding. No treino, targets são deslocados: a entrada do decoder contém o start token e tudo menos o último target; labels contêm o target e seu marcador final.
Teacher forcing fornece o token anterior verdadeiro no treinamento. Isso facilita otimização e preparação dos inputs, embora a RNN ainda avance sequencialmente. Na inferência, a continuação verdadeira não existe, então o decoder condiciona às próprias escolhas. Um erro inicial muda entradas posteriores. Beam search ou sampling altera exploração, mas não recupera informação ausente da representação-fonte.
A fraqueza central é o bottleneck de vetor fixo. Todo detalhe necessário em qualquer passo futuro precisa atravessar um estado final limitado. Uma frase curta cabe; uma fonte longa força nomes, negação, ordem e modificadores a competir. Updates posteriores sobrescrevem informação anterior, e gradientes de tokens iniciais a losses tardias percorrem longas cadeias.
Encoders bidirecionais melhoram representações ao ler os dois sentidos, pois a fonte completa está disponível. Camadas recorrentes empilhadas ampliam capacidade. Inverter a ordem da fonte encurtou dependências em trabalhos iniciais. Essas medidas ajudam, mas preservam a interface de vetor único. Aumentar a largura gasta parâmetros sem remover a exigência de um resumo para todos os passos.
Encoder e decoder definem papéis modulares úteis. O encoder representa a entrada; o decoder modela histórico e geração. A separação não garante fidelidade. Um decoder forte produz texto fluente enquanto omite ou inventa conteúdo. Avaliação precisa medir adequação e analisar erros, não apenas fluência; métricas automáticas de sobreposição têm escopo limitado.
O bottleneck preparou o salto para attention. Em vez de exigir tudo no último estado, armazene a sequência de estados do encoder. A cada passo, calcule uma combinação ponderada relevante à próxima saída. O contrato encoder-decoder permanece, mas o canal se abre de um cartão para um conjunto endereçável de notas. Isso tornou o alinhamento visível e o aprendizado em fontes longas muito mais direto.
Um experimento útil mantém a complexidade do target e aumenta separadamente conteúdo relevante e irrelevante na fonte. Se a qualidade cai apenas quando detalhes relevantes ficam distantes ou numerosos, o bottleneck está implicado; se padding irrelevante causa igual colapso, máscara ou otimização pode ser culpada. Inspecione omissões, repetições e troca de entidades, pois mostram quando o decoder é fluente, porém pobre em informação da fonte.
Meça também desempenho por faixas de comprimento, evitando que muitas frases curtas escondam falhas sistemáticas nas longas.
2
Como explicar para uma criança de cinco anos
Uma intérprete ouve um discurso inteiro, escreve um único cartão e entra em outra sala para traduzir usando somente esse cartão. Uma frase curta talvez caiba; num discurso longo, datas, modificadores e ordem competem pelo espaço. O decoder produz língua fluente pelo próprio histórico, mas não recupera com segurança detalhes ausentes. Attention permite consultar todas as páginas das anotações originais enquanto fala.
3
Ensine de volta
Descreva treino e inferência de encoder-decoder recorrente e explique o bottleneck de vetor fixo e o mismatch de teacher forcing.
Mínimo: 80 caracteres e 15 palavras. Seu texto fica somente neste navegador.
Salvo somente neste dispositivo.
Ver uma resposta-modelo
O encoder lê tokens-fonte e os comprime num estado final. O decoder começa desse estado e prevê tokens autorregressivamente até o end token. No treino, teacher forcing costuma fornecer o target anterior verdadeiro, e cross-entropy pontua o seguinte. Na inferência, o decoder consome suas escolhas, então erros alteram contexto futuro. Um único vetor precisa preservar cada detalhe; o bottleneck piora conforme a fonte fica longa e complexa.
4
Teste seu entendimento
Conclua o teach-back e acerte o quiz para finalizar a aula.
Fontes
- Ilya Sutskever, Oriol Vinyals e Quoc V. Le (2014). Sequence to Sequence Learning with Neural Networks.