추천 시스템이란 무엇일까요? Netflix가 당신에게 영화를 추천하고, 쿠팡이 다음 상품을 보여주고, 유튜브가 계속 볼 영상을 연결해주는 그 기술. 그 중심엔 추천 알고리즘이 있습니다.
그런데 말이죠, 추천 알고리즘도 종류가 다양합니다. 그 중 요즘 연구에서 가장 많이 비교되는 건 바로 RNN 기반 모델과 Transformer 기반 모델이죠.
그렇다면 정말 궁금해집니다:
"RNN과 Transformer, 추천 시스템에선 뭐가 더 좋은 걸까?"
이 시리즈에서는 직접 실험을 통해 이 질문에 답해보려고 합니다. 이 글은 그 첫 번째 에피소드로, 배경과 구조, 그리고 왜 이 비교가 중요한가를 설명하는 데 집중합니다.
✅ RNN 기반 추천 시스템: 순서를 기억하는 모델
RNN(Recurrent Neural Network)은 시간의 흐름을 반영하는 대표적인 구조입니다. 사용자가 어떤 행동을 했는지를 순서대로 기억하면서 다음 행동을 예측하죠.
✍️ 예시:
- A 사용자가 → [아이템1 → 아이템2 → 아이템3]을 봤다면?
- 다음으로 아이템4를 볼 가능성을 예측합니다.
이 방식은 사용자의 행동 흐름을 잘 반영하지만, 다음과 같은 단점도 존재합니다:
- 시퀀스가 길어질수록 이전 정보를 잊어버림 (장기 의존성 문제)
- 순차적으로 학습하므로 병렬 처리가 어려움
✅ Transformer 기반 추천 시스템: 모든 위치를 한 번에 바라본다
Transformer는 NLP에서 혁신을 이끈 모델입니다. Self-Attention이라는 메커니즘을 통해, 입력 시퀀스 전체를 동시에 바라보며 중요도를 계산합니다.
추천 시스템에선 대표적으로 SASRec, BERT4Rec 등이 이 구조를 활용합니다.
✅ 장점:
- 병렬 처리 가능 → 학습 속도 빠름
- 긴 시퀀스에서도 정보 손실 적음
- 다양한 시나리오에 유연하게 적용 가능
하지만 여전히 많은 사람이 이렇게 말합니다:
“RNN도 충분히 잘되는데, 굳이 Transformer까지 써야 해?”
그래서 직접 비교해보기로 했습니다.
🎯 실험 목적: 단순 정확도 비교가 아니다!
우리는 단순히 **“Precision이 더 높았다”**로 끝나는 비교가 아니라, 다음과 같은 관점에서 실험을 구성할 예정입니다:
- 예측 성능 (정확도, NDCG, MRR)
- 학습 속도와 추론 응답 시간
- Cold-start 사용자 대응력
- 실시간 추천 시스템에의 적합성
즉, “실제 서비스 환경에서 무엇이 더 실용적인가?”를 보는 것이죠.
📌 다음 편 예고: 실험 직접 해보기 (MovieLens + SASRec)
다음 에피소드에서는 RecBole 라이브러리를 사용해서 Transformer 기반 추천 모델(SASRec)을 직접 학습시켜보는 과정을 다룹니다.
- 데이터셋은 MovieLens 100K 사용
- 가상환경 없이 설치
- CMD + Jupyter 기반 실험
📍 [추천시스템 비교 시리즈 #2] SASRec 실험 직접 해보기 (RecBole 튜토리얼)
기대해주세요! 😉
'02. 딥러닝' 카테고리의 다른 글
| 00018. [추천시스템 비교 시리즈 #3] RNN vs Transformer, 정확도는 누가 더 높을까? (0) | 2025.04.23 |
|---|---|
| 00017. [추천시스템 비교 시리즈 #2] SASRec 실험 직접 해보기 (RecBole 튜토리얼) (1) | 2025.04.23 |
| 00015. [AI 쉽게 이해하기 시리즈] Hugging Face Hub에 내 모델 올리는 법! (전 세계에 공개 배포하기) (1) | 2025.04.03 |
| 00014. [AI 쉽게 이해하기 시리즈] 트랜스포머 모델 웹에 배포하기! (Gradio & Streamlit 실전) (0) | 2025.04.03 |
| 00013. [AI 쉽게 이해하기 시리즈] 나만의 데이터로 트랜스포머 파인튜닝 하기! (Hugging Face 실전편) (2) | 2025.04.03 |