BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representation from Transformer (CIKM 2019)

박상우·2023년 1월 9일
0

Paper Review

목록 보기
7/45
post-thumbnail

Introduction

추천 시스템은

  • sequential recommendation
  • side information with embedding
  • learning method

총 3가지 방법론으로 나뉨

sequential recommendation은 NLP 방법론으로 많이 해소
side information with embedding은 현재 HIN -> Graph -> KG 등으로 발전 (GNN, GCN)
Learning method는 adversal training, negative sampling 등을 통해 발전 중

본 논문에서는 Sequential recommendation을 고려한 방법론

  • e-commerce에 적합
  • 기존 추천 시스템 방식은 구매의 순서, 시기를 무시(CF, BPR)

GRU4rec - CNN - SAS4Rec - BERT4rec 순으로 sequential recommend가 발전

Transformer for recommendation (SAS4Rec)

이전 연구

GRU4Rec의 단점

  • 순차적 계산으로 인해 Long sequence 계산시 시간 소요 증가
  • Long term dependency를 잘 반영하지 못함

SAS4Rec

Transformer를 통해 병렬 계산으로 시간을 절약하고, Attention으로 Long term dependency를 반영하자

기존 트랜스포머 아키텍쳐와 유사 다만 single-head attention, encoder block을 2개만 사용

Dropout시 sequence 내 특정 item을 가지고 오지 않는 등으로 robust를 획득

random하게 관련이 없는 item을 붙여서, negative sample을 더해서 학습

BERT4Rec

양방향 예측
Training은 Random Masked, but testing은 next item recommendation

SAS4Rec에서 masking을 모든 index에 다 시도한다면 BERT4Rec과 유사하다고 할 수 있음

BERT4Rec은 Multi-head attention와 Gelu를 사용

동일하게 mask한 자리에 random한 값을 넣어 Negative sampling 진행 후 학습

Training은 Randomg masked이고 testing은 next item recommendation이므로, 일종의 fine tuning 처럼 후반 학습 시 next item recommendation 위주의 학습을 진행

positional embedding을 하지 않고, mask는 sequence 중 하나만 하며, self-attention layer를 하나만 설정하면 CBOW, SG와 유사해짐

BERT4Rec은 sequence representation, CBOW-SG는 embedding을 목적으로 하는 것에서 차이가 있음

기존 BERT와의 차이점은 BERT4Rec은 end to end 모델이며, Next Sentence Loss와 segment embedding을 사용하지 않았다는 점

여러 실험을 통해 Multi-head와 stacking layer가 각각 다른 정보를 추출한다는 결론이 나옴

데이터 셋이 dense 하면 (유튜브 알고리즘) 높은 비율의 masking도 상관 없으나, 데이터 셋이 sparse 한 경우에는 masking을 잘 조절해야 함

결론적으로 BERT4Rec은 기존 방법론에 비해 더 많은 정보를 함유할 수 있는 구조

profile
세상아 덤벼라

0개의 댓글