SASRec vs ALS : 추천 시스템 비교 분석

김동준·2025년 12월 10일

Recommend System

목록 보기
10/14

SASRec vs ALS: 추천 시스템 비교 분석

최신 연구 동향을 포함한 비교 분석

SASRec (Self-Attentive Sequential Recommendation)

핵심 개념

SASRec은 Transformer의 self-attention 메커니즘을 추천 시스템에 도입한 순차적 추천 모델로, 사용자의 과거 행동 이력에서 각 시점마다 관련성 있는 아이템을 식별하여 다음 아이템을 예측합니다. 이 모델은 RNN처럼 장기 의존성을 포착하면서도, Markov Chain처럼 비교적 적은 수의 중요한 행동을 기반으로 예측합니다.

작동 방식

입력 데이터는 타임스탬프 기반으로 정렬된 사용자 시퀀스로, 모델은 원래 입력 시퀀스를 한 단계씩 오른쪽으로 이동시켜 사용자의 다음 행동을 예측하는 방식으로 학습합니다.

구조 구성:
1. Embedding Layer: 각 아이템을 밀집 벡터로 변환
2. Positional Embedding: 시퀀스의 순서 정보 보존
3. Self-Attention Blocks: 다중 헤드 어텐션과 피드포워드 네트워크로 구성
4. Prediction Layer: 학습 중에는 손실 함수를 계산하고, 테스트 시에는 아이템의 관련성 점수를 산출

구체적 예시

온라인 쇼핑몰 시나리오:

사용자 A의 구매 이력이 다음과 같다고 가정:

[티셔츠] → [청바지] → [운동화] → [모자] → [?]

SASRec은 이 시퀀스를 처리할 때:

  • Self-Attention 메커니즘으로 "운동화"를 예측할 때 "청바지"와 "티셔츠"에 높은 가중치를 부여할 수 있음 (스포츠 캐주얼 패턴)
  • "모자"를 예측할 때는 최근 구매한 "운동화"에 더 집중할 수 있음 (액세서리 완성)
  • 다음 아이템으로 "스포츠 가방"이나 "양말" 같은 관련 상품을 추천

dense 데이터셋에서는 장기 의존성을 고려하는 경향이 있고, sparse 데이터셋에서는 최근 이벤트에 더 집중합니다.

장점

  • CNN/RNN 기반 모델보다 한 자릿수 더 효율적
  • 병렬 처리 가능으로 학습 속도 향상
  • 다양한 밀도의 데이터셋에 적응적 대응

ALS (Alternating Least Squares)

핵심 개념

ALS는 협업 필터링 기반 추천 시스템에서 사용되는 행렬 분해 기법으로, 사용자-아이템 상호작용 행렬을 두 개의 저차원 행렬로 분해하여 사용자와 아이템을 교대로 최적화합니다.

작동 원리

ALS는 두 단계를 반복하면서 교대로 수행됩니다: 하나의 행렬을 고정하고 다른 행렬을 최적화하는 과정을 반복합니다. 이러한 교대 최적화 절차는 각 단계가 최소제곱 문제를 해결하도록 보장하여, 인수 업데이트를 계산적으로 효율적으로 만듭니다.

수학적 표현:

사용자-아이템 평점 행렬 R(m×n)을 두 행렬로 분해:

  • U: 사용자 잠재 요인 행렬 (m×k)
  • V: 아이템 잠재 요인 행렬 (n×k)

목표: R ≈ U × V^T

알고리즘 단계

1. 초기화: U와 V를 무작위로 초기화
2. 반복 (수렴할 때까지):
   a) V를 고정하고 U를 최적화
      - 각 사용자에 대해: U[u] 업데이트
   b) U를 고정하고 V를 최적화
      - 각 아이템에 대해: V[i] 업데이트
3. 예측: R̂[u,i] = U[u] · V[i]^T

구체적 예시

영화 추천 시스템:

평점 행렬 R (5명 사용자 × 4개 영화):

        액션1  로맨스1  SF1   드라마1
사용자1:  5      ?      4     ?
사용자2:  ?      4      ?     5
사용자3:  3      ?      5     ?
사용자4:  ?      5      ?     4
사용자5:  4      ?      3     ?

ALS 처리 과정:

  1. 초기화: U와 V를 k=2 차원으로 무작위 초기화

  2. 1차 반복:

    • V 고정, U 업데이트: 각 사용자의 관측된 평점을 기반으로 잠재 요인 계산
    • U 고정, V 업데이트: 각 영화의 관측된 평점을 기반으로 잠재 요인 계산
  3. 결과 해석:

    • 잠재 차원 1: "액션/SF 선호도"
    • 잠재 차원 2: "드라마/로맨스 선호도"
  4. 예측:

    • 사용자1의 로맨스1 예측 평점 = U[사용자1] · V[로맨스1]^T
    • 높은 점수 = 추천

ALS는 확률적 경사하강법(SGD)과 달리 U와 V를 교대로 고정하여 볼록 선형 회귀 문제로 변환함으로써 상당한 병렬화와 속도 향상을 가능하게 합니다.

장점

  • 대규모 데이터셋과 희소 행렬 처리에 매우 효과적
  • 병렬 처리 가능으로 확장성이 뛰어남
  • 명시적 피드백(평점)과 암묵적 피드백(클릭, 구매 이력) 모두 처리 가능

SASRec vs ALS 비교

1. 기본 접근 방식

특성SASRecALS
패러다임딥러닝 기반 순차 모델전통적 행렬 분해
시간 정보시퀀스 순서를 명시적으로 모델링시간 정보 암묵적 포함 가능
복잡도높음 (Transformer 구조)중간 (반복적 최적화)

2. 데이터 요구사항

SASRec:

  • 순차적 상호작용 데이터 필요
  • 사용자의 행동 순서가 중요한 경우에 효과적
  • 예: 스트리밍 서비스(다음 시청할 영상), 이커머스(구매 패턴)

ALS:

  • 사용자-아이템 평점 행렬
  • 정적 선호도 모델링에 적합
  • 예: 영화 평점, 상품 리뷰

3. 성능 특성

최근 연구에서 Transformer 기반 모델이 전통적인 머신러닝과 행렬 분해 모델(SVD 포함)을 포함한 기준선을 크게 능가하는 것으로 나타났습니다.

SASRec:

  • 향상된 버전(eSASRec)은 최근 모델들을 크게 능가하며, NDCG@10에서 23% 개선을 보였습니다
  • 순차 패턴이 강한 데이터에서 우수

ALS:

  • 대규모 데이터셋에서 계산 효율성 우수
  • 단순하고 안정적인 성능

4. 실무 적용

SASRec 적합:

  • 음악/비디오 스트리밍 (다음 곡/영상 예측)
  • 전자상거래 세션 기반 추천
  • 뉴스 피드 (시간순 컨텐츠)
  • 명시적이고 강한 라벨 신호(구매 전환)가 있는 경우

ALS 적합:

  • 영화 평점 시스템
  • 제품 추천 (평점 기반)
  • 대규모 사용자 기반 협업 필터링
  • 계산 리소스가 제한적인 환경

5. 최신 연구 동향

RecSys 2025에서 LLM과 추천 시스템의 융합이 주요 트렌드로 부상했으며, SASRec은 여전히 최첨단 딥러닝 모델로서 벤치마크 역할을 하고 있습니다.

현대적 접근법은 Transformer를 사용하여 사용자를 인코딩하는 것을 제안하며, 사용자의 익명화된 이력(이벤트 시퀀스)을 가져와 벡터로 인코딩합니다. 반면 행렬 분해 방법(ALS 같은)에서는 사용자 벡터가 모델 매개변수로 표현되고 최적화 절차 내에서 결정되었습니다.

6. 한계점

SASRec:

  • 계산 비용이 높음
  • 학습 데이터가 많이 필요
  • 원본 SASRec 모델에는 사용자 임베딩을 명시적으로 사용하지 않아 개인화가 부족합니다

ALS:

  • 순차적 패턴 포착 제한적
  • Cold-start 문제 (새 사용자/아이템)
  • 비선형 관계 모델링 어려움

결론

SASRec은 시퀀스 정보가 중요하고 충분한 계산 리소스가 있는 현대적 추천 시스템에 적합하며, ALS는 안정적이고 확장 가능한 전통적 협업 필터링이 필요한 경우에 여전히 강력한 선택입니다.

실무에서는 데이터의 특성, 시스템 요구사항, 그리고 비즈니스 목표에 따라 적절한 알고리즘을 선택하거나, 때로는 하이브리드 접근법을 사용하는 것이 최선의 결과를 가져올 수 있습니다.

profile
Story Engineer

0개의 댓글