추천 시스템은
총 3가지 방법론으로 나뉨
sequential recommendation은 NLP 방법론으로 많이 해소
side information with embedding은 현재 HIN -> Graph -> KG 등으로 발전 (GNN, GCN)
Learning method는 adversal training, negative sampling 등을 통해 발전 중
본 논문에서는 Sequential recommendation을 고려한 방법론
GRU4rec - CNN - SAS4Rec - BERT4rec 순으로 sequential recommend가 발전
GRU4Rec의 단점
Transformer를 통해 병렬 계산으로 시간을 절약하고, Attention으로 Long term dependency를 반영하자
기존 트랜스포머 아키텍쳐와 유사 다만 single-head attention, encoder block을 2개만 사용
Dropout시 sequence 내 특정 item을 가지고 오지 않는 등으로 robust를 획득
random하게 관련이 없는 item을 붙여서, negative sample을 더해서 학습
양방향 예측
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은 기존 방법론에 비해 더 많은 정보를 함유할 수 있는 구조