[AI X Music] SPOTIFY가 나만의 취향 저격 음악 플레이리스트를 만드는 방법

Date:     Updated:

카테고리:

태그:

SPOTIFY가 나만의 취향 저격 음악 플레이리스트를 만드는 방법

SPOTIFY가 나만의 취향 저격 음악 플레이리스트를 만드는 방법

글로벌 음악 스트리밍 서비스의 최강자 SPOTIFY의 음악 추천(큐레이션)은 어떻게 이루어지는질까?

SPOTIFY가 나만의 취향 저격 음악 플레이리스트를 만드는 방법

글로벌 음악 스트리밍 서비스의 최강자 SPOTIFY의 음악 추천(큐레이션)은 어떻게 이루어지는질까?

Let’s dig in to MUSIC Recommendation system on Spotify

말도 많고 탈도 많았던 스포티파이!! 작년부턴 그래도 적당히 사용할 수 있다

INTRO

스포티파이를 국내에서 사용하는 사람들은 주변에서 본 적이 없다. 하지만 글로벌 음악 스트리밍 시장을 보았을 때, Spotify는 스트리밍 시장의 최강자라고 할 수 있다. 스포티파이가 전세계적으로 높은 점유율을 가지고 있는 강력한 이유 중 하나는 아마 “음악추천이 좋아서 ” 일 것이다

우리나라는 유튜브, 멜론, 벅스, VIBE 등이 있겠지만..

기기를 건드리지 않아도 계속 듣고 싶은 노래만 나오는 음악 추천 기술, 그리고 그 최강자 Spotify의 기술에 대해서 알아보도록 하겠다

음악추천의 문제점

아이유의 노래를 듣던 사람의 다음곡은 무엇이 될까? 김광석의 노래가 듣고 싶을지, 방탄소년단의 신곡이 듣고 싶을지는 알 수 없다. 비가오는 오늘은 김광석이지만, 다음주는 방탄소년단 일 수도 있다. 나에게 맞는 최적의 플레이리스트는 계속 변한다.

김광석이냐 방탄소년단이냐 그것이 문제로다

그렇다면 스포티파이는 어떤 음악을 추천해주어야할까? 어떤 음악을 어떻게 추천해주는지 알아보도록 하자.

음악추천의 두가지 방법

음악추천의 두가지 방법

음악 추천에는 크게 두 가지 방법이 있다.

협업필터링 기반 추천(CF)은 유저들이 만들어둔 플레이리스트를 기반으로 음악을 추천해주는것이다. 방탄소년단의 노래 중 아직 듣지 않은 노래가 있다면, 협업필터링 기반 추천을 해 줄 경우 아직 듣지 않은 방탄소년단의 노래를 추천해 줄 것이다. 다른이들이 만들어둔 플레이리스트(방탄소년단 스페셜 모음 플레이리스트)들이 데이터로 들어가므로 유저들의 플레이리스트들에서 듣지 않은 노래를 들려줄 것이다.

하지만 방탄소년단의 Dynamite라는 디스코노래를 듣고, 계속 디스코가 듣고싶다면? 협업필터링 기반 추천은 높은확률로 디스코가 아닌, BTS의 다른 곡을 들려줄 것이다.

그렇다면 콘텐츠 내용 기반 추천(CB)은 어떠할까? 방탄소년단의 Dynamite를 다양하게 분석을 할 것이다.

#BTS #팝송 #2020 #디스코 #신나는 #펑키 #남성그룹 #아이돌 #영어

이번에는 방탄 소년단의 신곡을 듣고 싶은 사람에게 80년대 디스코를 들려주는 문제가 생길 수도 있다. 이러한 단점들을 보완하기 위해, 두 방식의 장점을 합쳐 하이브리드 방식으로 음악을 추천한다. 거시적으로 보면 하이브리드방식이지만, 세부적으로는 또 다양한 방법이 있다.

그렇다면 스포티파이는 어떻게 음악을 추천할까?

스포티파이의 취향저격 음악 큐레이션

필자의 YouTube Music Curation

넷플릭스 시청의 66%, 아마존 판매의 35%는 추천으로 발생된다. 추천은 산업에서 빼놓을 수 없는 부분이다. 스포티파이처럼 좋은 추천을 만들기 위해, 좋은 추천 음악 서비스로 매출을 올리기 위해 많은 기업들이 노력한다. 스포티파이도 이의 중요성을 당연히 인지하고 있고, 음악 추천 알고리즘에 있어 심혈을 기울인다.

스포티파이의 기술 블로그이다. 다양한 분야의 기술이 있으며, 음악 검색 및 추천에 관해서만 2018년~2021년동안 35개의 논문을 작성했다. 1달에 1번 꼴로 음악검색 및 추천에서의 발전을 이루고 논문까지 썼다는 것이다. 그렇다면 계속 진화하는 스포티파이의 음악추천 알고리즘 중 몇 가지와 가장 최신 음악추천 알고리즘을 살펴보도록 하겠다

2018년, Spotify의 추천 시스템

2018년 RecSys에 실린 spotify의 논문

전통적인 CF방식(협업 기반 필터링, ex)플레이리스트)에 사용되는 MAB알고리즘을 사용했으며, 상관 관계를 따져서 강화 학습을 돌렸다고 한다

전통적인 MAB(multi-armed bandit)방식 알고리즘 구조도

.

2020년, spotify의 추천 시스템

2020년 RecSys에 실린 spotify의 논문

이건 메인 추천 알고리즘은 아니지만, 재미있는 논문이다. 사용자의 시간대별 사용과 기기별 사용에 관한 상관성을 알려준다. 이것도 결국 사용자의 플레이리스트를 분석해서 만들었으니 CF로 분류된다고 볼 수 있다.

새벽에 듣는 노래, 아침, 오후, 퇴근길, 늦은저녁, 밤 6가지로 나누었으며, 핸드폰, PC, 스피커, 웹, 태블릿 5가지 재생 기기별로 나누었다. 그러니까 내가 퇴근길에 핸드폰으로 듣는 플레이리스트와, 주말 아침 빨래를 하며 PC로 틀어둔 노래는 다를 것이라는 가정에서 시작된 연구지 않나 싶다.

저녁에 어울리는 음악!

spotify는 이러한 방식에 CoSeRNN(Contextual and Sequential RNN)이라는 알고리즘을 제안한다. LSTM에 attention붙이고, input으로 플레이리스트의 시간대별 정보(맥락, a.k.a context)를 넣은 것이다.

낮은차원의 임베딩방식임에도 불구하고, SOTA임베딩방식을 순수하게 사용했을 때 보다 10%의 성능 증가가 있다고 한다. 플레이리스트와 music tagging을 이용한 하이브리드방식보다는 안 좋지 않을까 싶지만, 이러한 재미있는 아이디어가 음악 추천의 한 축을 담당하거나 다른 메인 알고리즘을 도와줄 수 있지 않을까 싶다. 필자도 위의 사진처럼 빠른 선곡을 통해 최근 자주 듣는 노래들을 듣기도 하고, 시간대 별로 만들어지는 플레이리스트들을 듣기도 한다.

.

2021년, spotify의 추천 시스템

2021년 ISMIR에 실린 Spotify의 논문(줄여서 MUSIG 모델이라고 한다)

최근 스포티파이가 사용하고 있는 음악 추천방식이다. 이 MUSIG모델은 플레이리스트들 뿐만 아니라(CF), 음악의 고유정보도 포함(CB)한다. 위에서 설명한 하이브리드 모델이라고 볼 수 있다. 사용자들이 마음에 들어하는 추천을 하기 위해 많은 기업들이 이처럼 하이브리드 모델을 사용한다(VIBE, Spotify 등)

MUSIG방식 도식도, 딱봐도 다양한 정보가 들어간다(장르, 악기, 에너지 등등)

MUSIG모델은 크게 두 가지 단계로 구분된다.

MUISIG 모델 도식도
1단계에서는 트랙 정보들을 바탕으로 그래프기반 임베딩

노드 기반 임베딩 방식이 SOTA결과를 만들어낸다고 한다. 그래서 MUSIG모델도 1단계에서는 트랙 정보를 기반으로 latent space를 만들어내고

2단계에서는 원하는 목표(task)에 해당하는 학습을 진행한다

2단계에서는 플레이리스트, 장르 등 여러가지 정답지를 한번에 학습시킨다. 그러니까 MUSIG로는 취향 저격 플레이리스트를 만드일 뿐만 아니라 장르, 비슷한 음악 검색 등 다양한 분야에도 활용될 수 있는 것이다.

AI모델학습을 위해 스포티파이 내의 95000개의 플레이리스트들을 이용했다고 한다. 만약 경쟁사라면 사람을 풀어 스포티파이에 이상한 플레이리스트를 10000개정도 뿌리면, 스포티파이가 당황해 하지 않을까 싶다(하하)

정리

Spotify의 최신 음악추천 방식은 MUSIG모델이며, 하이브리드방식이다. 트랙정보로 노드간 연결구조를 통해 임베딩하는데, 다양한 정보들을 집어넣는다. 플레이리스트들의 어떤 곡들이 겹치는지, 장르, 인기도, 소리 등 다양한 정보를 넣어서 임베딩을 완료하고, 2단계에서 multi-task 학습시킨다. 이로써 취향저격 개인화 플레이리스트 생성 뿐만 아니라, 검색 및 장르 tagging 등 다양한 방식에 사용될 수 있다.

마치며

음악 추천, 검색 등을 하기 위해서는 다양한 기술들이 들어간다. 위의 방식을 쓰려면 결국, 음악의 장르 트랙 내용에 대한 특징들을 뽑아내야 하며, 이를 위해 또 musig tagging에 대해서도 따로 연구들이 진행되고 있다.

열심히 누군가가 tagging알고리즘을 개발하면, 이를이용해 추천 알고리즘을 만들어 내고, 나의 블루투스 이어폰을 타고 개인화 된 추천서비스를 통해 음악을 즐겁게 들을 수 있는것이다. 좀 더 나아가면, 이를 잘 수행하기 위해 좋은 하드웨어를 만드는 기업, 좋은 이어폰을 만드는 기업, 자동 EQ시스템을 만드는 기업 등 다양한 연관 기업들이 있을 것이다. 뭐 이렇게 생각하면 끝이 없지 않을까 싶다.

예전에 연극 동아리를 할 때, 연기에 미숙한 나에게 한 선배가 말했다.

배우를 하지 않아도 연극을 사랑할 수 있는 방법은 많아

처음에는 이 말이 잔인하게 들리기도 하고, 무시 받은듯한 기분이 들었다. 하지만 최근 조금씩 와닿고 있는 것 같다.

음악을 사랑하는 예술가는 주목 받는 메인보컬이 아니더라도 음악 내 다양한 산업(작곡, 음향, 세션, A&R)에 뛰어들 수 있고, 음악을 사랑하는 전자공학도들 역시 다양한 산업(DSP칩, 통신, 스포티파이 추천팀, 사운드 엔지니어)에 뛰어들 수 있다.

비단 음악뿐일까? 꽤 관심가는 산업군에서, 조금 더 끌리는 분야를 찾아나가다 보면 어느새 좋아하는 일이 되어있지 않을까 싶다. 추천알고리즘, 개인화 서비스 등 자신의 niche가 주목 받는 시대이다. 완벽한 niche를 찾아 일하는 것은 쉽지 않겠지만, 이 글을 읽어주신 모두 자신에게 좀 더 맞는 직업 및 취미를 찾아나가며 조금 더 행복해지기를 바란다.


🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

medium 카테고리 내 다른 글 보러가기

댓글 남기기