「では、なぜ私たちはレコメンデーションシステムを気にする必要があるのでしょうか…?フィーチャリング:トンプソンサンプリングへの優しい紹介」

「なぜ私たちはレコメンデーションシステムに注目すべきなのか?トンプソンサンプリングとは?優しい紹介」

継続中のレコメンデーションシステムシリーズ

Myke Simonによる写真、Unsplashで使用

私は今日もまた、連続100…01日目にして、晩ごはんを開けていない箱を手に、Netflixをブラウズして食べながら見る番組を探していた自分に気づきました。私のフィードは、おそらく、1ヶ月または2ヶ月前に視聴したこのカテゴリーのシリーズか2つに基づいて、あまりにも多くのアジアの恋愛映画やアメリカの青春映画の提案で埋め尽くされています。「ここで見るものが何もない…」と sus イドしながら、あらすじをすべて読み終えた後、プロットがどのように展開されるかを予想できる自信が持てました。私は代替のエンターテイメントオプションであるTiktokを取り出しましたが、無意識のうちに、今日は新しいコンテンツのストリームを私に送るアルゴリズムにいくつかのビデオをそろえる必要があるでしょう、と自分に思っていました。

レコメンデーションシステム(RecSys)は、我々の日常生活に根付いていると言える、ほぼ80年代のトレンドのようなアルゴリズムです。ただし、それは完璧とは言えません。実装した企業がまだ完全に対応していない、セレクトグループの不公平さやプライバシーの侵害など、RecSysに関する懸念が存在します。さらに、自律性の喪失など、あまり十分に考慮されない問題もあります。これらの問題について、私は大学院の学習の一環として、RecSysの強みと短所についてシリーズを書きたいと思っています。そして、映画や…トンプソンサンプリングについて考えましょう。

トンプソンサンプリング

トンプソンサンプリング(TS)は、推薦システムの文献だけでなく、強化学習でも基礎的なアルゴリズムの1つです。Samuele Mazzanti氏によるこの素晴らしい記事で明確に説明されているように、それはオンライン学習環境でのよりよいA/Bテストと言えます。シンプルに言えば、映画の推薦の文脈では、TSは、私がクリックして見る可能性を最大化する映画を特定しようとします。TSは、相対的に少ないデータを使用してこれを効果的に行うことができます。なぜなら、パラメータを映画をクリックするかどうかを観察するたびに更新することができるからです。おおよそ言えば、この動的な特性により、TSは私の視聴履歴やブックマークしたシリーズに加えて、アプリ内でのブラウジングや検索結果など、リアルタイムの要素を考慮に入れて、私に最適な提案を与えることができます。しかし、この初心者向けのチュートリアルでは、以下の簡単な分析に焦点を当ててみましょう。

さらに詳しく見てみましょう!

以下の3つの映画を考えてみましょう。どれも素晴らしい映画ですが、私自身に独自のランキングがあるという点で、少し異論もあります。この3つの映画のうち、フィードに表示された場合に必ず再視聴する映画が1つあり、再視聴する可能性が非常に低い映画が1つ、そして見ると70%の確率でクリックする可能性がある映画が1つあります。TSは明らかに私の情報を事前に持っていないため、その目標は私の行動を学び、私が確実にクリックして見ると知っている映画を私に推薦することです。

著者による画像

TSアルゴリズムでは、主なワークフローは以下の通りです:

  1. アクション:TSが何百もの他の映画の中から特定の映画を提案する
  2. アウトカム:私は映画が興味深そうだと判断し、視聴するためにクリックするか、あるいはあらすじを読んだ後につまらないと感じてページから離れる
  3. リワード:ある映画を視聴する場合は「ポイント」と考えることができる「ポイント」の数、またはクリックしない場合はTSが見逃す「ポイント」と考えることができる。「基本的な映画や広告の推薦設定では、リワードをアウトカムの同等とみなすことができ、つまり映画のクリック1回=1ポイント」として扱うことができます。
  4. 更新:TSは私の選択を登録し、私のお気に入りの映画がどれかを信じるように更新します。
  5. 繰り返し:さらなる知識を持った状態でステップ1を繰り返します(現在のブラウジングセッション内であるか、翌日の夕食時であるかは問いません)。

探索/活用

これはこの文献で最もよく使用される用語であり、TSや他の関連するアルゴリズムを他と区別する要素です。上記のステップ5がこのロジックを使用します。TSの世界では、すべてにある程度の不確実性があります。週に3回ラテを飲み、5回抹茶を飲んでも、それは必ずしも私が抹茶がラテよりも好きだということではありません。たとえば、平均的に週にラテをより多く飲んでいるということはありませんか?そのため、TSではすべてが分布の形で表現されます。単一の数値だけでなく、

図1 特定の週に、抹茶を5杯、ラテを3杯飲む(左)、しかし週平均で見ると、ラテの方が抹茶よりも多く飲んでいる(右)– 著者による画像

TSは当初、映画の好みに関する不確実性が多くありますので、まずは私の反応を観察するためにさまざまな映画の提案をして探索することが優先されます。数回のクリックやスキップの後、TSは私がクリックする傾向のある映画や利益を生まない映画を見分けることができ、したがって次回どの映画を提供するかについてより自信を持つようになります。これがTSが高い報酬をもたらすオプションを活用し始めるときであり、私がよく視聴する映画を提供しますが、まださらに探索の余地もあります。観察が増えるにつれて信頼性が高まり、単純なケースでは、TSはもはや探索作業が非常に少なくなります。すでに多くの報酬をもたらす推薦を活用するための信頼性を持っているからです。

探索と活用は、よくトレードオフまたはジレンマと呼ばれます。探索が過剰(すでに十分な証拠が得られているにもかかわらず、低い価値の選択肢をほとんど排除しない)すると、損失が非常に多くなります。活用が過剰(あまりにも多くのオプションを早期に排除する)すると、真の最適なアクションを誤って排除する可能性があります。

分布:Beta-Bernoulli

上記の抹茶とラテのグラフのように、TSはさまざまなオプションの好みを理解するためにさまざまな種類の分布を使用します。最も基本的な映画(および広告)の場合、私たちはしばしばベータ・ベルヌーイ組み合わせを使用します。

ベルヌーイ分布は、2つの可能な結果:1と0のみがある離散分布です。ベルヌーイ分布には1つのパラメータしかありません。これはある変数Yが1になる確率を示します。したがって、Y〜Bern(p)とすると、たとえばp = 0.7の場合、Yが1の値を持つ確率は0.7であり、1−p = 1−0.7 = 0.3の値を持つ確率は0.3です。したがって、ベルヌーイ分布は報酬をモデル化するのに適しています(私たちの場合はアウトカムでもあります)なぜなら報酬はクリックされたかクリックされなかったかのバイナリな結果だからです。

逆ベータ分布は、私の映画の興味に関するTSの信念をモデル化するために使用されます。逆ベータ分布は、成功と失敗の数と見なされることがよくありますが、どちらも1以上である必要があります。したがって、私がクリックして映画を視聴する回数と映画をスキップする回数をモデル化するために逆ベータ分布を使用するのは適しています。以下は、例を見てみましょう。ここでは、10回の観測を行った3つの異なる映画を表す3つの逆ベータ分布があります。したがって、すべての3つの映画のクリックとスキップの総数は同じです(10回ですが)、クリックとスキップの割合は異なります。映画1では、2回クリックして視聴(α=2)し、8回スキップ(β=8)。映画2では、5回クリックして視聴し、5回スキップします。映画3では、8回クリックして視聴し、2回スキップします。

Figure 2. Image by author

グラフによると、映画2を再び見る確率は約50%でピークになりますが、例えば映画1のこの確率は低くなります。ここでは、曲線を確率の確率(私が映画を再び見る確率)と考えることができます。したがって、逆ベータ分布は、TSが私の映画の好みに関する信念を表現するために理想的です。

アルゴリズム

このセクションでは、アルゴリズムの実装方法と方法論について明確な理解を得るのに役立ちます。まず、以下はThompson Samplingアルゴリズムの疑似コードとPythonのサンプルです。疑似コードは、Thompson Samplingに関するチュートリアル [Russo, 2017] という素晴らしい本から取られています。

Figure 3 Thompson Sampling, Python implementation (left) and pseudocode (right) — Image by Author

分かりやすくするために説明しましょう!

サンプルモデル

アルゴリズムのこの最初のステップでは、各映画がどれだけ好きかを「推測」します。前のセクションで示したように、各映画の好みは図2のようなベータ曲線で表すことができます。これについてTSは事前知識を持っておらず、これらのベータ曲線がどのように見えるか理解しようとしています。t = 1(最初のラウンド)では、TSは私が3つの映画すべてに対して等しい好みを持っていると仮定してスタートできます。つまり、クリックとスキップの開始数が等しい(そして私の3つのベータ曲線は同じになります)。

Figure 4 TS's first guess about my preference to be the same for all 3 movies

ここでは、この3つの分布は図3の疑似コード中のpです。これらの分布から、TSは次のステップのアクション選択に役立つために、θとして表される値をサンプリングします。

Figure 5 Sample pairs of alpha-beta values to represent the distributions of our initial guess for each of the 3 movies (also referred to as actions/arms)

アクションの選択と適用

このステップでは、TSはサンプリングされたθの中で最も大きな値に基づいて実行するアクション(例:おすすめの映画の選択)を選択します。再びFigure 2を例に取りましょう。例えば、映画1と映画3の2つしかない場合を考えます。最も大きなθを使用してアクションを選択するアイデアは、真の分布が重なりが少なく、私の場合は他の映画よりも特定の映画をほとんど確実に好む場合には、映画1のサンプリングされたθは映画3のそれよりも大きくなる可能性が非常に低いということです。同様に、映画2と3だけを考えると、分布間の重なりが増えます。しかし、十分なラウンドでより多くのθの値をサンプリングし続けると、映画3のθの割合>映画2のθの割合となり、TSは映画3がより優れた「アクション」であると結論付けるための十分な情報を得ることができます。一般的に言えば、これが未知の真の分布がより明確であるほど、TSが最適なアクションまたは腕を把握するのに必要な実験のラウンド数が少なくなる理由でもあります。

選択されたアクションを適用した後、TSは私からの応答を受け取ります。つまり、私が映画を視聴するかどうかです。上記でも言及されているように、この結果は対応するアクションの報酬ともみなされます。TSはこの観測された結果を記録し、次のステップで私の映画の好みに関する信念を更新するために使用します。

分布の更新

上記で述べたように、ベータ分布の特徴は成功回数と失敗回数によって特徴付けられます。特定の映画を視聴する回数が増えるほど、そのベータ分布のモードは1に引っ張られる傾向があり、逆に、推奨をスキップする回数が増えるほど、0に引っ張られる傾向があります。したがって、提案された映画とその応答が記録された後の特定の映画に関する信念の更新は、クリックまたはスキップに応じてベータ分布のαまたはβパラメータに単純に1を追加することによって行われます。

この直感的でわかりやすいパラメータの更新方法が、ベータベルヌーイが非常に一般的なTSモデルである理由です。

結果と議論

この記事の冒頭で述べたシナリオに戻ります。私が100%クリックする映画、70%のクリックの可能性がある映画、そしてわずか5%のクリックの可能性がある映画の中から、推奨するのに最適な映画を3つのうちどれかを推測する旅にいます(再度、この情報はTSには未知です)。最初の行はシミュレーションのための異なる開始点を示しており、異なる初期信念でも同じ最終結果に到達できるかどうかを観察することができます。

Figure 6 TS simulations with various numbers of rounds T = 5, 10, 20. The beta distributions represent TS’s beliefs about my movie preferences at the end of the experiment. Left column: outcome when the starting distribution is Beta(1, 1). Right column: outcome when the starting distribution is Beta(2, 3)

図6から、私の究極のお気に入りの映画は映画1であることが最終的な答えとしてわかります—『パラサイト』(マーベルファンの方々には申し訳ありません)!!

見てわかるように、2つの場合の探索の旅は異なります。Beta(1、1)の初期推測では、私の最も好きな映画と考えられる映画により早く到着する結果となります。TSが明らかに映画1を活用していることがT = 10のラウンドで確認できるため、TSは映画1を提案し、私からクリックを得ているため、そのベータ分布は右に引っ張られ、更新された分布からサンプリングされたθは競合を凌ぐ結果となり、活用が現れています。この活用はT = 5のラウンドでも現れますが、対応するグラフによれば、映画1と3のベータにはまだ重なりが多く、そのモードは完全には明確ではないため、TSはまだ映画1が最適なアクションであると完全に確信していないことを意味します。

一方で、Beta(2, 3)の初期信念により、TSは映画1(T=20)に到達するまでにより多くのラウンドを必要とします。T=10でも、映画1と3の間にはまだ多くの不確実性があり、thetaのサンプリングのランダム性により、映画3が最適な選択肢として利用されることが観察されます。この実験は、各アクションに関する初期事前知識が最適なアームが検出される速度に影響を与えることを示しており、将来の記事ではこのトピックについてさらに詳しく調べることができます。

また、実際の映画の分布がほぼ同じ場合(例えば、映画1と3のクリック率がそれぞれ100%と98%である場合)、TSは最適なアクションを特定することに失敗する可能性が非常に高いです。なぜなら、1つの分布からサンプリングされたthetaの割合が他の分布を上回ることが分散されるからです。したがって、偶然にも映画3がより多くの「大きなtheta」を持つ可能性がある場合、TSはこのオプションをより活用し、最適なアクションと誤って識別します。

また、実験からの注意点として、TSは最良のアクションを教えてくれるが、その他のオプションについての情報は提供できないという点があります。これは探索プロセスの結果として、TSは最適でないと見なされるオプションをすぐに排除するため、これらのアクションに関する追加の情報を受け取らず、最良のアクション以外のアクションの正しい順位を与えないためです。

まとめ

この記事では、Thompson Samplingアルゴリズムについてより詳しく探求し、映画の推薦シミュレーションを進めました。Thompson Samplingは主に分布と事前知識を活用して予測を提供することに関与するため、これはベイズモデルに中心的な概念であり、今後の記事ではこれについてもっと深く説明していく予定です。この記事の最後までお読みいただき、お時間をいただきありがとうございます。このチュートリアルが技術的かつ直感的な理解を与えてくれたことを願っています!さらなる質問があれば、お気軽にLinkedInから連絡していただければ幸いです。

参考文献:

[1] さまざまなドメインとコンテキストにおける推薦システムの潜在的なリスクと課題とは?

[2] 推薦システムとその倫理的な課題

[3] A/Bテストよりも「Thompson Sampling」を選ぶべきタイミング

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more