Tomado de esta publicación: https://stats.stackexchange.com/a/245452/154812
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 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 un número de kk pares corruptos al azar (que consiste 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 no etiquetados
[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 .