Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Attention Mechanism

Um mecanismo de atenção pondera as características de entrada segundo a sua relevância, através de consultas, chaves e valores. Aborda a matemática, os tipos de atenção e a atenção vs. convolução.

Um mecanismo de atenção é uma operação de rede neural que constrói cada saída como uma média ponderada das características de entrada, com pesos calculados conforme a relevância de cada entrada para o elemento em processamento. A relevância é avaliada comparando um vetor de consulta com vetores-chave, e as pontuações resultantes ponderam os vetores de valor correspondentes. A atenção foi introduzida em 2014 para a tradução automática, permitindo que um decodificador de rede neural recorrente (RNN) consultasse cada palavra da frase de origem, em vez de comprimir a frase inteira em um único vetor de tamanho fixo. O Transformer de 2017 construiu uma arquitetura inteira a partir da atenção, que hoje é a operação central dos grandes modelos de linguagem, dos Transformers de visão e de muitos modelos de detecção de objetos.

Como funciona a atenção#

A atenção usa três projeções lineares aprendidas de sua entrada. A consulta (Q) descreve o que o token atual procura, cada chave (K) descreve o que um token oferece, e cada valor (V) contém o conteúdo que será transmitido. O modelo compara a consulta com cada chave, transforma as pontuações de comparação em pesos e retorna a soma ponderada dos valores. Quando um modelo de tradução produz «noir» para «The black cat», a consulta dessa etapa obtém a pontuação mais alta em relação à chave de «black», embora em francês o adjetivo venha depois do substantivo.

A atenção multi-head executa vários desses cálculos em paralelo, cada um usando suas próprias projeções de dimensão menor, e concatena os resultados. Diferentes cabeças podem então se especializar em relações distintas dentro da mesma camada.

Atenção de produto escalar escalado#

A atenção do Transformer é escrita como Attention(Q, K, V) = softmax(QKᵀ / √d_k) V. Cada consulta é comparada com cada chave por meio de um produto escalar, e as pontuações são divididas pela raiz quadrada da dimensão da chave d_k para que não aumentem com o tamanho do vetor e saturem o softmax. O softmax transforma as pontuações de cada consulta em pesos cuja soma é 1, e a saída é a soma ponderada dos vetores de valor.

import torch
import torch.nn.functional as F

torch.manual_seed(0)

# Consultas, chaves e valores para uma sequência de 4 tokens, cada um com 8 dimensões
q, k, v = torch.randn(3, 4, 8).unbind(0)

# Calcula a pontuação de cada consulta em relação a cada chave, escala por sqrt(d_k) e normaliza cada linha com softmax
weights = (q @ k.T / k.shape[-1] ** 0.5).softmax(dim=-1)

# Cada token de saída é uma média ponderada dos vetores de valor
output = weights @ v

print("Attention weights of token 0:", [round(w, 3) for w in weights[0].tolist()])
print("Matches PyTorch SDPA:", torch.allclose(output, F.scaled_dot_product_attention(q, k, v), atol=1e-6))

Isso imprime [0.121, 0.741, 0.106, 0.032] e True: o token 0 obtém 74% da sua saída do vetor de valores do token 1, os seus quatro pesos somam 1, e o resultado manual corresponde à implementação fundida do PyTorch com scaled_dot_product_attention, que encaminha a execução para kernels com uso eficiente de memória, como FlashAttention, em GPUs compatíveis.

Tipos de atenção#

  • Autoatenção: Consultas, chaves e valores vêm todos da mesma sequência, então cada token reúne contexto de todos os outros. É a atenção usada nos codificadores Transformer e nos ViTs.
  • Atenção cruzada: As consultas vêm de uma sequência, e as chaves e os valores, de outra. Um decodificador de tradução presta atenção à frase de origem, um modelo de difusão de texto para imagem presta atenção ao prompt, e as consultas de objeto de um decodificador DETR prestam atenção às características da imagem.
  • Atenção causal: Uma máscara impede cada token de prestar atenção aos tokens posteriores, permitindo que um modelo de linguagem gere texto da esquerda para a direita e que as chaves e os valores dos tokens anteriores sejam armazenados em um cache KV.
  • Atenção eficiente: A atenção esparsa, a atenção de janela deslizante e a atenção linear reduzem o custo quadrático de comparar cada token com todos os outros, e a atenção deformável amostra apenas alguns pontos aprendidos ao redor de cada posição de referência.
  • Atenção de canal em CNNs: As redes Squeeze-and-Excitation reponderam os canais de um mapa de características usando sua média global, uma forma barata de atenção que serviu de base para a solução vencedora de classificação do ILSVRC 2017.

Atenção vs. convolução#

Uma convolução aplica o mesmo filtro pequeno em cada posição, de modo que cada saída vê uma janela local fixa e seus pesos não dependem da imagem. A atenção calcula seus pesos a partir do conteúdo e pode conectar quaisquer duas posições em uma única camada. O custo é crescer com o quadrado do número de tokens. Uma imagem de 640×640 com stride 32 produz uma grade de 20×20, com 400 tokens e 160.000 pares consulta-chave, e a grade com stride 8 da mesma imagem tem 6.400 tokens e quase 41 milhões de pares. O YOLO26 posiciona seus blocos de atenção de acordo com isso: o bloco C2PSA que termina o backbone e um bloco C3k2 com atenção no neck executam ambos autoatenção multi-head no mapa de características de 20×20 com stride 32, enquanto todas as camadas de resolução mais alta permanecem convolucionais.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina