Explicação intuitiva da perda de estimativa de contraste de ruído (NCE)?

32

Eu li sobre o NCE (uma forma de amostragem de candidatos) dessas duas fontes:

Gravação de Tensorflow

Papel original

Alguém pode me ajudar com o seguinte:

  1. Uma explicação simples de como o NCE funciona (achei difícil analisar e entender o que foi dito acima, então seria ótimo algo intuitivo que leve à matemática apresentada)
  2. Após o ponto 1 acima, uma descrição naturalmente intuitiva de como isso é diferente da Amostra Negativa. Percebo que há uma ligeira mudança na fórmula, mas não consegui entender a matemática. Eu tenho uma compreensão intuitiva da amostragem negativa no contexto de word2vec- escolhemos aleatoriamente algumas amostras do vocabulário Ve atualizamos apenas as que |V|são grandes e isso oferece uma aceleração. Corrija se estiver errado.
  3. Quando usar qual e como isso é decidido? Seria ótimo se você pudesse incluir exemplos (possivelmente aplicativos fáceis de entender)
  4. O NCE é melhor que a amostragem negativa? Melhor de que maneira?

Obrigado.

tejaskhot
fonte
pode ser meu post pode ajudar. nanjiang.quora.com/Noise-contrastive-Estimation e experimentos posteriores com theano podem ser encontrados no meu github.com/jiangnanHugo/language_modeling. Espero que meu entendimento esteja correto.
jiangnan hugo

Respostas:

27

Retirado desta publicação: https://stats.stackexchange.com/a/245452/154812

O problema

Existem alguns problemas com o aprendizado dos vetores de palavras usando uma rede neural "padrão". Dessa maneira, os vetores de palavras são aprendidos enquanto a rede aprende a prever a próxima palavra, em uma janela de palavras (a entrada da rede).

Prever a próxima palavra é como prever a classe. Ou seja, essa rede é apenas um classificador multinomial "padrão" (multi-classe). E essa rede deve ter tantos neurônios de saída quanto as classes que existem. Quando as aulas são palavras reais, o número de neurônios é, bem, enorme.

Uma rede neural "padrão" geralmente é treinada com uma função de custo de entropia cruzada que requer que os valores dos neurônios de saída representem probabilidades - o que significa que as "pontuações" de saída calculadas pela rede para cada classe devem ser normalizadas, convertidas em probabilidades reais para cada classe. Este passo de normalização é alcançado por meio da função softmax. O Softmax é muito caro quando aplicado a uma enorme camada de saída.

A (a) solução

Para lidar com esse problema, ou seja, o caro cálculo do softmax, o Word2Vec usa uma técnica chamada estimativa contrastante ao ruído. Essa técnica foi introduzida por [A] (reformulada por [B]) e depois usada em [C], [D], [E] para aprender a incorporação de palavras a partir de texto em idioma natural não rotulado.

A idéia básica é converter um problema de classificação multinomial (como é o problema de prever a próxima palavra) em um problema de classificação binária. Ou seja, em vez de usar o softmax para estimar uma verdadeira distribuição de probabilidade da palavra de saída, uma regressão logística binária (classificação binária) é usada.

Para cada amostra de treinamento, o classificador aprimorado (otimizado) recebe um par verdadeiro (uma palavra central e outra palavra que aparece em seu contexto) e vários kk pares corrompidos aleatoriamente (que consistem na palavra central e em uma palavra escolhida aleatoriamente). vocabulário). Ao aprender a distinguir os pares verdadeiros dos pares corrompidos, o classificador finalmente aprenderá os vetores de palavras.

Isso é importante: em vez de prever a próxima palavra (a técnica de treinamento "padrão"), o classificador otimizado simplesmente prevê se um par de palavras é bom ou ruim.

O Word2Vec personaliza levemente o processo e chama de amostragem negativa. No Word2Vec, as palavras das amostras negativas (usadas para os pares corrompidos) são extraídas de uma distribuição especialmente projetada, o que favorece que palavras menos frequentes sejam extraídas com mais frequência.

Referências

[A] (2005) - Estimativa contrastante: treinando modelos log-lineares em dados não rotulados

[B] (2010) - Estimativa contrastante ao ruído: um novo princípio de estimativa para modelos estatísticos não normalizados

[C] (2008) - Uma arquitetura unificada para processamento de linguagem natural: redes neurais profundas com aprendizado multitarefa

[D] (2012) - Um algoritmo rápido e simples para o treinamento de modelos de linguagem probabilística neural .

[E] (2013) - Aprendendo a incorporação de palavras de forma eficiente com estimativa contrastante ao ruído .

user154812
fonte
3

Honestamente, não há uma maneira intuitiva de entender por que a perda de NCE funcionará sem entender profundamente sua matemática. Para entender a matemática, você deve ler o artigo original.

k

(x,y)ykk

Δsθ0(w,h)=sθ0(w,h)logkPn(w)

Pn(w)

knn=k

Os documentos originais da NCE ignoraram muito as derivações da prova, de modo que é realmente difícil entender a NCE. Para entender mais facilmente a matemática sobre a NCE, tenho um post sobre isso anotando a matemática dos documentos da NCE:

https://leimao.github.io/article/Noise-Contrastive-Estimation/ .

No segundo ano da faculdade ou acima, deve ser capaz de entendê-lo.

Lei Mao
fonte
1

Basicamente, isso é selecionar uma amostra da distribuição verdadeira que consiste na classe verdadeira e em alguns outros rótulos de classe barulhentos. Depois, passe o softmax por cima.

Isso se baseia na amostragem de palavras da verdadeira distribuição e distribuição de ruído.

Aqui, a idéia básica é treinar o classificador de regressão logística que pode separar as amostras obtidas da distribuição verdadeira e as amostras obtidas da distribuição de ruído. Lembre-se Quando estamos falando sobre as amostras obtidas da distribuição verdadeira, estamos falando apenas de uma amostra que é a classe verdadeira obtida da distribuição do modelo.

Aqui expliquei sobre a perda de NCE e como ela difere da perda de NCE.

Estimativa Contrastiva de Ruído: Solução para Softmax caro.

Shamane Siriwardhana
fonte
1
Embora esse link possa responder à pergunta, é melhor incluir aqui as partes essenciais da resposta e fornecer o link para referência. As respostas somente para links podem se tornar inválidas se a página vinculada for alterada.
19617 tuomastik
0

Em palavras simples, o NCE é apenas uma função de perda de classificação com vários rótulos, com apenas 1 rótulo positivo ek negativos.

Lerner Zhang
fonte