추천시스템 스터디 (예정) - Songwooseok123/Study_Space GitHub Wiki

목차

  1. Content-based
  2. Collaborative Filtering
  3. Sequential Recommendation
  4. Modality-aware Recommender Systems
  5. LLM 활용 추천시스템

1. Content-based filtering

  • 아이템의 내용, 속성 등을 아이템-아이템 간의 비교를 통해 이루어지는 추천기술

2. Collaborative Filtering

협업 필터링은 사용자의 과거 행동이나 다른 사용자와의 유사성을 바탕으로 아이템을 추천하는 기법이다. 크게 두 가지 방식으로 나뉜다.

  • 사용자 기반 협업 필터링 (User-Based)
  • 아이템 기반 협업 필터링 (Item-Based)

Cold Scenario란?

추천 시스템에서 데이터가 적은 경우(추천시스템의 초기상태로써 사용자 또는 아이템간의 관계나 상호작용 데이터가 적거나 없는 경우)

  • Cold User
  • Cold Item

👤 사용자 기반 협업 필터링 (User-Based Collaborative Filtering)

✅ 핵심 아이디어

나와 비슷한 취향을 가진 사용자가 좋아한 아이템을 추천한다.

✅ 작동 방식

  1. 사용자 간 유사도 계산
    • 예: Cosine Similarity, Pearson Correlation
  2. 가장 유사한 사용자 찾기
    • K-최근접 이웃(K-NN) 방식 사용
  3. 추천 생성
    • 유사한 사용자가 좋아한 아이템 중, 내가 아직 보지 않은 것을 추천

📊 예시

사용자 영화 A 영화 B 영화 C 영화 D
유저1 5 3 ? 1
유저2 4 2 5 1
유저3 1 5 2 4
유저4 5 3 4 1
  • 유저1과 유사한 유저2, 유저4가 영화 C를 높게 평가
  • → 유저1에게 영화 C 추천

📦 아이템 기반 협업 필터링 (Item-Based Collaborative Filtering)

✅ 핵심 아이디어

내가 좋아한 아이템과 비슷한 아이템을 추천한다.

✅ 작동 방식

  1. 아이템 간 유사도 계산
    • 사용자들의 평점을 기준으로 아이템 간 유사도 측정
  2. 유사한 아이템 찾기
  3. 추천 생성
    • 내가 높게 평가한 아이템과 유사한 아이템 추천

📊 예시

사용자 영화 A 영화 B 영화 C 영화 D
유저1 5 3 ? 1
유저2 4 2 5 1
유저3 1 5 2 4
  • 유저1이 영화 A를 매우 좋아함 (5점)
  • 영화 A와 영화 C의 평가 패턴이 유사
  • → 영화 C를 유저1에게 추천

⚖️ 사용자 기반 vs 아이템 기반 비교

항목 사용자 기반 (User-Based) 아이템 기반 (Item-Based)
기준 사용자 간 유사도 아이템 간 유사도
장점 사용자 간의 관계가 직관적 유사성 기반으로 신뢰도 높음
단점 사용자 수 많을수록 계산 부담 아이템 유사도 계산 복잡함
확장성 낮음 높음
넷플릭스 적용 사례 초창기 사용 후에 아이템 기반으로 전환

🔧 보완 및 고도화 기법

  • K-최근접 이웃 (K-NN)
  • 유사도 행렬 미리 계산하여 캐싱
  • 행렬 분해 (Matrix Factorization): SVD, ALS 등과 결합하여 사용

📌 3. Sequential Recommendation 정리

1. 개요

  • Sequential Recommendation이란?
    • 사용자의 아이템 상호작용 순서(sequence) 를 바탕으로 다음에 추천할 아이템을 예측하는 방법.
    • 인공지능 기반 협업 필터링(Collaborative Filtering) 방식의 하나.

2. 기본 구성 및 학습 대상

  1. Look-up Table 기반 아이템 임베딩

    • 각 아이템은 명시적인 벡터 표현(embedding)을 가짐.
  2. 딥러닝 기반 모델

    • GRU4Rec, SASRec, BERT4Rec 등
    • 사용자 임베딩은 명시적으로 존재하지 않음

3. 사용자 표현 방식

  • 명시적 사용자 임베딩 ❌

    • 기존 방식과 달리, 명시적인 사용자 벡터를 따로 사용하지 않음.
  • 암묵적 사용자 표현 (Implicit Representation)

    • 사용자의 시퀀스 입력을 통해 모델이 자동으로 사용자 표현을 학습.
    • 예시:
      • BERT4Rec: [CLS] 토큰의 hidden state 사용
      • SASRec: 마지막 아이템의 hidden state 사용
  • 핵심 아이디어

    • 사용자의 아이템 시퀀스 자체를 사용자로 간주하여, 그 정보를 통해 취향을 파악함.

4. Collaborative Information 학습

  • Collaborative Information 이란?

    • 사용자와 아이템들 간의 상호작용(interaction) 정보
  • 학습 내용:

    • 사용자가 어떤 아이템들과 어떻게 상호작용하는지를 학습
    • 시퀀스 내에서 아이템들이 어떤 순서로 등장하는지를 학습
  • 학습 대상:

    • 아이템 임베딩
    • 전체 모델 구조
  • conventional recommenders에서 얻은 아이템 임베딩에는 collaborative information이 충분히 반영되어 있음


5. 특징 및 중요성

  • 아이템의 부수적인 정보 없이도, user-item interaction만으로 일정 수준의 추천 성능 확보 가능
  • 그만큼 collaborative information의 이해가 중요함

🧠 4. Modality-aware Recommender Systems

Modality-aware Recommender Systems는 사용자 또는 아이템에 대해 다양한 모달리티(Modality) 데이터를 활용하여 더 정밀하고 풍부한 추천을 제공하는 시스템이다.

  • MoRec [51] utilizes pre-trained modality encoders (e.g., BERT [9] or Vision-Transformer [10]) to project raw modality features of items (e.g., item texts or images), thereby replacing the item embeddings typically used in collaborative filtering recommendation models. Similarly, CTRL [25] considers tabular data and its textual representation as two different modalities and uses them to pre-train collaborative filtering recommendation models through a contrastive learning objective, which is then fine-tuned for specific recommendation tasks.

📌 모달리티(Modality)란?

모달리티는 데이터의 표현 방식 또는 종류를 의미한다.

예: 영화 추천 시스템에서의 다양한 모달리티

  • 텍스트: 줄거리, 제목, 리뷰
  • 이미지: 포스터, 썸네일
  • 비디오: 예고편, 클립
  • 오디오: 사운드트랙, 대사
  • 메타데이터: 장르, 감독, 배우 등

✅ 핵심 아이디어

단일 모달 정보만 사용하는 대신, 여러 모달리티를 함께 활용하여 더 풍부한 사용자 및 아이템 표현을 만들고, 추천 품질을 향상시킨다.


💡 도입 배경 (Motivation)

기존 추천 시스템의 한계:

  1. 콜드스타트 문제
    → 새로운 유저나 아이템에 대한 정보 부족

  2. 추천 품질 부족
    → 상호작용 데이터만으로는 충분한 맥락 파악이 어려움

  3. 설명 가능성 부족
    → 추천 이유를 사용자에게 설명하기 어려움

🛠 해결책: 다양한 모달리티의 정보를 결합하여 위 문제를 보완!


🎯 예시: 영화 추천 시스템

모달리티 데이터 예시
텍스트 줄거리 요약, 사용자 리뷰
이미지 영화 포스터, 썸네일 이미지
오디오 사운드트랙, 배경음악
메타데이터 장르, 감독, 배우, 개봉년도 등

예: 사운드트랙을 선호하는 유저에게 음악 중심의 영화 추천 가능


🏗️ 모델 구조 개요

1. 모달리티별 인코더

  • 텍스트 → BERT, LSTM 등
  • 이미지 → CNN, ResNet 등
  • 오디오 → WaveNet, Audio CNN 등

2. 멀티모달 융합(Fusion)

  • Early Fusion
    → 여러 모달리티 데이터를 먼저 결합한 후 인코딩

  • Late Fusion
    → 각 모달리티를 인코딩한 후 결과를 결합

  • Joint Embedding
    → 공통 임베딩 공간에 다양한 모달리티를 매핑

3. 추천 예측

  • 인코딩된 사용자/아이템 임베딩을 기반으로 예측
    → dot product, MLP, Transformer, GNN 등 사용 가능

📚 대표 논문 및 모델

모델 설명
MMGCN 멀티모달 그래프 기반 추천
MMRec 셀프 슈퍼바이즈드 방식의 멀티모달 추천
MERIT 아이템 간 변환을 통한 모달리티 인식 추천
M3R 멀티모달 + 다중 관심사 + 다중 관계 기반 추천 시스템

⚖️ 장단점 비교

장점 단점
다양한 정보로 정확도 향상 다양한 모달리티 데이터 수집 필요
콜드스타트 문제 완화 모달리티 간 데이터 불균형 이슈
추천 이유 설명 가능 복잡한 구조 및 높은 연산 비용

📝 한 줄 요약

Modality-aware Recommender Systems는 다양한 모달리티(텍스트, 이미지, 오디오 등)를 활용하여 더 정확하고 풍부한 추천을 가능하게 하는 차세대 추천 시스템이다.

🤖 5. 추천 시스템 + LLM

  • Early studies on LLMbased recommendation [12, 16, 44] have employed OpenAI-GPT with In-context Learning [4]. This approach adapts to new tasks or information based on the context provided within the input prompt and demonstrates the potential of LLMs as a recommender system. Moreover, to bridge the gap between the training tasks of LLMs and recommendation tasks, TALLRec [2] fine-tunes LLMs with recommendation data using LoRA [18]. This approach has empirically demonstrated that, in cold scenarios and cross-domain scenarios, fine-tuned LLMs outperform traditional collaborative filtering models

✅ LLM 활용 시 장점

  1. Textual 정보를 잘 파악한다

    • 아이템의 여러 속성이 텍스트 형태로 주어질 경우,
      아이템을 더 잘 이해하고 파악할 수 있음
    • → 아이템 간의 더 정교한 비교 가능
  2. 모델 내부에 다양한 지식이 내재됨

    • 세상에 존재하는 일반 상식, 개념적 연결 등 풍부한 배경 지식 보유
  3. 아이템에 대한 기본 정보 보완 가능

    • 아이템에 대한 메타 정보 없이도 모델이 내재적 의미를 파악할 가능성 있음
  4. User-Item interaction만을 기반으로 정보 학습한 기존 방법보다 유리

    • 특히, Cold Start 시나리오에서 뛰어난 대응 능력을 보임
      → 예: 새로운 아이템 등장 시에도 빠르게 의미 파악 가능
  5. Cross-domain 상황에서 유리함

    • 서로 다른 도메인의 정보를 연결해 추천하는 데 도움 됨

✅ LLM 활용 시 한계점

  • LLM이 사전학습한 과업과 추천 과업 사이에 차이가 존재

    • 기존 LLM은 전반적인 언어 이해 능력 향상을 목표로 학습함
    • 반면, 추천 시스템은 사용자-아이템 간의 interaction에서 나타나는 패턴 이해가 핵심임
  • 추천 과업에서 자주 등장하는 입력 형태를 충분히 학습하지 못함

    • 예를 들어, 아이템의 순서(sequence)와 타겟 아이템을 함께 다루는 구조는 LLM이 사전학습 단계에서 많이 경험하지 못함

    • 이런 차이를 보완하기 위한 연구 방향

      • Instruction tuningLoRA를 활용해서 LLM을 추천 과업에 맞게 추가 학습시킴
        • ex TALLRec
          • image
  • 추천 시스템을 위한 아이템의 explicit representation이 없음

  • LLM을 학습한다고 해도, Item 임베딩이 학습되지는 않음 -> 상호작용 정보의 학습이 불충분함

  • 보완 연구 방향

    • ID-token 임베딩을 학습시키는 방법
    • Conventional recommendaers로부터 학습된 임베딩을 활용하는 방법
      • CoLLM, LLaRa 등
      • conventional recommenders에 의존하게 됨