본문 바로가기
ML&DL/Recommender System

[Recommender System / Paper review] #26 Collaborative Metric Learning

by 거북이주인장 2023. 4. 26.

Summary

  • metric learning의 개념을 collaborative filtering에 적용하여 유저의 선호뿐만 아니라 유저간, 아이템간의 관계를 학습하는 collaborative metric learning (CML)을 제안한다.
  • CML의 metric learning은 knn의 아이디어를 차용한다. 이는 각 object의 가장 가까운 k개의 이웃이 서로 같은 class label이면 된다는 것이다. target neighbors의 반경 아래에 다른 라벨을 가지는 데이터 (imposter)가 접근하지 못하도록 학습을 진행한다.
  • 또한 학습 시에 하위 랭킹에 있는 결과에 penalty을 더 주는 방법과 item features을 통합하여 hybrid-rs로 접근하는 방법도 제안한다.

Motivation

  • metric learning은 similarity propogation process을 통해 데이터 간의 관계를 확장한다는 장점이 있다. 이는 triangle inequality와 밀접하게 관련이 있다. 세개의 객체가 있을 때, 두 쌍간의 거리의 합은 나머지 한쌍의 거리보다 크다는 것이다. ($d(y,z) \leq d(x,y) + d(x,z)$) 
  • 이런 관계를 만족시키며 학습하는 metric learning은 x가 y,z와 유사하다는 정보가 주어졌을 때 자연스럽게 y,z도 유사하게 학습을 진행한다.
  • matrix factorization은 metric learning의 개념을 포함하지 않으며 triangle inequality을 만족하지 않는다. 그에 따라서 suboptimal 성능을 달성할 수밖에 없다. 게다가 mf는 유저간 유사도나 아이템간의 유사도를 적절하게 고려하지 못하여 모형의 해석력에 제한이 있을 수 있다.
  • collaborative metric learning은 metric learning을 통해서 triangle inequality을 cf에 녹여내고 유저간, 아이템간의 선호도를 jointly 학습하여 mf의 단점을 극복하고자 한다.

Approach

Metric Learning

  • $\mathcal{X} = \{ x_1, x_2, \cdots, x_n \}$: m차원의 데이터
  • $\mathcal{S} = \{ (x_i, x_j) | x_i, x_j \text{ are considered similar} \}$
  • $\mathcal{D} = \{ (x_i, x_j) | x_i, x_j \text{ are considered dissimilar} \}$
  • $d_A(x_i, x_j) = \sqrt{(x_i - x_j)^T A (x_i - x_j)}$: mahalanobis distance metric

가장 원초적인 metric learning은 위의 mahalanobis distance metric을 학습하고자 한다. 이러한 metric을 만드는 방법은 여러가지가 있는데 그 중 하나는 아래의 convex optimization problem을 푸는 것이다.

objective function을 보면 서로 유사한 점들간의 거리는 최소화하는데, 이때 유사하지 않은 점들의 거리는 크게 유지한다.

한편, KNN에서 metric learning과 유사한 개념이 사용되는데 다만 비슷한 모든 객체를 클러스터링하는게 아니라 가장 가까운 k개의 이웃만 동일한 라벨로 할당되도록 학습을 진행하는 방식이다. 본 논문의 metric learning도 knn의 이런 학습법을 따라가는데 구체적으로 아래와 같다.

  • target neighbors: 입력 데이터 x에 대해 가장 가까운 데이텉 포인트들이다.
  • impostors: target neighbors 주변에 일종의 반경이 만들어지고 여기에 들어올 수 있는, 다르게 레이블링된 데이터 포인트들이다.
  • 보통 impostors가 들어오지 못하도록 막는 방향으로 학습이 진행된다.
  • 대표적인 모형으로 large margin nearest neighbor (LMNN)이 있다.

Collaborative metric learning

  • positive relationship을 가지는 implicit feedback을 모델링한다.
  • positive feedback을 받은 $\mathcal{S}$에 있는 쌍을 가까운 관계로, 다른 쌍들은 멀리 있는 관계로 학습한다.
  • 이를 통해 triangle inequality을 사용할 수 있는데 동일한 아이템을 좋아한 유저들을 서로 묶고, 동일한 유저가 좋아하는 아이템을 서로 묶는다.
  • 즉, cml을 통해 (아이템, 유저) 쌍 뿐만 아니라 (아이템, 아이템), (유저, 유저)의 관계도 추론하는 것이다.

Model formulation

유저와 아이템 벡터를 $u_i, v_j \in \mathcal{R}^r$이라고 하자. 이 벡터들 간의 유클리디안 거리인 $d(i,j) = ||\mathbf{u}_i - \mathbf{v}_j ||$가 만약 유저 i가 아이템 j를 좋아한다면 작도록 학습하는 것이 목표이다.

  • j: 유저 i가 좋아하는 아이템
  • k: 유저 i가 좋아하지 않은 아이템
  • $w_{ij}$: ranking loss
  • $\mathcal{L}$이 최소화하는 방향으로 학습이 된다는 것은, i와 j의 거리는 최소화하도록, i와 k와의 거리는 최대화하도록 학습이 되는 것이다.
    • j에 대해서는 그라디언트가 안쪽으로, k에 대해서는 그라디언트가 바깥쪽으로 움직인다.

Model properties

  • Approximated ranking weight
    • $w_{ij} = \log (rank_d (i,j) + 1)$
    • $0 \geq rank_d (i,j) < J$
    • 랭크가 작을수록 적은 가중치를 받고 클수록 가중치는 커진다.
    • 다만, log 함수이기 때문에 경사가 완만하다. 따라서 랭크가 작을수록 가중치를 훨씬 적게 받고 랭크가 커질수록 받는 가중치는 비슷하게 크다.
    • 가중치를 적게 받으면 loss가 작아지는 것이므로 학습시에 이점이 있다.
    • $rank_d(i,j)$가 어떻게 계산되는지는 Weston 논문 참조..
  • Integrating item features
    • hybrid rs 느낌으로 아이템의 피쳐 (텍스트 설명, 태그, 이미지 픽셀)를 모형에 통합한다.
    • 아이템 임베딩 벡터를 $\mathbf{x}_j \in \mathcal{R}^m$를 transformation function인 $f$를 통해 user-item space에 project하고자 한다.
    • 만약 $\mathbf{v}_j$가 $f(\mathbf{x}_j)$와 멀어진다면 loss를 받게끔 cost function을 추가한다: $\mathcal{L}_f (\theta, \mathbf{v}_* = \sum_j || f(\mathbf{x}_j, \theta) - \mathbf{v}_j ||^2)$
    • $\mathcal{L}_f$을 통해 아이템 벡터인 $\mathbf{v}_j$가 피쳐의 임베딩 벡터와 유사하도록 학습되는 것이다.
  •  Regularization
    • knn 계열의 모형은 데이터가 너무 sparse하게 퍼져 있으면 비효율적이라는 연구 결과가 있다.
    • 이 때문에, 유저 벡터와 아이템 벡터에 다음의 제한을 둔다: $|| \mathbf{u}_* ||^2 \leq 1 \text{ and } || v_* ||^2 \leq 1$
    • covariance regularization도 진행한다.

Final objective function

reaularization term을 추가한 최종 objective function은 아래와 같다.

 

Results

Datasets

  • CiteULike data: 사용 가능
  • BookCX data: 사용 가능
  • Flickr data: 크롤링 데이터
  • medium data: medium.com에서 크롤링한 데이터
  • movielens data

Comparison models

  • WRMF: implicit feedback과 weight을 사용한 cf
  • BPR
  • WARP: Weighted approximate rank pariwise
  • FM: Factorization machine
  • VBPR: Visual BPR
  • CDL: Collaborative deep learning
  • CML+F: Collaborative metric learning with item features

  • 아이템 피쳐를 사용하지 않는 모델과의 비교
    • movielens, echonest 데이터 세트에 대해서는 좋지 못한 성능을, 그외 데이터에 대해서는 좋은 성능을 보였다.
    • 이는 유저의 개인적인 취향이 추천에서 중요한 역할을 하는 데이터에서는 cml이 좋은 성능을 보임을 보여준다고 해석할 수 있다.
  • 아이템 피쳐를 사용하는 모델 (hybrid rs)과의 비교
    • CiteULike, movielens의 데이터를 제외하고 CML+F의 성능이 가장 좋은 것으로 나타났다.

Conclusion

  • metric learning이라는 것도 처음 접했고, 이를 추천 시스템에 적용한 것도 인상적이었다.
  • metric learning에서 triangle inequality 개념을 추천 시스템에 적용하여 추가적인 정보를 획득하고자 하는 아이디어를 얻었다.
  • 또한 loss를 목적에 따라 추가하는 모습에서도 많이 배운 것 같다.

댓글