241114 TIL #541 AI Tech #74 RecSys with Side Information

김춘복·2024년 11월 14일
0

TIL : Today I Learned

목록 보기
543/575

Today I Learned

오늘은 추가적인 content 정보를 활용하는 추천시스템 모델들을 공부했다.


RecSys with Side Information

  • 기본적으로 CF에서는 사용자와 아이템과의 interaction 데이터에서 둘 사이의 숨겨진 패턴을 찾아 추천에 활용한다. 하지만 이 가정이 성립하지 않는 상황도 존재한다.
    ex) cold start, 시간의 흐름에 따른 선호도 변화, 유저-유저간 social 추천 등

  • Contents-Based Methods
    유저의 demographic 정보, social networks, review, 아이템의 장르, 감독, 배우, 이미지, 상세 사양 등의 contents를 사용하는 방법
    유저나 아이템에 붙어있는 attributes들을 contents라 한다.
    이력이 없는 새로운 아이템의 추천, 즉 cold start에 좋다.
    하지만 뻔한 추천 결과를 가져오고, 새로운 사용자 추천에는 한계가 있다.

Context-aware RecSys

시간, 장소, social information 같은 추가정보(context)에 따라 추천 결과를 생성하거나 조정하는 방법.

FM

Factorization Machine
이미지 출처 : 논문

  • SVM의 generalization과 MF의 장점을 결합한 모델

  • MF는 단순히 유저와 아이템간의 내적을 사용했다면, FM은 MF를 확장해 유저, 아이템뿐만 아니라 모든 피처들을 저차원의 dense vector로 표현해 이들간의 pairwise interaction을 모델링한다.

  • 선형 복잡도를 가져서 효율적인 계산이 가능하고, SGD를 통한 최적화가 가능하고 다양한 손실함수를 사용할 수 있다.


Wide & Deep

Wide & Deep Learning for Recommender Systems

  • wide 컴포넌트와 deep 컴포넌트를 결합한 모델로, 다양한 side information을 자연스럽게 통합해서 사용할 수 있다. wide는 logistic regression을 사용

  • 두 컴포넌트의 input이 서로 다르고, wide 파트를 위한 전문적인 feature engineering이 필요하다.


DeepFM

DeepFM: A Factorization-Machine based Neural Network for CTR Prediction

  • FM과 DNN을 결합한 모델. FM이 저차원 특성, Deep 컴포넌트가 고차원 특성 상호작용을 모델링한다.

  • Wide & Deep과 다르게 FM과 deep 두 컴포넌트가 임베딩을 공유해 더 효율적인 학습이 가능하다. 따라서 pretrain 과정이 필요없고 end-to-end로 학습이 가능하다.


context를 효율적으로 융합하는 방법

  • concatenation 방식
    context 특성을 단순히 모델의 hidden state와 이어붙이는 방식
    피처 간의 상호작용을 학습하기 위해서는 더 깊은 네트워크 층이 필요하다.
    저차원 관계를 모델링하는데 비효율적이다.

  • Latent Cross 방식
    컨텍스트를 먼저 임베딩한 후, 모델의 hidden state와 요소별 곱(element-wise product aka hadamard product)을 수행한다.
    컨텍스트 임베딩과 hidden state 간의 직접적인 상호작용을 가능하게 해서 저차원 관계를 더 효과적으로 포착할 수 있다.

  • Latent Cross 방식은 context 데이터를 RNN 추천 시스템에 더 표현력 있게 통합할 수 있다.

  • 기존의 hidden latent 벡터 h와 context vector w를 융합하는 방법. context가 의미가 없으면 h' = h가 자연스럽게 된다.

    h=(1+w)hh=(1+wtime+wdevice)hh' = (1+w) \odot h \\ h' = (1 + w_{time} + w_{device}) \odot h

high-dimensional side information

텍스트, 오디오, 이미지 같은 고차원 부가정보를 이용한 추천 시스템

CDL

Collaborative Learning for Deep Neural Networks

  • textual content(bag-of-words, 텍스트를 수치화하는 자연어 처리) 를 활용한 top-k 추천 모델

  • MF + SDAE(stacked denoisiong autoencoder, 오토인코더를 여러층 쌓고 입력에 noise를 넣은 것)

  • j개의 아이템을 j x s 행렬 XcX_c로 표현해 각 행 j는 아이템 j에 대한 bag-of-words 벡터로 구성된다.

  • 유저-아이템의 rating 행렬 R과 텍스트 행렬 W간의 shared parameter γi\gamma_i를 두고 두 정로블 적절하게 융합한다.


Visual BPR

VBPR: Visual Bayesian Personalized
Ranking from Implicit Feedback

이미지 출처 : 논문

  • 기존 BPR 모델에 이미지의 시각적 특성을 추가로 활용하는 추천 모델. 사용자의 암묵적 피드백(구매 이력, 클릭 등)과 아이템의 시각적 특성을 동시에 고려한다.

  • 사전 학습된 CNN을 사용해 제품 이미지에서 4096차원의 시각적 특성 벡터를 추출한다. 추출된 고차원 특성을 더 낮은(20) 차원의 시각적 평가 공간으로 변환한다.

  • cold start 문제를 완화해주고 시각적 선호도를 명시적으로 모델링한 의의가 있다.


Audio contents

Deep content-based music recommendation

  • 음악 추천 시스템에서 콜드 스타트 문제를 해결하기 위해 음악 오디오 신호로부터 직접 잠재 요인을 예측하는 방법을 제안했다.

  • 기본적으로 Weighted MF를 사용해 선호도 p와 신뢰도 c를 모델링한다.

  • 오디오는 3초단위로 샘플링해서 CNN을 통해 특징을 추출한다. 추출된 결과는 MF의 item vector와 결합해서 사용한다.

  • 동일한 장르의 음악은 장르를 피처로 주지않아도 비슷한 군집을 이룬다.


Socially-aware recommendations

유저의 social networks 정보를 content로 활용해 cold start를 완화하고 interpretability를 높인다.

  • 사용자와 사용자간의 social link 정보를 추가적인 input으로 활용한다.

  • Group-aware Rec
    사용자 그룹에게 집단적으로 추천이 이루어지는 시나리오.
    개개인 뿐만 아니라 사용자가 속한 그룹과의 관련성을 고려한다.

profile
Backend Dev / Data Engineer

0개의 댓글