ACCM(Attentional Content&Collaborate Model)

Chalsu Chalsu·2021년 12월 26일
0

Recommender System Paper

목록 보기
4/4

Attention-based Adaptive Model to Unify Warm and Cold Starts Recommendation

Content-based Method(CB)

User Contents : 나이, 성별, 직업 등

Item Contents : 같은 옷의 색상, 음식의 맛, 음악의 멜로디 등

→ 리뷰 같은 경우는 User, Item Contents가 모두 될 수 있다.

Collaborative Filtering(CF)

User와 Item의 Historical Feedback Information을 분석

2가지의 가정

  1. 유사한 Item을 소비한 User는 유사한 선호도를 가지고 있다.
  2. 공통된 User에 의해 소비된 Item은 유사한 특성을 담고 있다.

일반적으로 Content Information보다 Feedback Information을 활용하는 것이 성능이 좋다.

그러나 Cold-Start Problem에서 CF는 성능이 급격하게 떨어진다.

그 이유는 Cold User, Cold Item이란 학습할 때 관측되지 않았던 User, Item을 말하는데 그런 관측되지 않은 User, Item에 대해선 User vector, Item vector 모두 초기 상태를 유지하고 있으므로 결과를 신뢰할 수 없다.

CB는 Content 기반으로 추천을 해주기 때문에 Cold-Start Problem에 있어서 CF보단 유연한 모습을 보여준다.

→ 따라서 이러한 이유로 CF와 CB를 통합하여 모델링을 하고자 하는 시도가 늘어났다.

신경망의 적용

인공 신경망을 활용하는 단계로 접어들면서 Content Information과 Feedback Information을 입력으로 받아 모델링하는 방법도 존재했다. 하지만 이런 모델의 단점은 이 모델이 Contents에 대해서 Global weight를 학습한다는 점인데 이러한 방식으로 학습을 진행하게 되면 Warm condition과 Cold condition에서 유연한 모델을 학습할 수 없다는 점이다. 또한 추천의 결과가 Contents로부터 왔는지 Feedback으로부터 왔는지 판단하기 어렵다는 점도 함께 존재한다.

따라서 Feedback Information이 충분할 때는 CF, 충분하지 않을 때는 CB를 활용하도록 Attention Weight를 활용하여 학습하는 모델인 ACCM(Attentional Content&Collaborate Model)에 대해서 얘기할 것이다.

또한 Attention network가 Cold condition인지 학습하도록 하는 Cold Sampling 또한 적용할 것이다.

본 논문에서 얘기할 내용은 크게 2가지이다.

  1. CF와 CB를 통합하는 새로운 Attention Model
  2. Cold Sampling

Result Level Attention

  • CF와 CB를 합친 모델

    CF part

    pCF=uCFvCFp_{CF} = u_{CF} \cdot v_{CF}

    해당 빨간 박스 부분은 NCF(Neural Collaborative Filtering)의 GMF 구조와 유사하다.

    Generalized Matrix Factorization(GMF)

    CB part

    pCB=uCBvCBp_{CB} = u_{CB} \cdot v_{CB}

    CF 부분과 마찬가지로 User Vector와 Item Vector의 곱으로 표현된다.

    CF 부분과 다른 점으로는 User Vector와 Item Vector가 Feature를 MLP를 통해 나온 값으로 표현된다는 점이다.

    Prediction

    p=aCFpCF+aCBpCBp = a_{CF}p_{CF} + a_{CB}p_{CB}

    pp는 CF와 CB의 결과를 Weight sum한 결과

    위 내용을 통해서 위 모델은 CF와 CB 중 어느 파트에 더 적절한 가중치를 둬야 하는지 학습할 수 있고 Warm condition 뿐만 아니라 Cold condition에서 CF의 Feedback Information이 없을 때 CB 부분을 통해 Cold Start Problem을 해결할 수 있다.

Vector Level Attention

  • Result Level Attention의 단점을 극복

    예시 : Puzzle을 좋아하는 Cold User가 있다고 가정

    Cold User이기 때문에 CF보다는 CB의 결과를 출력

    하지만 새로 출시되는 Puzzle에 대해 Cold User는 Puzzle을 좋아함에도 불구하고 CB의 Content Information에 따른 medium rating을 준다.

    이는 Cold User가 Puzzle을 좋아한다는 uCFu_{CF}가 반영되지 않음을 뜻한다.

    이런 문제를 해결하기 위해 모델의 구조를 조금 수정한다. User와 Item Vector가 Content로부터 얼마나 오는지 Historical Feedback으로부터 얼마나 오는지 Attention이 결정할 수 있도록 모델링 ### User Part

    u=aCFuuCF+aCBuuCBu = a^u_{CF}u_{CF} + a^u_{CB}u_{CB}

    User Attention은 오직 해당 User의 Historical Feedback이나 Content에 Attention을 주어 출력

    따라서 Puzzle 예시에 다시 적용했을 때 User는 Puzzle을 좋아하는 것을 uu Vector에 반영시킬 수 있고 새로 출시되는 Puzzle에 높은 Rating을 줄 수 있다.

Model Learning

  • Cold Start Problem 해결

    Attention Set

    Attention Network만을 학습하는 Attention Set을 따로 분리하여 Cold condition, Warm condition에서 모두 학습 가능하도록 만든다.

    Model Update

    Attention Network를 고정시키고 Training process를 진행

    Attention Update

    모델을 업데이트하지 않고 Attention set을 이용하여 Attention Network를 학습

    그러나 Attention Set을 따로 분리할 경우 학습할 때 Attention Set에 있는 User와 Item이 추천 결과에 반영되지 않는다는 문제점이 발생한다.

    → 이러한 방법을 해결하기 위해 Cold Sampling 전략이 도입되었다.

    Cold Sampling Strategy

    배치 단위에서 User와 Item 일부에 대해서 Historical Feedback Information을 랜덤하게 가리는 것을 말한다.

    ui=aCFui[(1ciu)uCFi+ciuuri]+aCBuiuCBiu_i = a^{u_i}_{CF}[(1-c^u_i)u^i_{CF} + c^u_iu^i_r] + a^{u_i}_{CB}u^i_{CB}

    vi=aCFvi[(1civ)vCFi+civvri]+aCBvivCBiv_i = a^{v_i}_{CF}[(1-c^v_i)v^i_{CF} + c^v_iv^i_r] + a^{v_i}_{CB}v^i_{CB}

    yi=bg+ciubui+civbvi+uiviy_i = b_g + c^u_ib_{u_i} + c^v_i b_{v_i} + u_iv_i

    배치별로 랜덤하게 가려지기 때문에 학습이 끝났을 때는 모델은 모든 User와 Item에 대한 정보들을 학습하게 된다.

Result

  • Attention Weight를 통해 Cold User & Item, Warm User & Item을 구별할 수 있다.
    • 이를 활용하면 User Feature 중 어떤 Feature에 집중했는지 혹은 Item Feature 중 어떤 Feature에 집중했는지 알 수 있다.
profile
https://github.com/MrLee5693

0개의 댓글