Espaço Latente vs. Embedding
Em uma frase
Um embedding é o endereço de um item; um espaço latente é o mapa inteiro em que esses endereços estão — inclusive os lugares vazios entre eles, que um modelo generativo consegue visitar.
Em palavras simples
Pense no mapa de uma cidade.
- O embedding é o endereço de um prédio: uma lista de números que diz onde este item está. Ele serve para perguntar "o que está perto disto?" — os prédios mais próximos são os itens mais parecidos. É busca, recomendação, agrupamento.
- O espaço latente é o próprio mapa, cada ponto dele, construído por um modelo. Um modelo generativo consegue parar em qualquer ponto (até num terreno vazio onde nunca houve prédio) e dizer "o que existiria aqui?" É amostragem, interpolação, geração.
Todo embedding é um ponto de algum espaço latente. As duas palavras apontam para coisas diferentes: o vetor de uma entrada ou o espaço e o que um modelo consegue fazer em cada ponto dele.
A diferença numa figura
Experimente
O mesmo espaço de duas dimensões, lido de dois jeitos. Oito formas foram postas nele; um decoder transforma cada ponto numa forma (da esquerda para a direita: quadrado a círculo; de baixo para cima: azul a vermelho).
- Embedding: clique numa forma — ou num ponto vazio, como consulta nova. A lista ordena as outras pelo cosseno. Só conta a direção a partir da origem: nenhum decoder entra em jogo.
- Espaço latente: arraste o ponto para qualquer lugar. Entre duas formas o decoder desenha uma que nunca esteve nos dados; bem fora dos círculos tracejados (o prior \(\mathcal N(0, I)\)) nada foi treinado e a forma se desfaz. Interpolar percorre uma linha reta do quadrado vermelho ao círculo azul.
Lado a lado
| Embedding | Espaço latente | |
|---|---|---|
| Pergunta | "o que se parece com isso?" | "o que existe aqui?" |
| Aponta para | o vetor de uma entrada | o espaço e o que um modelo faz nele |
| Precisa de decoder? | não — as distâncias bastam | em geral sim: para levar um ponto de volta a dados |
| Tem distribuição? | em geral não; muitas vezes normalizado para comprimento 1 | muitas vezes um prior do qual se amostra, como \(\mathcal N(0, I)\) |
| Uso típico | busca, recomendação, agrupamento, entrada de um classificador | amostragem, interpolação, remoção de ruído, planejamento |
| Neste curso | embeddings de tokens, CLIP, transfer learning | VAE, Stable Diffusion, modelos de mundo |
Três enganos comuns
- "Espaços latentes são grandes, embeddings são pequenos." Modelos de embedding de texto já devolvem 3.072 números4, enquanto o latente de um modelo de mundo pode ter 32. O tamanho não os distingue.
- "Embeddings são legíveis, espaços latentes não." Nenhum dos dois tem coordenadas legíveis. Nos dois o sentido mora em direções: o "King − Man + Woman ≈ Queen" do word2vec5, as direções de edição do StyleGAN, as direções de conceitos em LLMs6.
- "Espaços latentes geram, embeddings só representam." Um JEPA planeja num espaço latente sem gerar um pixel; o Stable Diffusion gera a partir dos embeddings de texto do CLIP7.
Onde as duas palavras se encontram
- O estado escondido de um LLM é ao mesmo tempo um embedding contextual de um token e o latente que o próximo bloco lê.
- A média \(\mu(x)\) do encoder de um VAE é um código latente; usada para busca, é um embedding.
- O espaço de embeddings do CLIP é o latente em que vive o condicionamento por texto do Stable Diffusion.
As definições formais
Espaço latente. O espaço das variáveis latentes — não observadas — de um modelo. Um modelo de variáveis latentes explica os dados por um código escondido, \(p(x) = \int p(x \mid z)\,p(z)\,dz\); o \(z\) vive no espaço latente, em geral com um prior como \(\mathcal N(0, I)\) num VAE1. A palavra também se usa para qualquer representação interna aprendida. Um espaço latente pode ser muito menor que os dados por causa da hipótese da variedade: dados reais se concentram perto de uma variedade de dimensão muito menor que a do espaço em que estão escritos2.
Embedding. Uma representação vetorial dos dados num espaço de embeddings, obtida projetando dados de muitas dimensões num espaço de menos dimensões em que itens parecidos ficam perto3. A palavra nomeia o mapa aprendido (uma camada de embedding, um modelo de embedding) e o vetor que sai dele. O que faz de um vetor um embedding é ele ter sido aprendido e a distância nele ter sido feita para ser usada.
Para ir mais fundo
- Espaço Latente — o latente de cada capítulo, latentes generativos e VAE, JEPA, modelos de mundo e TDWM de perto.
- Embedding — de um id de token a um vetor que se pode buscar, a geometria do espaço, modelos de embedding de texto e o que um embedding entrega.
-
Kingma, D. P., & Welling, M. (2014). Auto-Encoding Variational Bayes — ICLR. ↩
-
Bengio, Y., Courville, A., & Vincent, P. (2013). Representation Learning: A Review and New Perspectives — IEEE TPAMI 35(8). ↩
-
Google for Developers. Machine Learning Crash Course — Embeddings: embedding space and static embeddings. ↩
-
OpenAI (25 jan. 2024). New embedding models and API updates — text-embedding-3-large. Kusupati, A., et al. (2022). Matryoshka Representation Learning — NeurIPS. ↩
-
Mikolov, T., Yih, W., & Zweig, G. (2013). Linguistic Regularities in Continuous Space Word Representations — NAACL-HLT. ↩
-
Park, K., Choe, Y. J., & Veitch, V. (2024). The Linear Representation Hypothesis and the Geometry of Large Language Models — ICML. ↩
-
Rombach, R., Blattmann, A., Lorenz, D., Esser, P., & Ommer, B. (2022). High-Resolution Image Synthesis with Latent Diffusion Models — CVPR. ↩