Sobes.tech
Middle — Senior

Qual é a diferença entre self-attention e cross-attention, e para que é que cada um é usado?

sobes.tech IA

Resposta da IA

Autoatenção — é um mecanismo em que os elementos de uma sequência de entrada interagem entre si para calcular pesos de importância. Cada elemento 'observa atentamente' todos os outros elementos da mesma sequência para entender quais são mais relevantes para o passo atual. Este é um componente chave nos transformadores para processar sequências, por exemplo, em modelos de linguagem.

Atenção cruzada — é usada quando há duas sequências diferentes: uma atua como consulta (query), e a outra como chaves e valores (key, value). A atenção cruzada permite que o modelo se concentre nas partes relevantes da segunda sequência ao processar a primeira. Por exemplo, em tarefas de tradução ou geração de texto, a atenção cruzada conecta a saída do decodificador com a saída do codificador.

Resumindo:

  • Autoatenção ajuda o modelo a considerar o contexto dentro de uma mesma sequência.
  • Atenção cruzada conecta duas sequências diferentes, permitindo que uma leve em conta a informação da outra.

Exemplo: em um transformador para tradução, a autoatenção é aplicada dentro do codificador e do decodificador, enquanto a atenção cruzada é aplicada entre o codificador e o decodificador.