Post

Can One Embedding Fit All? A Multi-Interest Learning Paradigm Towards Improving User Interest Diversity Fairness, (WWW'24)

Paper Link[Official github]

Abstract

Challenges
  1. User’s interest diversity에 대해 unfairness 문제가 있다.
  2. Interest diversity가 낮은 user의 성능이 높고, diversity가 높은 user의 성능이 낮다.
Address
  1. Multiple user/item embedding으로 unfairness를 해결한다.

1. Introduction

성능만 고려하는 추천 model은 서로 다른 user 그룹간 bias를 인식하지 못 하기 때문에, fairness 문제를 유발한다.

  • 예를 들어, active한 user와 unactive한 user가 있을 때, 추천 시스템은 collaborative filtering 특성상 active user의 성향을 더 많이 반영하게 된다.

그 결과 unactive user가 추천 결과에 만족하지 못할 가능성이 높아진다. 근본적인 성능 bottleneck 현상을 가려 잠재적인 성능 향상을 방해한다.

이를 해결하기 위해, user attribute를 활용해 group을 만들어, group-specific bias를 고려해 fairness를 보장하는 model이 제안되었다. 하지만, user interest diversity 같은 implicit feature에 관한 fairness를 고려하지 않는다. 따라서 본 논문에서는 user interest diversity의 fairness를 고려하는 model을 제안한다.

Figure1 (A)처럼 음식 추천 관점에서 특정 user는 제한된 요리만 좋아하고 또 다른 user는 더 넓은 범위의 요리를 선호할 수도 있다. 추천 시스템은 높은 diversity를 가지는 user에 대한 성능이 안 좋은 경향이 있다. 따라서 넓은 범위의 요리를 좋아하는 사람이 해당 서비스 플랫폼을 떠날 확률이 높다.

Figure2 (B)는 온라인 데이트 추천 예시이다. User는 동성, 이성, 양성 등 다양한 성적 관점을 가질 수 있다. 동성애자 및 이성애자 user는 특정 성별에 대한 선호도를 가지고 있지만, 양성애자는 보다 광범위한 관심사를 나타낼 것이다. 다양한 관심사를 가진 user를 위한 fairness를 보장해야 한다.

저자들은 category(e.x., 영화 장르)의 유무에 따라 diversity level을 측정하는 2가지 시나리오를 제시한다. 각 시나리오에 맞는 diversity metric을 정의한 후, 그 크기에 따라 user group을 만들고 각 group의 성능을 평가한다. Section 2에서 자세히 살펴 보자.

한 마디로 정리하자면, diversity가 높은 user group의 성능이 낮고, diversity가 낮은 user group의 성능은 상대적으로 높다. 따라서 user interest diversity unfairness가 존재하는데, 이를 해결해야 한다. Diversity unfairness는 다양한 model, diversity metirc, datasets, group partitions에 모두 존재하는 것을 실험을 통해 발견했다.

성능 감소 없이 unfairness를 완화하려면, bottleneck인 diversity가 높은 user group의 성능을 높여야 한다. 저자들은 성능 격차의 원인에 대해 연구를 했고 그 결론은 이전 연구(multiple interest)와 동일한다.

  • 즉, user의 interest를 capture하기에 하나의 embedding은 불충분하다.

저자들은 높은 diversity를 가지는 user의 embedding을 더 잘 학습하기 위해 multi-interest representation layers를 제안한다. User의 main 특징을 나타내는 하나의 center embedding과, user의 interaction data에서 얻을 수 있는 다양한 interest를 반영하는 여러 개의 virtual embedding으로 이뤄진다. 높은 diversity를 가지는 user의 embedding을 더 잘 학습하기 위해 multi-interest representation layer를 도입한다.

  • Interest embedding generator
    Gobal하게 공유되는 parameter를 활용해 virtual interest embeddings를 만든다.
  • Center embedding aggregator
    multi-hop aggregation을 활용한다.

이러한 방법론은 interest diversity를 반영하는 virtual embedding을 implicit하게 만들 수 있다.

2. User Interest Diversity Unfairness

저자들은 item category 사용 여부에 따라 interest diversity를 정의한다. 그리고 interest diversity level에 따라 user group을 만든다.

본 논문에서는 두 가지 추천 model: LightGCN, CAGCN에서 unfairness를 확인하고 해결한다.

LightGCN은 graph 추천에서 가장 기본적인 model이다. CAGCN은 user의 main interest와 먼 neighbors의 효과를 감소시켜 utility를 높인 논문이다.

2.1. Interest Diversity Definition

User interest diversity는 training data에서 user가 소비한 items의 dissimilarity를 측정한다.

Definition 2.1. Interest Diversity via Item Category
Category 정보를 알고 있다면, Simpson’s Index of Diversity의 정의에 따라 다음과 같이 user \(u\)의 diversity를 정의한다. \(D_{cat}\)은 두 개의 item을 random으로 뽑았을 때, 서로 다른 categories일 확률을 측정한 것이다.
\[D_{cat} = 1 - \frac{\sum_{c\in\mathcal{C}_u} N_u^c(N_u^c - 1)}{|\mathcal{I}_u|(|\mathcal{I}_u| - 1)}\]
Definition 2.2. Interest Diversity via Item Embedding
사전 학습된 item embeddings이 주어진다면 다음과 같이 user \(u\)의 diversity를 정의한다. \(D_{emb}\)은 상호작용 한 item embeddings 사이의 dissimilarity를 측정한다.
\[D_{emb} = 1 - \mathbb{E}_{(i, i^\prime) \in \mathcal{I_u} \times \mathcal{I_u}}[\phi(e_i, e_{i^\prime})]\]
  • \(\phi(e_i, e_{i^\prime})\)은 두 embedding간의 cosine similarity이다.

\(D_{cat}, D_{emb}\) 모두 값이 높을수록, user interest diversity가 높다는 것을 의미한다. 저자들은 특별한 언급이 없다면, \(D_{cat}\)을 default로 사용한다.

2.2. Group Partition

본 논문에서는 diversity level이 주어졌을 때, k-means clustering을 이용해 user group을 만든다. 이때, cluster의 수는 elbow method를 통해 정한다.

해당 방법 외에도 다양한 방법이 존재한다.

  • Group에 속하는 user의 수가 동일하도록 나눈다.
  • User interest diversity의 범위를 동일하게 나눈다.

본 논문에서는 k-means clustering을 사용한다.

2.3. Preliminary Results

LightGCN, CAGCN 기반으로 총 4개의 dataset에 대해 user group별 성능(recall)을 나타낸 것이다. (A)와 (B)는 k-means로 group을 나눈 것이고, (C)는 \(D_{cat}\)을 기준으로 user의 수와 diversity range를 동일하도록 group을 나눈 것이다.

위 그림은 다양한 model, dataset, diversity metric에 대해서 unfairness가 있다는 것을 보여준다.

3. Source of Unfairness and Motivation of Multi-interest

저자들은 unfairness를 완화하기 위해 user, item embedding간 alignment와 misalignment에서 그 원인을 분석한다. 실험을 통해 performance 격차와 alignment 사이에 상관관계가 있음을 발견했다.

  • Diversity interest가 높은 사용자는 성능이 나쁘고, alignment도 나쁘다.

저자들은 figure 4와 같이 user의 다양한 interest를 표현하기에 하나의 embedding은 부적하기 때문에 suboptimal alignment가 발생한다고 가정했다. 대부분 추천 시스템의 목적은 좋은 quality의 user-item embedding을 학습하는 것이기 때문에 embedding space에서 unfairness의 근본적인 원인을 조사한다.

이전 연구에서 embedding의 alignment와 성능 사이의 상관관계를 강조했다. Alignment가 좋을수록 (alignment 값이 낮을수록) 성능이 더 높다.

\[\text{Alignment} = \mathbb{E}_{(u,i)\sim p_{pos}}|| \tilde{e}_u - \hat{e}_i ||^2\]

서로 다른 group간 unfair한 추천 성능의 잠재적 원인을 밝히기 위해 각 group의 평균 alignment를 측정했다. Figure 3을 살펴보면 ml-1m dataset에 대해 LightGCN, CAGCN 모두 interest diversity가 낮을수록 alignment 값이 낮은 것을 알 수 있다. 그리고 utility 능력이 더 좋은 CAGCN의 alignment 값이 더 낮다. 즉, 더 좋다. 이는 현재 추천 시스템이 interest diversity가 넓은 user에 대해서 user, item의 alignment가 효과적이지 않다는 것을 알려준다.

Figure 4 (A)는 높은 interest diversity를 가진 user의 어려운 점을 알려준다. 만약 그 user가 상호작용이 있었던 모든 item에 대해 최적의 alignment를 가진다면, 학습된 user embedding은 items의 중간에 위치하게 될 것이다. 이는 실제 interest item과 안 좋은, 즉 높은 alignment를 가지게 만든다.

다양한 interest에서 기인한 items와 align하기 위해 multiple embedding으로 user interests를 표현한다.

Figure 4 (B)와 같이 multiple embeddings은 single embedding 대비 더 좋은 alignment를 가지므로 더 정확한 추천이 가능하다고 주장한다.

다양한 interest를 가질수록 interest가 변하기 쉬워 unfairness가 발생할 수 있다고 생각할 수 있다. 저자들은 이를 반박하기 위해 간단한 실험을 진행한다.

우선 table 6을 보면 각 group별 평균과 표준편차를 구했을 때, train/test/train+test 모두 유사한 것을 볼 수 있다. 그리고 여러 correlation 값을 살펴보면 train/test/train+test 모두 1에 가깝기 때문에 major한 diversity 변화는 없는 것을 확인할 수 있다. 한 가지 limiation이라면 train/test가 random으로 split되었다는 것이다. 만약 시간으로 split될 수 있다면 더 좋을 것 같다.

4. The Multi-interest Framework

저자들은 multiple (virtual) interest embedding으로 각 user를 표현해 unfairness를 완화한다. 이를 통해 높은 interest diversity를 가지는 user의 alignment를 향상시켜 성능을 올린다.

4.1. Model Architecture

각 user/item은 main 특징을 나타내는 center embedding \(\textbf{E}_C^l \in \mathbb{R}^{N \times d}\)을 가진다. 그리고 학습 가능한 center embedding을 기반으로 attention mechanism을 통해 K 개의 virtual embedding \(\textbf{E}_v^l \in \mathbb{R}^{N \times K \times d}\)를 만든다. User, item 모두 K 개의 interest embedding을 가지는데, item도 유사한 이유로 K 개의 interest embedding을 가진다.

  • User는 다양한 interest를 가지고 있는데, 이것을 하나의 embedding으로 나타내는 것은 부적합하다.
  • User마다 item을 소비한 목적이 다르다. 예를 들어, 농구공은 운동용 또는 미술용 등 다양한 목적에 의해 소비될 수 있다. K 개의 multiple item embedding은 이러한 aspect를 학습하기 위한 것이다.
  • K는 hyper parameter로 저자들은 {2, 4, 8, 16} 중에서 선택한다.

Attention mechanism에서 많은 parameter 도입을 방지하기 위해 global하게 공유하는 interest \(\textbf{w}_k^l\)을 사용한다. 각 layer마다 서로 다른 k개의 global parameter \(\textbf{w}\)를 가진다.

  • Node \(v_j\)의 k 번째 virtual embedding은 \(\textbf{E}_V^L[v_j, k]\)로 나타내고, center embedding은 \(\textbf{E}_{C}^L[v_j]\)로 나타낸다.

User, item embedding과 global interest가 학습된 후 relevance score는 아래와 같이 구한다.

\[\hat{y}_{u,i} = \max_{k=1}^{K} \textbf{E}_V^L[v_u, k]^\top \textbf{E}_C^L[v_i] + \max_{k=1}^{K} \textbf{E}_V^L[v_i, k]^\top \textbf{E}_C^L[v_]\]

Relevance score를 구한 뒤, BPR loss를 통해 학습이 진행된다.

4.2. Multi-Interest Representation Layer

이번 section에서는 multiple embedding을 계산하고 이것을 aggregation 해 center embedding으로 만드는 것을 살펴보자.

Interest embedding generation

k 번째 interest embedding을 구하는 방법을 살펴보자. 먼저, global interest \(\textbf{w}_{k}^l\)와 이웃 center embedding으로 attention weight를 \(a^l_{k: v_1, \cdots, v_N}\)를 구한다.

  • 만약 item이 k 번째 interest와 관련이 있다면, \(a^l_{k:v_1, \cdots, v_N}\) 중 \($a^l_{k:v_n}$ 값이 상위에 있을 것이고,\) a^l_{1, \cdots, K:v_n} \(중\) $a^l_{k:v_n}$ 값이 높을 것이다.
  • 그로 인해 user의 k 번째 interest embedding에 해당 item이 큰 contribution을 가지게 된다.
\[a^l_{k, v_n} = \frac{\text{exp}(\phi(\textbf{E}_C^l[v_n], w_k^l)/T)}{\sum_i \text{exp}(\phi(\textbf{E}_C^l[v_n], w_i^l)/T)}\]
  • \(\phi\)는 cosine similarity 이다.

그후 계산된 attention 값을 가지고 weighted sum를 통해 multiple embedding을 구한다.

\[\textbf{E}_V^l[v, k] = \sum_{v_n \in N_v} a^l_{k,v_n} \textbf{E}_C^l[v_n]\]

Center embedding aggregator

Multiple embedding으로 center ebmedding을 만들기 위해 먼저 각 이웃 node에 대해 center embedding과 가까운 interest embedding을 선택한다.

\[mid(v,v_n,l) = \overset{K}{\underset{k=1}{argmax}} (\textbf{E}_V^l[v_n,k]^\top \textbf{E}_C^l[v])\]

그 뒤, LightGCN과 같은 normalization term을 이용해 aggregation 한다.

\[\textbf{E}_C^{l+1} = \sum_{v_n \in \mathcal{N}_v} \frac{1}{\sqrt{d_vd_{v_n}}}\textbf{E}_V^l[v_n, min(v, v_n, l)]\]

5. Experiments

생락.

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