2017年にGoogleの研究者が発表した機械学習アーキテクチャ「Transformer」は、GPT-4やLlamaといった大規模言語モデルの構築に重要な役割を果たしています。そんなTransformerを使い、「ユーザーの行動に基づいたより高精度な音楽のレコメンドシステム」を構築できるとGoogleが述べています。

Transformers in music recommendation

https://research.google/blog/transformers-in-music-recommendation/



Transformerは「Tokenization(トークン化)」「Embedding(埋め込み)」「Positional encoding(位置エンコーディング)」「Transformer block(Transformerブロック)」「Softmax(ソフトマックス)」という5段階の操作により、特定の単語や文章に続く単語を生成しています。この仕組みはテキスト生成だけでなく、その他のさまざまな用途のAIに応用することが可能です。

ChatGPTにも使われる機械学習モデル「Transformer」が自然な文章を生成する仕組みとは? - GIGAZINE



YouTube MusicやApple Musicなどの音楽サブスクリプションサービスには大量の楽曲が収録されていますが、1人のユーザーが大量の曲を聴いてどれが好みに合うのかを探すのは困難です。そこで重要になってくるのが、ユーザーの好みに合わせた音楽のレコメンドシステムです。うまくユーザーに好みの曲をレコメンドすることができれば、ユーザーはより長時間音楽を聴くようになり、プラットフォームの利用が増えるというわけです。

一般に音楽サブスクリプションサービスのレコメンドシステムは、ユーザーがこれまでに聴いてきた曲の傾向に加え、「レコメンドされた曲に対するユーザーのアクション」を重要視しています。ユーザーがある曲をレコメンドされた際、すぐにスキップすればそれに類似した曲もあまり好まれない可能性が高く、その曲を聴いてお気に入りに登録したり同アーティストの別の曲を聴いたりすれば、類似した曲が好まれる可能性が高いといえます。

しかし、ユーザーが好む曲は常に固定的というわけではなく、状況によって聴きたい曲が変わってくることもあります。たとえば、基本的にスローテンポな曲が好きなユーザーは、アップテンポな曲をレコメンドされてもスキップすることが多いと考えられます。



とはいえ、ジムでトレーニングをしている時であれば、普段よりアップテンポでテンションの上がる曲を好んで聴くかもしれません。



一般的なユーザーは数百ものアクションを実行しますが、アクションの中には回数が少ないものから多いものまで幅広く存在し、優れたレコメンドシステムを作るにはさまざまなサイズのデータを柔軟に処理する必要があります。

既存のモデルでもユーザーのアクションや状況のデータを収集し、それに基づいてユーザーのニーズに合致する曲のランク付けを行い、ユーザーにレコメンドする曲をフィルタリングすることはできました。しかし、どのアクションが「ユーザーの現在のニーズ」に関連しているのかを特定することは困難だったため、アクションの文脈をうまくレコメンドに反映できなかったとのこと。

Googleは、この多様な入力データの処理にTransformerが適していると主張しています。Transformerは入力テキストが曖昧な場合でも、翻訳や分類タスクで優れたパフォーマンスを発揮することが可能です。これを音楽のレコメンドシステムに応用することで、状況に応じたアクションの重要度を判別し、重み付けを調整できます。

すでにGoogleは、YouTube MusicのレコメンドシステムにTransformerを利用しています。GoogleはTransformerと既存のランキングシステムを以下のように組み合わせ、ユーザーのアクションとリスニング履歴を最適に組み合わせたランキングを作り出しているとのことです。



Googleが実施したオフライン分析とライブ実験の結果、音楽のレコメンドシステムにTransformerを使用すると、ランキングモデルのパフォーマンスが大幅に向上することが判明。スキップ率が減少し、ユーザーが音楽を聴く時間が増えることが実証されました。

Googleは今後、検索モデルなどその他のレコメンドシステムにこの手法を応用することや、その他の要因を音楽レコメンドシステムに組み込んでパフォーマンスを向上させることなどを計画しています。