es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Predictando vectores de palabras en lugar de palabras (Procesamiento del Lenguaje Natural)

Me pregunto si hay intentos de predecir vectores de embedding de palabras como objetivos en arquitecturas de redes neuronales (como Transformers, Sequence-to-Sequence-Models o RNN simples) utilizando, por ejemplo, errores cuadráticos medios como función de pérdida en lugar de predecir palabras como categorías con softmax. No pude encontrar ningún artículo sobre ese tema. ¿Alguien conoce algún artículo al respecto o, de lo contrario, por qué no se hace?

Para aclarar:
Tomemos como ejemplo una arquitectura de codificador-decodificador simple como la propuesta por Cho et al. 2014 (https://arxiv.org/abs/1406.1078). En modelos como estos (donde se producen secuencias de palabras), se usa comúnmente una función de activación softmax en la capa de salida para predecir palabras objetivo. Si tienes 30,000 palabras en tu vocabulario, necesitas 30,000 neuronas en la capa de salida.

Mi pregunta ahora es: en lugar de predecir palabras en la capa de salida, ¿por qué no representar las palabras objetivo como vectores? En la práctica, esto debería ser fácil de lograr cuando se utilizan representaciones vectoriales preentrenadas como fastText o vec2words. Estos espacios vectoriales describen una palabra utilizando, por ejemplo, 300 valores flotantes. Se podría buscar cada palabra objetivo en el espacio vectorial y luego utilizar los valores flotantes que describen la palabra en lugar de la palabra misma (como categoría) como objetivo. El modelo entonces predecirá los valores flotantes de la representación vectorial. Al utilizar dicho modelo para predecir una palabra (o una secuencia de palabras), simplemente utilizaríamos los valores predichos para buscar la palabra más similar en el espacio vectorial.

La ventaja de este procedimiento debería ser doble. En primer lugar, reduciría significativamente el número de neuronas en la capa de salida (de 30,000 a 300). En segundo lugar, entrenar un modelo así teóricamente conduciría a una mejor “comprensión del lenguaje” subyacente del modelo, ya que las representaciones vectoriales son semánticamente y gramaticalmente más ricas, mientras que las palabras son simplemente categorías monolíticas.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Esta es una idea interesante y hay realmente algunos documentos que exploran el uso de vectores de incrustación de palabras como objetivos en arquitecturas de redes neuronales. Uno de esos documentos es “Aprendiendo a generar opiniones y descubriendo sentimientos” de Radford et al. (https://arxiv.org/abs/1704.01444), donde los autores utilizan un modelo generativo con un espacio de incrustación de palabras como espacio objetivo. Utilizan una forma de error cuadrático medio (MSE) para entrenar el modelo, similar a lo que sugieres.

    Otro documento que explora esta idea es “Aprendizaje de representación discreta neural” de van den Oord et al. (https://arxiv.org/abs/1711.00937), el cual introduce un modelo autoregresivo neural que genera datos discretos modelando una variable latente continua con una distribución categórica. Utilizan un espacio de incrustación para representar las variables categóricas y entrenan el modelo utilizando MSE.

    Sin embargo, cabe destacar que el uso de vectores de incrustación de palabras como objetivos no siempre es el enfoque más adecuado, dependiendo de la tarea específica y el conjunto de datos. En algunos casos, predecir las categorías de palabras reales utilizando softmax puede ser más apropiado o generar mejores resultados. Además, el uso de incrustaciones de palabras como objetivos puede requerir más recursos de computación y almacenamiento, ya que los vectores pueden ser mucho más grandes que los objetivos categóricos. En última instancia, dependerá de las necesidades específicas del proyecto y de las capacidades del hardware subyacente.

Comments are closed.