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

Embeddings

Embeddings são vetores aprendidos que posicionam textos, imagens ou itens semelhantes próximos uns dos outros. Abrange como são criados, comparados e pesquisados em grande escala.

Um embedding é um vetor aprendido de números que representa um elemento, como uma palavra, uma imagem, um produto ou um utilizador, de modo que elementos com significado ou conteúdo semelhantes fiquem representados por vetores próximos. A distância neste espaço vetorial torna-se uma medida de semelhança, permitindo que o software pesquise, agruppe, recomende e classifique comparando vetores em vez de píxeis ou cadeias de caracteres brutos. Os embeddings também são a representação operacional nas redes neurais: um modelo de linguagem grande (LLM) converte cada token num embedding antes da sua primeira camada transformer, e um modelo de visão transforma uma imagem em vetores de características através do seu backbone. Os embeddings usados em pesquisas têm normalmente algumas centenas a alguns milhares de dimensões, muito menos do que a quantidade de valores na entrada bruta.

Como os embeddings são criados#

Os embeddings vêm de dois tipos de componentes aprendidos:

  • Tabelas de consulta: Para itens discretos, como tokens, IDs de produtos ou IDs de usuários, uma camada de embedding armazena uma linha ajustável por item, e consultar um item retorna sua linha. A nn.Embedding do PyTorch é uma tabela desse tipo. Suas linhas começam com valores aleatórios e são atualizadas por retropropagação, junto com o restante do modelo, de modo que itens com funções semelhantes na tarefa de treinamento tendem a se aproximar em vetores semelhantes.
  • Codificadores: Para imagens, áudio e texto livre, uma rede mapeia toda a entrada para um vetor, geralmente agrupando os mapas de características de uma CNN ou lendo os tokens de saída de um Transformer. Codificadores treinados para uma tarefa, como classificação, produzem embeddings úteis como subproduto, enquanto codificadores treinados com aprendizado contrastivo moldam diretamente o espaço de embeddings, como faz o CLIP, posicionando imagens e suas legendas em um espaço compartilhado.

O Word2vec, publicado por Tomas Mikolov e colegas do Google em 2013, mostrou quanta estrutura esse tipo de treinamento captura. Nos vetores de palavras, vector("King") − vector("Man") + vector("Woman") fica mais próximo de vector("Queen"), e os vetores pré-treinados do Google News publicados com o trabalho abrangem 3 milhões de palavras e expressões em 300 dimensões.

Comparação de embeddings#

A similaridade de cosseno compara as direções de dois vetores e varia de −1 a 1. O produto escalar também leva em conta seus comprimentos, e a distância euclidiana mede a distância em linha reta entre eles. Muitos sistemas normalizam os embeddings para comprimento unitário, o que torna a similaridade de cosseno e o produto escalar idênticos e classifica os vizinhos na mesma ordem que a distância euclidiana. Os modelos YOLO26 produzem embeddings de imagem com embed(), que ignora a cabeça de predição e retorna um vetor por imagem ao aplicar pooling médio à saída da penúltima camada do modelo:

import torch.nn.functional as F
from ultralytics import YOLO
from ultralytics.utils import ASSETS

# Load a YOLO26 classification model trained on ImageNet
model = YOLO("yolo26n-cls.pt")

# embed() returns one pooled feature vector per image instead of predictions
bus, zidane = model.embed([ASSETS / "bus.jpg", ASSETS / "zidane.jpg"])
print(f"Embedding length: {bus.shape[0]}")

# Higher cosine similarity means the model sees more similar content
print(f"Cosine similarity: {F.cosine_similarity(bus, zidane, dim=0).item():.3f}")

Para o YOLO26n-cls, a incorporação é um vetor de 256 dimensões, a saída agrupada do bloco de atenção que encerra seu backbone, e a segunda linha exibe a similaridade de cosseno entre as duas fotos de amostra incluídas. Executar a mesma comparação com as incorporações armazenadas de uma coleção inteira é como uma busca por similaridade de imagens classifica seus resultados.

Busca de embeddings em grande escala#

Comparar uma consulta com milhões de vetores armazenados, um de cada vez, é lento demais; por isso, os bancos de dados vetoriais criam índices aproximados de vizinhos mais próximos, como índices HNSW baseados em grafos ou índices de arquivo invertido, que encontram correspondências próximas verificando apenas uma pequena fração da coleção. A coleção é incorporada uma vez, e cada consulta é incorporada no momento da busca usando o mesmo codificador ou o codificador de texto correspondente quando a busca é por imagens a partir de texto:

O armazenamento influencia o projeto tanto quanto a precisão. O aprendizado de representações Matryoshka treina embeddings cujas dimensões iniciais funcionam por conta própria, permitindo truncar vetores para economizar espaço, e a quantização vetorial comprime cada vetor em alguns bytes. A busca híbrida combina similaridade de embeddings com correspondência de palavras-chave.

Aplicações#

  • Busca semântica e geração aumentada por recuperação (RAG): Embeddings de texto recuperam trechos pelo significado, então uma consulta sobre "sinistros de seguro de automóvel" também encontra documentos que dizem "apólice de carro", e a RAG passa os trechos recuperados a um LLM como contexto.
  • Sistemas de recomendação: Usuários e itens são incorporados em um mesmo espaço, e os itens mais próximos do vetor de um usuário se tornam candidatos a recomendação.
  • Classificação zero-shot: Modelos com um espaço compartilhado de imagens e texto classificam uma imagem comparando seu embedding com os embeddings de nomes de classes escritos como texto.
  • Reidentificação de objetos: Embeddings de aparência associam a mesma pessoa ou veículo entre câmeras e em intervalos de uma trajetória.
  • Exploração de conjuntos de dados: projetar incorporações em duas dimensões com t-SNE ou UMAP revela agrupamentos, quase duplicatas e valores atípicos em um conjunto de dados, como faz o painel Clustering para os conjuntos de dados da Ultralytics Platform.
  • Espaço latente: O espaço vetorial ocupado pelos embeddings. "Representação latente" e "embedding" costumam ser usados como sinônimos.
  • Extração de características: Qualquer processo que transforma dados brutos em características. Um embedding é um vetor de características aprendido para que as distâncias entre vetores tenham significado.
  • Tokenização: Divide o texto em tokens e mapeia cada um para um ID inteiro. Em seguida, a camada de embedding mapeia cada ID para um vetor.
  • Codificação one-hot: Representa o item i de um vocabulário como um vetor de zeros com 1 na posição i, de modo que todos os pares de itens ficam igualmente distantes e a codificação não carrega nenhuma informação de similaridade. Multiplicar um vetor one-hot pela matriz de pesos de uma tabela de embeddings seleciona exatamente uma linha, que é o resultado retornado por uma consulta de embedding sem executar a multiplicação.

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