Contents
BERT4Rec은 모델명 그대로 BERT를 이용한 Recommendation 모델이다. Sequential 데이터를 다룰 때 주로 사용하는 기법으로, SASRec 다음으로 나온 모델이라고 볼 수 있다. SASRec과 다른 점은 Bidirectional 하다는 점과 Masking 기법을 사용한다는 점이다.
Introduction
기존 Sequence 데이터를 다루는 추천 시스템 연구에서는 주로 Recurrent Neural Network (RNN) 과 같은 기법을 사용하여 Encoding한다. 그러나 RNN 기법은 왼쪽에서 오른쪽으로, 즉, 입력으로 들어오는 제품의 순서만을 고려하기 때문에 left-to-right 방식(Undirectional)은 사용자의 표현(Representation)을 제대로 학습하는 것이 어렵다. 구체적으로, left-to-right 방식은 오로지 이전 제품에 대한 정보만을 고려하기 때문에 Sequence에 잠재된 정보를 제대로 파악하지 못한다. 뿐만 아니라 실제 Sequence에는 노이즈가 있을 수 있는데, 이전 클릭 혹은 구매한 제품에 기반하여 다음 클릭 혹은 구매할 제품을 예측하고 있다.
본 연구에서는 이와 같은 문제를 다루기 위해 Bidirectional 기법인 BERT를 사용하고자 한다. 그러나 단순히 Bidirectional 기법을 사용하게 된다면,

BERT4Rec
논문에서 사용하는 기호는 다음과 같다.
Model Architecture
BERT4Rec의 구조는 Figure 1(b)와 같다. Embedding Layer에서는 Position Embedding과 Item Embedding을 더한 값을 사용하고 나온 출력값을 L개의 Transformer Layer를 통과시켜
Transformer Layer
Figure 1(b)에 나오는
마지막으로, 위 단계에서 구축한 Transfomer Layer를 쌓아야 하며, 이는 아래의 식과 같이 나타낼 수 있다.
Embedding Layer
Embedding Layer는 비교적 간단하게 계산된다. 기본적으로, Item Embedding이 들어가고, 위치를 파악하기 위한 Position Embedding이 들어간다. 두 값을 단순히 더해서 0번째 Hidden Representation으로 사용한다.
이때 입력 Seuqence의 길이를 제한하여 사용하는데, 뒤에서 N개의 아이템을 가지고와서 사용한다. 구체적으로, Sequence
Output Layer
Output Layer는 간단하다. 최종 L 번째 Layer의 출력값인
Model Learning
Model Learning 단계에서는 [MASK] 된 단어를 맞추는 태스크를 진행한다. t+1 시점에 올 제품을 예측하는 Test 단계에서는 [MASK] Token을 마지막에 두어 이를 예측하는 형태로 진행한다.
이때의 손실 함수는 아래와 같이 사용한다.
Experiments
본 연구에서는 Beauty, Steam, MovieLens 데이터를 사용하여 실험하였으며, POP(Best Seller), BPR-MF, NCF, FPMC, GRU4Rec, GRU4Rec+, Caser, SASRec을 Baseline 모델로 사용하였다. 실험 결과는 당연하게 BERT4Rec의 성능이 가장 우수한 것을 확인할 수 있다.


RQ1) Do the gains come from the bidirectional self-attention model or from the Cloze objective?
SASRec의 경우 BERT4Rec 구조에서 Bidirectional이 아니라 left-to-right 모델이다. 실험 결과를 통해 Bidirectional 구조가 left-to-right 모델보다 우수한 것을 확인하였고, Masking을 하나만 했을 때와

RQ2) Why and how does bidirectional model outperform uni-directional model?
RQ1을 통해 Bidirectional 기법이 성능이 우수한 것을 확인하였다. 그렇다면 왜 Bidirectional 기법의 성능이 우수한 것일까? 아래의 그림에서 Layer1을 살펴보면 Head1의 경우 왼쪽 부분에 Attention을 하는 경향이 있고, Head2의 경우에는 오른쪽에 있은 Item에 Attention을 하는 경향이 있다. 또한, Layer2의 경우에는 근처의 Item에 Attention하는 경향을 보인다. BERT2Rec의 경우 Layer=2로 지정하였기 때문에 Layer2는 출력 층과 연결되어 있기 때문에 최근 항목의 다음 항목을 예측하는 데 더 중요한 역할을 하기 때문이다. Bidirectional 기법을 사용하지 않는다면, Layer1에서의 결과를 파악할 수 없기 때문에 Bidirectional 기법의 성능이 우수한 것으로 확인된다.

Impact of Hidden Dimensionality, Mask Proportion and Sequence Length



Ablation Study
Ablation Study에서는 Position Embedding (PE), Position-wise Feed Forward Network (PFFN), Layer Normalization (LN), Residual Connection (RC), Dropout, Layer Number
