graph convolutional neural networks for web{scale...
TRANSCRIPT
![Page 1: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/1.jpg)
Graph Convolutional Neural Networks for
Web–Scale Recommender Systems
Ying et al., 2018
Ivan Wolf - Rodolfo Palma
25 de octubre, 2018
![Page 2: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/2.jpg)
Outline
Introduccion
Formulacion del problema
Arquitectura del modelo
Entrenamiento
Experimentos
Conclusiones
1
![Page 3: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/3.jpg)
Introduccion
Outline
Introduccion
Formulacion del problema
Arquitectura del modelo
Entrenamiento
Experimentos
Conclusiones
2
![Page 4: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/4.jpg)
Introduccion
Metodos basados en deep learning han tenido un rol crıtico en
aplicaciones de sistemas recomendadores
• Representaciones aprendidas mediante modelos profundos pueden
ser usadas para complementar algoritmos de recomendacion
tradicionales como filtrado colaborativo.
• Grafos son fundamentales para aplicaciones de recomendacion
debido a que son capaces de sacar provecho a las interacciones
(ıtem-ıtem, ıtem-usuario, etc.) ademas de estructura social.
• Surgen arquitecturas conocidas como Graph Convolutional
Networks (GCNs).
3
![Page 5: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/5.jpg)
Introduccion
GCNs aprenden a agregar de forma iterativa informacion de
contenida en la vecindad de un nodo
• En este contexto, una operacion de convolucion transforma y agrega
informacion de la vecindad inmediata de un nodo.
• Las GCNs han establecido nuevos estados del arte en multiples
tareas. Sin embargo, aun esta pendiente transferir esos avances a
ambientes de produccion del mundo real.
• Principal desafıo es escalar los procesos de entrenamiento e
inferencia a grafos con billones de nodos y decenas de millones de
arcos.
4
![Page 6: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/6.jpg)
Formulacion del problema
Outline
Introduccion
Formulacion del problema
Arquitectura del modelo
Entrenamiento
Experimentos
Conclusiones
5
![Page 7: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/7.jpg)
Formulacion del problema
Pinterest es una aplicacion que permite compartir pines y agru-
parlos en tableros
Pinterest es el grafo generado por usuarios mas grande del mundo: 2B de
pines, 1B de tableros y 18B de arcos que los relacionan. 6
![Page 8: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/8.jpg)
Formulacion del problema
La tarea es generar representaciones de alta calidad de los pines
para formular recomendaciones
Se modela el ambiente de Pinterest de la siguiente forma:
• Un conjunto I que contiene a todos los pines.
• Un conjunto C que contiene a todos los tableros.
• Cada pin u ∈ I esta asociado a atributos xu ∈ Rd .
Facilmente generalizable, observando que I es un conjunto de ıtems y Cuna coleccion definida por algun usuario.
La idea es aprovechar los xu, ademas de la
estructura del grafo, para generar representaciones
Por conveniencia, cuando se describa el algoritmo nos referiremos al
conjunto completo de nodos V = I ∪ C.
7
![Page 9: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/9.jpg)
Arquitectura del modelo
Outline
Introduccion
Formulacion del problema
Arquitectura del modelo
Entrenamiento
Experimentos
Conclusiones
8
![Page 10: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/10.jpg)
Arquitectura del modelo
El algoritmo de convolucion es responsable de generar el em-
bedding zu para el nodo u
Se transforman las representaciones zv , ∀v ∈ N(u) de los vecinos de u a
traves de una red neuronal densa y luego se aplica una funcion de
agregacion.
9
![Page 11: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/11.jpg)
Arquitectura del modelo
El vecindario del nodo u se define como los T nodos que ejercen
la mayor influencia en el nodo u
• Se simula una caminata aleatoria desde el nodo u y se computa la
norma L1 del conteo de visitas a nodos hechos por la caminata.
• Luego, se consideran los top-T nodos visitados desde el nodo u
como el vecindario de u.
10
![Page 12: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/12.jpg)
Arquitectura del modelo
Se pueden apilar multiples ejecuciones del algoritmo CONVOLVE
para ganar mas informacion de la estructura del grafo
11
![Page 13: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/13.jpg)
Entrenamiento
Outline
Introduccion
Formulacion del problema
Arquitectura del modelo
Entrenamiento
Experimentos
Conclusiones
12
![Page 14: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/14.jpg)
Entrenamiento
El objetivo es encontrar parametros que hagan que los embed-
dings de ıtems relacionados sean cercanos
Para lograrlo se emplea una funcion de perdida basada en max–margin:
Donde:
• Pn(q) es una distribucion de ejemplos no relevantes para el ıtem q.
• (zq, zi ) es una tupla de embeddings de nodos que se encuentran
relacionados.
13
![Page 15: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/15.jpg)
Entrenamiento
Se diseno un patron productor–consumidor para minimizar el
acceso a la CPU durante el computo de la GPU
• Es infactible almacenar representaciones del grafo completo en la
GPU.
• Un productor basado en CPU se encarga de re–indexar el grafo
completo en un sub–grafo G ′ = (V ′,E ′) que contiene los nodos y
features relevantes al batch.
• El sub–grafo G ′ es entregado a la GPU al principio de cada iteracion
del algoritmo CONVOLVE.
14
![Page 16: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/16.jpg)
Entrenamiento
Se realiza una busqueda eficiente de vecinos cercanos mediante
locality sensitive hashing
• Los embeddings generados por PinSage son usados para generar
recomendaciones.
• Se usa directamente el espacio de embeddings aprendido para
realizar recomendaciones mediante vecinos cercanos.
• Dado un ıtem de consulta q, se utiliza hashing sensible a la localidad
para computar de forma eficiente los nodos cercanos en el espacio.
15
![Page 17: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/17.jpg)
Entrenamiento
Todas las herramientas mostradas anteriormente entregan atrib-
utos de escalabilidad al sistema
• Max–margin based loss function.
• Construccion del batch mediante patron productor–consumidor.
• Busqueda de vecinos cercanos eficiente mediante hashing.
• Entrenamiento paralelo en multiples GPUs.
• Negative sampling.
• Calculo de embeddings mediante MapReduce.
16
![Page 18: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/18.jpg)
Experimentos
Outline
Introduccion
Formulacion del problema
Arquitectura del modelo
Entrenamiento
Experimentos
Conclusiones
17
![Page 19: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/19.jpg)
Experimentos
Se evaluan los embeddings en dos tareas
1. Recomendar pins relativos a un pin query q.
Se seleccionan los K vecinos mas cercanos en el espacio de
embeddings de q. Evaluan con metricas offline y desarrollan un
estudio de usuario.
2. Recomendar pins en el homefeed de un usuario.
Se seleccionan los pins mas cercanos a uno de los ultimos pin que el
usuario haya guardado. Realizan A/B testing para medir el impacto
en el usuario.
18
![Page 20: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/20.jpg)
Experimentos
En el entrnamiento se definen ejemplos positivos, negativos y
negativos difıciles
Ejemplos positivos (q, i) se construye en base a datos historicos. En
particular, identifican cuando un usuario interactua con un pin i
inmediatamente despues de haber interactuado con q.
El resto de los pares de pins son considerados ejemplos negativos.
Los ejemplos negativos difıciles son los pares de pins que de alguna
forma son relativos pero ”no tanto”.
En total, utilizan 7.500.000.000 ejemplos para entrenar y testear.
Equivalente a 18TB.
19
![Page 21: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/21.jpg)
Experimentos
La representacion inicial de un pin es la concatenacion de dis-
tintos embeddings
Para generar el vector de caracterısticas xq de un pin q se concatenan
• Visual embedding. Sexta capa fully connected de una arquitectura
VGG-16. (4,096 dimensiones)
• Textual annotation embedding. Modelo basado en Word2Vec. (256
dimensiones)
• El logaritmo del grado del node en el grafo.
20
![Page 22: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/22.jpg)
Experimentos
PinSage se compara contra 4 modelos del estado del arte
• Visual embeddings: Visual. Usa los vecinos crecanos de embeddings
obtenidos por una CNN para recomendar.
• Annotations embeddings: Annotation. Usa los vecinos cercanos de
embeddings obtenidos de las anotaciones.
• Combined embeddings: Combined. Concatenan ambos embedding
usando una MLP de dos capas.
• Graph-based method: Pixie. Metodo basado en caminatas
aleatorias. Es el que usan en produccion actualmente.
21
![Page 23: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/23.jpg)
Experimentos
Se usan las metricas hit-rate y MRR para evaluar el rendimiento
offline
Para cada par de pins (q, i) se usa q como query y se calculan sus K
vecinos mas cercanos NNq. Definen el hit-rate como la fraccion de
consultas q tales que i ∈ NNq.
Tambien evaluan usando Mean Reciprocal Rank (MRR) que toma en
cuenta el rank del item j en las recomendaciones para el item q.
MRR =1
n
∑(q,i)∈L
1
dRi,q/100e
Donde Ri,q es el rank del item i en relacion a los items recomendados
para q.
22
![Page 24: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/24.jpg)
Experimentos
PinSage mejora un 150% el hit-rate y 60% el MRR relativo al
metodo combinado
23
![Page 25: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/25.jpg)
Experimentos
El usuario debe escoger entre dos pin generados por dos mod-
elos cual se parece mas al pin query q
24
![Page 26: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/26.jpg)
Experimentos
En el estudio de usuario PinSage vence a sus competidores pero
no por mucho margen
25
![Page 27: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/27.jpg)
Experimentos
El numero de vecinos influye en el rendimiento del modelo
Se evaluan cuantos vecinos considerar en el importance pooling.
Una vez entrenado el modelo, se pueden computar los embeddings para
cualquier nodo del grafo, incluso los nuevos.
26
![Page 28: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/28.jpg)
Experimentos
PinSage distribuye los pins de de acuerdo a su semantica
27
![Page 29: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/29.jpg)
Conclusiones
Outline
Introduccion
Formulacion del problema
Arquitectura del modelo
Entrenamiento
Experimentos
Conclusiones
28
![Page 30: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/30.jpg)
Conclusiones
Conclusiones
PinSage es un algoritmo GCN altamente escalable, capaz de aprender
embeddings para nodos en un grafo en escala web.
Los test A/B y estudios de usuarios demuestran la calidad de estos
embeddings.
PinSage puede ser extendido a otro tipo de problemas de escala similar.
29
![Page 31: Graph Convolutional Neural Networks for Web{Scale ...dparra.sitios.ing.uc.cl/classes/recsys-2018-2/... · El algoritmo de convoluci on es responsable de generar el em-bedding z u](https://reader035.vdocument.in/reader035/viewer/2022081514/5ebd4f01f6cc8c134468f7fa/html5/thumbnails/31.jpg)
Conclusiones
Referencia
Ying, R., He, R., Chen, K., Eksombatchai, P., Hamilton, W. L.,
Leskovec, J. (2018). Graph Convolutional Neural Networks for Web-Scale
Recommender Systems. arXiv preprint arXiv:1806.01973.
30