No soy un experto en word2vec, pero al leer Rong, X. (2014). Word2vec Parameter Learning Explicado y desde mi propia experiencia NN, simplificaría el razonamiento para esto:
- Softmax jerárquico proporciona una mejora en la eficiencia del entrenamiento ya que el vector de salida está determinado por un recorrido en forma de árbol de las capas de red; una muestra de entrenamiento dada solo tiene que evaluar / actualizar las unidades de red , no . Esto esencialmente amplía los pesos para soportar un vocabulario amplio: una palabra dada está relacionada con menos neuronas y viceversa.O(log(N))O(N)
- El muestreo negativo es una forma de muestrear los datos de entrenamiento, similar al descenso de gradiente estocástico, pero la clave es buscar ejemplos de entrenamiento negativos. Intuitivamente, entrena en función de los lugares de muestreo en los que podría haber esperado una palabra, pero no encontró una, lo que es más rápido que entrenar un corpus completo en cada iteración y tiene sentido para palabras comunes.
Los dos métodos no parecen ser exclusivos, teóricamente, pero de todos modos parece ser por eso que serían mejores para palabras frecuentes e infrecuentes.