Cold-Start Music Recommendation Using Meta-Learning and Fuzzy Logic: A Hybrid Approach (2025)
Note
MAML 기반 메타러닝과 퍼지 로직을 결합한 프로토타입 아키텍처로 cold start 추천 (Music)
Background
- Cold-start 문제: 신규 유저(user cold-start), 신규 아이템(item cold-start), 시스템 초기화(system cold-start) 세 가지 유형
- 음악 도메인의 특수성
- 선호도가 주관적, 맥락 의존적(기분, 시간대, 활동)
- 단기 변동성과 장기 일관성 공존
- 장르, 음향 특성, 아티스트, 가사, 사회적 맥락 등 다차원 요인
- LFM-2b 데이터셋: Last.fm 12만 유저의 20억+ 청취 이벤트 (2005.02~2020.03)
- 기존 접근의 한계
- 협업 필터링: 인터랙션 히스토리 없으면 동작 불가
- 콘텐츠 기반: 콜드스타트 아이템엔 유용하나 유저 적응 부족
- 메타러닝(MeLU): user cold-start만 처리, 콘텐츠 통합 미흡
- 퍼지 로직(기존): cold-start에 적용 안 됨, 딥러닝과 미통합
Method
문제 정의
- 유저 집합 , 아이템 집합 에 대해 선호도 점수 예측
- Cold-start: (유저 인터랙션 수)가 매우 작거나 0인 상황
- 아이템 피처 : 음향 특성, 장르, 메타데이터
- LFM-2b에서 는 play count (implicit feedback)
Meta-Learning Framework (MAML 기반)

-
각 유저를 하나의 태스크로 보고 MAML 2중 루프로 학습
-
Global init → 유저별 적응 → 메타 업데이트
-
Inner loop (adaptation): 유저별 파라미터 적응
-
Outer loop (meta-update): 글로벌 파라미터 갱신
-
음악 도메인 inductive bias: 장르 일관성, 아티스트 친숙도, 음향 유사성에 집중하는 attention 메커니즘 추가
-
신규 유저에게 몇 번의 gradient update만으로 적응 (≤5 steps)
Fuzzy Logic Integration

- 선호도를 binary가 아니라 fuzzy membership degree로 표현
- 개의 선호 차원(장르 친화도, 음향 선호도 등)에 대한 멤버십 함수
- 유저 퍼지 프로파일: (차원별 중요도)
- 퍼지 선호도 점수:
- 멤버십 함수 초기화 (Bell 함수 형태):
- : 중심, : 폭, : 형태 파라미터 (메타트레이닝 시 학습, 유저 적응 시 fine-tune)
- 멤버십 함수와 선호 프로파일 파라미터 모두 meta-learn하여 cold-start에서 빠른 적응 가능
Prototype-Based Architecture

- User Prototype: 개의 프로토타입
- 유저 임베딩 의 soft assignment:
- 프로토타입 다양성 regularization:
- Cold-start 유저는 소수 인터랙션 + 인구통계 정보로 프로토타입 할당 추론
- Item Prototype: 개의 프로토타입 ; 콘텐츠 피처 기반 클러스터링으로 초기화
- 신규 아이템은 콘텐츠 피처만으로 프로토타입 할당 가능
- 최종 점수 예측 (3가지 컴포넌트 가중 합산):
- User-based:
- Item-based:
- Fuzzy:
- : 학습 가능 파라미터 (cold-start 상황에 따라 기여도 조절)
학습 과정
- Pretraining: 아이템 피처 네트워크, fuzzy c-means로 프로토타입 초기화, 충분한 히스토리 보유 유저로 퍼지 멤버십 함수 사전학습
- Meta-Training: MAML 프레임워크로 support set → 적응 → query set 평가
- Joint Optimization:
- : 다양성 + 응집성
- : 퍼지셋 overlap 제어 + smooth 멤버십 함수 유도
Experiments
데이터셋
- LFM-2b 서브셋: 유저 10,000명, 트랙 50,000개, 인터랙션 5,231,457건 (sparsity 98.95%)
- Cold-start 시뮬레이션: 20% 유저/아이템을 cold-start로 설정, N/M = 1, 3, 5, 10 인터랙션 조건
베이스라인
- MF, NeuMF, NGCF (그래프 기반)
- CMeLU (콘텐츠 인식 메타러닝), ProtoMF (프로토타입 MF), CFSM (few-shot 메타러닝)
평가 지표
- NDCG@5/10, HR@5/10, MAE, Coverage, Diversity
구현 상세
- PyTorch, NVIDIA Tesla V100 32GB
- Adam optimizer (lr=0.001, meta-lr=0.01)
- 임베딩 차원 64, 유저 프로토타입 20개, 아이템 프로토타입 30개, 퍼지 차원 8개
- Inner loop α=0.1, meta-learning β=0.001, 100 epochs (early stopping)
결과
User Cold-Start (주요 수치):
- Ours: NDCG@5=0.2101, HR@10=0.4789, MAE=0.6271
- Best baseline (CFSM): NDCG@5=0.1824, HR@10=0.4256
- NDCG@5 +15.2%, HR@10 +12.5%
Item Cold-Start:
- Ours: NDCG@5=0.1714, MAE=0.6824
- Best baseline (CFSM): NDCG@5=0.1521, MAE=0.7712
Ablation Study:
- Fuzzy Logic 제거 시 NDCG@5 -7.9%
- Meta-Learning 제거 시 NDCG@5 -12.9%
- Prototype 제거 시 NDCG@5 -11.4%
- 각 컴포넌트 모두 유의미하게 기여
Coverage & Diversity:
- Coverage 61.5% (ProtoMF 56.8% 대비 +8.3%)
- Diversity 0.397 (ProtoMF 0.362 대비 +9.7%)
예시:
- 3개 인터랙션(jazz, electronic, rock) 보유 신규 유저 → fuzzy 벡터 [0.65, 0.58, 0.40, …]
- Top-5 추천: jazz 3개 + electronic 2개, 모두 후속 positive 피드백
💭 메타러닝의 계산 비용(매 유저마다 gradient update 필요)이 서빙 병목이 될 수 있음 - 오프라인 pre-computation 전략 필요