Experiencia de recomendación basada en sesiones
La recomendación basada en sesiones puede examinarse desde tres perspectivas: SBR, aprendizaje del contexto global y GSLA (véase la Tabla de materiales). En este estudio no participaron personas ni animales. Todos los conjuntos de datos experimentales utilizados en este trabajo están disponibles públicamente y se han presentado como Archivo complementario: GSLA4Rec. zip.
Recomendación basada en sesiones
La recomendación basada en sesiones (SBR) era un sistema de inteligencia artificial que interactuaba con los usuarios mediante diálogos naturales de múltiples turnos para comprender dinámicamente las preferencias de los usuarios y ofrecer recomendaciones personalizadas. SBR evolucionó desde métodos tradicionales hasta enfoques basados en aprendizaje profundo y enfoques híbridos, y luego avanzó hacia soluciones basadas en modelos de lenguaje grandes (LLM).
Recomendación tradicional basada en sesiones
El SBR tradicional solía representarse mediante métodos basados en cadenas de Markov y filtrado colaborativo. El primero generaba recomendaciones mediante la descomposición de matrices de transición probabilísticas específicas del usuario. Por ejemplo, Guy Shani24 propuso un método de recomendación basado en procesos de decisión de Markov que producía recomendaciones al descomponer matrices correspondientes; Wanrong Gu25 mejoró el rendimiento de las recomendaciones integrando cadenas de Markov con intervalos de tiempo de compra. Este último generaba recomendaciones extrayendo relaciones secuenciales ocultas entre elementos interactivos adyacentes mediante factorización matricial. Por ejemplo, Sarwar B1 calculó la similitud entre elementos basándose en comportamientos históricos de los usuarios (como calificaciones y clics) para recomendar elementos que coincidieran con preferencias anteriores de los usuarios. Si el usuario A gustaba del elemento a, y el elemento c era muy similar a a, el sistema recomienda c a A; Rendle S5 propuso FPMC, un modelo de recomendación secuencial que combina la factorización matricial con cadenas de Markov, para capturar relaciones secuenciales ocultas entre elementos interactivos adyacentes. Sin embargo, este SBR tradicional se centraba en las relaciones secuenciales entre elementos adyacentes, lo que dificultaba modelar relaciones de dependencia complejas.
Recomendación basada en sesiones mediante aprendizaje profundo
La recomendación basada en sesiones con aprendizaje profundo ha evolucionado a través de etapas que incluyen Redes Neuronales Convolucionales (CNN)26,27,28,29, RNN y GNN. La RBS basada en CNN utilizó operaciones como la convolución y el agrupamiento (pooling) para aprender representaciones de cada contexto de sesión, que luego se emplearon para recomendaciones posteriores. Caser30 convirtió los L elementos más recientes con los que un usuario había interactuado en vectores de d dimensiones mediante una capa de incrustación (embedding), formando una matriz de incrustación tratada como una «imagen» mapeada en el tiempo y en el espacio latente. Luego utilizó tres filtros convolucionales de patrones secuenciales —a nivel de punto, a nivel de unión sin salto y a nivel de unión con un salto— para aprender patrones secuenciales y mejorar el rendimiento de la RBS. Tuan et al.31 modelaron uniformemente flujos de clics de sesión y características de contenido mediante núcleos convolucionales 3D para formar representaciones conjuntas espacio-temporales y de contenido.
Las RNN eran una clase de arquitecturas de redes neuronales diseñadas específicamente para procesar datos secuenciales. La idea principal consistía en capturar dependencias temporales mediante estructuras recurrentes, como las redes de memoria a corto y largo plazo (LSTM)13 y las unidades recurrentes con puertas (GRU)32, y se utilizaron ampliamente en campos como el procesamiento del lenguaje natural (NLP)33, el reconocimiento de voz34, la traducción de textos35, los viajes36,37, la delincuencia38, y la predicción de tendencias futuras39 (por ejemplo, tráfico40, mercados bursátiles41,42 y meteorología43). GRU4Rec, propuesto por Hidasi et al., fue un hito en la investigación de SBR, ya que introdujo por primera vez las RNN en SBR y capturó los patrones de comportamiento secuencial de los usuarios mediante GRU para lograr recomendaciones personalizadas.
Las GNNs44 demostraron un gran poder expresivo al modelar relaciones complejas dentro de datos con estructura de grafo, y algunos investigadores introdujeron las GNNs para modelar transiciones complejas dentro o entre sesiones. Dependiendo de las distintas arquitecturas de modelos de GNNs, los métodos basados en GNNs para SBR se clasificaron generalmente en redes neuronales de grafos con puertas (GGNNs, por sus siglas en inglés)45, redes de convolución de grafos (GCNs, por sus siglas en inglés)46 y redes de atención de grafos (GATs, por sus siglas en inglés)47. SR-GNN fue el primero en aplicar las GNNs al SBR representando secuencias de sesiones como grafos dirigidos y utilizando GGNNs para capturar relaciones complejas de transición entre elementos dentro de las sesiones, combinado con mecanismos de atención para obtener la representación final de la sesión, mejorando así el rendimiento de las recomendaciones. Chen L48 propuso un marco de GNNs de múltiples vistas que combina atributos estructurados y palabras clave no estructuradas para modelar asociaciones de productos multidimensionales, mejorando la precisión del SBR. Driss E49 diseñó un sistema innovador de recomendación de sesiones que adopta redes neuronales de cápsulas de grafos para capturar características complejas de los elementos y mejorar la precisión de predicción en el SBR.
Las técnicas de aprendizaje profundo mencionadas anteriormente habían enriquecido el alcance de la investigación en SBR y mejorado efectivamente el rendimiento, pero aún presentaban ciertas limitaciones, manifestadas principalmente en: 1) Para elementos recién emergentes o sesiones muy dispersas, era difícil para los modelos realizar predicciones precisas debido a la falta de contexto global; 2) No podían aprovechar los patrones globales contenidos en todas las sesiones históricas.
Recomendación híbrida basada en sesiones
La recomendación híbrida basada en sesiones integró las fortalezas de diferentes técnicas, como el filtrado colaborativo, el aprendizaje profundo y los mecanismos de atención, para mejorar el rendimiento de la recomendación basada en sesiones (SBR). GC-SAN50 incorporó un mecanismo de autoatención basado en SR-GNN para capturar mejor la información de interacción de elementos importantes dentro de una sesión. FGNN51 agregó además información de elementos vecinos mediante un mecanismo de atención de múltiples cabezas para aprender múltiples relaciones del elemento objetivo. SR-HetGNN52 pertenecía a la recomendación basada en sesiones con grafos heterogéneos; mediante la introducción de elementos de múltiples tipos (usuario, elemento, sesión) y aristas multi-relacionales (clic, compra, co-ocurrencia, asociación de atributos), construyó una red de conocimiento global, superando la limitación de secuencias simples de elementos, y se ha convertido en un método importante para modelar el comportamiento de usuarios anónimos y las asociaciones de intereses entre sesiones en los últimos años. KGSR-SAP53 construyó un grafo de conocimiento conectando elementos mediante aristas de múltiples relaciones para describir diversas interacciones usuario-elemento, resolviendo así el problema de pérdida de información que ocurre cuando el grafo global solo contiene aristas de un tipo (interacción usuario-elemento). Wang ZH54 propuso DiffSBR, un modelo de recomendación de sesiones basado en difusión. Este modelo genera preferencias confiables para el siguiente elemento mediante la simulación de eliminación de ruido, mejorando así la modelización de secuencias dinámicas de clics de usuarios. Qiao ST55 desarrolló un marco de recomendación basada en sesiones que combina el aprendizaje de intenciones multi-vista y la alineación con modelos lingüísticos grandes (LLM). Este marco explora la intención implícita del usuario desde diversas perspectivas y aprovecha los modelos lingüísticos para alinear características semánticas, mejorando así el rendimiento de la recomendación.
Contexto global
Para superar la limitación de «ver las sesiones de forma aislada», los investigadores comprendieron que podía utilizarse información global para mejorar la capacidad de representación de la sesión actual, con el fin de resolver problemas como la escasez de datos, el arranque en frío y la brecha semántica en los sistemas tradicionales de recomendación basados en sesiones (SBR). Al mismo tiempo, al construir el contexto global, era necesario integrar la información global en una sola sesión minimizando al mismo tiempo la interferencia de ruido. CSRM56 optimizó la representación a nivel de sesión mediante la integración de información colaborativa entre la sesión actual y sesiones vecinas, utilizando un codificador de memoria externa (OME) para extraer la intención colaborativa a partir de dicha información. CA-TCN57 propuso un modelo de red convolucional temporal con percepción inter-sesiones, construyendo grafos globales y grafos de contexto de sesión para simular el impacto de las interacciones entre sesiones sobre los elementos y las sesiones, mientras que la red convolucional temporal (TCN) amplía el campo receptivo mediante convoluciones dilatadas, con un número de capas que cubre secuencias de longitud exponencial (campo receptivo = ), resolviendo así el problema de la desaparición del gradiente en las RNN. Chen58 propuso un método SBR basado en redes neuronales de hipergrafos (SR-HGNNs), que integra propagación de orden mixto (bajo y alto orden) y mecanismos de atención para resolver el problema de sobre-suavizado de las GNN tradicionales en sesiones cortas y distinguir la importancia de diferentes órdenes de propagación, pudiendo capturar con mayor precisión las dependencias y evitar interferencias de ruido. GCE-GNN utilizó pares de elementos coocurrentes de múltiples órdenes para construir un grafo ponderado no dirigido, contando las frecuencias de coocurrencia de elementos para reflejar su importancia dentro de la sesión; AGNN-GC59 utilizó las relaciones de transición entre elementos a través de sesiones para construir un grafo colaborativo global, calculando las probabilidades de transición entre elementos en el grafo global para reflejar los cambios de interés dentro de la sesión; DA-GCN60 utilizó el camino más corto para actualizar la matriz de adyacencia y construir un grafo ponderado dinámico, calculando la frecuencia de coocurrencia en el grafo global y la distancia del camino entre elementos. Inspirados en los estudios anteriores, en este trabajo se propone construir un grafo global mediante un método basado en vecinos, es decir, utilizando el coeficiente de similitud de Jaccard para calcular sesiones similares, lo cual no solo aprovecha la información global, sino que también filtra el ruido (eliminando elementos irrelevantes), logrando así el objetivo de construir con precisión el contexto global y sentar una base sólida para el algoritmo SBR posterior.
Atención lineal con ranura gobernada
Los transformadores tradicionales61 presentaron una alta complejidad espaciotemporal debido a la necesidad de operaciones de atención completamente conectadas a lo largo de toda la secuencia de la siguiente manera:
(1)
Donde Q, K, V ∈ RN×d eran transformaciones lineales de los elementos de entrada, M = {Mij = 1 si i ≥ j, de lo contrario −∞} era la máscara causal para evitar la filtración de información futura, ⊙ denotaba el producto elemento a elemento, y f denotaba la función de activación softmax.
Para lograr la atención lineal62, la idea más directa fue eliminar la función de activación softmax. Sin embargo, si la función de activación softmax se eliminara directamente, la atención lineal definitivamente provocaría algunos problemas potenciales: la pérdida del poder expresivo potente de las redes neuronales y la incapacidad para resolver problemas complejos del mundo real.
Atención lineal con ranura y control de memoria limitada
Suponiendo que se debía mantener la función de activación softmax, K y V se comprimieron por separado en K̃, Ṽ ∈ Rm×d. Desde la perspectiva de la red de memoria, K̃ y Ṽ tenían ranuras de memoria cuya longitud aumenta con la secuencia, es decir, el número de ranuras m = N. Si m era fijo, la linealización era obviamente posible. Inspirado en el Control de Memoria Acotada63, se requería que cada token en los elementos de entrada con una longitud de N se escribiera de forma competitiva en m ranuras.
,
,
(2)
Donde f era la función de activación softmax y φi era el vector para controlar la entrada efectiva para controlar el valor clave ki de la siguiente manera.
,
(3)
Aquí, (φi)j representaba la intensidad de escritura del token iésimo en el ranura jésima, y se obtuvo utilizando una función softmax acumulativa.
Para lograr un cálculo lineal eficiente, la fórmula (2) se reescribió como la fórmula (4), que calcula οi a partir de qi, ki y vi (Ec. 4) mediante {οi|i=1T, qi, ki, vi)|i=1T} y adoptó un cálculo secuencial de dos pasos:
,
(4)
Por lo tanto, las operaciones de SLA podrían deducirse:
,
(5)
Donde oi′ ∈ ℝm, οi ∈ ℝd. Por lo tanto, el SLA podría obtener un entrenamiento por fragmentos eficiente en cuanto al hardware y con tiempo lineal64.
Atención lineal con ranura con compuerta
La atención lineal por ranuras con control de memoria limitada podría reducir la complejidad computacional y espacial. Sin embargo, la acumulación de información también podría introducir ruido en la interacción de la sesión, por lo que el decaimiento dependiente de los datos era muy importante para retener y olvidar información selectivamente, y este mecanismo selectivo había sido revisado recientemente en modelos recientes de espacio de estado selectivo65. GSLA con dependencia de los datos podría expresarse como:
,
(6)
Aquí las compuertas de decaimiento se parametrizaron mediante una forma de producto externo Gi = αi ⊗ βi, αi, βi ∈ [0,1]d. En lo que sigue, GSLA también podría escribirse en la siguiente forma equivalente estableciendo típicamente βt = 1 y utilizando la multiplicación matricial como en64:
(7)
Donde αi y ki denotaban por separado la puerta de olvido y la puerta de entrada, las dos puertas podían acoplarse como ki = 1 − αi, inspirado en la literatura sobre RNN con puertas. Era evidente que GSLA podía formularse con un cálculo secuencial de dos pasadas, como se muestra en la Ecuación (8). La estructura de segundo orden permitía un entrenamiento paralelo por bloques para mejorar la eficiencia del entrenamiento, y la inserción de la operación softmax en medio de la estructura de segundo orden potenciaba la capacidad de modelado de la memoria de ranuras finitas.
,
(8)
Transformación de los datos de la sesión
Definición del problema
Sea la secuencia de sesión dada S = {v1s, v2s, ⋯, vns}, donde vis denota el i-ésimo elemento clicado. Al analizar el comportamiento del usuario respecto a los clics dentro de esta secuencia, el sistema predijo el siguiente elemento en el que el usuario podría estar interesado, vn+1s.
Construcción del gráfico
Construcción del grafo de sesiones
Para una sesión S = {v1s, v2s, ⋯, vns}, se construyó un grafo dirigido Gs = (Vs, εs), donde Vs era el conjunto de elementos de la sesión dada S, y εs = {eijlocal|vi, vj, vi, vj ∈ Vs} era el conjunto de aristas de la sesión dada S. ε(vi-1s, vis) representaba los elementos clicados consecutivamente en esta sesión. La arista eijlocal podía dividirse en cuatro tipos: ein, eout, ein-out, eself. Dado que el mismo elemento podría aparecer repetidamente en la secuencia, se contaba el valor ponderado de cada arista.
La sesión actual s = [v1, v2, v4, v2, v3] fue convertida en un SG, como se muestra en la Figura 1A.

Figura 1: Transformar elementos interactivos en estructuras de grafos. (A) Ilustración de la construcción del grafo de sesión (SG) mediante la transformación de una sesión en un grafo. (B) Ilustración de la construcción del grafo global de vecinos (NGG) mediante la combinación de múltiples sesiones en un grafo. Esta figura fue elaborada por los autores utilizando Visio con elementos completamente personalizados. No se utilizaron recursos gráficos externos con derechos de autor, por lo que no fue necesario obtener ninguna licencia adicional de terceros. Los derechos de autor de la figura pertenecen a los autores y se ajustarán a las normas de derechos de autor de la revista tras su aceptación. Haga clic aquí para ver una versión más grande de esta figura.
Construcción del grafo global de vecinos
Basándose en la sesión actual S, se construyó el NGG correspondiente Gg = (Vg, εg) para enriquecer el aprendizaje de representación de la sesión actual de manera inter-sesiones. Vg era el conjunto de elementos que contenía todos los elementos en Gg, y εg = {eijglobal|vi, vj, vi, vj ∈ Vg} era el conjunto de aristas de Gg. ε(vi-1g, vig) representaba los elementos que interactuaban directamente vi-1g y vig en el NGG Gg. Este proceso constaba de dos pasos: adquisición de la sesión vecina y construcción del NGG.
Adquisición de la sesión vecina
A lo largo de todo el conjunto de datos, se buscaron las sesiones con el número máximo de elementos coocurrentes con la sesión actual. Se seleccionaron las primeras N sesiones con los conteos más altos de coocurrencia para construir un conjunto de sesiones vecinas candidatas S. Posteriormente, se utilizó el coeficiente de similitud de Jaccard para calcular la similitud entre la sesión actual cu y una sesión Sr ∈ S del conjunto candidato S, como se muestra en la Ecuación (9).
(9)
Aquí, co(Scu, Sr) denotaba el número de elementos que aparecen conjuntamente en Scu y Sr, mientras que l(Scu) y l(Sr) representaban respectivamente las longitudes de Scu y Sr, y Scu y Sr denotaban la sesión actual y una sesión vecina. Las sesiones con similitud por debajo de un umbral determinado (que puede establecerse como un hiperparámetro) se eliminaron, y las sesiones restantes constituyeron el conjunto de sesiones vecinas Ns para la sesión actual.
Construcción del grafo global de vecinos
Basándose en el conjunto de sesiones vecinas Ns, se construyó el NGG, como se ilustra en la Figura 1B. Durante la construcción de la matriz de adyacencia, si dos elementos (vi, vj) tenían una interacción, la entrada correspondiente Aij se establecía en 1; de lo contrario, se establecía en 0. Además, las interacciones entre los elementos se procesaron como no dirigidas y se les asignaron bucles propios, seguido de la normalización, como se muestra en la Tabla 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 |
Tabla 1: Matriz de adyacencia normalizada del grafo global de vecinos. La tabla presenta la matriz de adyacencia normalizada que describe las conexiones ponderadas entre los nodos en el grafo global de vecinos construido.
Diseño de un algoritmo de recomendación basado en sesiones
Esta sección detalla el modelo innovador propuesto GSLA4Rec, que mejoró el rendimiento de SBR mediante la introducción del mecanismo GSLA en la representación conjunta de características de SG y NGG.

Figura 2: Marco GSLA4Rec. Este marco integró el aprendizaje de la estructura de grafos de sesión y de grafo global vecino, filtró el ruido de interacción mediante un mecanismo de compuerta, equilibró almacenamiento y eficiencia con un mecanismo de ranuras de memoria y capturó la relevancia de los elementos mediante un mecanismo de atención lineal para predecir la preferencia del usuario en el siguiente clic. Esta figura fue elaborada por los autores mediante Visio con elementos completamente personalizados. No se utilizaron recursos gráficos externos con derechos de autor, por lo que no fue necesario ningún permiso adicional de terceros. Los derechos de autor de la figura pertenecen a los autores y se ajustarán a las normas de derechos de autor de la revista tras su aceptación. GSLA4Rec representa redes neuronales gráficas con atención lineal con compuerta y ranuras para SBR. Haga clic aquí para ver una versión más grande de esta figura.
Figura 2 presenta el marco de GSLA4Rec, que comprendía cuatro componentes principales: 1) Representación de elementos a nivel de sesión. Utilizaba un modelo de GNN en SG para aprender embeddings de elementos a nivel de sesión dentro de la sesión actual; 2) Representación de elementos a nivel global de vecinos. Aprendía embeddings de elementos a nivel global en todas las sesiones empleando una GRU para incorporar recursivamente los embeddings de vecinos de cada elemento basándose en NGG; 3) GSLA. Modelaba la preferencia del usuario en la sesión actual mediante la agregación de las representaciones de elementos aprendidas tanto a nivel de sesión como a nivel global; 4) Capa de predicción. Generaba las probabilidades predichas sobre los elementos candidatos. Los cuatro componentes se presentan en detalle a continuación.
Representación de la sesión
En SBR, comprender los comportamientos de interacción de los usuarios era fundamental. Con este fin, se construyeron un SG y un NGG para el aprendizaje de representación de sesiones, con el objetivo de comprender de manera integral los comportamientos de interacción de los usuarios y capturar así la intención más auténtica de estos.
Representación del elemento a nivel de sesión
Basado en el SG de la Figura 1A, se empleó un método de atención en grafo bidireccional ponderado (WBGAT) para extraer las características del SG. Este método introdujo pesos en las aristas y la direccionalidad de los elementos (vecinos entrantes y vecinos salientes) basándose en el mecanismo estándar de GAT, logrando así reforzar las aristas importantes y capturar dependencias bidireccionales, lo que permitió abordar las limitaciones del GAT tradicional respecto a las relaciones asimétricas entre elementos y la intensidad de sus interacciones. El proceso de cálculo fue el siguiente:
Primero, cálculo de los pesos de normalización del grado interno del elemento.
(10)
donde eij indicaba el peso de primer orden del vecino entrante de las características del elemento j respecto al elemento i,
era la relación entre el elemento i y el elemento j, β* ∈ ℝd eran los vectores de peso, hi y hj eran respectivamente la representación del elemento i y del elemento j, Wi(in) ∈ ℝd*d y Wj(in) ∈ ℝd*d eran parámetros entrenables, || representaba la operación de concatenación. Para distinguir diferentes relaciones de grado entrante, se entrenaron dos vectores de peso, denominados rin y rin-self. Se utilizó LeakyReLU como función de activación.
(11)
Para hacer comparables los coeficientes entre diferentes elementos, los pesos de atención se normalizaron mediante la función softmax. Donde Ni(in) era el conjunto de vecinos entrantes de primer orden del elemento i,
era el peso del vecino entrante del borde dirigido (i←j) en SG, este método permitió al modelo aprender las correlaciones entre características de los elementos mientras conservaba la información inherente de la intensidad de conexión de la estructura del grafo, tomando el logaritmo de los pesos de los bordes y sumándolos a la puntuación de atención original eij.
Segundo, cálculo de los pesos de normalización del grado de salida del ítem.
(12)
donde ẽij indicaba el peso de primer orden de las características del elemento j hacia el elemento i,
era la relación entre el elemento i y j, y se entrenaron dos vectores de peso, denominados rout y rout-self.
(13)
Donde Ni(out) era el conjunto de vecinos de primer orden de salida del elemento i,
era el peso del vecino de salida del borde dirigido (i→j) en SG.
Tercero, agregación de información. La incorporación actualizada del elemento podría obtenerse tras ponderar y sumar las incorporaciones de grado entrante y grado saliente de primer orden del elemento i.
(14)
Donde
y α̃ij denotaban respectivamente los pesos de grado entrante y grado saliente del elemento i, y
denotaba la representación actualizada del elemento i.
Representación global del elemento vecino
Investigaciones recientes coincidieron en que la construcción de un grafo global podría mejorar la representación de los datos y, por ende, el rendimiento del SBR, lo cual era indudable. Sin embargo, la mejora global de los datos también podría introducir información irrelevante, como ruido. En el modelo propuesto, para lograr una ampliación global de los datos mientras se minimiza al máximo el ruido, se construyó un grafo global de vecinos cercanos.
Basado en el NGG de la Figura 1B y la matriz de adyacencia normalizada de la Tabla 1, la sesión actual y sus sesiones vecinas se transformaron en un NGG, y se aplicó un método de GGNNs45 para extraer características del NGG. El proceso de aprendizaje de los vectores de elementos en el NGG se muestra en la Ecuación (15).




(15)
W ∈ ℝd×2d denotaba los pesos de control, zg,i y rg,i representaban la puerta de actualización y la puerta de reinicio, respectivamente. [h1t-1, ⋯, hnt-1] representaba la lista de todos los vectores de elementos en la sesión s. σ(x) = 1/(1 + e-x) era la función sigmoide logística, ⊙ denotaba la multiplicación elemento a elemento, y hi ∈ ℝd representaba el vector tras la actualización con puertas. La matriz de adyacencia As ∈ ℝn×n indicaba la conectividad entre los elementos en sesiones adyacentes, y As,i: ∈ ℝ1×n representaba un bloque de columna de As correspondiente al elemento vs,i en la matriz de adyacencia. Para la sesión actual s = [v1, v2, v4, v2, v3], el NGG y la matriz de adyacencia normalizada se mostraban en la Figura 1B y en la Tabla 1, respectivamente.
Representación del elemento
La representación del ítem se obtuvo sumando el vector del ítem a nivel de sesión y el vector del ítem a nivel global del vecino, como se muestra en la Ecuación (16):

(16)
Donde se utilizó la eliminación (dropout) en las representaciones de elementos vecinos a nivel global para aliviar el sobreajuste.
Atención lineal con ranura de compuerta
La atención lineal con ranura controlada (GSLA) en este artículo integra la atención lineal con un control de memoria acotada y un mecanismo de compuerta dependiente de los datos. Por un lado, heredó el mecanismo de ranura de memoria finita del modelo de controlador basado en atención (ABC), que comprime los pares clave-valor, que originalmente crecían con la longitud de la secuencia, en un número fijo de ranuras, y cada ranura se actualiza mediante escritura competitiva, abordando así el problema de complejidad computacional de la atención global del transformador. Por otro lado, introdujo un mecanismo de compuerta de granularidad fina similar al de GLA, en el que los datos de entrada ajustan dinámicamente la proporción de retención de la información histórica mediante una compuerta de olvido αi, resolviendo el problema de ruido causado por la falta de un mecanismo de olvido en ABC.

Figura 3: Diagrama esquemático de GSLA. El vector de entrada se asignó al vector de consulta, vector de palabras clave y vector de valores, respectivamente, y luego se procesó mediante atención lineal con control de memoria limitada y un mecanismo de compuerta dependiente de los datos para obtener el vector de consulta actualizado, vector de palabras clave, vector de valores y vector de salida. Esta figura fue dibujada por los autores mediante Visio con elementos completamente personalizados. No se utilizaron recursos gráficos externos con derechos de autor, por lo que no fue necesario ningún permiso adicional de copyright de terceros. El copyright de la figura pertenece a los autores y cumplirá con las normas de copyright de la revista tras su aceptación. GSLA representa la atención lineal con ranuras y compuerta. Haga clic aquí para ver una versión más grande de esta figura.
Como se implementó específicamente en la Figura 3, el vector de entrada se mapeó por separado en el vector de consulta, el vector clave y el vector de valores64:
(17)
Donde Wq, Wk, Wv ∈ ℝd×d representaban las matrices de pesos de transformación correspondientes a la consulta, la clave y el valor, respectivamente, y ht denotaba el vector de incrustación en el paso temporal t de la secuencia de entrada de la sesión. La función Swish se definía como Swish(x) = x · σ(x) y era una función de activación con autoguía, donde σ era la función sigmoide; esta superó a la función de activación ReLU tradicional en múltiples tareas de aprendizaje profundo.
GSLA utilizó una puerta de olvido αi y una puerta de entrada 1 − αi, dependiendo de los datos de entrada, para actualizar dinámicamente la información en el iº espacio de memoria. El proceso fue el siguiente64:
(18)
(19)
Aquí, K̃t y Ṽt representaban las ranuras del vector clave y las ranuras del vector de valor en el paso de tiempo t, mientras que K̃t-1 y Ṽt-1 representaban las ranuras del vector clave y las ranuras del vector de valor en el paso de tiempo t−1. La puerta de olvido αi = σ(Wαht)1/τ, donde Wα ∈ ℝd era la matriz de pesos de transformación, σ era la función sigmoide y τ era el coeficiente de amortiguación (normalmente establecido en 8), se utilizaba para controlar la suavidad de la puerta de olvido. Esto permitía a GSLA ajustar suavemente la tasa de olvido de la información histórica: cuanto mayor fuera αi, más dependería GSLA de la información histórica; cuanto menor fuera αi, más se centraría GSLA en la entrada actual.
Los ranuras de vector clave K̃t y las ranuras de vector de valor Ṽt en el paso t-ésimo se escribieron en forma matricial, como se muestra65 en las Ecuaciones (20) y (21):
(20)
(21)
Luego, se utilizó la GSLA con propiedades de segundo orden (véase la Ecuación (8)) para calcular la salida oi |i=1T en cada paso de tiempo i ∈ [1, …, T]. Se aplicó una transformación lineal a la salida de cada paso de tiempo para obtener el resultado h̃t. Finalmente, se calculó el valor promedio de las representaciones de todos los elementos en la secuencia de sesión para generar el vector de sesión S̃e con actualizaciones dinámicas de la memoria:
(22)
(23)
Aquí, ot representaba la salida de Gated-Slot en el paso de tiempo t, h̃t indicaba el resultado de aplicar una transformación lineal sobre ot. S̃e indicaba el valor promedio de h̃t en todos los pasos de tiempo.
Capa de predicción
A partir de la representación de sesión obtenida S̃e y del embedding inicial del elemento i, se realizó una operación de producto punto para calcular la puntuación de cada elemento candidato hi. Posteriormente, se utilizó la función softmax para obtener las probabilidades de recomendación del elemento candidato i:
(24)
Aquí, ỹ representaba las probabilidades de recomendación del elemento candidato, hi denotaba el vector del elemento candidato, y se utilizó la función de pérdida de entropía cruzada para el entrenamiento del modelo.
(25)
Aquí, y fue la representación codificada one-hot de la verdad fundamental.