Ambas arquitecturas describen cómo la red neuronal “aprende” las representaciones de palabras subyacentes para cada palabra. Dado que el aprendizaje de representaciones de palabras es esencialmente no supervisado, necesita alguna forma de “crear” etiquetas para entrenar el modelo. Skip-gram y CBOW son dos formas de crear la “tarea” para la red neuronal: puede pensar en esto como la capa de salida de la red neuronal, donde creamos “etiquetas” para la entrada dada (que depende de la arquitectura) .
Para las dos descripciones a continuación, suponemos que la palabra actual en una oración es [math] w_i [/ math].
CBOW : La entrada al modelo podría ser [matemáticas] w_ {i-2}, w_ {i-1}, w_ {i + 1}, w_ {i + 2} [/ matemáticas], las palabras anteriores y siguientes de la palabra actual en la que estamos La salida de la red neuronal será [math] w_i [/ math]. Por lo tanto, puede pensar en la tarea como ” predecir la palabra dado su contexto ”
Tenga en cuenta que la cantidad de palabras que usamos depende de su configuración para el tamaño de la ventana.
- Necesito solicitar experiencia laboral este verano. ¿Cómo debo preguntar a las empresas si lo ofrecen? ¿Por teléfono o por correo electrónico?
- ¿Cómo presentarías la computación paralela a un entrevistador que sabe poco al respecto?
- ¿Qué tan difícil es especializarse en CS en UIUC como estudiante?
- Si tengo n computadoras que ejecutan un programa Python, ¿cómo sincronizo los relojes de esas computadoras para que todas acepten menos de 0.1 milisegundos?
- ¿Vale la pena tomar la rama de TI de NIT Allahabad para una persona interesada en CS?
Saltar-gramo : la entrada al modelo es [matemática] w_i [/ matemática], y la salida podría ser [matemática] w_ {i-1}, w_ {i-2}, w_ {i + 1}, w_ { i + 2} [/ matemáticas]. Entonces la tarea aquí es ” predecir el contexto dado una palabra “. Además, las palabras más distantes tienen menos peso al muestrearlas al azar. Cuando define el parámetro de tamaño de ventana, solo configura el tamaño máximo de ventana. El tamaño real de la ventana se elige aleatoriamente entre 1 y el tamaño máximo para cada muestra de entrenamiento, lo que resulta en palabras con la distancia máxima observada con una probabilidad de 1 / c, mientras que las palabras directamente al lado de la palabra dada siempre se observan (!). (corrección gracias a Christina Korger )
De acuerdo con Mikolov:
Skip-gram: funciona bien con una pequeña cantidad de datos de entrenamiento, representa bien incluso palabras o frases raras.
CBOW: varias veces más rápido para entrenar que el salto de gramo, precisión ligeramente mejor para las palabras frecuentes
Esto puede ser aún más complicado si considera que hay dos formas diferentes de entrenar los modelos: el softmax jerárquico normalizado y el muestreo negativo no normalizado. Ambos funcionan de manera muy diferente.
lo que tiene sentido ya que con el salto de gramo, puede crear muchas más instancias de entrenamiento a partir de una cantidad limitada de datos, y para CBOW, necesitará más, ya que está condicionando el contexto, lo que puede ser exponencialmente enorme.