Embeddings
Descobre como os embeddings fazem a ponte entre os dados humanos e a lógica das máquinas. Aprende a gerar representações vetoriais para tarefas de IA com o Ultralytics YOLO26 e explora a Ultralytics Platform.
Embeddings são representações vetoriais densas, de baixa dimensionalidade e contínuas de variáveis discretas, funcionando como um tradutor fundamental entre os dados humanos e a lógica das máquinas. No campo da Inteligência Artificial (AI), os computadores não conseguem compreender intuitivamente dados não estruturados complexos, como texto, imagens ou áudio. Os embeddings resolvem esse problema convertendo essas entradas em listas de números reais, conhecidas como vetores, que existem num espaço matemático de alta dimensionalidade. Ao contrário das codificações tradicionais, que podem simplesmente atribuir um ID aleatório a um objeto, os embeddings são aprendidos durante o treino, garantindo que itens semanticamente semelhantes — como as palavras "rei" e "rainha" ou imagens de dois gatos diferentes — sejam posicionados próximos uns dos outros no espaço vetorial.
Como funcionam os embeddings#
A criação de um embedding envolve alimentar dados brutos numa rede neural concebida para a extração de características. Durante o treino, o modelo aprende a comprimir as características essenciais da entrada numa forma numérica compacta. Por exemplo, um modelo de Visão Computacional (CV) que analisa uma fotografia não vê apenas píxeis; ele mapeia formas, texturas e cores para uma coordenada específica num gráfico multidimensional. Ao medir a similaridade, os sistemas calculam a distância entre essas coordenadas usando métricas como a similaridade de cosseno ou a distância euclidiana. Essa proximidade matemática permite que os algoritmos executem tarefas complexas, como classificação e agrupamento, com elevada eficiência.
Aplicações no mundo real#
Os embeddings funcionam como o motor de muitas funcionalidades inteligentes utilizadas nos produtos de software modernos.
- Pesquisa semântica: os motores de pesquisa tradicionais dependem frequentemente da correspondência exata de palavras-chave, que falha se um utilizador pesquisar "automóvel" mas o documento contiver "carro". Os embeddings capturam o significado subjacente às palavras. Ao representar a consulta de pesquisa e os documentos da base de dados como vetores, o sistema pode obter resultados que correspondem à intenção do utilizador, mesmo que as palavras específicas sejam diferentes.
- Sistemas de recomendação: os serviços de streaming e os sites de comércio eletrónico utilizam embeddings para personalizar as experiências dos utilizadores. Se um utilizador assistir a um filme de ficção científica, o sistema identifica o vetor de embedding desse filme e procura outros filmes com vetores próximos na base de dados. Isso permite fazer sugestões precisas com base na semelhança do conteúdo, em vez de depender apenas de etiquetas ou categorias atribuídas manualmente.
- Aprendizagem zero-shot: os modelos avançados utilizam embeddings conjuntos para associar diferentes modalidades, como texto e imagens. Isso permite que um sistema reconheça objetos que nunca viu explicitamente durante o treino, associando o embedding da imagem ao embedding de texto correspondente ao nome do objeto.
Gerar embeddings com Python#
Modelos de última geração, como o YOLO26, podem ser utilizados para gerar embeddings robustos de imagens de forma eficiente. O exemplo seguinte demonstra como extrair um vetor de características de uma imagem utilizando o pacote Python ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate embeddings for an image
# The embed() method returns the feature vector representing the image content
embedding_vector = model.embed("https://ultralytics.com/images/bus.jpg")
# Print the shape of the embedding (e.g., a vector of length 1280)
print(f"Embedding shape: {embedding_vector[0].shape}")Embeddings vs. conceitos relacionados#
Para implementar soluções de AI de forma eficaz, é útil distinguir os embeddings de termos técnicos estreitamente relacionados.
- Embeddings vs. pesquisa vetorial: o embedding é a própria representação dos dados (a lista de números). A pesquisa vetorial é o processo subsequente de consultar uma base de dados para encontrar os vizinhos mais próximos desse embedding. Ferramentas especializadas conhecidas como base de dados vetorial são frequentemente utilizadas para armazenar e pesquisar estes embeddings em grande escala.
- Embeddings vs. tokenização: no Processamento de Linguagem Natural (NLP), a tokenização é a etapa preliminar de dividir o texto em segmentos menores (tokens). Em seguida, estes tokens são mapeados para embeddings. Portanto, a tokenização prepara os dados, enquanto os embeddings representam o significado dos dados.
- Embeddings vs. aprendizagem profunda: a aprendizagem profunda é o campo mais amplo da aprendizagem automática baseado em redes neurais. Os embeddings são uma saída ou camada específica numa arquitetura de aprendizagem profunda, servindo frequentemente como ponte entre as entradas brutas e as camadas de tomada de decisão do modelo.
Os programadores que procuram gerir o ciclo de vida dos seus conjuntos de dados, incluindo a anotação e o treino de modelos para gerar embeddings personalizados, podem utilizar a Ultralytics Platform. Esta ferramenta abrangente simplifica o fluxo de trabalho, desde a gestão dos dados até à implementação, garantindo que os embeddings que alimentam as suas aplicações sejam derivados de dados de elevada qualidade e cuidadosamente selecionados. Quer utilize frameworks como PyTorch ou TensorFlow, dominar os embeddings é uma etapa crucial para criar sistemas sofisticados de reconhecimento de padrões.









