Post

Enhancing Domain-Level and User-Level Adaptivity in Diversified Recommendation, (SIGIR'21)

Paper LinkOfficial Github

Abstract

추천 시스템은 personality를 반영한다는 점에서 online platforms에서 중요한 역할을 한다. 그리고 Diversity는 user의 시야를 밝히고 기업의 판매를 증진시키는 중요한 point로 인식된다.

하지만 accuracy와 diversity간의 trade-off는 big challenge로 남았다. 더욱이 diversity를 향한 domain과 user의 biases를 탐색하는 연구가 없다.

해당 논문에서는 diversified recommendation에서 user/domain-level의 적응성(adaptivity)를 강화한다.

  • Adaptive balancing strategy와 함께 일반화된 bi-lateral branch network로 domain-level diversity를 encode한다.
  • Bi-lateral의 각 branch에서 two-way adaptive metric learning을 사용해 user-level diversity를 capture한다.

1. Introduction

Collaborative filtering based methods는 popular items를 선호한다. 이 문제를 해결하기 위해 diversity-promoting recommendation이 연구되고 있다.

Diversified recommendation은 두가지 objetive를 다뤄야 한다.

  • Overall relevance of a recommendation list를 최대화하기
  • List의 item간 similarity를 최소화하기.

  • Fig. 1 (a)는 일반적으로 accuracy만 고려한 model이다.
  • Fig. 1 (b)는 end-to-end supervised learning으로 diversitified 추천을 진행하는 model이다.
  • Fig. 1 (c)는 two-stage (post-processing) strategy를 채택한 model이다.
    1. Accuracy metric에 기반해 candidate set을 생성한다.
    2. Diversity metric을 최대화하는 item을 선택한다.
  • Fig. 1 (d)는 본 논문에서 제안하는 model이다.

기존의 방법은 다음과 같은 limitations이 있다.

  1. Domain, user biases를 고려하지 않는다. 즉, 한 user가 narrow, focused interests를 가지고 있음에도 모든 user에게 광대한 범위의 item을 추천한다.
  2. Two-stage와 one-stage 모두 accuracy와 diversity를 balance하기 위해 추가적인 parameter tuning이 필요하다.
  3. 제품이 설계 및 생산될 때 자체 시장 지향성을 가지고 있다는 것을 무시해서는 안된다.
    • 코미디 영화가 유행일 때, 코미디 영화가 만들어지고 그것이 선택될 확률이 높다는 것인가…?

Diversity score는 interacted categories의 수에 interacted items의 수를 나눈 것이다. Fig. 2를 보면 domain 마다 서로 다른 distribution을 볼 수 있다.

  • 영화 domain에서는 다양한 장르의 item을 선택하는 경향이 있다.
  • 음악 domain에서는 장르에 대해 상대적으로 고정되어 있다.

저자들은 이를 domain-level diversity라고 부른다. 그리고 같은 domain이라도 user마다 각각의 diversity를 가진다. 그렇기 때문에 모든 domain과 모든 users를 equally하게 다루면 추천 성능이 낮아지고, user experience에 영향을 끼친다. 따라서 저자들은 EDUA (enhancing the domain-level and user-level adaptivity) framework를 제안한다.

중략

3. Problem formulation

중략

4. Proposed model

4.1. Model Overview

BBN (Bilateral Branch Network)는 visual recognition task에서 long-tailed data에 대한 accuracyt를 향상시키기 위해 제안되었다. BBN 구조는 최적화 과정을 2개의 objectives로 나눈다. 본 논문에서는 accuracy objectives랑 diversity objectives로

바로 BBN 구조를 쓰는 것은 적합하지 않다.

  • Vision에서 제안된 BBN은 representation learning과 classifier learning으로 나뉜다. 이때 representation learning이 classifier에 쓰여야 하므로 representation learning이 먼저 수행되어야 한다. 하지만, 본 논문에서 domain-level diversity daptation을 위해 accuracy와 diversity 학습 순서를 고정해서는 안된다.
  • BBN에 쓰인 residual network backbone은 본 논문의 task에 맞지 않다. 왜냐하면, user와 item 사이의 distance를 측정해야 할 필요가 있기 때문이다.

본 논문에서는 accuracy와 diversity를 위해 BBN을 다음과 같이 변형해서 사용한다.

  • Adaptive하게 학습 순서를 결정해 domain-level diversity를 encoding한다.
  • Residual network 대신 two-way adaptive metric learning을 사용한다. User-to-item, item-to-user relation을 modeling하고 user-level diversity를 adaptive하게 capture한다.

구체적으로 BBN에서 한 branch는 conventional learning branch로 일반적인 recsys처럼 accuracy를 향상 시키기위해 사용되고, 다른 branch는 adaptive learning branch로 domain level diversity에 집중한다. 그리고 backbone network로 two-way metric learning with independent parameter space를 사용한다.

4.2. Enhancing Domain-Level Adaptivity

기존의 추천 시스템은 user interests 중 좁은 범위의 item만 추천해주고, 특히 popular items을 많이 추천해줬다. 예를 들어, user가 romance 영화를 봤다면 그것과 유사한 중복적인 영화를 추천했다.

이를 해결하기 위해 본 논문에서는 BBN을 main 구조로 사용한다. Conventional learning branch는 relevant item을 추천해주고, adaptive learning branch는 conventional learning branch에서 무시된 items에 집중한다.

특히, domain-level diversity를 위해 domain bais에 기반해 두 branch가 학습되는 순서를 선택한다. 그 뒤, 각 branch에 해당 하는 서로 다른 sampling strategies를 이용해 학습을 진행한다.

4.2.1. Determining the order of learning focus in two branches.

Representation 없이 classifier를 수행할 수 없기 때문에, vision에서 제안된 BBN은 representation learning을 한 뒤 classifier learning이 진행되는 순서를 가지고 있다. 이때, cumulative learning startegy로 $\alpha$, $1-\alpha$를 이용해서 두 branch의 feature와 loss를 weighted sum한다. 처음에는 큰 $\alpha$를 줘서 representation learning을 많이 학습하고, epoch가 진행 될수록 $\alpha$가 작아진다.

본 논문에서는 domain 별로 다양한 diversity distribution을 가지므로, 고정된 순서를 사용하지 않는다.

  • 중요한 branch가 나중에 훈련되어, 더 좋은 representation을 얻을 수 있도록 fine-tuned 되어야 한다.
  • 이때, 순서라는 것은 처음에 어떤 branch가 높은 weight로 학습이 되는지를 의미한다.

예를 들어, MovieLens dataset에서 대부분 user는 diversity가 높으므로 conventional, adaptive branch 순으로 학습이 진행되어야 한다. 만약 adaptive branch가 먼저 학습되면, conventional branch로 인해 diversified representation이 사라질 수 있다.

저자들은 diversity 분포의 skewness score로 학습 순서를 결정한다.

\[skewness(X) = \mathbb{E}\bigg[\bigg(\frac{X-\mu}{\sigma}\bigg)^3\bigg]\]

Normal distribution은 skewness가 0이고, positive/negative distribution은 right/left skewed이다. Skewed distribution에는 adaptive learning branch를 더 강조해야 하고, normal distribution은 conventional learning branch를 더 강조해야 한다.

즉, normal은 처음에 adaptive branch에 더 큰 weight를 주고 나중에 conventinal branch에 더 큰 weight를 준다. Skewed는 그 반대이다.

4.2.2. Determining the sampling strategy for each branch

각 branch가 자신의 역할을 수행하기 위해 conventional branch는 uniform data sampler를 사용하고, adaptive branch는 reversed data sampler를 사용한다. Uniform data sampler는 일반적인 추천 시스템에서 사용하는 strategy이다.

Reversed data sampler는 domain users’ diversity 선호도를 고려해 각 user-item pair sampling possibility를 조정한 것이다.

  • $V_u^+ = ${ $v_1, v_2, \cdots$ }
    • User u와 interaction한 item
  • $C_u^+$
    • User u의 category set
  • $N_i$
    • $V_u^+$에 있는 item 중 category $i$를 가지는 item의 수
  • $d_u = |C_u^+|/|V_u^+|$
    • User u의 diversity score
    • $d_u$가 높을수록 소비한 item 수 대비 소비한 category 수가 높으므로 user u의 diversity가 높다.

Reversed와 original sampling probability of category $i$를 아래와 같이 계산한다.

\[P_i^R=\frac{w_i}{\sum_{j=1}^{|C_u^+|}}, P_i^O=\frac{N_i}{|V_u^+|}, \text{ where } w_i=\frac{|V_u^+|}{N_i}\]
  • $P_i^R$은 user가 적게 소비한 category일수록 큰 값을 가지고, $P_i^O$는 많이 소비한 category일수록 큰 값을 가진다.

$z \sim \mathcal{U}(0,1)$일 때, $z < d_u$이면 $P_i^R$에 따라 category를 sampling하고, $z >= d_u$이면 $P_i^O$에 따라 category를 smapling한다. 그리고 선택된 category $i$에 해당하는 item을 $V_u^+$에서 uniform하게 선택한다.

즉, diversity score $d_u$가 높으면 $P_i^R$에서 sampling 할 확률이 높으므로 적게 소비된 category를 고를 확률이 높다.

4.3. Enhancing User-Level Adaptivity

두 branch의 backbone으로 two-way adaptive metric learning을 사용한다. Distance는 $d=||u+r_{uv}-v||^22$로 $r{uv}$는 user $u$와 item $v$의 relevance relation이다.

본 논문에서는 두 가지를 추가로 고려한다.

  1. One way ($r_{uv}: u \rightarrow v$)만 고려하지 않고 $r_{vu}: v \rightarrow u$도 고려한다.
  2. Translation($r_{uv}, r_{vu}$)에 diversity preference 정보도 고려한다.
  • $p_u \in \mathbb{R}^{M\times D}$
    • User embedding
  • $q_v \in \mathbb{R}^{N\times D}$
    • Item embedding

Two-way relevance relation은 위와 같이 계산된다. $W_a$는 두 branch에서 공유된다.

Translation에 diversity 정보는 아래와 같이 진행된다.

  • $|C|$ 차원의 category frequency vector를 PCA를 이용해 k aspect를 가지는 k 크기의 $w_u$ vector로 만든다.

$T_\mu, T_\sigma$는 두 branch에서 공유된다.

최종적으로 아래와 같이 distance를 구한다.

5. Experiments

중략.

This post is licensed under CC BY 4.0 by the author.