순차적 추천 시스템은 사용자의 행동에 대한 맥락
을 고려하여 새로운 제품을 추천합니다. 하지만 사용자의 과거 행동들은 기하급수적으로 늘어나기 때문에 입력 공간의 크기가 매우 커지기에 개발하기에 어려움이 있습니다.
사용자의 이전 행동만 가지고 다음 행동을 예측합니다. 강력한 단순화를 가정함으로써 높은 희소성 환경에서 잘 수행되지만 복잡하거나 고밀도 환경에서는 성능이 떨어집니다.
hidden state를 활용하여 이전의 모든 행동들을 고려해 다음 행동을 예측합니다. RNN은 표현적이기는 하나 고밀도의 많은 데이터가 요구됩니다.
저자는 이 둘의 단점을 보완하고자 새로운 모델을 추천 시스템에 적용하게 됩니다.
새로운 순차적 모델 Transformer는 self-attention
을 사용하여 의미 있는 패턴을 효율적으로 발견할 수 있습니다. 아래 그림은 저자가 제시한 Self Attentive Sequential 추천 시스템(SASRec)의 학습 과정입니다.
Attention is all you need에서 발표된 Transformer 참고자료
Positional Embedding :
B. Self-Attention Block
다음으로 Self-Attention Block을 거치게 되는데 이는 Attention Is All You Need
에서 등장한 Trasformer의 구조와 거의 유사합니다.
Causality : 실제 추천 알고리즘이 작동할 때는 미래의 유저 행동을 볼 수 없기 때문에, 저자는 미래의 유저 행동을 사용하는 것은 모순적이라고 생각해, 현재 이후 시점에 대해서는 masking을 진행했습니다.
D. Prediction Layer
다음에 올 유저 행동을 예측하기 위해 적절한 item의 score를 최종적으로 예측하게 됩니다. 따라서 block의 출력 값 에 사이즈가 인 과 연산해줍니다.
Shared Item Embedding : 모델의 사이즈와 오버피팅을 예방하고자 Shared Item Embedding 매트릭스 을 사용합니다.
E. Network Training
모델의 loss의 경우 사용자가 관심 있는 항목(positive sampling)과 관심 없는 항목(negative sampling)을 통해 binary cross entropy를 계산하고, Adam 옵티마이저를 사용하여 모델을 최적화합니다.
아래 loss의 식에서 좌측의 항은 positive samples과 우측 항은 negative samples를 의미합니다.
RQ1: Does SASRec outperform state-of-the-art models including CNN/RNN based methods?
모델 성능 비교 결과 저자가 제안한 SASRec 모델이 모든 데이터셋에서 가장 우수한 성능을 보였으며, 특히 기존의 신경망 기반의 추천시스템(f-h)에서 좋은 성능 개선을 이뤘습니다.
모델이 다양한 데이터셋의 다양한 범위 내의 항목에 적응적으로 참여하기에 희소한 데이터셋과 고밀도 데이터셋 모두에서 모든 기준선을 능가합니다.
RQ2: What is the influence of various components in the SASRec architecture?
(1) PE 제거(Positional Embedding) : positional embedding P가 없으면 각 항목에 대한 attention weight는 항목 임베딩에만 의존합니다.
(6) 1 block : 하나의 블록이 있는 변형은 특히 고밀도 데이터 세트에서 성능을 향상시키지만, 계층적 self-attention 구조는 더 복잡한 항목 전환을 학습하는 데 도움이 됩니다.
RQ3: What is the training efficiency and scalability (regarding n) of SASRec?
Training Efficiency : SASRec는 1 Epoch 모델 업데이트에 1.7초밖에 걸리지 않습니다. 이는 Caser(19.1s/epoch)보다 11배, GRU4Rec+(30.7s/epoch)보다 18배 빠른 속도입니다. 또한 SASRec은 ML-1M에서 약 350초 이내에 최적의 퍼포먼스로 수렴되지만 다른 모델에서는 훨씬 더 오랜 시간이 소요됩니다.
Scalability : 표준 MF 방식과 마찬가지로 SASRec은 총 사용자 수, 항목 및 작업에 따라 선형적으로 확장됩니다. 이 클수록 성능이 향상됩니다.(최대 까지) 이때 성능이 포화됩니다.(행동의 99.8%가 적용되었기 때문에 더욱 향상됨) 그러나 인 경우에도 Caser 및 GRU4Rec+보다 빠른 2,000초 만에 모델을 훈련시킬 수 있습니다. 따라서 저자의 모델은 사용자 sequence로 쉽게 확장할 수 있으며, 이는 일반적인 리뷰 및 구매 데이터셋에 적합합니다.
RQ4: Are the attention weights able to learn meaningful patterns related to positions or items’ attributes?