Doświadczanie rekomendacji opartych na sesjach
Rekomendację opartą na sesjach można badać z trzech perspektyw: SBR, uczenia kontekstu globalnego oraz GSLA (patrz Tabela materiałów). W badaniu nie uczestniczyli ludzie ani zwierzęta. Wszystkie zbiory danych eksperymentalnych wykorzystane w tej pracy są ogólnodostępne i zostały przesłane jako Plik uzupełniający: GSLA4Rec.zip.
Rekomendacja oparta na sesji
System rekomendacji oparty na sesjach (SBR) był systemem sztucznej inteligencji, który wchodził w interakcje z użytkownikami poprzez wielTOURnowe dialogi w języku naturalnym, aby dynamicznie rozumieć ich preferencje i dostarczać spersonalizowane rekomendacje. SBR ewoluował od metod tradycyjnych do podejść opartych na głębokim uczeniu oraz rozwiązań hybrydowych, a następnie rozwinął się w kierunku rozwiązań opartych na dużych modelach językowych (LLM).
Tradycyjna rekomendacja oparta na sesjach
Tradycyjne SBR było zazwyczaj reprezentowane przez metody oparte na łańcuchach Markowa oraz filtrowanie kolaboratywne. Pierwsze z nich generowało rekomendacje poprzez dekompozycję specyficznych dla użytkownika probabilistycznych macierzy przejścia. Na przykład Guy Shani24 zaproponował metodę rekomendacji opartą na procesie decyzyjnym Markowa, która tworzyła rekomendacje poprzez dekompozycję odpowiadających im macierzy; Wanrong Gu25 poprawił wydajność rekomendacji poprzez zintegrowanie łańcuchów Markowa z odstępami czasu między zakupami. Filtrowanie kolaboratywne generowało rekomendacje poprzez wydobywanie ukrytych relacji sekwencyjnych między sąsiednimi interaktywnymi elementami za pomocą faktoryzacji macierzy. Przykładowo, Sarwar B1 obliczał podobieństwo między elementami na podstawie historycznych zachowań użytkowników (takich jak oceny i kliknięcia), aby rekomendować elementy zgodne z przeszłymi preferencjami użytkowników. Jeśli użytkownik A polubił element a, a element c był bardzo podobny do a, system rekomendował c użytkownikowi A; Rendle S5 zaproponował FPMC, model rekomendacji sekwencyjnych łączący faktoryzację macierzy z łańcuchami Markowa, aby uchwycić ukryte relacje sekwencyjne między sąsiednimi interaktywnymi elementami. Jednakże tradycyjne SBR skupiało się na relacjach sekwencyjnych między sąsiednimi elementami, co utrudniało modelowanie złożonych relacji zależności.
Rekomendacje oparte na sesjach z wykorzystaniem głębokiego uczenia
Rekomendacje oparte na sesjach z wykorzystaniem głębokiego uczenia ewoluowały przez etapy obejmujące splotowe sieci neuronowe (CNNs)26,27,28,29, sieci RNN oraz GNN. SBR oparte na CNN wykorzystywały operacje takie jak splot i pooling do nauki reprezentacji kontekstu każdej sesji, które następnie służyły do dalszych rekomendacji. Caser30 przekształcał L ostatnio odwiedzonych przez użytkownika elementów w wektory d-wymiarowe za pomocą warstwy embeddingu, tworząc macierz embeddingu traktowaną jako „obraz” zmapowany w czasie i przestrzeni latentnej. Następnie wykorzystywano trzy splotowe filtry wzorców sekwencyjnych — na poziomie punktowym, na poziomie unii bez pomijania oraz na poziomie unii z jednokrotnym pominięciem — aby nauczyć się wzorców sekwencyjnych dla lepszej wydajności SBR. Tuan i wsp.31 w sposób jednolity modelowali strumienie kliknięć w sesjach oraz cechy treści za pomocą 3D splotowych jąder w celu utworzenia wspólnych reprezentacji czasoprzestrzennych i treściowych.
RNNy stanowiły klasę architektur sieci neuronowych zaprojektowanych specjalnie do przetwarzania danych sekwencyjnych. Głównym założeniem było uchwycenie zależności czasowych poprzez struktury rekurencyjne, takie jak sieci długiej krótkotrwałej pamięci (LSTM)13 oraz jednostki z bramkowaniem (GRU)32. Były one szeroko stosowane w takich dziedzinach jak przetwarzanie języka naturalnego (NLP)33, rozpoznawanie mowy34, tłumaczenie tekstów35, turystyka36,37, kryminalistyka38, oraz przewidywanie przyszłych trendów39 (np. ruchu drogowego40, giełd papierów wartościowych41,42 oraz meteorologii43). GRU4Rec, zaproponowany przez Hidasi i wsp., był kamieniem milowym w badaniach nad SBR; jako pierwszy wprowadził RNNy do SBR i wykorzystał GRU do uchwycenia sekwencyjnych wzorców zachowań użytkowników w celu uzyskania spersonalizowanych rekomendacji.
Sieci GNN44 wykazały silną zdolność ekspresyjną w modelowaniu złożonych relacji w danych o strukturze grafu, a niektórzy badacze wprowadzili GNN do modelowania złożonych przejść w obrębie lub pomiędzy sesjami. W zależności od różnych architektur modeli GNN, metody oparte na GNN w zadaniu SBR są zazwyczaj klasyfikowane jako bramkowane grafowe sieci neuronowe (GGNNs)45, grafowe sieci konwolucyjne (GCNs)46 oraz grafowe sieci uwagi (GATs)47. SR-GNN był pierwszym modelem, który zastosował GNN w SBR poprzez reprezentowanie sekwencji sesji jako grafów skierowanych i wykorzystanie GGNN do przechwytywania złożonych relacji przejść między elementami w obrębie sesji, w połączeniu z mechanizmami uwagi w celu uzyskania końcowego zanurzenia (embeddingu) sesji, co poprawiło wydajność rekomendacji. Chen L48 zaproponował wielowidokową strukturę GNN, która łączy atrybuty strukturalne i niestrukturalne słowa kluczowe w celu modelowania wielowymiarowych powiązań produktów, zwiększając dokładność SBR. Driss E49 zaprojektował innowacyjny system rekomendacji sesyjnych wykorzystujący kapsułkowe grafowe sieci neuronowe do przechwytywania złożonych cech elementów i zwiększenia dokładności predykcji dla SBR.
Wspomniane techniki głębokiego uczenia rozszerzyły zakres badań nad SBR i skutecznie poprawiły jego wydajność, jednak nadal posiadały one pewne ograniczenia, przejawiające się głównie w następujących kwestiach: 1) w przypadku nowo pojawiających się elementów lub bardzo rzadkich sesji modelom trudno było dokonać dokładnych przewidywań ze względu na brak globalnego kontekstu; 2) nie potrafiły one wykorzystać globalnych wzorców zawartych we wszystkich historycznych sesjach.
Hybrydowy system rekomendacji oparty na sesjach
Hybrydowe systemy rekomendacji oparte na sesjach integrują zalety różnych technik, takich jak filtrowanie kolaboratywne, głębokie uczenie (Deep-Learning) oraz mechanizmy uwagi, w celu poprawy wydajności SBR. Model GC-SAN50 włączył mechanizm self-attention oparty na SR-GNN, aby lepiej uchwycić informacje o interakcjach istotnych elementów w obrębie sesji. FGNN51 dodatkowo agregował informacje z sąsiednich elementów poprzez mechanizm uwagi wielogłowicowej (multi-head attention), aby nauczyć się wielu relacji elementu docelowego. SR-HetGNN52 zaliczany jest do SBR z wykorzystaniem grafów heterogenicznych; poprzez wprowadzenie elementów wielu typów (użytkownik, element, sesja) oraz krawędzi wielorelacyjnych (kliknięcie, zakup, współwystępowanie, powiązanie atrybutów), skonstruowano globalną sieć wiedzy, przełamując ograniczenia pojedynczych sekwencji elementów, co w ostatnich latach stało się ważną metodą modelowania zachowań anonimowych użytkowników oraz powiązań zainteresowań między sesjami. KGSR-SAP53 zbudował graf wiedzy poprzez łączenie elementów krawędziami wielu relacji w celu opisania różnych interakcji użytkownik-element, rozwiązując problem utraty informacji, który występuje, gdy globalny graf zawiera tylko krawędzie jednego typu (interakcja użytkownik-element). Wang ZH54 zaproponował DiffSBR, model rekomendacji sesyjnych oparty na dyfuzji. Generuje on wiarygodne preferencje dotyczące następnego elementu poprzez symulację odszumiania sygnału, co poprawia modelowanie dynamicznych sekwencji kliknięć użytkownika. Qiao ST55 zbudował framework SBR łączący wielowidokowe uczenie intencji oraz dopasowanie do LLM. Pozwala on na wydobywanie ukrytych intencji użytkownika z różnych perspektyw i wykorzystuje modele językowe do wyrównania cech semantycznych, co prowadzi do lepszej wydajności rekomendacji.
Kontekst globalny
Aby przezwyciężyć wadę polegającą na „analizowaniu sesji w izolacji”, badacze zdali sobie sprawę, że informacje globalne mogą zostać wykorzystane do zwiększenia możliwości reprezentacji bieżącej sesji, co pozwala rozwiązać takie problemy jak rzadkość danych, zimny start oraz luka semantyczna w tradycyjnych systemach SBR. Jednocześnie podczas konstruowania kontekstu globalnego konieczna była integracja informacji globalnych w ramach pojedynczej sesji przy jednoczesnym zminimalizowaniu zakłóceń szumem. CSRM56 zoptymalizowano reprezentację na poziomie sesji poprzez integrację informacji kolaboratywnych między bieżącą sesją a sesjami sąsiednimi, wykorzystując koder pamięci zewnętrznej (OME) do wyodrębniania intencji kolaboratywnych z informacji kolaboratywnych. CA-TCN57 zaproponowano model czasowej sieci konwolucyjnej świadomej między-sesyjnie, konstruując grafy globalne i grafy kontekstu sesji, aby symulować wpływ relacji między-sesyjnych na elementy i sesje, podczas gdy czasowa sieć konwolucyjna (TCN) rozszerza pole recepcyjne poprzez konwolucje dylatacyjne, przy czym liczba warstw obejmuje sekwencje o długości wykładniczej (pole recepcyjne = ), rozwiązując problem zanikającego gradientu w sieciach RNN. Chen58 zaproponowano metodę SBR opartą na hipergrafowych sieciach neuronowych (SR-HGNNs), która integruje propagację mieszanego rzędu (niskiego i wysokiego rzędu) oraz mechanizmy uwagi, aby rozwiązać problem nadmiernego wygładzania (over-smoothing) tradycyjnych sieci GNN w krótkich sesjach i rozróżnić znaczenie różnych rzędów propagacji, co pozwala dokładniej uchwycić zależności i uniknąć zakłóceń szumem. GCE-GNN wykorzystywa pary elementów współwystępujących wielorzędowych do konstrukcji nieskierowanego grafu ważonego, obliczając częstotliwości współwystępowania elementów w celu odzwierciedlenia ich ważności w sesji; AGNN-GC59 wykorzystywa między-sesyjne relacje przejść między elementami do konstrukcji globalnego grafu kolaboratywnego, obliczając prawdopodobieństwa przejść między elementami w grafie globalnym, aby odzwierciedlić zmiany zainteresowań w sesji; DA-GCN60 wykorzystuje najkrótszą ścieżkę do aktualizacji macierzy sąsiedztwa w celu konstrukcji dynamicznego grafu ważonego, obliczając globalną częstotliwość współwystępowania oraz odległość ścieżki między elementami. Zainspirowani powyższą literaturą, w niniejszej pracy zaproponowano konstrukcję grafu globalnego za pomocą metody opartej na sąsiedztwie, tj. wykorzystanie współczynnika podobieństwa Jaccarda do wyznaczania podobnych sesji, co pozwoliło nie tylko na wykorzystanie informacji globalnych, ale także na odfiltrowanie szumu (usunięcie nieistotnych elementów), osiągając cel dokładnej konstrukcji kontekstu globalnego i kładąc solidne fundamenty pod późniejszy algorytm SBR.
Liniowa uwaga z bramkowanymi slotami
Tradycyjne transformery61 charakteryzowały się wysoką złożonością czasowo-przestrzenną ze względu na konieczność stosowania operacji uwagi w pełni połączonej dla całej sekwencji, zgodnie z poniższym:
(1)
Gdzie Q, K, V ∈ RN×d były liniowymi przekształceniami elementów wejściowych, M = {Mij = 1 jeśli i ≥ j, w przeciwnym razie −∞ } stanowiła maskę przyczynową zapobiegającą wyciekowi informacji z przyszłości, ⊙ oznaczało mnożenie elementowe, a f oznaczało funkcję aktywacji softmax.
Aby uzyskać liniową uwagę62, najbardziej bezpośrednim pomysłem było usunięcie funkcji aktywacji softmax. Jednak gdyby funkcja aktywacji softmax została usunięta bezpośrednio, liniowa uwaga z pewnością doprowadziłaby do pewnych potencjalnych problemów: utraty potężnej mocy ekspresyjnej sieci neuronowych i niemożności rozwiązywania złożonych problemów świata rzeczywistego.
Liniowa uwaga szczelinowa z kontrolą ograniczonej pamięci
Przy założeniu, że funkcja aktywacji softmax musiała zostać zachowana, K i V zostały skompresowane oddzielnie do K̃, Ṽ ∈ Rm×d. Z perspektywy sieci pamięciowej, K̃ i Ṽ posiadały sloty pamięci, których długość zwiększa się wraz z sekwencją, tzn. liczba slotów m = N. Gdyby m była stała, linearyzacja byłaby oczywiście możliwa. Inspirując się Bounded-memory Control63, każdy token w elementach wejściowych o długości N musiał zostać zapisany konkurencyjnie w m slotach.
,
,
(2)
Gdzie f było funkcją aktywacji softmax, a φi był wektorem sterującym efektywne wejście dla kontrolowania wartości klucza ki w następujący sposób.
,
(3)
Tutaj, (φi)j reprezentowało intensywność zapisu itoken do jslot został uzyskany przy użyciu skumulowanej funkcji softmax.
Aby uzyskać wydajne obliczenia liniowe, wzór (2) przekształcono we wzór (4), który obliczał οi na podstawie qi, ki oraz vi (Równanie 4) poprzez {οi|i=1T, qi, ki, vi)|i=1T} i zastosowano dwuetapowe obliczenia sekwencyjne:
,
(4)
W związku z tym można wyprowadzić operacje SLA:
,
(5)
Gdzie oi′ ∈ ℝm, οi ∈ ℝd. W związku z tym SLA może uzyskać wydajne sprzętowo trenowanie fragmentowe (chunk-wise) w czasie liniowym64.
Liniowa uwaga z bramkowanymi slotami
Liniowa uwaga szczelinowa (slot linear attention) z kontrolą ograniczonej pamięci mogłaby zredukować złożoność obliczeniową i przestrzenną. Jednakże akumulacja informacji mogłaby również wprowadzić szum do interakcji w sesji, dlatego zanik zależny od danych był bardzo ważny dla selektywnego zatrzymywania i zapominania informacji, a ten mechanizm selektywny został ponownie omówiony w niedawnych selektywnych modelach przestrzeni stanów65. GSLA z zależnością od danych można wyrazić jako:
,
(6)
W tym przypadku bramki rozpadu zostały sparametryzowane przez postać produktu zewnętrznego Gi = αi ⊗ βi, αi, βi ∈ [0,1]d. W dalszej części GSLA można również zapisać w następującej równoważnej formie, przyjmując zazwyczaj βt = 1 oraz mnożenie macierzy zgodnie z64:
(7)
Gdzie αi i ki oznaczały odpowiednio bramkę zapominania i bramkę wejściową, obie bramki mogły zostać sprzężone jako ki = 1 − αi, w oparciu o literaturę dotyczącą bramkowanych sieci RNN. Było oczywiste, że GSLA można sformułować za pomocą sekwencyjnych obliczeń dwuprzebiegowych, jak pokazano w równaniu (8). Struktura drugiego rzędu umożliwiała blokowe trenowanie równoległe w celu zwiększenia wydajności uczenia, a wprowadzenie operacji softmax w środku struktury drugiego rzędu poprawiło zdolność modelowania pamięci o ograniczonej liczbie slotów.
,
(8)
Transformowanie danych sesyjnych
Definicja problemu
Przyjmijmy, że dana sekwencja sesji to S = {v1s, v2s, ⋯, vns}, gdzie vis oznacza i-ty kliknięty element. Poprzez analizę zachowania użytkownika w zakresie kliknięć w tej sekwencji, system przewidział następny element, którym użytkownik może być zainteresowany vn+1s.
Konstrukcja grafu
Konstrukcja grafu sesji
Dla sesji S = {v1s, v2s, ⋯, vns} skonstruowano skierowany graf Gs = (Vs, εs), gdzie Vs stanowił zbiór elementów danej sesji S, a εs = {eijlocal|vi, vj, vi, vj ∈ Vs} był zbiorem krawędzi danej sesji S. ε(vi-1s, vis) reprezentował następujące po sobie kliknięte elementy w tej sesji. Krawędź eijlocal można było podzielić na cztery typy: ein, eout, ein-out, eself. Ponieważ ten sam element mógł pojawiać się wielokrotnie w sekwencji, obliczono wartość wagową dla każdej krawędzi.
Bieżąca sesja s = [v1, v2, v4, v2, v3] została przekształcona w graf skierowany (SG), jak pokazano na Rysunku 1A.

Rysunek 1: Przekształcanie elementów interaktywnych w struktury grafowe. (A) Ilustracja konstrukcji grafu sesji (SG) poprzez przekształcenie sesji w graf. (B) Ilustracja konstrukcji globalnego grafu sąsiedztwa (NGG) poprzez połączenie wielu sesji w jeden graf. Rysunek został wykonany samodzielnie w programie Visio z całkowicie spersonalizowanymi elementami. Nie wykorzystano zewnętrznych zasobów graficznych objętych prawem autorskim, w związku z czym nie było konieczne dodatkowe licencjonowanie praw osób trzecich. Prawa autorskie do rysunku przysługują autorom i będą zgodne z zasadami praw autorskich czasopisma po zaakceptowaniu pracy. Kliknij tutaj, aby wyświetlić powiększoną wersję tego rysunku.
Konstrukcja globalnego grafu sąsiedztwa
Na podstawie bieżącej sesji S skonstruowano odpowiadający jej NGG Gg = (Vg, εg), aby wzbogacić uczenie reprezentacji bieżącej sesji w sposób między-sesyjny. Vg stanowił zbiór elementów zawierający wszystkie elementy w Gg, a εg = {eijglobal|vi, vj, vi, vj ∈ Vg} był zbiorem krawędzi Gg. ε(vi-1g, vig) reprezentował bezpośrednio oddziałujące ze sobą elementy vi-1g oraz vig w NGG Gg. Proces ten składał się z dwóch kroków: pozyskania sesji sąsiednich oraz konstrukcji NGG.
Pozyskiwanie sesji sąsiedzkich
W całym zbiorze danych wyszukiwano sesje z maksymalną liczbą elementów współwystępujących z bieżącą sesją. Wybrano top-N sesji z najwyższą liczbą współwystąpień, aby utworzyć zbiór kandydujących sesji sąsiadujących S. Następnie zastosowano współczynnik podobieństwa Jaccarda do obliczenia podobieństwa między bieżącą sesją cu a sesją Sr ∈ S ze zbioru kandydatów S, zgodnie z równaniem (9).
(9)
Tutaj co(Scu, Sr) oznaczało liczbę elementów występujących jednocześnie zarówno w Scu, jak i w Sr, podczas gdy l(Scu) oraz l(Sr) reprezentowały odpowiednio długości Scu i Sr, a Scu i Sr oznaczały aktualną sesję oraz sesję sąsiednią. Sesje o podobieństwie poniżej określonego progu (który mógł zostać ustawiony jako hiperparametr) zostały odfiltrowane, a pozostałe sesje utworzyły zbiór sesji sąsiednich Ns dla aktualnej sesji.
Konstrukcja globalnego grafu sąsiedztwa
Na podstawie zbioru sesji sąsiadujących Ns skonstruowano NGG, co przedstawiono na Rysunku 1B. Podczas konstruowania macierzy sąsiedztwa, jeśli dwa elementy (vi, vj) wchodziły w interakcję, odpowiadający im wpis Aij przyjmował wartość 1, w przeciwnym razie przyjmował wartość 0. Dodatkowo interakcje między elementami traktowano jako nieskierowane i wyposażono w pętle zwrotne, a następnie przeprowadzono normalizację, jak pokazano w Tabeli 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 |
Tabela 1: Znormalizowana macierz sąsiedztwa globalnego grafu sąsiadów. Tabela przedstawia znormalizowaną macierz sąsiedztwa opisującą ważone połączenia między węzłami w skonstruowanym globalnym grafie sąsiadów.
Projektowanie algorytmu rekomendacji opartego na sesjach
W tej sekcji szczegółowo omówiono proponowany innowacyjny model GSLA4Rec, który poprawił wydajność SBR poprzez wprowadzenie mechanizmu GSLA w odniesieniu do wspólnej reprezentacji cech SG i NGG.

Rysunek 2: Schemat GSLA4Rec. Ten schemat zintegrował uczenie struktury grafu sesji i globalnego grafu sąsiedztwa, odfiltrował szum interakcji za pomocą mechanizmu bramkowania, zrównoważył pamięć i wydajność dzięki mechanizmowi slotów pamięci oraz uchwycił istotność elementów za pomocą mechanizmu liniowej uwagi, aby przewidzieć preferencje kolejnego kliknięcia użytkownika. Rysunek ten został wykonany autorsko w programie Visio z całkowicie spersonalizowanymi elementami. Nie wykorzystano zewnętrznych zasobów graficznych objętych prawem autorskim, w związku z czym nie było potrzeby uzyskania dodatkowych licencji od osób trzecich. Prawa autorskie do rysunku należą do autorów i będą zgodne z zasadami praw autorskich czasopisma po zaakceptowaniu pracy. GSLA4Rec reprezentuje sieci neuronowe na grafach z liniową uwagą i slotami bramkowanymi dla SBR. Kliknij tutaj, aby zobaczyć powiększoną wersję tego rysunku.
Rysunek 2 przedstawia strukturę GSLA4Rec, która składa się z czterech głównych komponentów: 1) Reprezentacja elementów na poziomie sesji. Wykorzystuje ona model GNNs na SG do nauki embeddingów elementów na poziomie sesji w ramach bieżącej sesji; 2) Reprezentacja elementów na globalnym poziomie sąsiedztwa. Uczy ona globalnych embeddingów elementów we wszystkich sesjach, wykorzystując GRU do rekurencyjnego włączania embeddingów sąsiadów każdego elementu na podstawie NGG; 3) GSLA. Modeluje preferencje użytkowników w bieżącej sesji poprzez agregację wyuczonych reprezentacji elementów zarówno na poziomie sesji, jak i na poziomie globalnym; 4) Warstwa predykcji. Generuje ona przewidywane prawdopodobieństwa dla elementów kandydujących. Cztery powyższe komponenty zostały szczegółowo omówione w dalszej części.
Reprezentacja sesji
W systemach SBR kluczowe było zrozumienie zachowań interakcyjnych użytkowników. W tym celu, w celu reprezentacji sesji, skonstruowano SG oraz NGG, dążąc do kompleksowego zrozumienia zachowań interakcyjnych użytkowników, a tym samym uchwycenia ich bardziej autentycznych intencji.
Reprezentacja elementów na poziomie sesji
Na podstawie SG przedstawionego na Rysunku 1A, do ekstrakcji cech SG zastosowano metodę ważonego dwukierunkowego mechanizmu uwagi grafu (Weighted Bidirectional Graph Attention, WBGAT). Metoda ta wprowadziła wagi krawędzi oraz kierunkowość elementów (sąsiedzi przychodzący i odchodzący) w oparciu o standardowy mechanizm GAT, co pozwoliło na wzmocnienie istotnych krawędzi i uchwycenie zależności dwukierunkowych, eliminując tym samym niedoskonałości tradycyjnego GAT w zakresie asymetrycznych relacji między elementami oraz siły oddziaływań. Proces obliczeniowy przebiegał następująco:
W pierwszej kolejności obliczono wagi normalizacji stopnia wejściowego elementów.
(10)
gdzie eij oznacza wagę cech elementu j względem elementu i pierwszego rzędu w sąsiedztwie,
była relacją między elementem i a elementem j, β* ∈ ℝd były wektorami wag, hi i hj były odpowiednio reprezentacjami elementu i oraz j, Wi(in) ∈ ℝd*d i Wj(in) ∈ ℝd*d były parametrami trenowalnymi, a || reprezentowało operację konkatenacji. Aby odróżnić różne relacje stopnia wejściowego, wytrenowano dwa wektory wag, mianowicie rin oraz rin-self. Jako funkcję aktywacji zastosowano LeakyReLU.
(11)
Aby współczynniki były porównywalne dla różnych elementów, wagi uwagi zostały znormalizowane za pomocą funkcji softmax. Przy założeniu, że Ni(in) stanowi zbiór sąsiadów wchodzących pierwszego rzędu dla elementu i, a
jest wagą sąsiada wchodzącego dla krawędzi skierowanej (i←j) w SG, metoda ta umożliwiła modelowi naukę korelacji cech elementów przy jednoczesnym zachowaniu informacji o immanentnej sile połączeń w strukturze grafu poprzez obliczenie logarytmu wag krawędzi i dodanie ich do oryginalnego wyniku uwagi eij.
Po drugie, obliczenie wag normalizacji stopnia wyjściowego elementów.
(12)
gdzie ẽij oznacza wagę sąsiada wychodzącego pierwszego rzędu cech elementu j względem elementu i,
była relacją między elementem i a j, a wytrenowano dwa wektory wag, mianowicie rout oraz rout-self.
(13)
Gdzie Ni(out) oznacza zbiór sąsiadów wychodzących pierwszego rzędu elementu i, a
reprezentuje wagę sąsiada wychodzącego krawędzi skierowanej (i→j) w SG.
Po trzecie, agregacja informacji. Zaktualizowane osadzenie elementu można uzyskać po obliczeniu sumy ważonej osadzeń pierwszego rzędu stopnia wejściowego i stopnia wyjściowego elementu i.
(14)
Gdzie
oraz α̃ij oznaczały odpowiednio wagi stopnia wejściowego i wyjściowego elementu i, a
oznaczało zaktualizowaną reprezentację elementu i.
Reprezentacja elementów na poziomie globalnym sąsiedztwa
Ostatnie badania zgodnie wskazały, że konstrukcja grafu globalnego może poprawić reprezentację danych, a w konsekwencji zwiększyć wydajność SBR, co pozostaje bezsprzeczne. Jednak globalne wzbogacanie danych może również wprowadzić nieistotne informacje, takie jak szumy. W proponowanym modelu, aby osiągnąć globalną augmentację danych przy jednoczesnym maksymalnym ograniczeniu szumów, skonstruowano globalny graf najbliższych sąsiadów.
Na podstawie NGG przedstawionego na Ryc. 1B oraz znormalizowanej macierzy sąsiedztwa w Tabeli 1, bieżąca sesja oraz jej sesje sąsiednie zostały przekształcone w NGG, a następnie zastosowano metodę GGNNs45 w celu ekstrakcji cech NGG. Proces uczenia wektorów elementów w NGG przedstawiono w równaniu (15).




(15)
W ∈ ℝd×2d oznacza wagi sterujące, a zg,i i rg,i reprezentują odpowiednio bramkę aktualizacji (update gate) oraz bramkę resetowania (reset gate). [h1t-1, ⋯, hnt-1] reprezentuje listę wszystkich wektorów elementów w sesji s. σ(x) = 1/(1 + e-x) to logistyczna funkcja sigmoidalna, ⊙ oznacza mnożenie elementowe, a hi ∈ ℝd reprezentuje wektor po aktualizacji bramkowanej. Macierz sąsiedztwa As ∈ ℝn×n wskazuje połączenia między elementami w sąsiednich sesjach, a As,i: ∈ ℝ1×n reprezentuje blok kolumnowy As odpowiadający elementowi vs,i w macierzy sąsiedztwa. Dla bieżącej sesji s = [v1, v2, v4, v2, v3], NGG oraz znormalizowana macierz sąsiedztwa zostały przedstawione odpowiednio na Rysunku 1B i w Tabeli 1.
Reprezentacja przedmiotów
Reprezentację elementu uzyskano poprzez zsumowanie wektora elementu na poziomie sesji oraz globalnego wektora elementu sąsiada, zgodnie z równaniem (16):

(16)
Gdzie zastosowano dropout w reprezentacjach przedmiotów sąsiednich na poziomie globalnym, aby zapobiec przeuczeniu.
Liniowa uwaga z bramkowanymi slotami
Zastosowana w niniejszej pracy liniowa uwaga z bramkowanymi slotami (GSLA) integruje liniową uwagę z kontrolą ograniczonej pamięci oraz mechanizmem bramkowania zależnym od danych. Z jednej strony dziedziczy ona mechanizm skończonej liczby slotów pamięci z modelu kontrolera opartego na uwadze (ABC), kompresując pary klucz-wartość, które pierwotnie rosły wraz z długością sekwencji, do stałej liczby slotów, przy czym każdy slot jest aktualizowany poprzez zapis konkurencyjny, co rozwiązuje problem złożoności obliczeniowej globalnej uwagi w transformatorach. Z drugiej strony wprowadza precyzyjny mechanizm bramkowania podobny do GLA, w którym dane wejściowe dynamicznie dostosowują współczynnik retencji informacji historycznych za pomocą bramki zapominania αi, co eliminuje problem szumu wynikający z braku mechanizmu zapominania w modelu ABC.

Rysunek 3: Schemat GSLA. Wektor wejściowy został zmapowany odpowiednio na wektor zapytania (query), wektor słów kluczowych (keyword) oraz wektor wartości (value), a następnie przetworzony przez liniową mechanizm uwagi (linear attention) z kontrolą ograniczonej pamięci i zależnym od danych mechanizmem bramkowania, aby uzyskać zaktualizowany wektor zapytania, wektor słów kluczowych, wektor wartości oraz wektor wyjściowy. Rysunek ten został wykonany samodzielnie w programie Visio z wykorzystaniem w pełni dostosowanych elementów. Nie użyto zewnętrznych zasobów graficznych objętych prawem autorskim, w związku z czym nie było konieczne uzyskanie dodatkowych licencji od stron trzecich. Prawa autorskie do rysunku należą do autorów i będą zgodne z zasadami praw autorskich czasopisma po zaakceptowaniu pracy. GSLA oznacza gated-slot linear attention. Kliknij tutaj, aby wyświetlić powiększoną wersję tego rysunku.
Zgodnie z konkretną implementacją przedstawioną na Rysunku 3, wektor wejściowy został oddzielnie zmapowany na wektor zapytania (query), wektor klucza (key) oraz wektor wartości (value)64:
(17)
Gdzie Wq, Wk, Wv ∈ ℝd×d reprezentowały macierze wag transformacji odpowiadające odpowiednio zapytaniu (query), kluczowi (key) i wartości (value), a ht oznaczał wektor osadzenia w t-tym kroku czasowym w sekwencji wejściowej sesji. Funkcję Swish zdefiniowano jako Swish(x) = x · σ(x), będącą funkcją aktywacji z samobramkowaniem, gdzie σ była funkcją Sigmoidalną; funkcja ta wykazała wyższą skuteczność niż tradycyjna funkcja aktywacji ReLU w wielu zadaniach uczenia głębokiego.
GSLA wykorzystywał bramkę zapominania αi oraz bramkę wejściową 1 − αi, zależnie od danych wejściowych, aby dynamicznie aktualizować informacje w i-tym slocie pamięci. Proces przebiegał w następujący sposób64:
(18)
(19)
W tym przypadku K̃t i Ṽt reprezentowały sloty wektorów kluczy i sloty wektorów wartości w kroku czasowym t, podczas gdy K̃t-1 i Ṽt-1 reprezentowały sloty wektorów kluczy i sloty wektorów wartości w kroku czasowym t−1. Brama zapominania αi = σ(Wαht)1/τ, gdzie Wα ∈ ℝd była macierzą wag transformacji, σ była funkcją sigmoidalną, a τ współczynnikiem tłumienia (zazwyczaj ustawianym na 8), służącym do kontrolowania stopnia rozmycia bramy zapominania. Pozwalało to GSLA na płynną regulację tempa zapominania informacji historycznych: im większa wartość αi, tym bardziej GSLA polegało na informacjach historycznych, a im mniejsza wartość αi, tym bardziej GSLA koncentrowało się na bieżącym wejściu.
Kluczowe sloty wektorowe K̃t oraz sloty wektorów wartości Ṽt dla slotów w kroku t zostały zapisane w formie macierzowej, jak pokazano65 w równaniach (20) i (21):
(20)
(21)
Następnie wykorzystano GSLA z właściwościami drugiego rzędu (patrz równanie (8)), aby obliczyć wyjście oi |i=1T dla każdego kroku czasowego i ∈ [1, …, T]. Do wyjścia z każdego kroku czasowego zastosowano transformację liniową w celu uzyskania wyniku h̃t. Na koniec obliczono średnią wartość reprezentacji wszystkich elementów w sekwencji sesji, aby wygenerować embedding sesji S̃e z dynamicznymi aktualizacjami pamięci:
(22)
(23)
Tutaj ot reprezentuje wyjście z Gated-Slot w kroku czasowym t, a h̃t oznacza wynik zastosowania transformacji liniowej na ot. S̃e oznacza średnią wartość h̃t dla wszystkich kroków czasowych.
Warstwa predykcyjna
Na podstawie uzyskanej reprezentacji sesji S̃e oraz początkowego zanurzenia elementu i, wykonano operację iloczynu skalarnego w celu obliczenia wyniku dla każdego kandydującego elementu hi. Następnie zastosowano funkcję softmax, aby uzyskać prawdopodobieństwa rekomendacji kandydującego elementu i:
(24)
Tutaj ỹ reprezentowało prawdopodobieństwa rekomendacji elementu kandydującego, hi oznaczało wektor elementu kandydującego, a do trenowania modelu zastosowano funkcję straty entropii krzyżowej.
(25)
W tym przypadku y stanowiło reprezentację prawdy obiektywnej (ground truth) zakodowaną metodą one-hot.