1. Problem Definition

사람들은 Youtube Music이나, Spotify 같은 음악 스트리밍 서비스를 통해 많은 음악을 접할 수 있게 되었다. 이에 따라 플랫폼들은 사람들에게 좋은 음악을 추천해주는 것이 필수적인 요소가 되었다. 이러한 요구에 따라 최근 많은 연구가 진행되었다. 다만 이러한 연구들은 오직 performance를 높이기 위한 연구였고, 근본적인 해석이 부족하다. 논문에서는 Negative Preference를 도입하여 music recommendation system을 만들어보고자 한다.

2. Motivation

선호하는 음악의 특성을 이해하기는 상당히 어렵다. 이는 특정 장르, 음색, 분위기 등에 국한되지 않는 경우가 많기 때문이다. 다만 선호하는 음악에 비해 선호하지 않는 음악의 특성을 찾는 것은 보다 쉽다. 이것이 이 논문의 naïve한 idea가 되겠다.

3. Method

A. Overview

사용하는 method의 overview는 다음과 같다.

image_sample

대략적으로는, pre-trained된 music feature extraction model을 사용하여 각 음악의 feature를 추출한 뒤, Contrastive Learning Exploiting Preference (CLEP)를 이용해 각 사용자의 선호에 따른 임베딩 벡터를 만든다. 최종적으로 이 벡터를 이용하여 like/dislike를 예측한다.

B. Pre-trained Model

Pre-trained model은 CLMR, MEE, Jukebox를 이용한다. 각 모델은 다음과 같다. 음원 wav파일을 mel-spectrogram으로 변환 후 모델에 입력하게 되면, 각 모델의 특성에 따라 각기 다른 음악의 feature들을 얻을 수 있다. 논문의 주제와는 다르기에, 이 파트에서 자세한 내용은 생략하고, 각 모델의 간단한 요약 만을 소개하겠다. 이 모델들의 자세한 설명은 뒤 appendix에 게재하였다. reference에서 각 방법이 나온 논문들을 찾아볼 수 있다.

  1. CLMR (Contrastive Learning of Musical Representations) [2]
    • SimCLR[1]의 idea 차용
    • 같은 노래의 다른 섹션을 positive, 다른 노래의 두 섹션을 negative로 두고 학습
  2. MEE (End-to-end Music Remastering System Using Self-supervised and Adversarial Training) [3]
    • 음악의 전체적인 음색, 분위기, 마스터링 등을 캡쳐
  3. Jukebox (Jukebox: A generative model for music) [4]
    • VQ-VAE의 encoder를 통해 latent vector를 얻어낸다.

C. Contrastive Learning Exploiting Preference (CLEP)

얻은 feature를 통해 Contrastive Learning Exploiting Preference (CLEP)으로 학습을 진행시킨다. Loss function은 다음과 같다.

$L^ {Constrastive} = yD^2 + (1-y)max(margin - D, 0)^2$

$D$는 $Distance$로, 음악의 item pair에 대한 거리이다. $y$가 $1$이라면, $D^2$가 loss function이 되어 $Distance$를 줄이는 방향으로 학습이 진행되고, $y$가 $0$이라면 $Distance$를 $margin$에 가깝게 보내도록 학습이 진행된다. 여기서 $y$의 설정에 따라 Negative Preference를 다루는 방법이 달라진다. 논문에서는 세 가지의 embedding strategies를 제시한다. 앞서 언급한 것처럼 논문에서는 Negative Preference, 싫어하는 음악의 제거를 주제로 두고 있다. 이를 각 strategies에서 다르게 두며 이에 대한 성능 차이를 알아본다.

  • CLEP-PN Positive와 negative preference를 동시에 고려하여 contrastive learning하는 방식이다. $y = 1$인 경우를 like-like, dislike-dislike로 설정하고, $y = 0$인 경우를 like-dislike pair로 설정하여 like-like와 dislike-dislike를 embedding space내에서 가까워지도록, like-dislike pair를 멀어지도록 학습한다.
  • CLEP-P positive preference만을 고려하여 contrastive learning을 진행한다. $y = 1$인 경우를 오직 like-like pair만을 고려한다.
  • CLEP-N negative preference만을 고려하여 contrastive learning을 진행한다. $y = 1$인 경우를 오직 dislike-dislike pair만을 고려한다.

image_sample

D. Preference Prediction

얻은 embedding vectors를 통해 dislike를 배제하고, like를 추천한다. MLP를 사용하여, BCE Loss를 이용하여 최종 결과값을 도출한다. sigmoid function은 선호도에 대한 확률을 보여주게 된다.

4. Experiment

Experiment setup

16개의 곡을 CLEP의 batch로 사용한다. Network architecture는 CLMR, MEE, Jukebox 각각 4, 5, 5 layers를 사용하고, prediction stage는 3layer MLP를 이용한다. 모든 단계는 Adam optimizer를 이용하고, CLEP는 20 epochs에 0.01 learning rate를 사용하고, prediction stage는 30 epochs에 0.001 learning rate를 사용한다. 모든 단계에서 learning rate를 선형적으로 줄이면서 사용한다.

User Preference Dataset

두 가지 방식으로 데이터를 얻는다. 첫 번째는 Web-based survey를 통해 사용자의 선호도 조사 데이터를 얻는다. 두 번째로는 24명의 volunteers를 통해 200개의 랜덤한 장르의 음악을 듣고 선호도 조사를 한다. 음악은 10초를 듣고 선호도 조사를 실시했다. 10초만 들어도 충분하다는 [5] 의 주장에 따랐다.

Evaluation

5개의 metric을 사용한다. Accuracy, precision, recall, area under the receiver operating characteristic curve (AUROC), false positive rate를 사용한다. 또한 각 metric의 p-value를 측정하여 신뢰성을 높인다.

Result

image_sample

image_sample

세 모델을 비교한 table이다. 이를 통해 CLEP-PN과 CLEP-P는 상황에 따라 다르지만, CLEP-N이 가장 높은 정확도를 보임을 알 수 있다. 낮은 false positive rate와 recall을 통해 사용자가 싫어하는 음악을 거의 추천하지 않음을 알 수 있다. 다만 세 가지 방법 모두 AUROC에서 두각을 나타내지 못한 것으로 보아 아직 추천시스템에 적용하기에 한계가 있다고 저자들은 말한다. 다만 200개의 매우 적은 데이터를 사용했기에, 추후 많은 데이터와 이 method에 대한 발전이 이루어진다면 가능성이 있음을 보였다.

image_sample

이는 positive와 negative music의 embedding을 t-sne로 나타낸 것으로, 잘 분리되는 것을 볼 수 있다.

5. Conclusion

데이터의 부족과 단순한 구성으로 인해 실제 추천 시스템 상황에 적용시킬 만한 결과는 나오지 못했다. 다만 positive music보다 negative music을 고려하는 것이 보다 높은 성능이 나옴을 확인했으므로, 추후 CLEP-N에 대한 발전이 있다면 현재 추천 시스템보다 높은 성능이 나올 수 있음이 기대된다. 이에 대한 근거는 두 가지로, 다음과 같다.

  • 음악 취향에 있어 Negative Preference의 특징 negative preference가 positive preference보다 뚜렷한 특징을 지니고 있음이 확인되어있으므로, sendipity를 높이는 데에 유용하다. 사용자의 음악 취향 중 예측할 수 없는 영역에서 사용자가 좋아할 수 있는 곡을 찾을 가능성이 있다.
  • Negative Preference의 사용이 추천 시스템에 미치는 영향 랜덤한 장르의 음악을 골고루 재생하는 등 실험 설정이 실제 상황과 괴리가 있었지만, 모델의 preference 선택을 바꾸며 negative preference의 잠재력을 검증했다. 사용자의 입장에서 false positive rate가 낮고, precision이 높으면 즐거운 음악 소비 경험으로 이어지는데, CLEP-N이 다른 두 모델에 비해 명백한 결과를 보여주었다. 따라서 Negative Preference를 활용하는 것이 false positive metric 개선에 기여한다고 결론지을 수 있다.

Author Information

  • Jongbok Lee
    • Department of Industrial and system engineering
    • Korea Advanced Institute of Science and Technology
    • Contact: ljbassa@kaist.ac.kr

6. Reference & Additional materials

[1] Ting Chen, Simon Kornblith, Mohammad Norouzi, and Geoffrey Hinton. 2020. A simple framework for contrastive learning of visual representations. In International conference on machine learning. PMLR, 1597–1607. [2] Janne Spijkervet and John Ashley Burgoyne. 2021. Contrastive learning of musical representations. arXiv preprint arXiv:2103.09410 (2021). [3] Junghyun Koo, Seungryeol Paik, and Kyogu Lee. 2022. End-to-end Music Remastering System Using Self-supervised and Adversarial Training. arXiv preprint arXiv:2202.08520 (2022). [4] Prafulla Dhariwal, Heewoo Jun, Christine Payne, Jong Wook Kim, Alec Radford, and Ilya Sutskever. 2020. Jukebox: A generative model for music. arXiv preprint arXiv:2005.00341 (2020). [5] Isabelle Peretz, Danielle Gaudreau, and Anne-Marie Bonnel. 1998. Exposure effects on music preference and recognition. Memory & cognition 26, 5 (1998), 884–902.

7. Appendix

3-B의 pre-trained 모델에 대한 간략한 설명을 참조한다. 각 모델들은 음악 파일을 받아 latent feature를 추출하는 역할을 한다.

CLMR (Contrastive Learning of Musical Representations)

이 방법은 SimCLR이라는 이미지 데이터를 추출하는 unsupervised learning algorithm을 이용한다.

SimCLR은 각 이미지에 서로 다른 두 data augmentation들을 적용하여, 같은 이미지로부터 나온 결과들은 positive pair로 정의하고 서로 다른 image로부터 나온 결과들은 negative pair로 정의하는 형태로 contrastive learning 방식을 적용한다.

enter image description here

CLMR의 방식도 같다.

enter image description here

두 음악의 waveform을 준비 후 각 음악을 두 개의 샘플로 나눈다. 이후 encoder neural network $g_{enc}(\cdot)$를 통해 latent representations를, $g_{proj}(\cdot)$를 통해 latent space를 구한다. 이후 contrastive learning을 통해 latent feature를 구한다.

MEE (End-to-end Music Remastering System Using Self-supervised and Adversarial Training)

enter image description here

Mastering Effects Manipulator로 mastering chain에 대한 분석을 할 수 있다. 이는 음원 파일에서 마스터링 방식에 따른 파형의 차이가 있기에, 이를 쉽게 얻어낼 수 있다. 특정 파형이 일정 마스터링에서 받을 수 없는 큰 음량으로 들어오게 되면, 파형이 찌그러지는 것을 gain이라 하고, 이를 막기 위해 EQ, Compressor등의 effects를 사용하여 인위적으로 음량을 낮추거나 올리는데, 이를 mastering이라 한다.

Music Effects Encoder은 SimCLR을 사용하여 512-dimensional features를 뽑는다.

이들을 통해 Masgering Cloner가 A의 음원과 music effects encoder를 사용하여 만든 B의 effects를 사용하여 $A2’$ track을 만든다. 이를 원래 effect인 manipulator 2를 이용하여 만드는 $A2$와 비교하는 contrastive learning을 진행한다. 이러한 방법을 통해 마스터링, 음색 등의 특정 feature를 추출해낼 수 있다고 한다.

Jukebox (Jukebox: A generative model for music)

VQ-VAE를 사용하여 음악 raw waveform을 encoding한다. VQ-VAE는 input sequence $x$를 sequence of discrete tokens $z$를 사용하여 latent vector $h$로 mapping하고, 이를 codebook $c$를 사용하여 $D(e)$로 decoding한다. objective는 다음과 같다.

enter image description here

이를 통한 Music VQ-VAE는 다음과 같다.

enter image description here