Artículos · arXiv 1301.3781
Efficient Estimation of Word Representations in Vector Space
Resumen en tres líneas
- 🎯 Los modelos de lenguaje neuronales previos eran demasiado costosos computacionalmente para entrenar representaciones de palabras de alta dimensión en corpus de miles de millones de tokens.
- 🔧 Presenta dos arquitecturas log-lineales que descartan las capas ocultas no lineales: Continuous Bag-of-Words (predice una palabra central a partir del contexto) y Continuous Skip-gram (predice el contexto circundante a partir de una palabra central), ambas optimizadas con hierarchical softmax.
- 📈 Entrenado en 6000 millones de tokens con 1000 dimensiones mediante DistBelief, Skip-gram logró una precisión global del 65.6% en un nuevo benchmark de analogías semántico-sintácticas de 19 544 preguntas, superando a modelos neuronales complejos con una fracción del cómputo.
Resumen
Proponemos dos novedosas arquitecturas de modelos para computar representaciones vectoriales continuas de palabras a partir de conjuntos de datos muy grandes. La calidad de estas representaciones se mide en una tarea de similitud de palabras, y los resultados se comparan con las técnicas de mejor rendimiento previo basadas en diferentes tipos de redes neuronales. Observamos grandes mejoras en la precisión con un costo computacional mucho menor; por ejemplo, toma menos de un día aprender vectores de palabras de alta calidad a partir de un conjunto de datos de 1600 millones de palabras. Además, demostramos que estos vectores ofrecen un rendimiento de vanguardia en nuestro conjunto de prueba para medir similitudes sintácticas y semánticas entre palabras.
Resumen original (inglés)
We propose two novel model architectures for computing continuous vector representations of words from very large data sets. The quality of these representations is measured in a word similarity task, and the results are compared to the previously best performing techniques based on different types of neural networks. We observe large improvements in accuracy at much lower computational cost, i.e. it takes less than a day to learn high quality word vectors from a 1.6 billion words data set. Furthermore, we show that these vectors provide state-of-the-art performance on our test set for measuring syntactic and semantic word similarities.
Guía de lectura
Problema y motivación
Los sistemas tradicionales de PLN representaban las palabras como índices atómicos discretos, descartando las relaciones semánticas y sintácticas inherentes. Aunque las representaciones distribuidas de palabras entrenadas mediante modelos de lenguaje basados en redes neuronales (NNLM) o modelos de lenguaje basados en redes neuronales recurrentes (RNNLM) superaban con creces a los n-gramas, su complejidad computacional hacía que escalar fuera prohibitivamente costoso. Rara vez se entrenaban arquitecturas anteriores con más de unos pocos cientos de millones de palabras, limitándose por lo general a dimensionalidades de entre y .
En los NNLM prealimentados (feedforward), el cuello de botella computacional proviene de la capa oculta densa no lineal () y de la capa de salida no normalizada sobre el vocabulario (). El objetivo de este artículo es eliminar el cuello de botella de la capa oculta no lineal, permitiendo que los modelos escalen a miles de millones de tokens de entrenamiento y a vocabularios que contienen millones de palabras, al tiempo que se conservan relaciones lineales sutiles (p. ej., ).
Ideas clave
- Eliminación de no linealidades en la capa oculta: Al suprimir la capa de activación no lineal, la complejidad del entrenamiento se reduce drásticamente, lo que permite incrementos sustanciales tanto en el tamaño del corpus como en la dimensionalidad de los embeddings.
- Continuous Bag-of-Words (CBOW): Un clasificador log-lineal que predice una palabra objetivo central a partir de las palabras del contexto que la rodean (tanto previas como posteriores). Los vectores del contexto se promedian en una capa de proyección compartida.
- Continuous Skip-gram: Un clasificador log-lineal que predice las palabras del contexto circundante dentro de una ventana dada únicamente la palabra central actual, muestreando las palabras más distantes con menor frecuencia.
- Hierarchical Softmax con codificación de Huffman: El costo de normalización de la softmax se reduce de a aproximadamente (o mediante árboles de Huffman, que asignan códigos más cortos a las palabras frecuentes).
- Benchmark de evaluación de analogías: Un nuevo conjunto de prueba de 19 544 preguntas que evalúa regularidades lingüísticas sintácticas (p. ej., comparativos, tiempo pasado) y semánticas (p. ej., capital-país, moneda) utilizando aritmética vectorial y distancia coseno.
Método (con las ecuaciones clave)
La complejidad del entrenamiento se define como el número de accesos a parámetros a lo largo de épocas, palabras en el conjunto de entrenamiento y el costo por ejemplo :
Línea base NNLM prealimentada
Para una longitud de contexto , dimensión del embedding , unidades ocultas y tamaño de vocabulario : Cuando se utiliza hierarchical softmax, el término de salida se reduce a , dejando a como el cuello de botella.
Línea base de modelo de lenguaje neuronal recurrente (RNNLM)
Con la dimensión del estado oculto igual a la dimensión del embedding : Al utilizar hierarchical softmax, el término de salida se reduce a , dejando la transición recurrente como el costo dominante.
Continuous Bag-of-Words (CBOW)
CBOW reemplaza la capa oculta con una capa de proyección promediada a lo largo de palabras de contexto (típicamente 4 palabras anteriores y 4 posteriores):
Continuous Skip-gram
Skip-gram toma la palabra central y predice las palabras de contexto dentro de una distancia máxima (en los experimentos, ). Para cada palabra, se extrae uniformemente un desplazamiento , prediciendo palabras anteriores y posteriores:
Búsqueda de analogías
Las preguntas de la forma « es a lo que es a » se responden encontrando el vector del vocabulario que maximiza:
Resultados (con los números más importantes)
- Rendimiento en el benchmark de analogías (640-D, 320M de palabras):
- RNNLM: 9% semántico, 36% sintáctico.
- NNLM: 23% semántico, 53% sintáctico.
- CBOW: 24% semántico, 64% sintáctico.
- Skip-gram: 55% semántico, 59% sintáctico.
- Escalado en Google News con 6000 millones de tokens (entrenamiento distribuido con DistBelief):
- NNLM (-D): 34.2% semántico, 64.5% sintáctico, 50.8% total (tomó días de núcleos de CPU).
- CBOW (-D): 57.3% semántico, 68.9% sintáctico, 63.7% total (tomó días de núcleos de CPU).
- Skip-gram (-D): 66.1% semántico, 65.1% sintáctico, 65.6% total (tomó días de núcleos de CPU).
- Microsoft Sentence Completion Challenge: Skip-gram por sí solo alcanzó un 48.0% de precisión; combinado con un ensamble de RNNLM, alcanzó una precisión de vanguardia del 58.9%.
- Épocas frente a datos: Entrenar durante 1 época con el doble de datos tuvo un rendimiento comparable o superior al de entrenar 3 épocas sobre un conjunto menor de datos, reduciendo al mismo tiempo el tiempo total de reloj de entrenamiento.
Limitaciones y preguntas abiertas
- Métrica de evaluación por coincidencia exacta: El conjunto de prueba penaliza los sinónimos como errores (p. ej., predecir una ciudad válida equivalente o una forma plural), estableciendo un límite superior artificial inferior al 100%.
- Falta de morfología a nivel de subpalabra: Las palabras se tratan como tokens únicos; el modelo no aprovecha la estructura interna de caracteres o morfemas, lo que limita su generalización sintáctica en palabras raras o flexionadas.
- Frases de múltiples palabras: El modelo opera únicamente sobre palabras de un solo token y no maneja de forma nativa expresiones compuestas por varias palabras (como «New York»).
- Rendimiento en compleción de oraciones: Skip-gram por sí solo obtuvo una puntuación más baja (48.0%) que la similitud promedio de LSA (49.0%) en la tarea de Microsoft Sentence Completion, requiriendo su combinación con RNNLM para alcanzar resultados competitivos.
Términos clave
- Continuous Bag-of-Words Model
- Una arquitectura neuronal log-lineal (CBOW) que predice una palabra objetivo central a partir del promedio continuo de los vectores de palabras de contexto anteriores y posteriores, sin utilizar una capa oculta.
- Continuous Skip-gram Model
- Un modelo log-lineal que utiliza el vector de una palabra objetivo para predecir las palabras del contexto circundante dentro de una ventana muestreada dinámicamente.
- Hierarchical Softmax
- Una aproximación de la capa de salida que estructura el vocabulario en un árbol binario (como un árbol de Huffman), reduciendo la complejidad de evaluación de a aproximadamente .
- Semantic-Syntactic Word Relationship test set
- Un benchmark de 19 544 preguntas de analogía (8869 semánticas y 10 675 sintácticas) diseñado para evaluar los desplazamientos vectoriales utilizando la similitud coseno.
- DistBelief
- Un marco de computación distribuida desarrollado en Google utilizado para entrenar arquitecturas de redes neuronales en cientos de núcleos de CPU mediante actualizaciones de gradiente asíncronas.
- Word offset technique
- Aritmética vectorial simple (p. ej., ) utilizada para identificar palabras análogas mediante una búsqueda de vecinos más cercanos con similitud coseno.
- Huffman binary tree
- Una representación en árbol binario del vocabulario basada en la frecuencia, utilizada en la hierarchical softmax para asignar caminos más cortos a las palabras frecuentes, reduciendo los costos de evaluación.
Preguntas
¿Cuál es la principal diferencia arquitectónica entre NNLM y CBOW?
CBOW elimina por completo la capa oculta no lineal y promedia las representaciones continuas de las palabras de contexto en una capa de proyección compartida, eliminando el cuello de botella de cómputo .
¿Cómo gestiona Continuous Skip-gram las palabras de contexto a diferentes distancias?
Skip-gram muestrea palabras de contexto hasta una distancia máxima (típicamente 10), pero muestrea las palabras más distantes con menor frecuencia eligiendo aleatoriamente un tamaño de ventana para cada palabra de entrenamiento.
¿Qué modelo funciona mejor en tareas semánticas versus sintácticas?
CBOW logra una mayor precisión en analogías sintácticas (64% frente a 59% a 640-D), mientras que Skip-gram rinde significativamente mejor en analogías semánticas (55% frente a 24% a 640-D).
¿Es mejor entrenar durante múltiples épocas o utilizar más datos con menos épocas?
El artículo concluye que entrenar durante una sola época con el doble de datos produce una calidad de representación igual o superior en comparación con iterar sobre un conjunto de datos menor durante tres épocas, a la vez que se entrena con mayor rapidez.
La explicación de esta página la escribió una IA a partir del artículo y puede contener errores. Consulte el artículo para los detalles.