6강 Temporal and Sequential Models

계절에 따라, 유행에 따라, 아니면 단순히 사용자의 취향 변화에 따라 얼마 전 유행했던 아이템의 인기가 금세 시들기도 하고, 또 반대로 뒤늦게 "역주행"을 하는 아이템이 생기기도 합니다. 그만큼 추천시스템에서 시간은 중요하게 작용하는 요소 중 한개입니다.

이번 강의에서는 추천 시스템에서 다루는 Temporal dynamics에 대해서 알아보는 시간을 갖도록 하겠습니다. 먼저 temporal dynamics가 실제로 사용된 케이스 스터디를 통해 temporal dynamics가 무엇이고 어떻게 모델링되는지 알아봅시다. 그리고 시간을 직접 반영하는 모델과 순서를 고려한 모델의 차이와 각 모델의 특징에 대해 살펴봅시다. \

 

FPMC (Factorized Personalized Markov Chains)

Markov property : 다음 상태는 그 직전의 상태에만 영향을 받음

-> 이렇게 되면 마지막거에서 이어지는 10개를 추천하는게 아니라 중간에서도 짤라서 추천하는 방식의 이번 대회와는 맞지 않는다. 따라서 다른 방향의 개선을 생각해 보아야한다.

1. Markov property를 사용하려면  이거로 5개추천하고 나머지 데이터 셋에서 제일 많이 보았던 장르 유형에서 Markov property 로 우선 되는 것들 중 봤던 영화 제외하고 상위 5개 추천해서 앙상블하는 거로 하면 좋지 않을까?

 

 

TransRec

이전 데이터 * 유저 데이터 => 다음 데이터

이것도 마지막 데이터를 기준으로 연속해서 추천해 주기 때문에 중간에서 짜른 데이터가 50%가 들어가는 평가지표에 적합하도록 변화가 필요하다.

 

7강 Temporal and Sequential Models(2)

6강에서 배운 Sequential Recommendations 내용에 이어, 이번 강의에서는 딥러닝을 사용한 Sequential Recommendation 모델에 대해 알아보는 시간을 갖도록 하겠습니다. 먼저 자연어처리 분야의 방법론과 Sequential Recommendation의 유사점과 Sequential Recommendation에 RNN을 사용한 모델에 대해 살펴봅니다. 그리고 Transformer를 Sequential Recommendation에 사용한 모델에 대해 리뷰합니다. 마지막으로 Self-supervised Learning 등의 방법론을 활용한 모델에 대해 살펴봅니다.

 

이 강의에서는 앞에서 생각했던 것과 같이 Fresshness 와 diversity를 어떻게 밸런스 있게 할 수 있을지를 RNN으로 전체 데이터를 고려하는 방향으로 제시한다. WHY? Markov property의 가정으로 인해 user의 사용 기록을 모두 반영 할 수 없기 때문이다.

-> RNN 으로 이전 데이터를 모두 고려

 

NARM

global session(전체 데이터) + local session (최근 데이터)

 

Transformer-based Sequential Recommendation

SASRec

 

S3-Rec (Self-Supervised Learning for Sequential Recommendation with Mutual Information Maximization)

추천 시스템의 데이터는 item sequence 뿐만 아니라 다양한 side-information을 포함하고 있으므로, 이를 효과적으로 활용하는 방법이 필요하다. Self-supervised learning을 활용하여 이러한 정보를 반영하는 효과적인 representation을 찾아보자.

 

Self-Supervised Learning

 - Self-supervised learning은 raw data로부터 representation을 학습하는 방법론

기본적으로 BERT4Rec의 구조와 유사하나, 총 4개의 auxiliary loss들을 활용하여 item-attribute, sequence-item, sequence-attribute, sequence-sequence 관계를 모델링함

 

Contrastive Learning

다양한 augmentation을 거쳐서 얻어진 augmented example들이 같은 example로부터 유래했는지를 비교-대조하면서 학습을 수행함

CL4SRec (Contrastive Learning for Sequential Recommendation)

Sequence를 augmentation한 뒤, contrastive learning을 통해 item representations 학습

 

오늘의 할일

Auto Encoder에 간단한 알고리즘을 적용해서 light하게 예측하는 모델을 구현해보고 참고할 논문을 찾아서 제출

1. auto encoder 간단 구현

AutoRec: Autoencoders Meet Collaborative Filtering

Collaborative Denoising Auto-Encoders for Top-N Recommender Systems

Variational Autoencoders for Collaborative Filtering

Ease 모델

https://arxiv.org/pdf/1905.03375.pdf

2.sas rec 논문 리뷰 - Self Attention + AE

3. movie rec 1M, 10M Sota 논문 훝어보면서 빠르게 주요한 요인 파악하기

4. 3번을 순차적으로 적용해보아서 결과 확인하기

개인 회고

.

+ Recent posts