La estimación contrastante de ruido es esencialmente una “estrategia” para evitar un paso computacionalmente costoso en una tarea de modelado de lenguaje o tarea de generación de incrustación de palabras, cuando el corpus es grande.
Por ejemplo, en una tarea de modelado de lenguaje, la probabilidad de una palabra con un contexto dado c es ( términos explicados en el documento Notas sobre estimación de contraste de ruido y muestreo negativo – la clave para esta discusión es la suma del denominador Z (c) sobre todo el cuerpo ) capturado por la ecuación
- ¿Qué es un buen algoritmo de recomendación de películas?
- ¿Cuál es la diferencia entre PyTorch, Caffe y TensorFlow?
- Cómo decidir el tamaño de la muestra para el aprendizaje automático con datos de series temporales
- ¿Cuáles son tus artículos favoritos de NIPS 2016?
- ¿Cuál es la diferencia clave entre backprop y backprop truncado a través del tiempo?
El modelo de omisión de gramo de word2vec tiene un término de suma similar en el denominador sobre todo el corpus Representaciones distribuidas de palabras y frases y su composicionalidad
Por lo tanto, tanto en la generación de incrustación de palabras como en la tarea de modelado del lenguaje, se reduce a predecir una palabra dado un contexto, y el cálculo implica en su denominador, sumando una expresión sobre todo el vocabulario, que es una tarea computacionalmente intensiva.
La solución a esto es hacer una estimación contrastante de ruido o su muestreo negativo variante, los cuales evitan la suma total sobre el corpus ( el enfoque clásico según el documento a continuación es usar el muestreo de importancia utilizando los métodos de Monte Carlo para aproximar – NCE y negativo el muestreo son evoluciones de esas técnicas ).
En NCE, el cálculo de la suma total (Z (c)) en la ecuación 1 anterior se evita al convertir primero el problema de estimación en un problema de clasificación binaria y luego por otros dos supuestos que reducen el número de parámetros.
El muestreo negativo ( utilizado en el código word2vec ) también aprende los parámetros del modelo como un problema de clasificación binaria ( cada vez que una palabra se acerca a sus vecinos, también se extrae de k muestras tomadas de una distribución unigram ).
El documento Notes on Noise Contrastive Estimation and Negative Sampling sugiere el uso de NCE para el modelado del lenguaje y el muestreo negativo para la generación de incrustación de palabras.