La vida pasada de Metapath2vec
Los conocimientos más importantes que puede involucrar este artículo y sus fuentes:
word2vec: Estimación eficiente de la representación de palabras en el espacio vectorial
Dirección del artículo: Trabajar y supervisar aprendizaje de tareas y entrenamiento para encontrar las representaciones más adecuadas y explorar sus conexiones intrínsecas.
Una de las primeras aplicaciones de incrustación de redes neuronales es word2vec.
Word2Vec es un modelo que aprende conocimiento semántico de grandes cantidades de corpus de texto sin supervisión y se usa ampliamente en el procesamiento del lenguaje natural (PLN). Entonces, ¿cómo nos ayuda con el procesamiento del lenguaje natural? Word2Vec en realidad representa la información semántica de las palabras a través del aprendizaje de texto, es decir, haciendo que palabras semánticamente similares estén muy cerca en un espacio de incrustación. La incrustación es en realidad una especie de mapeo, que asigna palabras del espacio original a un nuevo espacio multidimensional, es decir, incrusta el espacio original en un nuevo espacio.
Por ejemplo:
Hay cuatro palabras: hombre, mujer, rey, reina. Por lo general, esperamos que los resultados de incrustación de estas cuatro palabras tengan relaciones similares (de distancia). La distancia entre un hombre y una mujer es menor que la distancia entre un hombre y una reina. Asimismo, la distancia entre el hombre y el rey es casi la misma que la distancia entre la mujer y la reina, pero menor que la distancia entre el hombre y la reina y la distancia entre la mujer y el rey.
En el modelo Word2Vec, existen dos modelos principales: Skip-Gram y CBOW. Intuitivamente, tabular consiste en predecir el contexto dado la palabra de entrada. CBOW predice el contexto dado de la palabra de entrada. Como se muestra a continuación.
La siguiente figura es la estructura de red de CBOW. La entrada son varias palabras, generalmente se suman y luego se promedian, y la función de pérdida final permanece sin cambios.
La siguiente figura muestra la estructura de red de skip-gram. Ingrese una palabra y prediga las palabras circundantes.
Podemos ver que si queremos calcular el modelo relevante, el coste computacional es muy alto para nosotros. Entonces hay dos métodos: softmax jerárquico y muestreo negativo. Hablemos un poco sobre el método jerárquico softmax. Su esencia es convertir un problema de clasificación N en un problema de clasificación log (N) de dos niveles mediante el establecimiento de un modelo de árbol. El foco de hoy es el muestreo negativo.
La idea del muestreo negativo es más simple y directa: para lidiar con demasiadas diferencias en los vectores de salida que deben actualizarse en cada iteración, solo actualizamos una de las muestras.
Esta es la parte central de esta idea, y su proceso de implementación es el siguiente:
Entrenar nuestra red neuronal en muestras de entrenamiento (palabra de entrada: "Fox", palabra de salida: " Quick") En Internet, "fox" y "kuai" están codificados con one-hot. Si el tamaño del sonido es 10000, en la capa de salida, esperamos que el nodo neuronal correspondiente a la palabra "rápido" genere 1, y los otros 9999 deberían generar 0. Las palabras correspondientes a estos 9999 nodos neuronales cuya salida esperamos que sea 0 se denominan palabras "negativas". Cuando utilizamos muestreo negativo, seleccionaremos aleatoriamente una pequeña cantidad de palabras negativas (como 5 palabras negativas) para actualizar los pesos correspondientes. También actualizaremos el peso de nuestra palabra "positiva" (en el ejemplo anterior, la palabra significa "rápido").
Aquí está el protagonista número uno de hoy, la expresión de la función objetivo de muestreo negativo:
Por lo tanto, esta función objetivo puede entenderse como dos restricciones:
Word2vec Convierte palabras en vectores. Como sugiere el nombre, node2vec en realidad convierte los nodos de redes complejas en vectores. La idea central es generar un paseo aleatorio, muestrear el paseo aleatorio para obtener una combinación de (nodo, contexto) y luego modelar dicha combinación procesando vectores de palabras para obtener la representación de los nodos de la red.
Las ideas de Deepwalk y node2vec son muy consistentes.
En comparación con deepwalk, node2vec ha realizado algunas innovaciones en el proceso de generación de caminata aleatoria. No compararé los dos en profundidad aquí, pero sacaré una conclusión. También me gustaría invitar al protagonista número 2 de hoy, la estructura central de este método de codificación: personalmente lo considero una estructura de "arriba y abajo".
Imagen de arriba: intenta deambular entre tus conexiones y recopilarlas en orden. La estrategia de deambulación específica depende de la información que desee recopilar.
Abajo: la secuencia recopilada se procesa como texto y el método posterior es similar al procesamiento de vectores de palabras.
Presentaremos brevemente este proceso usando node2vec como ejemplo.
El propósito de la secuencia es simple:
Por supuesto, tu idea de la secuencia refleja qué tipo de información quieres obtener. Como se menciona en el artículo original, el método de selección secuencial primero en amplitud o primero en profundidad expresa esencialmente la importancia de la información acumulada diferente. BFS tiende a flotar cerca del nodo inicial, lo que puede reflejar las características microscópicas de los vecinos del nodo. DFS generalmente se aleja cada vez más del nodo inicial y puede reflejar las características macroscópicas de los vecinos de un nodo. ¡entonces! ¡entonces! ¡entonces! ¡La estrategia secuencial es una respuesta directa a qué parte de la información presta más atención el operador! (El segundo protagonista aparece nuevamente)
La estrategia de paseo aleatorio propuesta en el artículo original de node2vec es en realidad una estrategia que combina BFS y DFS. Echemos un vistazo más de cerca.
La imagen de arriba muestra que acabamos de recolectar T a V, entonces, ¿quién debería ser la próxima persona afortunada? El autor del artículo original da la siguiente probabilidad de transición:
Explicación de esta distribución:
Los significados de los parámetros p y q son los siguientes:
Regresar probabilidad p:
Parámetro de acceso q:
Cuando p=1, q=1, el modo de caminar es equivalente al paseo aleatorio en DeepWalk.
Nuevamente, la estrategia secuencial refleja directamente a qué parte de la información presta más atención el operador. (Reaparece el segundo protagonista)!
En esta parte, solo enfatizamos que el autor original define la función objetivo extendiendo skipgram:
En este punto, básicamente entendemos las características estructurales de este método de incrustación (así que llamado "arriba y abajo"). Sin embargo, los métodos de contacto anteriores son todos métodos para tratar con redes homogéneas, y metapath2vec es solo uno de los métodos para tratar con redes heterogéneas.
Metapath2vec es un método de incrustación de vértices de red de información heterogénea propuesto por Dong en 2017. Metapath2vec utiliza un paseo aleatorio basado en metapath para construir la vecindad heterogénea de cada vértice y luego usa el modelo Skip-Gram para incrustar los vértices. Sobre la base de metapath2vec, el autor también propuso metapath2vec para realizar simultáneamente el modelado de asociaciones estructurales y semánticas en redes heterogéneas.
Las siguientes son las contribuciones de metapath:
Echemos un vistazo a cómo metapath2vec implementa la codificación de redes heterogéneas.
Para redes heterogéneas, el objetivo es aprender expresiones dimensionales cuya longitud sea mucho menor que la longitud del lado de la matriz de adyacencia, manteniendo al mismo tiempo la información estructural y las relaciones semánticas del gráfico.
El punto clave de esta sección es que, aunque los tipos de vértices son diferentes, los vectores de representación de diferentes tipos de vértices se asignan al mismo espacio dimensional. Debido a la existencia de heterogeneidad de la red, los métodos tradicionales de representación de incorporación de vértices basados en redes homogéneas son difíciles de aplicar de manera efectiva y directa a redes heterogéneas.
Método Metapath2vec, centrado en la mejora del orden de minería. La mejora de su proceso de formación no es evidente.
Paseo aleatorio basado en metapath
Este método de paseo aleatorio puede capturar simultáneamente las relaciones semánticas y estructurales entre diferentes tipos de vértices, promoviendo la transformación de estructuras de red heterogéneas en metapath2vec Conversión de Skip -Modelo de gramo.
Déjame darte una pista. En general, las metarutas se definen simétricamente. Por ejemplo, el esquema de la metaruta podría ser "o-a-p-v-p-a-o".
En este momento, podemos comparar el contenido de esta sección con el contenido de la secuencia 4.1 anterior para encontrar la primera contribución central de metapath: la estrategia de secuencia.
Como sugiere el nombre, las características de los vértices de redes heterogéneas se aprenden mediante la maximización de probabilidad condicional.
En este momento, invite nuevamente a nuestro protagonista número uno, la función objetivo bajo el muestreo negativo de skip-gram original:
¿Encuentra la diferencia? La diferencia esencial es muy sutil. Ni siquiera hay una diferencia. Entonces, la principal contribución de esta parte es la actualización de la "secuencia".
Arriba, vi la actualización de metapath2vec a la parte "superior". Echemos un vistazo a cómo metapath2vec actualiza "Xia".
Dos puntos importantes:
Primero, la función softmax se normaliza según el contexto de diferentes tipos de vértices, a saber:
La función objetivo aquí es la Igual que el nuestro. No existe una diferencia esencial entre los protagonistas. ¡pero! ¡pero! ¡pero! La información heterogénea de redes heterogéneas no sólo se refleja en el orden, sino también en la función objetivo. Comparé la función objetivo de metapath2vec y metapath2vec juntas:
Esto también llevó a la actualización de metapath2vec en el objetivo de "entrenamiento".
Los resultados experimentales muestran que la siguiente imagen es una captura de pantalla del artículo original. Precisión de agrupación de categorías: