【Notes papier】KDD2019 | KGAT : Réseau d'attention du graphe de connaissances pour la recommandation

insérez la description de l'image ici

Abstrait

Pour une meilleure recommandation, non seulement l'interaction utilisateur-élément doit être modélisée, mais également les informations de relation doivent être prises en compte

La machine de factorisation de la méthode traditionnelle traite chaque interaction comme une instance indépendante, mais ignore la relation entre les éléments (par exemple : le réalisateur d'un film est également l'acteur d'un autre film)

Relation d'ordre supérieur : connectez deux éléments avec un ou plusieurs attributs de lien

KG+graphique utilisateur-item+relations d'ordre supérieur—>KGAT

Propager de manière récursive l'intégration des nœuds voisins (peut-être des utilisateurs, des éléments, des attributs) pour mettre à jour l'intégration de son propre nœud et utiliser le mécanisme d'attention pour distinguer l'importance des nœuds voisins

Introduction

insérez la description de l'image ici

u 1 u_1tu1est l'utilisateur cible auquel la recommandation doit être fournie. Les cercles jaunes et gris indiquent les utilisateurs importants et les éléments découverts par des relations d'ordre supérieur mais ignorés par les méthodes traditionnelles.

Par exemple, utilisateur u 1 u_1tu1regardé le film i 1 i_1je1, la méthode CF se concentre également sur la visualisation des i 1 i_1je1L'historique des utilisateurs similaires de u 4 u_4tu4u5 u_5tu5, tandis que l'apprentissage supervisé se concentre sur la relation avec i 1 i_1je1ont le même attribut e 1 e_1e1film i 2 i_2je2, évidemment, ces deux types d'informations sont complémentaires pour la recommandation, mais l'apprentissage supervisé existant ne parvient pas à unifier les deux, par exemple, ici i 1 i_1je1Somme i 2 i_2je2r 2 r_2r2Les attributs sont tous e 1 e_1e1, mais il échoue à passer r 3 r_3r3atteindre i 3 i_3je3je 4 je_4je4, car il les traite comme des parties indépendantes et ne peut pas prendre en compte la relation d'ordre supérieur dans les données, par exemple, les utilisateurs dans le cercle jaune ont regardé le même réalisateur e 1 e_1e1Autres films de i 2 i_2je2, ou le film dans le cercle gris est également lié à e 1 e_1e1Il existe d'autres relations. Il s'agit également d'informations importantes pour faire des recommandations.
u 1 ⟶ r 1 je 1 ⟶ - r 2 e 1 ⟶ r 2 je 2 ⟶ - r 1 { u 2 , u 3 } , u 1 ⟶ r 1 je 1 ⟶ - r 2 e 1 ⟶ r 3 { je 3 , i 4 } , \begin{array}{l} u_{1} \stackrel{r_{1}}{\longrightarrow} i_{1} \stackrel{-r_{2}}{\longrightarrow} e_{1} \ stackrel{r_{2}}{\longrightarrow} i_{2} \stackrel{-r_{1}}{\longrightarrow}\left\{u_{2}, u_{3}\right\}, \\ u_{ 1} \stackrel{r_{1}}{\longrightarrow} i_{1} \stackrel{-r_{2}}{\longrightarrow} e_{1} \stackrel{r_{3}}{\longrightarrow}\left\ {i_{3}, i_{4}\right\}, \end{tableau}tu1r1je1r2e1r2je2r1{ tu2,tu3},tu1r1je1r2e1r3{ je3,je4},

Il ya un problème

Exploiter ces informations de haut niveau est un défi :

1) Le nombre de nœuds ayant des relations d'ordre élevé avec les utilisateurs cibles augmente fortement à mesure que l'ordre augmente, ce qui exerce une pression de calcul sur le modèle

2) Les relations d'ordre supérieur contribuent de manière inégale aux prédictions.

À cette fin, l'article propose le modèle Knowledge Graph Attention Network (KGAT) , qui met à jour l'intégration d'un nœud en fonction de l'intégration de ses voisins, et effectue de manière récursive cette propagation d'intégration pour capturer les connexions d'ordre élevé dans une complexité temporelle linéaire. Un mécanisme d'attention est en outre utilisé pour apprendre le poids de chaque voisin pendant la propagation.

GNN->KGAT

1. Propagation d'intégration récursive, en utilisant l'intégration de nœud de domaine pour mettre à jour l'intégration de nœud actuelle

2. Utilisez le mécanisme d'attention pour apprendre le poids de chaque voisin pendant la propagation

avantage:

1. Par rapport à la méthode basée sur le chemin, l'étalonnage manuel du chemin est évité

2. Incorporer des relations d'ordre supérieur directement dans les modèles prédictifs par rapport aux méthodes basées sur des règles

3. Cadre modèle

insérez la description de l'image ici

3.1 Définition du problème

Entrée : graphe de connaissances collaboratif G \mathcal GGG \mathcal GG interagit avec les données de l'élément utilisateurG 1 \mathcal G_1g1Et le graphe de connaissance G 2 \mathcal G_2g2composition

Sortie : utilisateur uuu point 击 élémentiii taux généraly ^ ui \hat y_{ui}y^tu je

Connexions d'ordre supérieur : L'exploitation des connexions d'ordre supérieur est cruciale pour effectuer des recommandations de haute qualité. Nous allons LLConnexions d'ordre L ( LLL - connectivité d'ordre) est défini comme un chemin de relation multi-sauts :
e 0 ⟶ r 1 e 1 ⟶ r 2 . . . ⟶ r L e L e_0 \stackrel {r_1}{\longrightarrow} e_1 \stackrel {r_2}{ \longrightarrow } \ ... \ \stackrel{r_L}{\longrightarrow}e_L\\e0r1e1r2 ... rLeL

3.2 Couche d'intégration

L'article utilise le modèle TransR dans l'intégration de graphes de connaissances. Son idée principale est que différentes entités ont des significations différentes sous différentes relations, de sorte que les entités doivent être projetées dans un espace relationnel spécifique. Si hhh etttt arrrelation r , alors ils sont enrrLa représentation de l'espace relationnel r doit être proche, sinon il doit être éloigné, et la formule est :
ehr + er ≈ etr \mathbf e_h^r + \mathbf e_r \approx \mathbf e_t^r \\ehr+eretr
Ici , et ∈ R d \mathbf e_h, \mathbf e_t \in \mathbb R^deh,etRd ,er ∈ R k \mathbf e_r \in \mathbb R^kerRk esth, t, rh, t, rh , t , plongement de r .

它的得分为:
g ( h , r , t ) = ∣ ∣ W reh + er − W ret ∣ ∣ 2 2 g(h,r,t)=||\mathbf W_r\mathbf e_h+\mathbf e_r-\mathbf W_r\mathbf e_t||_2^2\\g ( h ,r ,t )=∣∣ Wreh+erOret22
其中W r ∈ R k × d \mathbf W_r \in \mathbb R^{k\times d}OrRk × d est la relationrrMatrice de transformation pour r , transformant les entités de ddProjection d' un espace solide de dimension d sur kkdans l'espace relationnel de dimension k . g ( h , r , t ) g(h, r, t)g ( h ,r ,Plus la valeur de t ) est faible , plus la probabilité que le triplet soit vrai est élevée.

Enfin, utilisez la perte de classement par paires pour mesurer l'effet :
LKG = ∑ ( h , r , t , t ′ ) ∈ τ − ln σ ( g ( h , r , t ′ ) − g ( h , r , t ) ) \ mathcal L_{KG} = \sum_{(h,r,t,t^{'})\in \tau} -ln \ \sigma(g(h,r,t^{'})-g(h, r ,t))\\LKG _=( h , r , t , t )τl n σ ( g ( h , r ,t )g ( h ,r ,t ))
Le sens de cette formule est de rendre la valeur de l'échantillon négatif moins la valeur de l'échantillon positif aussi grande que possible. Le choix des échantillons négatifs est d'utiliser ttt est remplacé aléatoirement par l'un de l'autre.

3.3 Couches de propagation d'intégration attentive

Diffusion de l'information

Considérer l'entité hhh , on utiliseN h = { ( h , r , t ) ∣ ( h , r , t ) ∈ G } \mathcal N_h = \{ (h,r,t)|(h,r,t) \in \ mathcal G\}Nh={( h ,r ,t ) ( h ,r ,t )G } pour ceux qui se terminent parhhh est un triplet d'entités principales. Calculerhhego -réseau :
e N h = ∑ ( h , r , t ) ∈ N h π ( h , r , t ) et \mathbf e_{\mathcal N_h} = \sum _ {(h,r,t) \in \mathcal N_h} \pi(h,r,t) \mathbf e_t\\eNh=( h , r , t ) Nhπ ( h ,r ,t ) et
π ( h , r , t ) \pi(h,r,t)π ( h ,r ,t ) signifie que dans la relationrrr dettt àhhLa quantité d'informations pour h .

connaissance perception attention

Poids π ( h , r , t ) \pi(h,r,t) dans la diffusion de l'informationπ ( h ,r ,t ) est atteint par le mécanisme de l'attention
π ( h , r , t ) = ( W ret ) T tanh ( W reh + er ) \pi(h,r,t) = (\mathbf W_r \mathbf e_t)^Ttanh ( \mathbf W_r \mathbf e_h+\mathbf e_r)\\π ( h ,r ,t )=( Wret)T tanh(Wreh+er)
Ici, utilisez tanh tanht anh en tant que fonction d'activation peut rapprochereh \mathbf e_hehet \mathbf e_tetont des scores d'attention plus élevés. Utilisation de softmax softmaxdonc f t ma x归一化:
π ( h , r , t ) = exp ( π ( h , r , t ) ) ∑ ( h , r ′ , t ′ ) ∈ N hexp ( π ( h , r ′ , t ′ ) ) \pi(h,r,t)=\frac{exp(\pi(h,r,t))}{\sum_{(h,r^{'},t^{'}) \ dans \mathcal N_h} exp(\pi(h,r^{'},t^{'}))}\\π ( h ,r ,t )=( h , r ,t )Nhe x p ( π ( h ,r ,t ))e x p ( π ( h ,r ,t ) )
Enfin, en vertu de π ( h , r , t ) \pi(h,r,t)π ( h ,r ,t ) Nous pouvons savoir quels nœuds voisins devraient recevoir plus d'attention.

agrégation d'informations

finira par hhLa représentation de h dans l'espace solideeh \mathbf e_hehEt sa représentation en réseau du moi e N h \mathbf e_{\mathcal N_h}eNhagrégé comme hhh新这些:
eh ( 1 ) = F ( eh , e N h ) \mathbf e_h^{(1)} = f(\mathbf e_h,\mathbf e_{\mathcal N_h})\\eh( 1 )=f ( eh,eNh)
f ( ⋅ ) f(·)f ( ) de la manière suivante :

  1. Agrégateur GCN :
    f GCN = Leaky Re LU ( W ( eh + e N h ) ) f_{GCN}=LeakyReLU(\mathbf W(\mathbf e_h+\mathbf e_{\mathcal N_h}))FGCN=Fuite R e LU ( W ( e _ _ _h+eNh))
  2. Agrégateur GraphSage :
    f Graph Sage = Leaky Re LU ( W ( eh ∣ ∣ e N h ) ) f_{GraphSage} = LeakyReLU( \mathbf W(\mathbf e_h || \mathbf e_{\mathcal N_h}); )FG r a p h S a g e=Fuite R e LU ( W ( e _ _ _h∣∣ eNh))
  3. Agrégateur bi-interaction:
    f B i − I nteraction = L eaky R e LU ( W 1 ( eh + e N h ) ) + L eaky R e LU ( W 2 ( eh ⊙ e N h ) ) f_{Bi-Interaction } = LeakyReLU(\mathbf W_1(\mathbf e_h+\mathbf e_{\mathcal N_h}))+LeakyReLU(\mathbf W_2(\mathbf e_h\odot\mathbf e_{\mathcal N_h}))FB je - Je n t er a c t je o n=Fuite R e LU ( W _ _ _1( eh+eNh))+Fuite R e LU ( W _ _ _2( eheNh))

Propagation d'ordre supérieur :

Nous pouvons en outre empiler davantage de couches de propagation pour explorer des informations de connectivité d'ordre supérieur et collecter des informations propagées à partir de voisins de saut supérieur, donc en lll步中:
eh ( l ) = F ( eh ( l - 1 ) , e N h ( l - 1 ) ) \mathbf e_h^{(l)} = f( \mathbf e_h^{(l-1)} ,\mathbf e_{\mathcal N_h}^{(l-1)})\\eh( l )=f ( eh( l - 1 ),eNh( l - 1 ))
Soit N h ( l - 1 ) = ∑ ( h , r , t ) ∈ N h π ( h , r , t ) et ( l - 1 ) \mathbf e_{\mathcal N_h}^{(l-1) } = \sum_{(h,r,t)\in\mathcalN_h}\pi(h,r,t)\mathbf e_t^{(l-1)} ;eNh( l - 1 )=( h , r , t ) Nhπ ( h ,r ,t ) et( l - 1 ), et ( l − 1 ) \mathbf e_t^{(l-1)}et( l - 1 )Également à travers les étapes ci-dessus à partir de et 0 \mathbf e_t^0et0possédé.

3.4 Couche de prédiction

Lors de l'exécution de LLAprès la couche L , nous aurons éventuellement l'utilisateur uuu的多山运动:{ eu ( 1 ) , . . . , eu ( L ) } \{\mathbf e_u^{(1)},...,\mathbf e_u^{(L)} \}{ etu( 1 ),... ,etu( L )} , et le pointiii的多山可以:{ ei ( 1 ) , . . , ei ( L ) } \{\mathbf e_i^{(1)},..,\mathbf e_i^{(L)} \}{ eje( 1 ),.. ,eje( L )}

电影电影电影,即:
eu ∗ = eu ( 0 ) ∣ ∣ . . . ∣ ∣ eu ( L ), ei ∗ = ei ( 0 ) ∣ ∣ . . . ∣ ∣ ei ( L ) \mathbf e_u^{*} = \mathbf e_u^{(0)} || ...||\mathbf e_u^{(L)} \ ,\ \mathbf e_i^{*} = \mathbf e_i^{(0)} || ...||\mathbf e_i^{(L)} \\etu=etu( 0 )∣∣...∣∣ etu( L ) , eje=eje( 0 )∣∣...∣∣ eje( L )
Enfin, le score de corrélation est calculé par produit scalaire :
y ^ ( u , je ) = eu ∗ T ei ∗ \hat y(u,i) = {\mathbf e_u^*}^T \mathbf e_i^*\\y^( vous ,je )=etuC'est toutje

3.5 Fonction de perte

Perte BPR :
LCF = ∑ ( u , je , j ) ∈ O − ln σ ( y ^ ( u , je ) − y ^ ( u , j ) ) \mathcal L_{CF}=\sum_{( u,i, j) \in O} - ln \ \sigma(\hat y(u,i)-\hat y(u,j))\\LCF=( u , je , j ) Ol n σ ( y^( vous ,je )y^( vous ,j ))
其中O = { ( u , je , j ) ∣ ( u , je ) ∈ R + , ( u , j ) ∈ R − } O = \{(u,i,j)|(u,i) \in \ mathcal R^+, (u,j) \in \mathcal R^- \}O={( tu ,je ,j ) ( u ,je )R+ ,( vous ,j )R }R + \mathcal R^+R+ Représente un échantillon positif,R − \mathcal R^-R représente un échantillon négatif.

Définition :
LKGAT = LKG + LCF + λ ∣ ∣ Θ ∣ ∣ 2 2 \mathcal L_{KGAT} = \mathcal L_{KG} + \mathcal L_{CF} + \lambda||\Theta||_2^2\\LK G A T=LKG _+LCF+λ ∣∣Θ∣ 22

Je suppose que tu aimes

Origine blog.csdn.net/weixin_45884316/article/details/131815144
conseillé
Classement