Bienvenido, me llamo Miguel y en esta ocasión les traigo un tutorial.
Índice
Graficar redes neuronales y sus aplicaciones
Durante los últimos tres años, Graph Neural Networks (GNN) ha crecido exponencialmente en popularidad. Esto se debe a su capacidad para aprender de forma eficiente los datos de los gráficos. Existe una conexión de red intrincada y cohesiva detrás de la mayoría de los sistemas que define la interacción entre los componentes de la red. Esta interacción se puede representar como un gráfico. Para modelar estos sistemas, es esencial comprender la red detrás de ellos. Graph Neural Networks nos ayuda a aprovechar la estructura relacional de la red para modelarla mejor y predecir el resultado.
¿Qué es un gráfico?
Un gráfico es un tipo de datos estructurado no lineal con nodos (también llamados vértices) y aristas. Se representa matemáticamente como G (V, E). Por ejemplo, una molécula de NO₂ puede considerarse un gráfico donde el átomo de nitrógeno y dos átomos de oxígeno se consideran el nodo, y los enlaces entre los átomos se consideran bordes. Otro ejemplo de gráfico puede ser su familia, donde cada persona es un nodo y la relación entre dos personas es el límite.
Un gráfico puede tener etiquetas tanto en sus nodos como en sus bordes. Puede ser numérico o textual. Cada nodo tendrá algunas características que definen el nodo. En una gráfica de NO₂, elementos como el número atómico, el peso atómico y el número de electrones de valencia de cada nodo pueden ser sus características respectivas. Los bordes pueden tener o no características según el tipo de gráfico. En NO₂, las características de los bordes pueden ser la fuerza de unión, el tipo de unión (enlace simple o doble), etc.
Los gráficos se clasifican en muchas bases diferentes. El más común se basa en los bordes del gráfico. Estos son gráficos dirigidos y no dirigidos. En un gráfico dirigido, los bordes de un nodo a otro son direccionales, mientras que en un gráfico no dirigido, los nodos están conectados a través de bordes y no hay dirección.
Un ejemplo práctico de gráfico dirigido es Instagram. Cuando sigues a alguien, no necesariamente te seguirá a ti. En cierto sentido, esto es unidireccional. Por otro lado, las solicitudes de amistad de Facebook son un ejemplo de un gráfico no dirigido. Una vez que se acepta la solicitud de amistad, ambos pueden ver el contenido del otro.
Ejemplos de gráficos
- Redes sociales: Una red social es un gráfico donde los nodos representan personas y la relación entre dos personas es el límite. Esta relación puede ser cualquier cosa, desde un simple conocido hasta una familia.
- Moléculas: Una molécula se puede representar como un gráfico donde los nodos representan los átomos y los bordes representan el enlace entre ellos.
- Internet: Internet es un gráfico en el que los dispositivos, los enrutadores, el sitio web y los servidores son los nodos y las conexiones a Internet son los bordes.
Análisis de gráficos (elaborado)
- Clasificación de nodo – Predecir el tipo de un nodo determinado. Por ejemplo, una persona determinada en una red social puede clasificarse en función de sus intereses, creencias o características.
- Predicción de enlaces – Predecir si dos nodos están vinculados y cómo. Por ejemplo, averiguar si dos personas determinadas (nodos) tienen alguna relación entre ellas.
- Detección de comunidad – Identificar grupos de nodos densamente vinculados. Por ejemplo, averiguar si un grupo de personas tiene algún tema similar.
- Similitud de red – Mide la similitud de dos nodos / redes. Aquí puede encontrar si dos personas o dos grupos diferentes de personas son similares entre sí.
Algunas aplicaciones de Graphs Neural Networks
- Sistemas de recomendación: Las capacidades de un sistema de recomendación se pueden incrementar exponencialmente usando GNN. Con GNN, las recomendaciones se basarán en tomar prestada información de los nodos cercanos, lo que hará que la incrustación de nodos sea más precisa. Pinterest utiliza un sistema de recomendación basado en GNN.
- Abordar la desinformación: Se puede identificar un artículo falso utilizando sus enlaces. Los artículos reales se enlazan de forma más coherente, mientras que los falsos tendrán cabos sueltos. Según un artículo de 2016 titulado «Desinformación en la web», los humanos pueden detectar un artículo falso 66 de cada 100 veces, mientras que un GNN puede detectarlo 86 de cada 100 veces.
- Desarrollo de fármacos: Todas las moléculas se pueden representar mediante un gráfico. Usando GNN, es posible modelar redes complejas como redes de interacción proteína-proteína (PPI) y redes metabólicas. Este modelo ayuda a desarrollar fármacos mejores y estables para las enfermedades.
- Polarización en Twitter: Dependiendo de las publicaciones que le gustan a una persona y de las personas que sigue, es posible detectar si una persona está polarizada hacia una visión específica sobre un tema (político, ambiental, etc.) o no.
- Detección de círculos sociales: Utilizando GNN, es posible detectar el círculo social de una persona en función de su interacción con los demás. Este círculo puede ser compañeros de trabajo, amigos de la universidad, miembros de la familia, personas de la misma clase, etc.
¿Por qué no se pueden aplicar convoluciones a gráficos?
Las imágenes tienen un tamaño fijo y datos de estructura basados en cuadrículas con una localidad espacial definida. Por otro lado, los gráficos tienen tamaños arbitrarios, topología compleja y una estructura no euclidiana. Tampoco tiene un orden de nodo fijo. Como todos sabemos, las redes neuronales se definen para tamaños, cuadrículas y estructuras específicas. Por tanto, las convoluciones no se pueden aplicar directamente a los gráficos.
Conclusión
Escribiré sobre la transformación de los gráficos en matrices como la matriz de adyacencia, la matriz de incidencia, la matriz de grados y la matriz laplaciana en los próximos blogs. Además, discutiré diferentes enfoques para usar convoluciones en gráficos y sus ventajas y desventajas, crear una incrustación de nodo del gráfico y propagación hacia adelante en GNN.
Gracias por leer.
Añadir comentario