Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Modelos CBOW e Skip-Gram | Incorporações de Palavras
Introdução ao PLN

bookModelos CBOW e Skip-Gram

Uma compreensão básica de redes neurais é recomendada para este capítulo. Caso não esteja familiarizado com o tema, sinta-se à vontade para explorar este curso:

Tanto as arquiteturas CBoW quanto Skip-gram aprendem embeddings de palavras por meio de uma estrutura de rede neural composta pelas seguintes camadas:

  • uma camada de entrada;
  • uma única camada oculta;
  • uma camada de saída.

A matriz de pesos entre as camadas de entrada e oculta, denotada como W1W^1 ou EE, serve como a matriz de embeddings. Cada linha dessa matriz representa um vetor de embedding para uma palavra correspondente, sendo a ii-ésima linha referente à ii-ésima palavra do vocabulário.

Essa matriz contém VV (tamanho do vocabulário) embeddings, cada um de tamanho NN, uma dimensão que especificamos. Multiplicar a transposta dessa matriz (matriz N×VN \times V) por um vetor one-hot codificado (vetor V×1V \times 1) recupera o embedding para uma palavra específica, produzindo um vetor N×1N \times 1.

A segunda matriz de pesos, entre as camadas oculta e de saída, possui tamanho N×VN \times V. Multiplicar a transposta dessa matriz (matriz V×NV \times N) pelo vetor N×1N \times 1 da camada oculta resulta em um vetor V×1V \times 1.

CBoW

A seguir, um exemplo de uso do modelo CBoW:

Primeiro, a transposta da matriz de embeddings é multiplicada pelos vetores one-hot das palavras de contexto para produzir seus embeddings. Esses embeddings são então somados ou médios, dependendo da implementação, para formar um único vetor. Esse vetor é multiplicado pela matriz W2W^2, resultando em um vetor V×1V \times 1.

Por fim, esse vetor passa pela função de ativação softmax, convertendo-o em uma distribuição de probabilidade, onde cada elemento representa a probabilidade de uma palavra do vocabulário ser a palavra-alvo.

Em seguida, a perda é calculada e ambas as matrizes de pesos são atualizadas para minimizar essa perda. Idealmente, deseja-se que a probabilidade da palavra alvo seja próxima de 1, enquanto as probabilidades de todas as outras palavras se aproximem de zero. Esse processo é repetido para cada combinação de uma palavra alvo e suas palavras de contexto.

Após o processamento de todas as combinações, um época é concluída. Normalmente, a rede neural é treinada por várias épocas para garantir um aprendizado preciso. Por fim, as linhas da matriz de embeddings resultante podem ser utilizadas como nossos embeddings de palavras. Cada linha corresponde à representação vetorial de uma palavra específica no vocabulário, capturando de forma eficaz suas propriedades semânticas dentro do modelo treinado.

Skip-gram

Agora, vamos analisar o modelo skip-gram:

Como pode ser observado, o processo é em grande parte semelhante ao CBoW. Ele começa recuperando o embedding da palavra alvo, que é então utilizado na camada oculta. Em seguida, é produzido um vetor V×1V \times 1 na camada de saída. Esse vetor, obtido multiplicando o embedding da palavra alvo pela matriz de pesos da camada de saída, é então transformado pela função de ativação softmax em um vetor de probabilidades.

Note
Nota

Embora esse vetor resultante de probabilidades seja o mesmo para todas as palavras de contexto associadas a uma única palavra-alvo durante uma etapa de treinamento, a perda para cada palavra de contexto é calculada individualmente.

A perda de cada palavra de contexto é somada, e as matrizes de pesos são atualizadas de acordo em cada iteração para minimizar a perda total. Após a conclusão do número especificado de épocas, a matriz de embeddings pode ser utilizada para obter os embeddings das palavras.

Note
Estude Mais

Na prática, especialmente com vocabulários grandes, a função softmax pode ser computacionalmente muito intensiva. Portanto, aproximações como amostragem negativa são frequentemente empregadas para tornar o cálculo mais eficiente.

1. Preencha as lacunas

2. O que a primeira matriz de pesos W1W^1 na rede neural representa?

question-icon

Preencha as lacunas

The architecture tries to predict the target word from its context.
The
architecture tries to predict the context of the target word.

Clique ou arraste solte itens e preencha os espaços

question mark

O que a primeira matriz de pesos W1W^1 na rede neural representa?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you explain the main difference between CBoW and Skip-gram?

How does the softmax function work in these models?

What is the purpose of the embeddings matrix in these architectures?

Awesome!

Completion rate improved to 3.45

bookModelos CBOW e Skip-Gram

Deslize para mostrar o menu

Uma compreensão básica de redes neurais é recomendada para este capítulo. Caso não esteja familiarizado com o tema, sinta-se à vontade para explorar este curso:

Tanto as arquiteturas CBoW quanto Skip-gram aprendem embeddings de palavras por meio de uma estrutura de rede neural composta pelas seguintes camadas:

  • uma camada de entrada;
  • uma única camada oculta;
  • uma camada de saída.

A matriz de pesos entre as camadas de entrada e oculta, denotada como W1W^1 ou EE, serve como a matriz de embeddings. Cada linha dessa matriz representa um vetor de embedding para uma palavra correspondente, sendo a ii-ésima linha referente à ii-ésima palavra do vocabulário.

Essa matriz contém VV (tamanho do vocabulário) embeddings, cada um de tamanho NN, uma dimensão que especificamos. Multiplicar a transposta dessa matriz (matriz N×VN \times V) por um vetor one-hot codificado (vetor V×1V \times 1) recupera o embedding para uma palavra específica, produzindo um vetor N×1N \times 1.

A segunda matriz de pesos, entre as camadas oculta e de saída, possui tamanho N×VN \times V. Multiplicar a transposta dessa matriz (matriz V×NV \times N) pelo vetor N×1N \times 1 da camada oculta resulta em um vetor V×1V \times 1.

CBoW

A seguir, um exemplo de uso do modelo CBoW:

Primeiro, a transposta da matriz de embeddings é multiplicada pelos vetores one-hot das palavras de contexto para produzir seus embeddings. Esses embeddings são então somados ou médios, dependendo da implementação, para formar um único vetor. Esse vetor é multiplicado pela matriz W2W^2, resultando em um vetor V×1V \times 1.

Por fim, esse vetor passa pela função de ativação softmax, convertendo-o em uma distribuição de probabilidade, onde cada elemento representa a probabilidade de uma palavra do vocabulário ser a palavra-alvo.

Em seguida, a perda é calculada e ambas as matrizes de pesos são atualizadas para minimizar essa perda. Idealmente, deseja-se que a probabilidade da palavra alvo seja próxima de 1, enquanto as probabilidades de todas as outras palavras se aproximem de zero. Esse processo é repetido para cada combinação de uma palavra alvo e suas palavras de contexto.

Após o processamento de todas as combinações, um época é concluída. Normalmente, a rede neural é treinada por várias épocas para garantir um aprendizado preciso. Por fim, as linhas da matriz de embeddings resultante podem ser utilizadas como nossos embeddings de palavras. Cada linha corresponde à representação vetorial de uma palavra específica no vocabulário, capturando de forma eficaz suas propriedades semânticas dentro do modelo treinado.

Skip-gram

Agora, vamos analisar o modelo skip-gram:

Como pode ser observado, o processo é em grande parte semelhante ao CBoW. Ele começa recuperando o embedding da palavra alvo, que é então utilizado na camada oculta. Em seguida, é produzido um vetor V×1V \times 1 na camada de saída. Esse vetor, obtido multiplicando o embedding da palavra alvo pela matriz de pesos da camada de saída, é então transformado pela função de ativação softmax em um vetor de probabilidades.

Note
Nota

Embora esse vetor resultante de probabilidades seja o mesmo para todas as palavras de contexto associadas a uma única palavra-alvo durante uma etapa de treinamento, a perda para cada palavra de contexto é calculada individualmente.

A perda de cada palavra de contexto é somada, e as matrizes de pesos são atualizadas de acordo em cada iteração para minimizar a perda total. Após a conclusão do número especificado de épocas, a matriz de embeddings pode ser utilizada para obter os embeddings das palavras.

Note
Estude Mais

Na prática, especialmente com vocabulários grandes, a função softmax pode ser computacionalmente muito intensiva. Portanto, aproximações como amostragem negativa são frequentemente empregadas para tornar o cálculo mais eficiente.

1. Preencha as lacunas

2. O que a primeira matriz de pesos W1W^1 na rede neural representa?

question-icon

Preencha as lacunas

The architecture tries to predict the target word from its context.
The
architecture tries to predict the context of the target word.

Clique ou arraste solte itens e preencha os espaços

question mark

O que a primeira matriz de pesos W1W^1 na rede neural representa?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 2
some-alt