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 | Seção
Processamento de Linguagem Natural

bookModelos CBOW e Skip-gram

Deslize para mostrar o menu

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 no 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

Agora, observe um exemplo de uso de um 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. Este vetor é multiplicado pela matriz W2W^2, resultando em um vetor V×1V \times 1.

Por fim, este 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 do vocabulário, capturando efetivamente suas propriedades semânticas dentro do modelo treinado.

Skip-gram

Agora, vamos analisar um modelo skip-gram:

Como pode ser observado, o processo é em grande parte semelhante ao CBoW. Ele começa recuperando a incorporação da palavra-alvo, que é então utilizada na camada oculta. Em seguida, é produzido um vetor V×1V \times 1 na camada de saída. Esse vetor, obtido ao multiplicar a incorporação 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 incorporações pode ser utilizada para obter as incorporações 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.

Click or drag`n`drop items and fill in the blanks

question mark

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

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 27

Pergunte à IA

expand

Pergunte à IA

ChatGPT

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

Seção 1. Capítulo 27
some-alt