Glossário

Embeddings

Aprende o que são embeddings e como potenciam a IA, capturando relações semânticas em dados para NLP, recomendações e visão computacional.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

No domínio da aprendizagem automática (ML) e da inteligência artificial (IA), os embeddings são uma técnica fundamental para representar dados complexos - como palavras, frases, imagens ou outros itens - como vectores numéricos densos num espaço multidimensional. Esta transformação é aprendida a partir dos dados, permitindo que os algoritmos captem o significado semântico, o contexto ou as caraterísticas essenciais da entrada. A principal vantagem é que os itens considerados semelhantes com base nos dados de treino são mapeados para pontos próximos neste "espaço de incorporação", permitindo que as máquinas compreendam relações e padrões complexos de forma muito mais eficaz do que as representações esparsas tradicionais, como a codificação de um ponto.

O que são Embeddings?

Os embeddings são representações vectoriais aprendidas, de dimensão relativamente baixa, de variáveis discretas (como palavras) ou objectos complexos (como imagens ou perfis de utilizadores). Ao contrário de métodos como a codificação de uma só vez, que criam vectores esparsos de dimensão muito elevada, em que cada dimensão corresponde a um único item e carece de informação inerente sobre relações, os embeddings são vectores densos (normalmente com dezenas a milhares de dimensões) em que cada dimensão contribui para representar as caraterísticas do item. Fundamentalmente, a posição destes vectores no espaço de integração capta as relações semânticas. Por exemplo, nas incorporações de palavras, palavras com significados semelhantes ou utilizadas em contextos semelhantes, como "rei" e "rainha" ou "andar" e "correr", terão vectores matematicamente próximos (por exemplo, utilizando a semelhança cosseno). Esta proximidade reflecte a semelhança semântica aprendida com os dados.

Como funcionam os Embeddings

Os embeddings são normalmente gerados utilizando modelos de redes neuronais (NN) treinados em grandes conjuntos de dados através de técnicas como a aprendizagem auto-supervisionada. Por exemplo, uma técnica comum para a incorporação de palavras, exemplificada pelo Word2Vec, envolve o treino de um modelo para prever uma palavra com base nas palavras que a rodeiam (o seu contexto) num corpus de texto maciço. Durante este processo de treino, a rede ajusta os seus parâmetros internos, incluindo os vectores de incorporação de cada palavra, para minimizar os erros de previsão através de métodos como a retropropagação. Os vectores resultantes codificam implicitamente informação sintáctica e semântica. O número de dimensões no espaço de incorporação é um hiperparâmetro crítico, que influencia a capacidade do modelo para captar detalhes em relação ao seu custo computacional e ao risco de sobreajuste. A visualização destes espaços de dados de elevada dimensão requer frequentemente técnicas de redução da dimensionalidade como t-SNE ou PCA, que podem ser exploradas utilizando ferramentas como o TensorFlow Projetor.

Aplicações de Embeddings

Os embeddings são componentes cruciais em muitos sistemas modernos de IA em vários domínios:

  • Processamento de linguagem natural (NLP): Os embeddings representam palavras, frases ou documentos inteiros. Modelos como as arquitecturas BERT e Transformer dependem fortemente de embeddings para compreender as nuances da linguagem para tarefas como tradução automática, análise de sentimentos, resposta a perguntas e pesquisa semântica eficaz. Exemplifica: Um chatbot de apoio ao cliente utiliza a incorporação de frases para encontrar a resposta mais relevante na sua base de conhecimentos, mesmo que a consulta do utilizador não utilize as palavras-chave exactas.
  • Sistemas de recomendação: Os embeddings podem representar utilizadores e itens (como filmes, produtos ou artigos). Ao aprenderem os embeddings de forma a que os utilizadores e os itens de que gostam estejam próximos no espaço de embedding, os sistemas podem recomendar novos itens semelhantes àqueles com que um utilizador interagiu anteriormente ou de que gostaram utilizadores semelhantes(filtragem colaborativa). Empresas como a Netflix e a Amazon utilizam-no extensivamente.
  • Visão por computador (CV): As imagens ou os fragmentos de imagens podem ser convertidos em embeddings que captam caraterísticas visuais. Isto é fundamental para tarefas como a recuperação de imagens (encontrar imagens visualmente semelhantes), a classificação de imagens e serve de base para tarefas mais complexas, como a deteção de objectos e a segmentação de imagens, realizadas por modelos como Ultralytics YOLO. Exemplifica: Uma plataforma de comércio eletrónico utiliza a incorporação de imagens para permitir que os utilizadores carreguem uma fotografia de um artigo de vestuário e encontrem produtos semelhantes no seu catálogo. Plataformas como o Ultralytics HUB facilitam o treinamento e a implantação de tais modelos.
  • Análise de grafos: Os Embeddings podem representar nós e arestas em grafos, capturando a estrutura da rede e as relações entre nós para tarefas como a previsão de ligações ou a deteção de comunidades, utilizando frequentemente Redes Neuronais de Grafos (GNNs).

Embeddings vs. Conceitos relacionados

É útil distinguir os embeddings dos termos relacionados:

  • Embeddings vs. Extração de caraterísticas: Os embeddings são uma forma sofisticada e frequentemente automatizada de extração de caraterísticas obtida através da aprendizagem profunda. Enquanto a engenharia de caraterísticas tradicional pode envolver a definição manual de caraterísticas (por exemplo, histogramas de cores para imagens), os embeddings aprendem caraterísticas relevantes diretamente a partir dos dados durante o treino.
  • Embeddings vs. Pesquisa Vetorial / Bases de Dados Vectoriais: Os embeddings são as representações vectoriais dos itens de dados. A pesquisa de vectores é o processo de consulta de uma coleção de embeddings para encontrar os mais semelhantes (mais próximos) a um vetor de consulta, utilizando frequentemente algoritmos ANN (Approximate Nearest Neighbor ) para maior eficiência. As bases de dados vectoriais (como Pinecone ou Milvus) são bases de dados especializadas optimizadas para armazenar, indexar e efetuar pesquisas vectoriais rápidas em grandes volumes de embeddings.

Os Embeddings são uma forma poderosa de representar dados para modelos de aprendizagem automática, permitindo-lhes compreender semelhanças semânticas e padrões complexos em diversos tipos de dados, desde texto a imagens. São uma tecnologia fundamental que impulsiona os avanços em inúmeras aplicações de IA e são parte integrante das capacidades de estruturas modernas de ML, como PyTorch e TensorFlow.

Lê tudo