Expérience de recommandation basée sur des sessions
La recommandation basée sur des sessions peut être examinée selon trois perspectives : SBR, l'apprentissage du contexte global et GSLA (voir le Tableau des matériaux). Aucun participant humain ni animal n'a été impliqué dans cette étude. Tous les jeux de données expérimentaux utilisés dans ce travail sont accessibles publiquement et fournis sous forme de Fichier supplémentaire : GSLA4Rec. zip.
Recommandation basée sur des sessions
La recommandation basée sur des sessions (SBR) était un système d'intelligence artificielle interagissant avec les utilisateurs au moyen de dialogues naturels multiphases afin de comprendre dynamiquement leurs préférences et de fournir des recommandations personnalisées. La SBR a évolué à partir de méthodes traditionnelles vers des approches fondées sur l'apprentissage profond et des approches hybrides, puis s'est orientée vers des solutions basées sur de grands modèles linguistiques (LLM).
Recommandation traditionnelle basée sur des sessions
L'approche traditionnelle de la recommandation basée sur les séquences (SBR) était généralement représentée par des méthodes fondées sur les chaînes de Markov et le filtrage collaboratif. La première générait des recommandations en décomposant des matrices de transition probabilistes spécifiques à chaque utilisateur. Par exemple, Guy Shani24 a proposé une méthode de recommandation fondée sur le processus de décision markovien, produisant des recommandations par décomposition de matrices correspondantes ; Wanrong Gu25 a amélioré les performances de recommandation en intégrant les chaînes de Markov avec les intervalles de temps d'achat. La seconde générait des recommandations en extrayant des relations séquentielles cachées entre les éléments interactifs adjacents par factorisation matricielle. Par exemple, Sarwar B1 a calculé la similarité entre éléments en se basant sur les comportements historiques des utilisateurs (tels que les notes et les clics) afin de recommander des éléments correspondant aux préférences passées des utilisateurs. Si l'utilisateur A aimait l'élément a, et que l'élément c était fortement similaire à a, le système recommandait c à A ; Rendle S5 a proposé FPMC, un modèle de recommandation séquentielle combinant la factorisation matricielle avec les chaînes de Markov, afin de capturer les relations séquentielles cachées entre les éléments interactifs adjacents. Toutefois, ces approches traditionnelles de SBR se concentraient sur les relations séquentielles entre éléments adjacents, ce qui rendait difficile la modélisation de relations de dépendance complexes.
Recommandation basée sur des sessions utilisant l'apprentissage profond
La recommandation basée sur des sessions par apprentissage profond a évolué à travers plusieurs étapes impliquant des réseaux neuronaux convolutifs (CNN)26,27,28,29, des RNN et des GNN. La RBS fondée sur les CNN utilisait des opérations telles que la convolution et le regroupement (pooling) pour apprendre des représentations de chaque contexte de session, utilisées ensuite pour les recommandations suivantes. Caser30 convertissait les L éléments les plus récents avec lesquels un utilisateur avait interagi en vecteurs de dimension d à l’aide d’une couche d’incorporation (embedding), formant ainsi une matrice d’incorporation traitée comme une « image » mappée dans le temps et dans l’espace latent. Elle utilisait ensuite trois types de filtres convolutifs de motifs séquentiels — au niveau ponctuel, au niveau de l’union sans saut, et au niveau de l’union avec un saut — afin d’apprendre des motifs séquentiels pour améliorer les performances de la RBS. Tuan et al.31 ont modélisé de manière uniforme les flux de clics de session et les caractéristiques de contenu à l’aide de noyaux de convolution 3D pour former des représentations conjointes spatio-temporelles et sémantiques.
Les RNN étaient une classe d'architectures de réseaux neuronaux spécialement conçues pour traiter des données séquentielles. L'idée fondamentale consistait à capturer les dépendances temporelles à l'aide de structures récurrentes telles que les réseaux à mémoire à long court terme (LSTM)13 et les unités récurrentes à seuil (GRU)32, et elles étaient largement utilisées dans des domaines tels que le traitement du langage naturel (NLP)33, la reconnaissance vocale34, la traduction automatique35, les déplacements36,37, la criminalité38, et la prédiction de tendances futures39 (par exemple, le trafic40, les marchés boursiers41,42 et la météorologie43). GRU4Rec, proposé par Hidasi et al., a constitué une étape importante dans la recherche en SBR, en introduisant pour la première fois les RNN dans le SBR et en capturant les motifs comportementaux séquentiels des utilisateurs au moyen de GRU afin de fournir des recommandations personnalisées.
Les réseaux neuronaux graphiques (GNNs)44 ont démontré une forte puissance expressive pour modéliser les relations complexes au sein des données structurées en graphes, et certains chercheurs ont introduit les GNNs pour modéliser les transitions complexes à l’intérieur ou entre des sessions. Selon les différentes architectures de modèles GNNs, les méthodes fondées sur les GNNs pour la recommandation de sessions (SBR) ont été généralement classées en réseaux neuronaux graphiques à seuil (GGNNs)45, réseaux de convolution sur graphes (GCNs)46 et réseaux d’attention sur graphes (GATs)47. SR-GNN a été le premier à appliquer les GNNs à la SBR en représentant les séquences de sessions sous forme de graphes orientés et en utilisant des GGNNs pour capturer les relations complexes de transition entre articles au sein des sessions, combiné à des mécanismes d’attention afin d’obtenir l’incorporation finale de la session, améliorant ainsi les performances de recommandation. Chen L48 a proposé un cadre GNNs à vues multiples qui combine des attributs structurés et des mots-clés non structurés pour modéliser les associations produits multidimensionnelles, améliorant ainsi la précision de la SBR. Driss E49 a conçu un système innovant de recommandation de sessions utilisant des réseaux neuronaux graphiques en capsule pour capturer les caractéristiques complexes des articles et améliorer la précision des prédictions pour la SBR.
Les techniques d'apprentissage profond susmentionnées avaient élargi le champ de recherche du SBR et amélioré efficacement les performances, mais présentaient encore certaines limites, principalement manifestées par : 1) Pour les éléments nouvellement apparus ou les sessions très peu denses, les modèles éprouvaient des difficultés à effectuer des prédictions précises en raison du manque de contexte global ; 2) Ils ne parvenaient pas à exploiter les motifs globaux présents dans l'ensemble des sessions historiques.
Recommandation hybride basée sur des sessions
La recommandation hybride basée sur des sessions a intégré les forces de différentes techniques, telles que le filtrage collaboratif, l'apprentissage profond (Deep-Learning) et les mécanismes d'attention, afin d'améliorer les performances des systèmes de recommandation basés sur les sessions (SBR). GC-SAN50 a incorporé un mécanisme d'auto-attention fondé sur SR-GNN pour mieux capturer les informations d'interaction des éléments importants au sein d'une session. FGNN51 a en outre agrégé les informations provenant des éléments voisins grâce à un mécanisme d'attention multi-têtes, permettant d'apprendre plusieurs relations relatives à l'élément cible. SR-HetGNN52 appartient aux méthodes de recommandation basée sur les sessions utilisant des graphes hétérogènes ; en introduisant différents types d'éléments (utilisateur, élément, session) et des arêtes multi-relationnelles (clic, achat, co-occurrence, association d'attributs), il construit un réseau global de connaissances, dépassant ainsi la limitation des séquences d'éléments uniques, et constitue une méthode importante pour modéliser le comportement des utilisateurs anonymes et les associations d'intérêts inter-sessions ces dernières années. KGSR-SAP53 a construit un graphe de connaissances en reliant les éléments par des arêtes représentant plusieurs types de relations, afin de décrire diverses interactions utilisateur-élément, résolvant ainsi le problème de perte d'information lorsque le graphe global ne contient que des arêtes d'un seul type (interaction utilisateur-élément). Wang ZH54 a proposé DiffSBR, un modèle de recommandation de session basé sur la diffusion. Ce modèle génère des préférences fiables pour l'élément suivant en simulant un débruitage de bruit, améliorant ainsi la modélisation des séquences dynamiques de clics des utilisateurs. Qiao ST55 a conçu un cadre de recommandation basée sur les sessions combinant un apprentissage multi-vues des intentions et un alignement avec des grands modèles linguistiques (LLM). Cette approche exploite l'intention implicite des utilisateurs sous divers angles et utilise des modèles linguistiques pour aligner les caractéristiques sémantiques, améliorant ainsi davantage les performances de recommandation.
Contexte mondial
Pour pallier l'insuffisance des « sessions de visualisation prises isolément », les chercheurs ont compris que l'information globale pouvait être utilisée pour améliorer la capacité de représentation de la session en cours, afin de résoudre des problèmes tels que la rareté des données, le démarrage à froid et l'écart sémantique dans les systèmes traditionnels de recommandation basés sur les sessions (SBR). Parallèlement, lors de la construction du contexte global, il était nécessaire d'intégrer l'information globale dans une session unique tout en minimisant les interférences de bruit. CSRM56 a optimisé la représentation au niveau des sessions en intégrant des informations collaboratives entre la session courante et les sessions voisines, en utilisant un encodeur de mémoire externe (OME) pour extraire l'intention collaborative à partir des informations collaboratives. CA-TCN57 a proposé un modèle de réseau convolutif temporel prenant en compte les sessions croisées, construisant des graphes globaux et des graphes de contexte de session afin de simuler l'impact des sessions croisées sur les éléments et les sessions, tandis que le réseau convolutif temporel (TCN) élargit son champ récepteur par des convolutions dilatées, avec un nombre de couches couvrant des séquences de longueur exponentielle (champ récepteur = ), résolvant ainsi le problème de disparition du gradient des RNN. Chen58 a proposé une méthode SBR basée sur des réseaux neuronaux hypergraphes (SR-HGNNs), qui intègre une propagation d'ordre mixte (bas ordre et haut ordre) et des mécanismes d'attention afin de résoudre le problème de sur-lissage des GNN traditionnels dans les courtes sessions et de distinguer l'importance des différents ordres de propagation, permettant ainsi de capturer plus précisément les dépendances et d'éviter les interférences de bruit. GCE-GNN a utilisé des paires d'éléments co-occurrents d'ordre multiple pour construire un graphe pondéré non orienté, en comptant les fréquences de co-occurrence des éléments afin de refléter leur importance dans la session ; AGNN-GC59 a utilisé les relations de transition entre éléments à travers les sessions pour construire un graphe collaboratif global, en calculant les probabilités de transition des éléments dans le graphe global afin de refléter les changements d'intérêt au sein de la session ; DA-GCN60 a utilisé le chemin le plus court pour mettre à jour la matrice d'adjacence et construire un graphe pondéré dynamique, en calculant la fréquence de co-occurrence dans le graphe global et la distance de chemin entre les éléments. Inspiré par ces travaux, cet article propose de construire un graphe global selon une méthode basée sur les voisins, c'est-à-dire en utilisant le coefficient de similarité de Jaccard pour calculer les sessions similaires, ce qui exploite non seulement l'information globale mais filtre également le bruit (en éliminant les éléments non pertinents), atteignant ainsi l'objectif de construire précisément le contexte global et de poser une base solide pour l'algorithme SBR ultérieur.
Attention linéaire à fente commandée
Les transformeurs traditionnels61 entraînent une complexité spatiotemporelle élevée en raison de la nécessité d'opérations d'attention entièrement connectées sur l'ensemble de la séquence, comme suit :
(1)
Où Q, K, V ∈ RN×d étaient des transformations linéaires des éléments d'entrée, M = {Mij = 1 si i ≥ j, sinon −∞} était le masque causal empêchant la fuite d'informations futures, ⊙ désignait le produit élément par élément, et f désignait la fonction d'activation softmax.
Pour obtenir une attention linéaire62, l'idée la plus directe consistait à supprimer la fonction d'activation softmax. Toutefois, si la fonction d'activation softmax était supprimée directement, l'attention linéaire entraînerait inévitablement certains problèmes potentiels : la perte du puissant pouvoir expressif des réseaux de neurones et l'incapacité à résoudre des problèmes complexes du monde réel.
Attention linéaire par slot avec contrôle de la mémoire limitée
En supposant que la fonction d'activation softmax doive être conservée, K et V ont été compressées séparément en K̃, Ṽ ∈ Rm×d. Du point de vue du réseau de mémoire, K̃ et Ṽ présentaient des emplacements mémoire dont la longueur augmentait avec la séquence, c'est-à-dire que le nombre d'emplacements m = N. Si m était fixe, la linéarisation était évidemment possible. Inspiré par le contrôle à mémoire bornée63, chaque jeton parmi les éléments d'entrée de longueur N devait être écrit de manière concurrentielle dans m emplacements.
,
,
(2)
Où f était la fonction d'activation softmax et φi était le vecteur permettant de contrôler l'entrée effective pour le contrôle de la valeur clé ki, comme suit.
,
(3)
Ici, (φi)j représentait l'intensité d'écriture du ième jeton vers le jème emplacement, obtenue à l'aide d'une fonction softmax cumulative.
Pour obtenir un calcul linéaire efficace, la formule (2) a été réécrite sous la forme de la formule (4), qui calcule οi à partir de qi, ki et vi (éq. 4) par {οi|i=1T, qi, ki, vi)|i=1T} et adopte un calcul séquentiel en deux passes :
,
(4)
Ainsi, les opérations SLA pourraient être déduites :
,
(5)
où oi′ ∈ ℝm, οi ∈ ℝd. Par conséquent, l'ASL pourrait bénéficier d'un entraînement par blocs, efficace en termes de matériel et en temps linéaire64.
Attention linéaire à fente sélective
L'attention linéaire par slot avec un contrôle à mémoire bornée pourrait réduire la complexité computationnelle et spatiale. Toutefois, l'accumulation d'informations pourrait également introduire des données bruitées dans l'interaction de session, de sorte qu'une décroissance dépendante des données était très importante pour conserver ou oublier sélectivement l'information, et ce mécanisme sélectif avait été réexaminé dans les modèles récents d'espaces d'état sélectifs65. GSLA avec dépendance aux données pouvait s'exprimer comme suit :
,
(6)
Ici, les portes de décroissance ont été paramétrées sous une forme de produit extérieur Gi = αi ⊗ βi, avec αi, βi ∈ [0,1]d. Dans ce qui suit, GSLA pourrait également s'écrire sous la forme équivalente suivante en fixant généralement βt = 1 et en utilisant la multiplication matricielle comme dans64 :
(7)
Lorsque αi et ki désignent respectivement la porte d'oubli et la porte d'entrée, ces deux portes peuvent être couplées selon la relation ki = 1 − αi, inspirée par la littérature sur les RNN à portes. Il était évident que GSLA pouvait être formulé selon un calcul séquentiel en deux passes, comme indiqué dans l'équation (8). La structure du second ordre permettait un entraînement parallèle par blocs afin d'améliorer l'efficacité de l'apprentissage, et l'insertion d'une opération softmax au milieu de cette structure du second ordre renforçait la capacité de modélisation de la mémoire à créneaux finis.
,
(8)
Transformation des données de session
Définition du problème
Soit la séquence de session donnée S = {v1s, v2s, ⋯, vns}, où vis désigne l’élément cliqué en ième position. En analysant le comportement de clic de l’utilisateur au sein de cette séquence, le système prédit l’élément suivant qui pourrait intéresser l’utilisateur, vn+1s.
Construction du graphe
Construction du graphe de session
Pour une session S = {v1s, v2s, ⋯, vns}, un graphe orienté Gs = (Vs, εs) a été construit, où Vs correspondait à l'ensemble des éléments de la session donnée S, et εs = {eijlocal|vi, vj, vi, vj ∈ Vs} représentait l'ensemble des arêtes de la session donnée S. ε(vi-1s, vis) désignait les éléments cliqués consécutivement au cours de cette session. L'arête eijlocal pouvait être divisée en quatre types : ein, eout, ein-out, eself. Étant donné qu'un même élément pouvait apparaître plusieurs fois dans la séquence, la valeur pondérée de chaque arête a été prise en compte.
La session actuelle s = [v1, v2, v4, v2, v3] a été convertie en un SG, comme illustré dans la Figure 1A.

Figure 1 : Transformer des éléments interactifs en structures de graphes. (A) Illustration de la construction d'un graphe de session (SG) par transformation d'une session en un graphe. (B) Illustration de la construction d'un graphe global de voisins (NGG) en combinant plusieurs sessions en un graphe. Cette figure a été réalisée par les auteurs eux-mêmes à l'aide de Visio, avec des éléments entièrement personnalisés. Aucune ressource graphique externe protégée par des droits d'auteur n'a été utilisée, aucun droit de licence tiers supplémentaire n'était donc nécessaire. Le droit d'auteur de la figure appartient aux auteurs et sera conforme aux règles de droit d'auteur du journal en cas d'acceptation. Veuillez cliquer ici pour visualiser une version agrandie de cette figure.
Construction du graphe global des voisins
À partir de la session actuelle S, le NGG correspondant Gg = (Vg, εg) a été construit afin d'enrichir l'apprentissage de la représentation de la session courante de manière inter-session. Vg constituait l'ensemble des éléments contenant tous les éléments de Gg, et εg = {eijglobal|vi, vj, vi, vj ∈ Vg} représentait l'ensemble des arêtes de Gg. ε(vi-1g, vig) désignait les éléments interagissant directement, vi-1g et vig, dans le NGG Gg. Ce processus comprenait deux étapes : l'acquisition des sessions voisines et la construction du NGG.
Acquisition de la session voisine
Dans l'ensemble du jeu de données, on a recherché les sessions comportant le nombre maximal d'éléments co-occurrents avec la session courante. Les N premières sessions présentant les comptages de co-occurrence les plus élevés ont été sélectionnées afin de construire un ensemble de sessions voisines candidates S. Ensuite, le coefficient de similarité de Jaccard a été utilisé pour calculer la similarité entre la session courante cu et une session Sr ∈ S provenant de l'ensemble candidat S, comme indiqué dans l'Équation (9).
(9)
Ici, co(Scu, Sr) désigne le nombre d'éléments apparaissant simultanément dans Scu et Sr, tandis que l(Scu) et l(Sr) représentent respectivement les longueurs de Scu et Sr, et Scu et Sr désignent la session courante et une session voisine. Les sessions dont la similarité était inférieure à un seuil donné (pouvant être défini comme un hyperparamètre) étaient éliminées, et les sessions restantes constituaient l'ensemble des sessions voisines Ns pour la session courante.
Construction du graphe global voisin
À partir de l'ensemble de sessions voisines Ns, le NGG a été construit, comme illustré dans la Figure 1B. Lors de la construction de la matrice d'adjacence, si deux éléments (vi, vj) présentaient une interaction, l'entrée correspondante Aij était fixée à 1, sinon elle était fixée à 0. De plus, les interactions entre les éléments ont été traitées comme non orientées et munies de boucles réflexives, puis normalisées, comme indiqué dans le Tableau 1.
| 1 | 2 | 3 | 4 | 5 | 6 |
| 1 | 1/2 | 1/2 | 0 | 0 | 0 | 0 |
| 2 | 0 | 1/4 | 1/4 | 1/2 | 0 | 0 |
| 3 | 0 | 0 | 1 | 0 | 0 | 0 |
| 4 | 0 | 1/4 | 1/2 | 1/4 | 0 | 0 |
| 5 | 0 | 0 | 0 | 0 | 1/3 | 2/3 |
| 6 | 0 | 1/3 | 0 | 1/3 | 0 | 1/3 |
Tableau 1 : Matrice d'adjacence normalisée du graphe global de voisinage. Le tableau présente la matrice d'adjacence normalisée décrivant les connexions pondérées entre les nœuds dans le graphe global de voisinage construit.
Conception d'un algorithme de recommandation basé sur des sessions
Cette section détaille le modèle innovant proposé GSLA4Rec, qui améliore les performances de SBR en introduisant le mécanisme GSLA au niveau de la représentation conjointe des caractéristiques de SG et de NGG.

Figure 2 : Cadre GSLA4Rec. Ce cadre intègre l'apprentissage de la structure du graphe de session et du graphe global des voisins, filtre le bruit des interactions à l'aide d'un mécanisme de seuil, équilibre stockage et efficacité grâce à un mécanisme de mémoires tampons, et capture la pertinence des éléments au moyen d'un mécanisme d'attention linéaire afin de prédire la préférence de l'utilisateur pour le prochain clic. Cette figure a été réalisée par les auteurs eux-mêmes à l'aide de Visio, avec des éléments entièrement personnalisés. Aucune ressource graphique externe protégée par des droits d'auteur n'a été utilisée, aucun droit de licence tiers supplémentaire n'était donc nécessaire. Le droit d'auteur de la figure appartient aux auteurs et sera conforme aux règles de droit d'auteur de la revue en cas d'acceptation. GSLA4Rec désigne les réseaux neuronaux graphiques à attention linéaire avec seuil et mémoires tampons pour la recommandation basée sur les sessions (SBR). Veuillez cliquer ici pour afficher une version agrandie de cette figure.
Figure 2 présente le cadre de GSLA4Rec, composé de quatre composants principaux : 1) Représentation des éléments au niveau de la session. Elle utilise un modèle de réseaux neuronaux graphiques (GNN) sur le graphe de session (SG) afin d'apprendre les plongements des éléments au niveau de la session courante ; 2) Représentation des éléments au niveau global des voisins. Elle apprend les plongements des éléments au niveau global à partir de toutes les sessions, en utilisant une unité récurrente à grilles (GRU) pour intégrer de manière récursive les plongements des voisins de chaque élément selon le graphe global de voisinage (NGG) ; 3) GSLA. Elle modélise les préférences des utilisateurs pour la session courante en agrégant les représentations d'éléments apprises aux niveaux de session et global ; 4) Couche de prédiction. Elle produit les probabilités prédites pour les éléments candidats. Les quatre composants sont décrits en détail ci-après.
Représentation de la session
Dans SBR, la compréhension des comportements d'interaction des utilisateurs était cruciale. À cette fin, un SG et un NGG ont été construits pour l'apprentissage de la représentation de session, dans le but de comprendre de manière exhaustive les comportements d'interaction des utilisateurs et ainsi de saisir l'intention plus authentique des utilisateurs.
Représentation des éléments au niveau de la session
Sur la base du SG dans la Figure 1A, une méthode d'attention sur graphe bidirectionnel pondéré (WBGAT) a été utilisée pour extraire les caractéristiques du SG. Cette méthode a introduit des poids sur les arêtes et la directionnalité des éléments (voisins entrants et voisins sortants) à partir du mécanisme GAT standard, renforçant ainsi les arêtes importantes et capturant les dépendances bidirectionnelles, ce qui a permis de pallier les limites du GAT traditionnel concernant les relations asymétriques entre éléments et l'intensité des interactions. Le processus de calcul était le suivant :
Premièrement, calcul des poids de normalisation du degré entrant des éléments.
(10)
où eij indiquait le poids du voisin entrant du premier ordre des caractéristiques de l'élément j sur l'élément i,
représentait la relation entre l'élément i et l'élément j, β* ∈ ℝd étaient les vecteurs de poids, hi et hj étaient respectivement les représentations de l'élément i et de l'élément j, Wi(in) ∈ ℝd*d et Wj(in) ∈ ℝd*d étaient des paramètres entraînables, || représentait l'opération de concaténation. Pour distinguer les différentes relations de degré entrant, deux vecteurs de poids, nommés rin et rin-self, ont été entraînés. La fonction d'activation LeakyReLU a été utilisée.
(11)
Pour rendre les coefficients comparables entre différents éléments, les poids d'attention ont été normalisés à l'aide de la fonction softmax. Lorsque Ni(in) représentait l'ensemble des voisins entrants de premier ordre de l'élément i, et que
était le poids du voisin entrant correspondant à l'arête dirigée (i←j) dans le graphe SG, cette méthode permettait au modèle d'apprendre les corrélations entre les caractéristiques des éléments tout en conservant l'information sur la force intrinsèque des connexions de la structure du graphe, en prenant le logarithme des poids des arêtes et en les ajoutant au score d'attention initial eij.
Deuxièmement, calcul des poids de normalisation du degré de sortie des éléments.
(12)
où ẽij indiquait le poids du voisin sortant du premier ordre des caractéristiques de l'élément j par rapport à l'élément i,
était la relation entre l'élément i et j, deux vecteurs de poids, à savoir rout et rout-self, ont été entraînés.
(13)
Où Ni(out) était l'ensemble des voisins sortants de premier ordre de l'élément i,
était le poids du voisin sortant de l'arête orientée (i→j) dans SG.
Troisièmement, l'agrégation des informations. L'incorporation mise à jour de l'élément pouvait être obtenue après pondération et sommation des incorporations de degré entrant et de degré sortant du premier ordre de l'élément i.
(14)
Où
et α̃ij désignent respectivement les poids des degrés entrant et sortant de l'élément i, et
désigne la représentation mise à jour de l'élément i.
Représentation globale de l'élément voisin
Des recherches récentes sont unanimement convenues que la construction d'un graphe global pouvait améliorer la représentation des données et, par conséquent, accroître les performances en SBR, ce qui ne fait aucun doute. Toutefois, l'amélioration globale des données pourrait également introduire des informations non pertinentes, telles que du bruit. Dans le modèle proposé, afin d'obtenir une augmentation globale des données tout en minimisant au maximum le bruit, un graphe global de proches voisins a été construit.
À partir du NGG présenté dans Figure 1B et de la matrice d'adjacence normalisée de Tableau 1, la session actuelle et ses sessions voisines ont été transformées en un NGG, et une méthode GGNNs45 a été appliquée pour extraire les caractéristiques du NGG. Le processus d'apprentissage des vecteurs d'éléments dans le NGG est décrit par l'Équation (15).




(15)
W ∈ ℝd×2d désignait les poids de contrôle, zg,i et rg,i représentaient respectivement la porte de mise à jour et la porte de réinitialisation. [h1t-1, ⋯, hnt-1] représentait la liste de tous les vecteurs d'éléments dans la session s. σ(x) = 1/(1 + e-x) était la fonction sigmoïde logistique, ⊙ désignait la multiplication élément par élément, et hi ∈ ℝd représentait le vecteur après mise à jour avec portes. La matrice d'adjacence As ∈ ℝn×n indiquait la connectivité entre les éléments dans les sessions voisines, et As,i: ∈ ℝ1×n représentait un bloc colonne de As correspondant à l'élément vs,i dans la matrice d'adjacence. Pour la session courante s = [v1, v2, v4, v2, v3], le NGG et la matrice d'adjacence normalisée étaient illustrés dans la Figure 1B et le Tableau 1, respectivement.
Représentation des éléments
La représentation de l'élément a été obtenue en additionnant le vecteur d'élément au niveau de la session et le vecteur d'élément global au niveau du voisin, comme indiqué dans l'équation (16) :

(16)
Là où la suppression a été utilisée sur les représentations d'éléments voisins au niveau global pour atténuer le surajustement.
Attention linéaire à fente sélective
L'attention linéaire à emplacement commandé (GSLA) présentée dans cet article intègre l'attention linéaire avec une commande à mémoire limitée et un mécanisme de contrôle dépendant des données. D'une part, elle hérite du mécanisme d'emplacement mémoire fini du modèle de contrôleur basé sur l'attention (ABC), qui compresse les paires clé-valeur, initialement croissantes avec la longueur de la séquence, en un nombre fixe d'emplacements, chacun étant mis à jour par écriture concurrentielle, résolvant ainsi le problème de complexité computationnelle de l'attention globale du transformeur. D'autre part, elle introduit un mécanisme de contrôle finement réglé, similaire à celui de la GLA, où les données d'entrée ajustent dynamiquement le taux de rétention de l'information historique au moyen d'une porte d'oubli αi, résolvant le problème de bruit causé par l'absence d'un mécanisme d'oubli dans le modèle ABC.

Figure 3 : Schéma du GSLA. Le vecteur d'entrée a été associé respectivement au vecteur de requête, au vecteur de mot-clé et au vecteur de valeur, puis traité par une attention linéaire avec contrôle de la mémoire limitée et un mécanisme de seuil dépendant des données afin d'obtenir le vecteur de requête mis à jour, le vecteur de mot-clé, le vecteur de valeur et le vecteur de sortie. Cette figure a été réalisée par les auteurs eux-mêmes à l'aide de Visio, avec des éléments entièrement personnalisés. Aucune ressource graphique externe protégée par des droits d'auteur n'a été utilisée, aucune licence tierce supplémentaire n'était donc nécessaire. Le droit d'auteur de la figure appartient aux auteurs et sera conforme aux règles de droit d'auteur de la revue en cas d'acceptation. GSLA désigne l'attention linéaire à emplacements avec seuil. Veuillez cliquer ici pour afficher une version agrandie de cette figure.
Comme spécifiquement mis en œuvre dans la Figure 3, le vecteur d'entrée a été projeté séparément en un vecteur de requête, un vecteur de clé et un vecteur de valeur64 :
(17)
Où Wq, Wk, Wv ∈ ℝd×d représentaient les matrices de poids de transformation correspondant respectivement à la requête, à la clé et à la valeur, et ht désignait le vecteur d'incorporation à l'étape temporelle t dans la séquence d'entrée de la session. La fonction Swish était définie comme Swish(x) = x · σ(x) et constituait une fonction d'activation auto-régulée, où σ était la fonction sigmoïde ; elle surpassait la fonction d'activation ReLU traditionnelle dans plusieurs tâches d'apprentissage profond.
GSLA utilisait une porte d'oubli αi et une porte d'entrée 1 − αi, dépendant des données d'entrée, pour mettre à jour dynamiquement l'information dans l'emplacement de mémoire i. Le processus était le suivant64 :
(18)
(19)
Ici, K̃t et Ṽt représentaient les emplacements des vecteurs clés et les emplacements des vecteurs de valeurs à l'instant t, tandis que K̃t-1 et Ṽt-1 représentaient les emplacements des vecteurs clés et les emplacements des vecteurs de valeurs à l'instant t−1. La porte d'oubli αi = σ(Wαht)1/τ, où Wα ∈ ℝd était la matrice de poids de transformation, σ était la fonction sigmoïde, et τ était le coefficient d'amortissement (généralement fixé à 8), servait à contrôler le degré de souplesse de la porte d'oubli. Cela permettait à GSLA d'ajuster en douceur le taux d'oubli des informations historiques : plus αi était grand, plus GSLA s'appuyait sur les informations passées ; plus αi était petit, plus GSLA se concentrait sur l'entrée actuelle.
Les emplacements du vecteur clé K̃t et les emplacements du vecteur valeur Ṽt des emplacements à l’étape t ont été exprimés sous forme matricielle, comme indiqué65 dans les équations (20) et (21) :
(20)
(21)
Ensuite, le GSLA doté de propriétés du second ordre (voir équation (8)) a été utilisé pour calculer la sortie oi |i=1T à chaque pas de temps i ∈ [1, …, T]. Une transformation linéaire a été appliquée à la sortie de chaque pas de temps afin d'obtenir le résultat h̃t. Enfin, la valeur moyenne des représentations de tous les éléments de la séquence de session a été calculée pour générer l'incorporation de session S̃e avec des mises à jour dynamiques de la mémoire :
(22)
(23)
Ici, ot représentait la sortie du Gated-Slot à l'instant t, h̃t désignait le résultat de la transformation linéaire appliquée à ot. S̃e désignait la valeur moyenne de h̃t à tous les instants.
Couche de prédiction
À partir de la représentation de session obtenue S̃e et de l'incorporation initiale de l'élément i, une opération de produit scalaire a été effectuée pour calculer le score de chaque élément candidat hi. Ensuite, la fonction softmax a été utilisée pour obtenir les probabilités de recommandation de l'élément candidat i :
(24)
Ici, ỹ représentait les probabilités de recommandation de l'élément candidat, hi désignait le vecteur de l'élément candidat, et la fonction de perte d'entropie croisée a été utilisée pour l'entraînement du modèle.
(25)
Ici, y était la représentation encodée en one-hot de la vérité terrain.