본문 바로가기

Dev/AI 인공지능

[RecSys] AutoEncoder 기반의 추천 모델 | AE (AutoRec) | CDAE (Collaborative DAE)

728x90
반응형

01. Autoencoder란?

  • 오토인코더(AE) : 입력 데이터를 출력으로 복원하는 비지도 학습 모델
  • 디노이징 오토인코더(DAE) : 입력 데이터에 노이즈를 추가하여 학습하는 모델! 노이즈를 추가함으로써 보다 강건한(robust) 모델이 학습 → 성능 향상

 

02. AutoRec

배경 및 아이디어

  • MF는 linear, low-order interaction을 통해서 represenation
  • AutoRec은 Rating Vector을 입력과 출력으로 사용하여 Encoder & Decoder 적용 → AE 기반으로 activation func을 사용해서 더 복잡한 상호작용 표현 가능

 

모델 구조

아이템에 대한 임베딩

아이템과 유저 중, 한 번에 하나에 대해서만 임베딩 진행

  1. 아이템 i의 rating vector $r^{(i)}$ 준비 — 유저들의 아이템 i에 대한 평점 벡터임
  2. 인코더 가중치 행렬 $V$가 곱해져서 Dense Representation으로 변환
  3. 다시 디코더 가중치 행렬 $W$가 곱해져서 Sparse한 m차원 vector로 돌아옴

 

수식으로 보는 모델과 학습 과정

  • rating과 reconstructed rating (rating prediction)의 RMSE를 최소화하도록 학습
  • 단, 관측된 데이터에 대해서만 파라미터 업데이트

 

성능 및 실험 결과

  • 기존 RBM, MF 등의 모델보다 좋은 성능을 보임
  • Hidden Unit이 많아질 수록 RMSE 감소

 

 

03. CDAE (Collaboratvie DAE)

배경 및 아이디어

  • AutoRec: Rating Prediction 모델
  • CDAE: Ranking을 통해서 유저에게 Top-N추천 제공
    → rating이 아닌 preference(0 or 1)을 학습

 

모델 구조

  1. DAE를 사용하여 확률적으로 drop-out 혹은 델타가 곱해진 노이즈된 인풋을 사용 ($y_u$는 한명의 유저 u에 대해서 모든 아이템에 대한 평점임)
  2. 개별 유저에 대한 특징은 $V_u$라는 파라미터가 학습하여 TopN 추천에 활용
  3. 인코더에서 노이즈 인풋값을 사용하여 latent vector인 $z_u$ 생성
  4. 디코더에서 $z_u$을 사용하여 다시 reconstruction

 

성능 및 실험 결과

  • 인기도 기반 모델, Item based CF, MF, BPR 등의 다른 모델에 비해 높은 MAP와 recall을 보임

728x90
반응형