Paper review/Recommender System

STAM: A Spatiotemporal Aggregation Method for Graph Neural Network-based Recommendation (WWW'22)

언킴 2023. 3. 20. 18:41
반응형

 

 

해당 논문은 기존 추천 관련 연구에서는 주로 Spatial 정보만을 고려하고 Temporal 정보는 고려하지 않는 문제점을 해결하고자, Spatial-Temporal Aggregation Method (STAM) 기법을 제안하였다. 

 

Introduction 

Graph Neural Network (GNN)의 성능이 우수한 것으로 검증된 후 Recommendation 분야에서는 주로 GNN 기법을 기반으로 추천 시스템을 구축하고 있다. Recommendation에 적용된 GNN의 Aggregation Function을 종합하면 1) Mean Pooling, 2) Degree Normalization, 3) Attentive Pooling, 4) Central Node Augmentation 으로 총 4개로 구성되어 있다. 그러나, 기존 GNN의 Aggreagtion Function은 중요한 정보인 Temporal 정보를 고려하지 않는다는 문제점이 존재한다. 다시 말해, 기존 GNN 기법은 Temporal 정보를 고려하지 않고, 오로지 Spatial 정보만을 고려하여 추천 시스템을 구축하고 있기 때문에 시간에 따라 변화하는 Dynamic Interest를 학습하는 것이 어렵다. 이와 같은 문제를 해결하고자 본 연구에서는 SpatioTemporal 정보를 고려한 Spatial-Temporal Aggregation Method (STAM) 기법을 제안한다. 

위 그림을 예로 들면, Sherry와 Amy는 동일한 제품을 클릭하였으나, Temporal 정보는 다른 것을 확인할 수 있다. Temporal 정보를 배제한 Spatio-based Aggregation에서는 일반적인 Graph를 통해 User Embedding을 도출하고, Spatiotemporal-based Aggregation에서는 Temporal 정보를 고려하여 STAM을 통해 User Embedding을 생성한다. 그런 다음, Candidate Item Embedding과 유사도를 계산하여 사용자에게 다음 제품을 추천하는 방식이다.

 

Preliminaries and Problem

GNN-based Recommendation은 1) Embedding Layer, 2) Embedding Aggregation Layer, 3) Embedding Propagation Layer, 4) Prediction Layer, 5) Joint Training으로 구성되어 있다.

 

먼저 Embedding Layer는 데이터를 입력으로 받고 사용자와 제품에 대한 Embedding을 생성하는 단계다. EVRN×dEURM×d는 각각 제품과 사용자에 대한 Embedding Matrix를 의미한다. MN는 각각 사용자의 수와 제품의 수를 의미한다. 각 제품(사용자)에 대한 Embedding Vector는 evRd, euRd로 표현할 수 있다. 

 

Embedding Aggregation Layer는 이웃들로부터 Signal을 수집해 Embedding을 업데이트하는 단계다. 이를 수식으로 표현하면 아래와 같이 표현할 수 있다.

nu=fuv(ev|vNu)

nv=fvu(eu|uNv)

nu/nvRd는 각각 사용자 u와 제품 v의 Neighbor Embedding을 Aggregation한 값을 의미한다. f()는 Aggregation Function으로 연구자의 목적에 따라 다양한 함수를 사용할 수 있다.

 

Embedding Propagation Layer는 Higher-order Interaction을 캡쳐하기 위해, Multiple Layer로 층을 쌓아 사용한다. 이때 l 번째 Layer의 User Representation과 Item Representation은 hu(l), hv(l)로 표현한다. 이를 수식으로 표현하면 아래와 같이 표현할 수 있다.

nu(l+1)=fuv(hv(l)|vNu

hu(l+1) g(nu(l+1),hu(l))

 

Prediction Layer는 위 과정을 통해 도출된 각 Layer의 Representation을 Fusion Function o()을 사용해 계산하여 Final Representation을 도출한 후 이를 내적하여 최종 스코어 r^uv를 도출하는 단계다.

eu=o(hu(1),,hu(L))

ev=o(hv(1),,hv(L))

r^uv euev

 

마지막 Joint Training에서는 Negative Sampling을 활용하여 Loss Function을 정의하고 이를 최소화하는 방향으로 학습을 진행한다.

L=(u,v)Dlogexp(euev)exp(euev)+vnpn()exp(euev)

vnpn()는 Negative Sampling을 위한 Distribution을 의미하고, D는 All User-Item Interaction을 의미한다. 

 

Method

STAM

STAM 기법은 Figure 2와 같이 구성되어 있으며, Temporal-Order Embedding과 Temporal-Position Embedding을 더한 값을 Scaled Dot-Product를 수행해 각 Layer 마다 hlTu를 출력한다. User Item Pair (u,v)가 주어졌을 때, Temporal Information은 Tu={v1,,vS}, Tv={u1,,uS}가 된다. 이때 S는 Temporal Order의 길이를 의미한다. 각 Imformation을 Encoding하면 Xu={ev1,ev2,,evS}Xv={eu1,eu2,,euS}가 될 것이다. 그런 다음, 각 Temporal Over Embedding에 Position Embedding을 더하면 아래와 같은 Embedding을 도출할 수 있다.

Zu={ev1+pv1,ev2+pv2,,evS+pvS}

Zv={eu1+pu1,eu2+pu2,,euS+puS}

ZuRS×dZvRS×d를 Attention Function의 입력으로 사용하면 아래와 같은 값을 도출할 수 있다.

hTu=Softmax((ZuWQ)(ZuWK)TD)(ZuWV)

hTv=Softmax((ZvWQ)(ZvWK)TD)(ZvWV)

마지막은 Feed-Forward Network를 수행하는 것이다. 이는 각 Layer에서 출력된 hlTu, hlTv에 대해 각각 수행하며 아래와 같은 수식으로 표현할 수 있다.

hu=FFN(h1Tu||||hkTu)

hv=FFN(h1Tv||||hkTv)

FFN Function은  FFN(x)=xW0+b0을 사용한다. 마지막으로는 각 Temporal Order 만큼의 Embedding을 평균하여 최종 nu, nv를 도출한다.

nu=1Si=1Shvi,nv=1Si=1Shui

 

STAM for GNN-based Recommendation

STAM는 Graph-Based Recommendation으로도 적용할 수 있다. LightGCN 기법과 비슷하게 STAM 기법에서도 Non-linear Transformation을 제거하고 사용한다. 

h(l+1)=(D12(AΦ)D12)h(l)

ΦR(M×N)×(M×N)는 Spatiotemporal Attention Weight Matrix를 의미한다. 그런다음 Final Representation을 구하는 수식은 Weighted-Pooling Operation을 사용하여 계산할 수 있다.

eu=l=0Lαlhu(l),ev=l=0Lαlhv(l)

 

Optimization with STAM

BPR Loss를 사용한다.

L=(u,v)Dvnpn(|u)lnσ(eueveuevn)+λ||Θ||22

 

 

 

Experiments

본 연구에서는 STAM 기법의 성능을 측정하기 위해 MovieLens, Amazon, Taobao 등의 데이터를 사용하였으며, 베이스라인 모델로는 MostPopular BPR-MF, NeuMF, GC-MC, NGCF, PinSage, LightGCN, GRU4Rec, Caser, SASRec, BERT4Rec 등의 기법을 사용하였다. 

 

실험은 1) Performance Comparison, 2) Ablation Study, 3) Parameter Sensitivity 로 구성되어 있다. 먼저 Performance Comparison 에서는 Representative Model과 Sequential Model 간의 성능을 비교한 실험이다 (Table 2, 3). Ablation Study는 기존의 Spatial-Based Aggregation Function과 비교한 실험과 Layer, Input Length에 따른 영향을 비교 분석한 실험이다 (Figure 3, Table 4, Figure 4). 마지막 Parameter Sensitivity에서는 Multi-head Attention의 수, Hidden Dimensionality에 대한 값에 변화를 주어 성능이 변화하는 지 확인하는 실험이다 (Figure 5).