He estado tratando de entender el concepto de muestreo negativo en el contexto de word2vec. No puedo digerir la idea del muestreo [negativo]. Por ejemplo en los documentos de Mikolov, la expectativa de muestreo negativa se formula como
Entiendo el término izquierdo , pero no puedo entender la idea de muestrear pares negativos de contexto de palabras.
machine-learning
word2vec
word-embeddings
Upendra Kumar
fuente
fuente
Respuestas:
La cuestión
Hay algunos problemas con el aprendizaje de los vectores de palabras usando una red neuronal "estándar". De esta manera, los vectores de palabras se aprenden mientras la red aprende a predecir la siguiente palabra dada una ventana de palabras (la entrada de la red).
Predecir la siguiente palabra es como predecir la clase. Es decir, dicha red es solo un clasificador multinomial (multiclase) "estándar". Y esta red debe tener tantas neuronas de salida como clases hay. Cuando las clases son palabras reales, la cantidad de neuronas es, bueno, enorme .
Una red neuronal "estándar" generalmente se entrena con una función de costo de entropía cruzada que requiere que los valores de las neuronas de salida representen probabilidades, lo que significa que las "puntuaciones" de salida calculadas por la red para cada clase deben normalizarse, convertirse en probabilidades reales para cada clase. Este paso de normalización se logra mediante la función softmax . Softmax es muy costoso cuando se aplica a una gran capa de salida.
La (a) solución
Para abordar este problema, es decir, el costoso cálculo del softmax, Word2Vec utiliza una técnica llamada estimación de contraste de ruido.Esta técnica fue introducida por [A] (reformulada por [B]) y luego utilizada en [C], [D], [E] para aprender incrustaciones de palabras a partir de textos de lenguaje natural no etiquetados.
La idea básica es convertir un problema de clasificación multinomial (como es el problema de predecir la siguiente palabra ) en un problema de clasificación binaria . Es decir, en lugar de utilizar softmax para estimar una verdadera distribución de probabilidad de la palabra de salida, se utiliza una regresión logística binaria (clasificación binaria).
Para cada muestra de entrenamiento, el clasificador mejorado (optimizado) recibe un par verdadero (una palabra central y otra palabra que aparece en su contexto) y una cantidad de pares corruptos al azark (que consisten en la palabra central y una palabra elegida al azar del vocabulario). Al aprender a distinguir los pares verdaderos de los corruptos, el clasificador finalmente aprenderá la palabra vectores.
Esto es importante: en lugar de predecir la siguiente palabra (la técnica de entrenamiento "estándar"), el clasificador optimizado simplemente predice si un par de palabras es bueno o malo .
Word2Vec personaliza ligeramente el proceso y lo llama muestreo negativo . En Word2Vec, las palabras para las muestras negativas (utilizadas para los pares dañados) se extraen de una distribución especialmente diseñada, lo que favorece que las palabras menos frecuentes se dibujen con más frecuencia.
Referencias
[A] (2005) - Estimación contrastante: Entrenamiento de modelos log-lineales en datos sin etiquetar
[B] (2010) - Estimación de contraste de ruido: un nuevo principio de estimación para modelos estadísticos no normalizados
[C] (2008) - Una arquitectura unificada para el procesamiento del lenguaje natural: redes neuronales profundas con aprendizaje multitarea
[D] (2012) - Un algoritmo rápido y simple para entrenar modelos de lenguaje neural probabilístico .
[E] (2013) - Aprendizaje de incrustaciones de palabras de manera eficiente con estimación de contraste de ruido .
La respuesta se basa en algunas notas antiguas mías, espero que sean correctas :)
fuente
"in Word2Vec, the words for the negative samples (used for the corrupted pairs) are drawn from a specially designed distribution, which favours less frequent words to be drawn more often"
. Me pregunto si esto es correcto. Porque algunas otras fuentes dicen que las palabras más frecuentes se muestrean como muestras negativas.Essentially, the probability for selecting a word as a negative sample is related to its frequency, with more frequent words being more likely to be selected as negative samples.