Source-linked AI summary
BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer
Fei Sun, Jun Liu, Jian Wu, Changhua Pei, Xiao Lin, Wenwu Ou, Peng Jiang
TL;DR
Sequential recommendation 모델은 경직된 left-to-right 인코딩에 의존하는 경우가 많아 사용자 과거 행동을 표현하는 방식이 제한된다. BERT4Rec은 Cloze objective로 학습한 bidirectional self-attention을 사용해 양쪽 문맥에서 masked item을 예측하며, 네 개의 실제 데이터셋에서 state-of-the-art baseline을 능가한다.
문제
Sequential recommendation 모델은 경직된 left-to-right 행동 시퀀스를 가정하는 경우가 많아 사용자 이력을 표현할 때 양쪽 문맥을 활용하는 데 한계가 있다.
방법
BERT4Rec은 bidirectional self-attention으로 행동 시퀀스를 모델링하고, Cloze task를 통해 masked item의 왼쪽과 오른쪽 문맥을 사용해 이를 예측하는 방식으로 학습한다.
결과
BERT4Rec은 네 개의 실제 데이터셋에서 state-of-the-art baseline을 일관되게 능가한다.
핵심 요점 및 한계
Bidirectional 문맥과 Cloze 학습은 네 개의 benchmark dataset에 걸쳐 sequential recommendation을 위한 효과적인 접근법을 제공한다.
핵심 요점 및 한계
BERT4Rec은 시퀀스 길이에 대해 layer당 quadratic 계산 복잡도를 가지며, 풍부한 item feature를 통합하지 않고 여러 session에 걸친 사용자를 명시적으로 모델링하지도 않는다.
Abstract
from arXiv · showhide
Modeling users' dynamic and evolving preferences from their historical behaviors is challenging and crucial for recommendation systems. Previous methods employ sequential neural networks (e.g., Recurrent Neural Network) to encode users' historical interactions from left to right into hidden representations for making recommendations. Although these methods achieve satisfactory results, they often assume a rigidly ordered sequence which is not always practical. We argue that such left-to-right unidirectional architectures restrict the power of the historical sequence representations. For this purpose, we introduce a Bidirectional Encoder Representations from Transformers for sequential Recommendation (BERT4Rec). However, jointly conditioning on both left and right context in deep bidirectional model would make the training become trivial since each item can indirectly "see the target item". To address this problem, we train the bidirectional model using the Cloze task, predicting the masked items in the sequence by jointly conditioning on their left and right context. Comparing with predicting the next item at each position in a sequence, the Cloze task can produce more samples to train a more powerful bidirectional model. Extensive experiments on four benchmark datasets show that our model outperforms various state-of-the-art sequential models consistently.
1 서론
사용자 관심사는 과거 행동에 따라 변화하지만, 기존 left-to-right sequential recommender는 과거 표현을 제한하며 정보 누출 없이 bidirectional context를 직접 활용하지 못한다. BERT4Rec은 주변 context에서 무작위로 mask된 item을 예측하는 Cloze objective로 학습한 deep bidirectional self-attention을 통해 이 문제를 해결한다.
- 동기: 사용자 관심사는 동적이고 계속 변화하므로, sequential recommendation 방법은 과거 interaction을 활용해 다음 item을 예측한다 [15].예를 들어 Nintendo Switch를 구매하면 이후 Joy-Con controller를 구매할 가능성이 높아질 수 있다.
- 문제: Left-to-right unidirectional model은 각 과거 item이 이전 item의 정보만 활용하도록 제한해, 효과적임에도 sequence representation을 약화한다 [14] [15].이 한계는 Figure 1c and 1d에 나타나 있다.
- 문제: Bidirectional next-item prediction은 각 item이 간접적으로 target item을 볼 수 있기 때문에 information leakage를 일으켜, 미래 예측을 자명하게 만든다.이로 인해 network가 유용한 representation을 학습하지 못한다.
- 학습 목적: Cloze objective는 item을 특수한 [mask] token으로 무작위 대체하고 주변 context에서 해당 ID를 예측함으로써, 누출을 방지하면서 bidirectional representation을 학습한다.이 논문은 네 개의 benchmark dataset에서 bidirectional architecture와 Cloze objective를 정량적으로 평가한다.
- 제안 방법: BERT4Rec은 Cloze task를 통해 학습한 deep bidirectional self-attention network로 사용자 행동 sequence를 모델링한다 [6].이 논문은 recommendation system에 deep bidirectional sequential model과 Cloze objective를 도입한 최초의 연구라고 제시한다.
2 관련 연구
기존 추천 방법은 collaborative filtering과 deep preference model에서 Markov chain, recurrent network, convolution, memory network, attention에 기반한 sequential architecture에 이르기까지 다양하다. BERT4Rec은 left-to-right next-item prediction 대신 bidirectional Cloze-trained model을 사용한다는 점에서 밀접하게 관련된 SASRec 및 RNN-based method와 다르다.
- 일반 추천: Collaborative filtering method는 matrix factorization 또는 item-based neighborhood를 사용해 interaction history에서 선호도를 모델링하지만, 사용자 행동의 순서를 무시하므로 sequential recommendation method가 아니다.Matrix factorization은 사용자와 item을 공유 vector space에 사상하고, inner product를 통해 선호도를 추정한다 [26, 27, 41].
- Sequential Recommendation: Sequential recommendation은 MDP-based recommendation과 FPMC 같은 Markov-chain model에서 GRU4Rec 및 관련 RNN variant를 포함하는 recurrent model로 발전했다,, [15].RNN-based method는 recurrent architecture와 다양한 loss function을 사용해 이전 record를 user-preference vector로 인코딩한다 [7, 14, 15, 28, 37, 56, 58].
- Attention Mechanism: Attention은 attention-enhanced GRU model [28]과 같이 추가 구성 요소로 사용되기도 하고, sequence modeling을 위한 Transformer 및 BERT architecture의 유일한 기반으로 사용되기도 한다, [6].Transformer와 BERT는 multi-head self-attention에만 의존하며, 이는 sequential data에 대한 순수 attention-based approach의 동기가 되었다 [30, 32, 38, 46? ].
- Attention Mechanism: SASRec은 causal masking을 적용한 Transformer decoder로 left-to-right next-item prediction을 수행하는 반면, BERT4Rec은 Cloze task를 통해 bidirectional representation을 학습한다.이러한 architecture 차이는 RNN-based method와 명시적으로 대비된다. BERT4Rec은 bidirectional이며 Cloze-trained인 반면, SASRec과 RNN method는 unidirectional하고 순차적으로 next item을 예측한다.
3 BERT4REC
BERT4Rec은 양방향 Transformer self-attention으로 sequential recommendation을 모델링하며, left-to-right sequence encoding을 모든 위치의 정보를 통합하는 표현으로 대체한다. 주변 문맥에서 무작위로 마스킹된 item을 예측하는 Cloze objective를 통해 이 양방향 모델을 학습한다.
- 3 BERT4REC: 이 모델은 multi-head self-attention과 position-wise feed-forward network로 구성된 L개의 bidirectional Transformer layer를 쌓으며, residual connection과 layer normalization이 더 깊은 network를 뒷받침한다.Self-attention은 sequence 전반의 item-item interaction을 직접 포착하고, layer를 쌓아 더 복잡한 transition pattern을 학습한다.
- 3 BERT4REC: BERT4Rec은 bidirectional self-attention으로 behavior sequence를 모델링하여 임의의 거리에 있는 dependency를 포착하고, left-to-right architecture보다 강력한 sequence representation을 생성한다.Transformer layer는 모든 위치에서 정보를 병렬로 교환하므로, recurrent한 stepwise encoding이나 제한된 범위의 convolution과 달리 전역 receptive field를 제공한다.
- 3 BERT4REC: BERT4Rec은 학습 가능한 positional embedding을 item embedding에 주입하여 순서에 민감한 sequence 정보가 Transformer에 계속 제공되도록 한다.Positional embedding matrix는 maximum sequence length를 설정하며, 필요한 경우 입력을 마지막 N개 item으로 잘라낸다.
- Training: 각 next item을 left-to-right prefix에서 예측하는 대신, BERT4Rec은 sequence item의 일정 비율 ρ를 무작위로 마스킹하고 Cloze objective를 사용해 원래 identity를 예측한다.이 objective는 target item에 직접 접근하지 않으면서 양방향 conditioning을 가능하게 한다. 반면 SASRec은 unidirectional causal architecture로 next item을 예측한다.
4 실험 · 4.1 데이터셋 · 4.2 태스크 설정 및 평가 지표
실험에서는 표준화된 implicit-feedback 시퀀스와 leave-one-out next-item 추천을 사용해 네 가지 다양한 실제 데이터셋에서 BERT4Rec을 평가한다. 성능은 지정된 ranking protocol에 따라 HR, NDCG, MRR로 측정한다.
- 4.1 데이터셋: 이 모델은 도메인과 희소성 수준이 크게 다른 네 가지 대표적인 실제 데이터셋에서 평가한다.
- 4.1 데이터셋: 데이터셋에는 McAuley et al. [34]이 Amazon 상품 리뷰에서 구축한 Amazon Beauty와 대규모 비디오 게임 유통 플랫폼에서 수집한 Steam이 포함된다.
- 4.1 데이터셋: 평점과 리뷰를 implicit interaction feedback으로 변환한 뒤 사용자별로 그룹화하고 시간순으로 정렬해 행동 시퀀스를 구성한다.
- 4.1 데이터셋: 일반적인 관행 [12]에 따라 최소 five feedbacks 이상을 보유한 사용자만 전처리에 포함하며, 처리된 데이터셋의 통계는 Table 1에 요약한다.
- 4.2 태스크 설정 및 평가 지표: leave-one-out next-item 태스크에서는 각 사용자의 마지막 interaction을 테스트용으로, 끝에서 두 번째 interaction을 검증용으로 제외하고, 그 이전 interaction은 학습에 사용한다.
- 4.2 태스크 설정 및 평가 지표: 각 테스트 ground-truth item은 100개의 random item과 짝지으며, ranking 품질은 HR, NDCG, MRR로 보고한다.
- 4.2 태스크 설정 및 평가 지표: HR과 NDCG는 k = 1, 5, 10에서 보고한다. 사용자당 ground-truth item이 하나이므로 HR@k는 Recall@k와 같고 Precision@k에 비례하며, MRR은 MAP와 같다.
4.3 Baselines 및 Implementation Details
BERT4Rec은 저자 코드 또는 TensorFlow 재구현을 사용해 대표적인 popularity, factorization, neural interaction, Markov-chain, sequential recommendation baseline들과 비교 평가된다. Hyperparameter는 각 baseline의 최적 결과를 기준으로 조정하며, BERT4Rec에는 지정된 TensorFlow, Adam, initialization, regularization 및 architecture 설정을 사용한다.
- Baselines: 비교에는 대표적인 baseline으로 POP, BPR-MF, NCF [12], FPMC, GRU4Rec [15]이 포함된다.이 baseline들은 각각 popularity ranking, pairwise matrix-factorization ranking, MLP interaction modeling, MF와 first-order Markov chain의 결합, GRU 기반 sequential recommendation을 포괄한다.
- Implementation: NCF, GRU4Rec, GRU4Rec+, Caser, SASRec에는 저자 코드를 사용하고, BPR-MF와 FPMC는 TensorFlow로 구현한다.앞의 모델들에는 저자가 제공한 implementation을 사용하고, 뒤의 두 모델에는 TensorFlow 재구현을 사용한다고 명시한다.
- Implementation: Baseline hyperparameter는 지정된 hidden dimension, ℓ2 regularization 값, dropout rate에서 선택하며, 그 밖의 설정은 저자의 권고를 따르거나 validation set에서 조정한다.각 baseline의 최적 hyperparameter configuration에서 결과를 보고한다.
- Implementation: BERT4Rec은 truncated-normal initialization과 Adam optimization을 사용하는 TensorFlow 구현으로, learning rate 1e-4, weight decay 0.01, linear learning-rate decay, ℓ2 norm 5 초과에 대한 gradient clipping을 적용한다.Adam에는 β1 = 0.9와 β2 = 0.999를 사용한다.
4.4 전체 성능 비교
BERT4Rec은 네 개의 benchmark dataset과 모든 evaluation metric에서 가장 우수한 성능을 보이며, 가장 강력한 baseline 대비 평균 성능을 크게 향상한다. 비교 결과, sequential modeling, self-attention, bidirectional context, Cloze objective가 성능과 modeling behavior에 기여하는 것으로 나타난다.
- 전체 성능 비교: Sequential method는 일관되게 non-sequential baseline을 능가하며, Caser는 high-order Markov chain의 이점을 얻고 SASRec은 self-attention을 통해 GRU4Rec과 GRU4Rec+를 능가한다.Caser는 dense한 ML-1m에서 특히 강력하지만, 확장 가능한 order가 제한되어 sparse dataset에서는 GRU4Rec+와 SASRec보다 성능이 낮다.
- 전체 성능 비교: BERT4Rec은 네 dataset과 evaluation metric 모두에서 가장 우수하며, 가장 강력한 baseline 대비 평균 HR@10을 7.24%, NDCG@10을 11.03%, MRR을 11.46% 향상한다.Table 2는 baseline 대비 통계적으로 유의미한 향상을 p < 0.01과 함께 보고한다.
- bidirection과 Cloze 분석: masked item을 하나만 사용한 BERT4Rec은 모든 metric에서 SASRec을 유의미하게 능가하며, left context와 right context를 함께 사용하는 이점을 분리해 보여준다.비교에는 hidden dimensionality d = 256인 Beauty와 ML-1m을 사용했으며, one-mask training에서 핵심적인 차이는 bidirectional conditioning이다.
- Attention 분석: Attention pattern은 head와 layer에 따라 달라진다: 일부 head는 left item 또는 right item을 선호하는 반면, 뒤쪽 layer는 더 최근의 item에 집중하고 [mask]에 attend할 수도 있다.분석에서는 Beauty의 마지막 10개 item에 대한 평균 attention weight를 representative heat-map으로 시각화한다.
4.5 Hidden Dimensionality d의 영향
Hidden dimensionality를 높인다고 해서 recommendation performance가 반드시 향상되는 것은 아니며, d가 증가할수록 model performance는 수렴하는 경향을 보이고 sparse dataset에서는 overfitting의 영향이 클 가능성이 있다. BERT4Rec은 d≥64에서 만족스러운 성능을 보이므로 이후 분석에서는 d=64를 사용한다.
- 4.5 Hidden Dimensionality d의 영향: Hidden dimensionality가 증가할수록 performance는 수렴하는 경향을 보이며, 특히 sparse한 Beauty와 Steam dataset에서는 더 큰 d가 결과를 반드시 향상시키지는 않는다.이러한 양상은 아마도 overfitting에 기인한다고 설명한다.
- 4.5 Hidden Dimensionality d의 영향: SASRec과 BERT4Rec을 포함한 self-attention method는 비교적 작은 hidden dimensionality에서도 우수한 performance를 달성한다.
- 4.5 Hidden Dimensionality d의 영향: BERT4Rec은 d≥64에서 만족스러운 performance를 달성하므로, 다음 분석에서는 d=64인 결과를 보고한다.
4.6 Mask 비율 ρ의 영향
Mask 비율 ρ은 충분한 masked item 수와 학습 가능성 사이에서 균형을 이루어야 하며, 일반적으로 ρ>0.6부터 성능이 저하된다. 최적 ρ은 dataset의 sequence length에 크게 의존하며, 짧은 sequence에서는 큰 값을, 긴 sequence에서는 작은 값을 선호한다.
- Mask 비율 ρ의 영향: Mask 비율 ρ은 너무 작지도 너무 크지도 않아야 한다: 작은 값은 학습 신호가 불충분하고, 큰 값은 적은 context만으로 너무 많은 item을 추측해야 한다.ML-1m과 Beauty에서는 ρ=0.6일 때 각각 sequence당 98=⌊163.5×0.6⌋개와 5=⌊8.8×0.6⌋개의 item을 예측해야 하므로, ML-1m의 학습이 더 어려워진다.
- Mask 비율 ρ의 영향: 모든 dataset에서 ρ가 0.6을 넘어 증가할수록 성능이 감소하며, ρ=0.2는 모든 dataset에서 ρ=0.1보다 우수하다.Figure 4는 d=64에서 0.1부터 0.9까지의 mask 비율을 평가한다.
- Mask 비율 ρ의 영향: 최적 ρ은 sequence length에 의존한다: 짧은 sequence인 Beauty와 Steam은 각각 ρ=0.6과 ρ=0.4를 선호하는 반면, 긴 sequence인 ML-1m과 ML-20m은 ρ=0.2를 선호한다.이 연구는 동일한 mask 비율에서 긴 sequence일수록 예측해야 하는 item 수가 더 많기 때문에 이러한 의존성이 나타난다고 설명한다.
4.7 최대 시퀀스 길이 N의 영향
최적의 최대 시퀀스 길이는 데이터셋의 시퀀스 길이에 크게 좌우된다. Beauty는 N = 20에서, ML-1m은 N = 200에서 가장 우수한 성능을 보인다. 레이어별 복잡도가 제곱에 비례하지만, GPU 병렬화 덕분에 self-attention은 더 긴 시퀀스에서도 효과적으로 작동한다.
- 4.7 최대 시퀀스 길이 N의 영향: Beauty는 N = 20에서, ML-1m은 N = 200에서 가장 우수한 추천 성능을 보인다.적절한 최대 길이는 데이터셋의 평균 시퀀스 길이에 크게 좌우된다.
- 4.7 최대 시퀀스 길이 N의 영향: 데이터셋에 따라 최적값이 달라진다는 점은 짧은 시퀀스 데이터셋에서는 최근 항목이 더 중요하고, 긴 시퀀스 데이터셋에서는 덜 최근의 항목이 더 중요함을 시사한다.
- 4.7 최대 시퀀스 길이 N의 영향: BERT4Rec은 레이어별 복잡도가 O(n^2d)이지만, GPU 병렬화 덕분에 self-attention 레이어가 더 긴 시퀀스에서도 효과적으로 작동한다.Table 4는 최대 시퀀스 길이에 따른 추천 성능과 학습 속도를 보고한다.
4.8 제거 실험
제거 실험은 BERT4Rec의 구성 요소가 데이터셋과 시퀀스 길이에 따라 서로 다른 영향을 미침을 보여준다. Positional embeddings와 모델 깊이는 긴 시퀀스에서 특히 중요하며, regularization 구성 요소는 작은 데이터셋에서 더 큰 영향을 미친다.
- (1) PE: Positional embeddings는 긴 시퀀스 데이터셋에서 핵심적이다. 이를 제거하면 masked target이 동일한 hidden representation을 공유하게 되어 성능이 급격히 저하된다.Positional embeddings가 없으면 각 item representation은 item embeddings에만 의존하므로 예측이 잘 정의되지 않는다. Masked item의 수가 증가할수록 이 문제가 심해진다.
- (2) PFFN: PFFN은 여러 attention head의 정보를 통합함으로써 ML-20m과 같은 긴 시퀀스 데이터셋의 성능을 향상시킨다.이러한 이점은 긴 시퀀스 데이터셋이 여러 head를 더 선호한다는 점과 관련된다.
- (3) LN, RC, Dropout: LN, residual connection, dropout은 주로 overfitting을 완화하며 Beauty와 같은 작은 데이터셋에서 더 효과적이다.ML-20m에서 L = 4일 때 residual connection을 제거하면 NDCG@10이 약 10% 감소한다.
- (4) Number of layers L: Layer number L을 늘리면 ML-20m과 같은 대규모 데이터셋에서 특히 성능이 향상되는 반면, Beauty에서는 overfitting 때문에 L = 4일 때 성능이 저하된다.이 결과는 더 복잡한 item-transition pattern을 학습하기 위해 더 깊은 self-attention을 사용하는 것이 타당함을 뒷받침한다.
- (5) Head number h: ML-20m과 같은 긴 시퀀스 데이터셋은 더 큰 head number h에서 성능이 향상되는 반면, Beauty와 같은 짧은 시퀀스 데이터셋은 더 적은 head를 선호한다.이 패턴은 multi-head self-attention으로 장거리 의존성을 포착하려면 더 큰 h가 필수적이라는 보고된 경험적 결과 [48]와 일치한다.
5 결론 및 향후 연구
이 논문은 양쪽 문맥에서 마스킹된 아이템을 예측하는 Cloze task로 학습한 심층 양방향 sequential recommendation 모델 BERT4Rec을 제안한다. 네 개의 실제 데이터셋에 대한 실험에서 state-of-the-art baseline보다 우수한 성능을 보였으며, 향후에는 풍부한 아이템 feature와 여러 session에 걸친 명시적 사용자 모델링을 도입할 예정이다.
- 5 결론 및 향후 연구: BERT4Rec은 sequential recommendation을 위해 심층 양방향 self-attention을 사용하며, 양쪽 문맥에서 마스킹된 아이템을 예측하는 방식으로 학습한다.Cloze task는 이 논문의 양방향 sequential model을 위한 핵심 학습 메커니즘이다.
- 5 결론 및 향후 연구: BERT4Rec은 네 개의 실제 데이터셋에서 state-of-the-art baseline보다 우수한 성능을 보인다.결론에서는 모델의 효과를 뒷받침하는 광범위한 실험 결과를 보고한다.
- 5 결론 및 향후 연구: 향후 연구에서는 아이템 id만 모델링하는 대신 제품 category와 price, 또는 영화 cast와 같은 풍부한 아이템 feature를 도입할 예정이다.제안된 feature는 모델의 아이템 표현을 풍부하게 하는 것을 목표로 한다.
- 5 결론 및 향후 연구: 또 다른 향후 연구 방향은 사용자가 여러 session을 가질 때 명시적 사용자 모델링을 위한 user component를 추가하는 것이다.이 확장은 한 사용자가 여러 session을 생성하는 환경을 대상으로 한다.