반응형
지난 회차에서는 RecBole 라이브러리를 이용해 Transformer 기반 추천 모델인 SASRec을 직접 실행해보았습니다. 이제는 같은 실험 환경에서 RNN(LSTM) 기반 추천 모델을 실행하고, SASRec과의 성능 비교를 통해 어떤 모델이 실제로 더 추천에 효과적인지 확인해보겠습니다.
✅ 실험 조건 요약
항목값
| 데이터셋 | MovieLens 100K |
| 모델 | RNN (LSTM), SASRec |
| 평가 지표 | Precision@5, Recall@5, NDCG@5, MRR |
| Epochs | 50 |
| Optimizer | Adam |
| Learning Rate | 0.001 |
| Embedding Size | 64 |
✅ RNN(LSTM) 모델 실험 실행
from recbole.quick_start import run_recbole
# LSTM 모델 학습 (MovieLens 100K)
run_recbole(model='GRU4Rec', dataset='ml-100k')
💡 RecBole은 LSTM 대신 GRU4Rec 구조를 기본 제공하므로, 실험에서 GRU4Rec을 RNN 대표로 사용합니다.
실행 결과는 saved/ 디렉터리 내 로그 파일을 통해 확인 가능합니다.
✅ 실험 결과 비교 (예시)
| 모델 | Precision@5 | Recall@5 | NDCG@5 | MRR |
| GRU4Rec | 0.118 | 0.162 | 0.195 | 0.311 |
| SASRec | 0.143 | 0.188 | 0.224 | 0.347 |
✅ Transformer 기반 SASRec이 전 지표에서 우수한 성능을 보였습니다. 특히, 사용자가 관심 가질 가능성이 높은 아이템을 상위에 배치하는 순위 기반 지표(MRR, NDCG)에서 10~20% 향상된 결과를 확인할 수 있었습니다.
🔍 모델 성능 차이의 원인 분석
| 요소 | GRU4Rec (RNN 계열) | SASRec (Transformer 계열) |
| 시퀀스 학습 방식 | 순차적 처리 (Recurrent) | 병렬 처리 (Self-Attention) |
| 장기 의존성 반영 | 약함 | 강함 (전체 시퀀스 고려 가능) |
| 연산 속도 | 느림 | 빠름 (GPU 병렬화 가능) |
| 구조 유연성 | 낮음 | 높음 (다양한 Attention 구조 가능) |
SASRec은 과거의 시퀀스를 전체적으로 조망하며, 각 시점의 중요도를 스스로 학습하는 구조 덕분에 사용자 행동의 '패턴'을 더 깊게 이해할 수 있었습니다.
✅ 실험을 통해 알게 된 사실 정리
- 단순히 추천 정확도만 본다면 Transformer 모델이 확실히 우수함
- 추론 속도, 구조 확장성 측면에서도 Transformer가 유리
- 다만 구조 복잡성, 메모리 사용량은 RNN이 더 가볍고 효율적일 수 있음
📌 다음 편 예고: 실무 적용성을 따져보자 (속도, Cold-start, 메모리)
정확도만 좋다고 추천 시스템이 좋은 건 아니죠? 실제로 서비스에 적용하려면 속도, 메모리, 사용자 다양성 대응력 등도 중요합니다.
다음 편에서는 실험 결과를 기반으로 한 실무적 관점의 모델 비교 분석을 다룹니다:
📍 [추천시스템 비교 시리즈 #4] 추론 속도부터 cold-start까지, 누가 더 실용적인가?
👉 계속 함께 가보시죠!
반응형
'02. 딥러닝' 카테고리의 다른 글
| 00020. [추천시스템 비교 시리즈 #5] 이걸로 논문 써도 될까? 구조 잡고 시작하는 논문 설계법 (0) | 2025.04.23 |
|---|---|
| 00019. [추천시스템 비교 시리즈 #4] 추론 속도부터 cold-start까지, 누가 더 실용적인가? (0) | 2025.04.23 |
| 00017. [추천시스템 비교 시리즈 #2] SASRec 실험 직접 해보기 (RecBole 튜토리얼) (1) | 2025.04.23 |
| 00016. [추천시스템 비교 시리즈 #1] 추천시스템, 뭐가 좋은 거지? RNN vs Transformer? (0) | 2025.04.23 |
| 00015. [AI 쉽게 이해하기 시리즈] Hugging Face Hub에 내 모델 올리는 법! (전 세계에 공개 배포하기) (1) | 2025.04.03 |