[Paper Review] Learning Effective Language Representations for Sequential Recommendation via Joint Embedding Predictive Architecture (COLM 2025)
Problem Statement
Text-based Sequential Recommendation
사용자의 이전 상호작용 아이템 정보를 바탕으로 다음 상호작용할 아이템을 추천하는 태스크입니다. 이 과정에서 추가로, 아이템의 이전 상호작용 기록만이 아닌, 각 아이템의 메타데이터가 추가로 반영되어 다음 아이템에 대한 추천을 진행합니다.
이 과정에서 Input, Output은 다음과 같습니다.
- Input : 사용자 별 상호작용 아이템 목록, 메타데이터
- Output : 사용자 별 다음 상호작용할 아이템
JEPA (Joint Embedding Predictive Architecture)
JEPA는 Raw token보다는 임베딩같은 추상적인 표현을 예측하여 노이즈를 줄이고, 의미론적인 정보를 포착하는 방법입니다. 컴퓨터 비전 영역에서부터 시작되어, 현재는 다른 영역에서도 활용되는 방법입니다. 이 방법은토큰을 바로 맞추는 대신 가려지지 않은 원래 문장의 representation(임베딩) 을 맞추는 방법으로, 임베딩 공간에서 예측하는 것이 핵심입니다.
JEPA는 보통 입력을 두 부분으로 나눕니다.
- context: 모델이 볼 수 있는 부분
- target: 모델이 맞춰야 하는 부분
Context encoder가 보이는 입력(context)을 임베딩으로 변환하고, Target encoder가 정답이 되는 입력(target)을 임베딩으로 변환합니다. 이후, Predictor가 context 임베딩을 바탕으로 target 임베딩을 예측하는데, 여기에 추가로 포지셔널 인코딩 등의 보조 정보가 추가로 반영됩니다. 이 과정으로 예측한 임베딩과 실제 target 임베딩이 가까워지도록 학습합니다.
Previous Limitations
기존 순차 추천 시스템은 다음과 같은 한계점을 가집니다.
- ID 기반 sequential recommendation은 item ID에 크게 의존하기 때문에, cold-start item에 취약하고 도메인 간 knowledge transfer가 어렵습니다.
- Cross-domain recommendation은 종종 shared users/items에 의존하는데, 실제 환경에서는 이러한 공유 데이터가 부족해 적용성이 제한됩니다.
- PLM 기반 방법은 일반 코퍼스로 사전학습되어 item descriptions와 잘 정렬되지 않을 수 있으며, 주로 sentence-level embedding을 생성하기 때문에 사용자 선호를 세밀하게 모델링하는 데 한계가 있습니다.
- 또한 기존 방법은 data sparsity, semantic gap, 그리고 common-sense user preference 학습 부족 문제를 충분히 해결하지 못합니다.
따라서, 이 논문은 텍스트 정보를 활용해 item representation을 풍부하게 만들고, 동시에 common-sense user preference(사용자의 선호도 정보)를 반영할 수 있는 representation learning이 필요하다고 주장합니다.
Method : JEPA4Rec
JEPA4Rec은 아이템을 텍스트 문장으로 표현한 뒤 bidirectional Transformer encoder로 인코딩하고, pre-train + fine-tune의 2단계 학습을 수행하는 텍스트 기반의 Sequential Recommendation 태스크입니다. Pre-training 단계에서는 JEPA (Joint Embedding Predictive Architecture) 를 적용하여, 토큰 자체뿐 아니라 item-level embedding을 복원함으로써 의미 정보를 더 풍부하게 반영할 수 있도록 합니다.
이 과정에서 Input, Output은 다음과 같습니다.
- Input : 사용자 상호작용 이력 시퀀스 ($i_1, i_2, …, i_n$), 각 아이템의 metadata를 문장으로 변환한 item sentence
- Output : 사용자 이력을 기반으로 예측한 다음 아이템 $i_{n+1}$
Item representation and Masking strategy
Item representation
JEPA4Rec은 각 아이템의 metadata(예: title, category, description)를 하나의 single text sentence로 변환합니다. 각 아이템은 attribute와 value를 평탄화하여 문장으로 표현되며, 사용자의 시퀀스는 다음과 같이 구성됩니다.
- Input
- 아이템 metadata
- 사용자 이력 시퀀스 ${S_1, S_2, \dots, S_n}$
- Output
- item sentence $S_i$
- history sequence representation $X = {\mathrm{CLS}, S_n, \dots, S_1}$
이 과정에서 각 아이템 문장은 $S_i = {a^i_1, v^i_1, \dots, a^i_m, v^i_m}$, 사용자 히스토리(이력) 입력은 $X = {\mathrm{CLS}, S_n, \dots, S_1}$와 같이 표현됩니다.
JEPA4Rec에 대해서는 다음 4가지의 임베딩을 사용합니다.
- token embedding ($A_w$)
- token position embedding ($B_w$)
- token type embedding ($C_w$)
- item position embedding ($D_w$)
여기서 각 단어의 input embedding은 $E_w = \mathrm{LayerNorm}(A_w + B_w + C_w + D_w)$와 같이 계산되고, 전체 입력 표현의 경우, $E_X = [E_{\mathrm{CLS}}, E_{w_1}, \dots, E_{w_l}$로 표현됩니다.
이후 다음 식을 통해 bidirectional Longformer encoder를 통과해 sequence representation을 얻습니다.
\[h_{\mathrm{CLS}}, h_{w_1}, \dots, h_{w_l}=\mathrm{Encoder}(E_{[\mathrm{CLS}]}, E_{w_1}, \dots, E_{w_l})\]여기서 $h_{\mathrm{CLS}}$는 sequence representation으로 사용되고, 단일 아이템도 ${[\mathrm{CLS}], S_i}$ 형태로 넣어 item embedding $h_i$ 를 얻습니다. Context Encoder와 Target Encoder는 동일한 embedding layer와 Longformer encoder를 공유하며, Target Encoder는 Context Encoder의 EMA (Exponential Moving Average) 로 업데이트됩니다.
Masking
JEPA4Rec은 history item과 next item에 서로 다른 masking 비율을 적용해서, 이를 복원하는 과정으로 Pre-train을 진행하도록 합니다.
여기에서 history item, next item에 대해 일부 텍스트에 마스킹을 적용하고 이를 복원하도록 하는 방식으로 사전 학습을 진행합니다.
-
History item sentences 사용자의 이전 상호작용한 아이템들을 마스킹할 때에는 기존 BERT 논문과 동일한 마스킹 규칙을 적용합니다. 이 때는, 15%의 마스킹을 진행하여 마스킹된 부분을 복원하도록 학습을 진행합니다.
-
Next item sentences 다음 아이템의 문장에서 50% 가량으로 마스킹을 진행하고, 이전 상호작용 아이템의 텍스트와 다음 아이템의 일부 메타데이터 정보를 바탕으로 마스킹된 부분을 복원하도록 합니다.
마스킹 후 학습하는 과정에서는, 80%는 [MASK]로, 10%는 랜덤한 토큰으로, 나머지 10%는 원래 토큰을 유지하도록 합니다.
Pre-training
Pre-training 단계에서는 다음 4가지의 파라미터를 같이 적용해서 사전학습을 진행합니다.
- Masked Language Modeling (MLM)
- Mapping Representation -> 이 부분에서 JEPA를 적용합니다.
- Sequence-Item Contrastive task (기존 순차 추천의 Loss)
먼저, 과거 상호작용 아이템의 텍스트를 복원하는 과정으로는, 마스킹된 item 하나를 선택한 뒤, Predictor는 사용자 이력의 sequence representation인 $h_{\mathrm{CLS}}$ 와 해당 아이템의 위치 정보 \(D_n\) 을 이용하여 마스킹된 history item의 full embedding을 예측합니다. 정답은 Target Encoder가 원래의 full item sentence $S_n$ 을 입력받아 생성한 embedding입니다.
다음의 식으로 예측을 진행합니다. \(\hat{h}_n = \mathrm{FFN}_1(h_{\mathrm{CLS}} \oplus D_n)\)
이렇게 계산한 임베딩을 정답 임베딩인 $h_n = f_{\bar{\theta}}({[\mathrm{CLS}], S_n})$과 비교합니다. 즉, 사용자의 전체 이력 정보와 해당 아이템의 위치 정보를 이용하여, history item의 원래 의미 표현을 복원하도록 학습합니다.
다음으로, 다음 아이템을 복원하는 과정은 Predictor가 사용자 이력 표현 $h_{\mathrm{CLS}}$ 와 부분적으로 관측된 next item 표현 $h_{n+1,M}$ 를 함께 사용하여 다음 아이템의 full embedding을 예측합니다. 즉, history 정보만 사용하는 것이 아니라 history + partial target information을 함께 사용해 예측합니다.
다음의 식으로 예측을 진행합니다. \(\hat{h}_{n+1} = \mathrm{FFN}_2(h_{\mathrm{CLS}} \oplus h_{n+1,M})\)
이후, 정답 임베딩인 $h_{n+1} = f_{\bar{\theta}}({[\mathrm{CLS}], S_{n+1}})$과 비교하여 부분 메타데이터만 주어져도 정답 아이템 표현을 복원할 수 있도록 합니다.
이렇게 학습을 진행하면서, 임베딩 공간에서 아이템 표현에서 차이를 줄이며 복원하는 과정이 MAP Loss에 반영됩니다.
\[L_{\mathrm{map}} = \|h_n - \hat{h}_n\|^2 + \|h_{n+1} - \hat{h}_{n+1}\|^2\]또한, MLM Loss를 적용하는데, token-level 언어 이해를 유지하기 위해 적용합니다. 이는 추천 데이터의 텍스트와 PLM의 사전학습 지식 사이의 semantic gap을 줄이는 역할을 함께 수행합니다.
수식은 다음과 같습니다.
\[L_{\mathrm{MLM}} = - \sum_{i=0}^{|V|} y_i \log(p_i)\]마지막으로, Sequence-Item Contrastive Loss는 다음 아이템을 Positive로, 같은 batch 안의 다른 샘플의 next-item을 negative로 설정하고, in-batch negative를 적용합니다.
\[L_{\mathrm{S-I}} = - \log \frac{ e^{\mathrm{sim}(h_{\mathrm{CLS}}, h_{n+1})/\tau} }{ \sum_{i \in B} e^{\mathrm{sim}(h_{\mathrm{CLS}}, h_i)/\tau} }\]여기서 sim은 코사인 유사도입니다.
마지막으로, 이 loss들을 모두 더해 다음의 목적함수로 최적화합니다.
\[L_{\mathrm{PT}} = L_{\mathrm{S-I}} + \lambda_1 L_{\mathrm{MLM}} + \lambda_2 L_{\mathrm{map}}\]이를 통해, pre-training 단계에서는
- 토큰 수준의 텍스트 이해
- 임베딩 수준의 item reconstruction
- 사용자 시퀀스와 실제 다음 아이템 간의 정렬
를 동시에 학습합니다.
Fine-tune
Fine-tuning 단계에서는 Pre-trained Context Encoder만 사용니다. 타깃 도메인의 모든 item sentence를 인코딩하여 동적인 item matrix $I$ 를 구성하고, 사용자 이력으로부터 얻은 $h_{\mathrm{CLS}}$ 와 각 item embedding 사이의 유사도를 계산하여 다음 아이템을 예측합니다.
\[P_I(i_{n+1} \mid h_{\mathrm{CLS}}) = \mathrm{Softmax}(h_{\mathrm{CLS}} \cdot h_{n+1})\]이어서, 전체 아이템 집합에 대해 fully softmax를 적용한 sequence-item contrastive learning을 수행합니다.
\[L_{\mathrm{FT}} = - \log \frac{ e^{\mathrm{sim}(h_{\mathrm{CLS}}, h_{n+1})/\tau} }{ \sum_{i \in I} e^{\mathrm{sim}(h_{\mathrm{CLS}}, h_i)/\tau} }\]Experiments
Experiments Settings
- 3개 Amazon 데이터셋(Automotive, Food, Movies and TV)으로 pre-train하고, 여러 target domain에서 fine-tuning 및 zero-shot 평가를 수행합니다.
- 이는 기존 연구에서 쓰인 pre-training 데이터 규모의 약 35% 수준입니다.
- 아이템 텍스트 표현은 title, categories, brand or description을 사용합니다.
- Amazon에서는 brand, Online retail 데이터로는 Description을 사용합니다.
- 5-core filtering, leave-one-out strategy를 적용하고, Evaluation metric은 NDCG, Recall, MRR을 사용합니다.
Overall Performance
- JEPA4Rec은 대부분의 데이터셋에서 기존 baseline보다 더 좋거나 경쟁력 있는 성능을 보였습니다.
- 특히 cross-domain, cross-platform, low-resource 환경에서도 강점을 보였습니다.
Efficient Learning Representation Performance
- Universal Pre-training
- 3가지 데이터셋으로 pre-train한 경우가 single-dataset pre-train이나 scratch보다 더 좋습니다.
- RecFormer보다 훨씬 적은 pre-training 데이터로도 더 좋은 성능을 발휘하는 것을 확인했습니다.
- Zero-shot
- Text-based 추천 모델보다도, 더 좋은 성능을 보이는데, 이는 JEPA4Rec이 common-sense user preference를 더 잘학습했기 때문에 좋은 성능이 나옴을 알 수 있습니다.
- Low-Resource Training
- 학습 데이터를 1%, 5%처럼 적게 줬을 때에도 JEPA4Rec이 ID-based 모델보다 더 좋은 것을 확인했습니다.
Ablation Study
- w/o MLM loss : MLM loss를 제거한 경우이고, 토큰 수준의 텍스트 이해가 얼마나 중요한지 보기 위한 ablation입니다.
- w/o pre-training : pre-training 없이 바로 학습한 경우입니다.
- w/o token type embeddings : token type embedding을 제거한 경우입니다.
- title, category 같은 속성 구분 정보가 실제로 도움이 되는지 보는 ablation입니다.
- Masking Ratio Analysis
- Next-item sentence를 얼마나 가릴 때 가장 잘 학습되는지 실험입니다.
- 10%, 50%, 80%로 나눠서 진행하는데, 너무 적게 가리면 학습 신호가 약하고, 많이 가리게 되면 정보가 부족해져 일반화 표현을 배우기 어렵다는 문제가 있습니다.
- Additional Experiments
- token embedding 구성요소와 loss function에 대한 추가 ablation을 수행합니다. 이를 통해 MLM loss, token structure embedding, contrastive learning이 모두 실제 성능에 중요한 요소라는 점을 다시 확인할 수 있습니다.
Conclusion
Contribution
- 최근 LLM이나 CV 쪽에서 대세가 되는 JEPA를 사용해서 추천 연구에 성공적으로 정착한 최초의 논문입니다. JEPA를 최초로 사용했다는 점에 있어서 Novelty가 있습니다.
Limitations
- 가장 풍부한 정보라 할 수 있는 Description을 사용하지 않은 것에 대한 이유가 명시되어 있지 않습니다.
- 또한 JEPA Loss를 적용할 때, 다른 Loss와 비교해보지 않은 점이 아쉽습니다.
Leave a comment