Um embedding é uma espaço relativamente baixa dimensão para o qual é possível traduzir vetores de alta dimensão. Para uma discussão sobre comparação entre dados de baixa dimensão, consulte a seção Categórica Dados mais tarde neste módulo.
Os embeddings facilitam o machine learning em grandes vetores de atributo, como porque os vetores esparsos que representam as refeições seção anterior. Idealmente, um embedding captura algumas semântica da entrada, colocando as entradas que são mais semelhantes em significado no espaço de embedding. Por exemplo, um bom embedding coloca palavra "carro" mais perto de "garagem" e não para "elefante". É possível treinar um embedding e reutilizados em vários modelos.
Para dar uma ideia de como os vetores de embedding representam informações, considere o após a representação unidimensional dos pratos, cachorro-quente, pizza, salada, shawarma e borscht, em uma escala de sandwich" para "parecida com um sanduíche". "sandwichness" (sanduíche) é a única dimensão.
![Figura 3. Ao longo de um eixo de sanduíche, do menor ao maior:
borscht, salada, pizza, cachorro-quente, shawarma.](https://developers.google.cn/static/machine-learning/crash-course/images/embeddings_1D.png?authuser=9&hl=pt)
Nessa linha, em que ponto
strudel de maçã
cair? É possível que ela seja colocada entre hot dog
e shawarma
. Mas a maçã
o strudel também parece ter uma dimensão adicional de doce (que é doce
a comida) ou a sobremesa (o que torna a comida uma sobremesa) que faz
muito diferente das outras opções. A figura a seguir mostra isso
adicionando uma "sobremesa" dimensão:
![Figura 4. Mesma imagem de antes, mas com um eixo vertical de
a sobremesa. O strudel de maçã fica entre um cachorro-quente e um shawarma, mas no topo
do eixo horizontal, mas mais acima no eixo de sobretaxa.](https://developers.google.cn/static/machine-learning/crash-course/images/embeddings_2D.png?authuser=9&hl=pt)
Um embedding representa cada item em um espaço n dimensional com n números de ponto flutuante (normalmente no intervalo –1 a 1 ou 0 a 1). Por exemplo, a incorporação na Figura 4 representa cada item de refeição um espaço bidimensional com duas coordenadas. O item "strudel de maçã" está na quadrante superior direito do gráfico e pode ser atribuído ao ponto (0,5, 0,3), enquanto "cachorro-quente" está no quadrante inferior direito do gráfico e pode receber o ponto (0,2, -0,5).
Em um embedding, a distância entre dois itens pode ser calculada
matematicamente,
e pode ser interpretada como a semelhança relativa entre os dois
itens. Duas coisas próximas uma da outra, como shawarma
e hot dog
da figura 4, estão mais estreitamente relacionadas do que duas coisas mais distantes umas
outras, como apple strudel
e borscht
.
Observe também que, no espaço 2D da Figura 4, apple strudel
está muito mais longe
de shawarma
e hot dog
do que no espaço 1D, o que corresponde
intuição: apple strudel
é diferente de um cachorro-quente ou shawarma
cães e shawarmas são um para o outro.
Agora considere o borscht, que é muito mais líquido do que os outros itens. Isso sugere uma terceira dimensão, liquidência (o nível de líquido do alimento). Com essa dimensão, os itens podem ser visualizados em 3D desta forma:
![Figura 5. A mesma imagem de antes, mas com um terceiro eixo de fluidez
ortogonal aos outros dois, e borscht se moveu muito ao longo desse eixo.](https://developers.google.cn/static/machine-learning/crash-course/images/embeddings_3D.png?authuser=9&hl=pt)
Onde neste espaço 3D tangyuan ir? Está picante, como borscht, e uma sobremesa doce, como strudel de maçã, e definitivamente não um sanduíche. Aqui está um posicionamento possível:
![Figura 6. Mesma imagem de antes, mas com tangyuan posicionado no alto
sobremesa e liquidez e pouco sanduíche.](https://developers.google.cn/static/machine-learning/crash-course/images/embeddings_3D_tangyuan.png?authuser=9&hl=pt)
Observe quanta informação é expressa nessas três dimensões. Você pode imaginar dimensões adicionais, como carne ou assado.
Espaços de embedding reais
Como visto nos exemplos de alimentos acima, até mesmo um pequeno espaço multidimensional proporciona a liberdade de agrupar itens semanticamente semelhantes e manter itens diferentes distantes. Posição (distância e direção) no vetor podem codificar a semântica de um bom embedding. Por exemplo, os seguintes visualizações de embeddings reais ilustram as relações geométricas entre as palavras de um país e sua capital. Você pode ver que a distância do "Canadá" para "Ottawa" é aproximadamente igual à distância de "Turquia" para "Ancara".
Um espaço de embedding significativo ajuda um modelo de machine learning a detectar padrões durante o treinamento.
Exercício
Neste exercício, você vai usar o módulo Como incorporar Projetor para visualizar uma palavra um embedding chamado word2vec, representa mais de 70.000 palavras em inglês numericamente em espaço vetorial.
Tarefa 1
Realize as tarefas a seguir e responda à pergunta abaixo.
Abra a ferramenta Projetor de incorporação.
No painel à direita, digite a palavra atom no campo Search. Depois, Clique na palavra atom nos resultados abaixo (em 4 matches). Seu deve ser semelhante à da Figura 8.
Figura 8. Ferramenta de projetor de embedding, com a palavra "atom" adicionados no campo de pesquisa (circulado em vermelho). Novamente, no painel à direita, clique no botão Isolar 101 pontos (acima de no campo Pesquisa) para mostrar as cem palavras mais próximas a atom. Sua tela deve ser semelhante à da Figura 9.
Figura 9. Ferramenta de projetor de embedding, agora com "Isolar 101 pontos" clicado (circulado em vermelho).
Agora, revise as palavras listadas em Pontos mais próximos no espaço original. Como você descreveria essas palavras?
Clique aqui para conferir a resposta
A maioria das palavras mais próximas são palavras que são comumente associadas com a palavra átomo, como a forma plural “átomos”, e as palavras "eletrônico", “moléculas”, e "núcleo".
Tarefa 2
Execute as tarefas a seguir e responda à pergunta abaixo:
Clique no botão Show All Data no painel direito para redefinir os dados a visualização da tarefa 1.
No painel à direita, digite a palavra uranium no campo Pesquisar. Sua tela será semelhante à Figura 10.
Figura 10. Ferramenta de projetor de incorporação, com a palavra "uranium" no campo de pesquisa.
Revise as palavras listadas em Pontos mais próximos no espaço original. Como essas palavras são diferentes das palavras mais próximas para átomo?
Clique aqui para conferir a resposta
O urânio se refere a uma substância radioativa elemento químico muitas das palavras mais próximas são outros elementos, como zinco, manganês, cobre e alumínio.
Tarefa 3
Execute as tarefas a seguir e responda à pergunta abaixo:
Clique no botão Show All Data no painel direito para redefinir os dados a visualização da tarefa 2.
No painel à direita, digite a palavra laranja no campo Pesquisar. Seu deve ser semelhante à da Figura 11.
Figura 11. Ferramenta de projetor de incorporação, com a palavra "laranja" no campo de pesquisa.
Revise as palavras listadas em Pontos mais próximos no espaço original. O que você observa sobre os tipos de palavras mostradas aqui não aparecem aqui?
Clique aqui para conferir a resposta
Quase todas as palavras mais próximas são de outras cores, como "amarelo", "verde", "azul", "roxo", e "vermelho". Apenas uma das palavras mais próximas ("suco") se referem ao outro significado da palavra (uma fruta cítrica). Outras frutas que você espera ver, como "maçã" e "banana", não entrou na lista termos mais próximos.
Este exemplo ilustra uma das principais deficiências dos embeddings estáticos como word2vec. Todos os significados possíveis de uma palavra são representados por uma no espaço vetorial. Quando você faz uma análise de similaridade para "laranja", é não é possível isolar os pontos mais próximos para uma denotação específica da palavra, como "laranja" (fruta), mas não "laranja" (cor).