redes programacion oculta neuronales neuronal libro las inteligencia historia funciones explicacion capa bias artificial activacion machine-learning nlp neural-network word2vec

machine-learning - programacion - redes neuronales libro pdf



¿Qué es una capa de proyección en el contexto de redes neuronales? (2)

Actualmente estoy tratando de comprender la arquitectura detrás del algoritmo de aprendizaje de red neuronal word2vec , para representar palabras como vectores en función de su contexto.

Después de leer el documento de Tomas Mikolov , encontré lo que él define como una capa de proyección . Aunque este término se usa ampliamente cuando se lo refiere a word2vec , no pude encontrar una definición precisa de lo que realmente es en el contexto de la red neuronal.

Mi pregunta es, en el contexto neural neto, ¿qué es una capa de proyección? ¿Es el nombre dado a una capa oculta cuyos enlaces a los nodos anteriores comparten los mismos pesos? ¿Sus unidades realmente tienen una función de activación de algún tipo?

 Se puede encontrar otro recurso que también se refiere más ampliamente al problema en este tutorial , que también se refiere a una capa de proyección alrededor de la página 67.


La capa de proyección mapea los índices de palabras discretas de un contexto n-gram a un espacio vectorial continuo.

Como se explica en esta thesis

La capa de proyección se comparte de manera que para contextos que contienen la misma palabra varias veces, se aplica el mismo conjunto de pesos para formar cada parte del vector de proyección. Esta organización aumenta efectivamente la cantidad de datos disponibles para entrenar los pesos de la capa de proyección ya que cada palabra de cada patrón de entrenamiento de contexto contribuye individualmente a los cambios en los valores de peso.

esta figura muestra la topología trivial de cómo la salida de la capa de proyección se puede ensamblar eficientemente copiando columnas de la matriz de pesos de la capa de proyección.

Ahora, la capa oculta:

La capa oculta procesa la salida de la capa de proyección y también se crea con un número de neuronas especificado en el archivo de configuración de topología.

Editar : una explicación de lo que está sucediendo en el diagrama

Cada neurona en la capa de proyección está representada por un número de pesos igual al tamaño del vocabulario. La capa de proyección difiere de las capas oculta y de salida al no usar una función de activación no lineal. Su propósito es simplemente proporcionar un medio eficiente de proyectar el contexto de ngemas dado en un espacio vectorial continuo reducido para su posterior procesamiento por capas ocultas y de salida capacitadas para clasificar tales vectores. Dada la naturaleza de uno o cero de los elementos del vector de entrada, la salida de una palabra particular con índice i es simplemente la i-ésima columna de la matriz entrenada de pesos de la capa de proyección (donde cada fila de la matriz representa los pesos de una sola neurona )


La continuous bag of words se utiliza para predecir una sola palabra dado sus entradas anteriores y futuras: por lo tanto, es un resultado contextual.

Las entradas son las ponderaciones calculadas de las entradas anteriores y futuras: y todos reciben nuevos pesos de forma idéntica: así, el recuento de complejidad / características de este modelo es mucho más pequeño que muchas otras arquitecturas NN.

RE: what is the projection layer : del papel que citó

la capa oculta no lineal se elimina y la capa de proyección se comparte para todas las palabras (no solo para la matriz de proyección); por lo tanto, todas las palabras se proyectan en la misma posición (sus vectores son promediados).

Entonces, la capa de proyección es un único conjunto de shared weights y no se indica ninguna función de activación.

Tenga en cuenta que la matriz de ponderación entre la entrada y la capa de proyección se comparte para todas las posiciones de palabra de la misma manera que en el NNLM

Por lo tanto, la hidden layer está representada por este único conjunto de pesos compartidos, ya que implica correctamente que es idéntico en todos los nodos de entrada.