「初期ランキング段階への原則的なアプローチ」
「初期ランキング段階の原則的なアプローチ法」
推薦システムにおける候補生成および早期ランキング段階の設計と評価に関する体系的手法と、コアガイドラインの詳細な分析について
推薦システムでは、推薦の構築にはいくつかの段階があります。まず、候補生成、または検索と呼ばれることもありますが、それに続いて1つ以上のランキング段階があります。学術論文では、早期段階にはあまり注目されていませんが、実際には非常に重要です。そして、その品質をどのように測定するかが重要です。
候補生成は、最も一般的なアイテム、ユーザーの履歴と類似したアイテム、埋め込みによる類似性(例:HNSWなどのANN)、前述の方法を異なるレベルで組み合わせたものなど、さまざまなソースの組み合わせとして組織されることが最も一般的です。
- 最も人気のあるアイテム
- ユーザーの履歴に似ているアイテム
- ANN — エンベディングによる類似性(例: HNSW)
- 前述の方法を異なるレベルで組み合わせること:たとえば、ユーザーの履歴(またはANN、または人気のあるカテゴリ)からカテゴリを取得し、そこから人気のあるアイテムを選択します。
ここでの各方法はそれぞれ単独では複雑ではないかもしれませんが、その組み合わせはかなり複雑であり、最適化する必要があると思われる疑問が生じます。もちろん、具体的に最適化する必要があるもの、すなわち、候補生成の品質を測定するためにどの指標を使用するかを定義する必要があります。
この議論は主に候補生成段階に焦点を当てていますが、これらの原則はすべての早期ランキング段階にも同様に適用できます。なぜなら、早期段階も後続の段階の候補を提供するからです。
- 「共通テーブル式を使ってSQLロジックを向上させる」
- 「Matplotlibでカラーマップをカスタマイズする」
- Amazon Kendraを使用して保険請求をインテリジェントに処理するために、Amazon Comprehendで作成されたカスタムメタデータを使用します
さまざまなアプローチがあります。品質が単純に測定されない(または単に「目視でチェックされる」)場合や、この段階が体系的に最適化されていない場合もあります。時には、候補の全体的な関連性がある方法で測定されます。システムが何か奇妙なものを推薦した場合、それは候補生成にバグがあることを示しているとも考えられます。時には、この関連性は最終段階で最適化されるものとは異なるものと対比されます。つまり、候補は既に十分に関連している必要があり、最終的なランキングでは最も魅力的なもの(魅力的でクリック可能なものなど)が選択されます。
論文などでは、HitRate@k、Recall@k、Precision@k、MRR、NDCGなどの指標が使用されることもあり、その場合は正(関連する)ドキュメントに焦点が当てられます。ユーザーがその後そのドキュメントと対話した場合、そのドキュメントは関連性があると見なされます。私は個人的に、このアプローチが他のアプローチよりも好ましいと考えていますが、さまざまなバイアスに関する重要な問題が存在します。たとえば、ユーザーはシステム自体が推薦するアイテムに頻繁に対話する傾向があります。
ある時点で、私は候補生成に対して異なるアプローチを提案し、それ以来、その提案を支持しています。幸いなことに、私だけではありません。このアプローチはすでにさまざまなシステムで利用されています(たとえば、InstagramのExplore推薦システムの拡大について詳しく説明したこの記事など)。ただし、業界標準と呼べるかはわかりません。必ずしもすべての主要なシステムで利用されているわけではありません。
このアプローチは次の原則に基づいています:
早期段階の主な目的は、最終的なランキングの観点から最良のドキュメントを見つけることです。
単純に言えば、目標はトップを見つけることです。トップは関連性ではなく、現在の最終ランキングによって定義されます。最終ランキングが変更されると(そしてそれはかなり頻繁に変更されるかもしれません)、品質の評価も変更されます。
(マルチステージランキングの場合には、早期段階の品質は特定の最終ランキング器によって評価されるか、次の段階のランキング器によって評価されるかのどちらかです。つまり、次の段階をパスするが最終段階ではパスされない候補は、負または正と見なすことができます。どちらのアプローチがより適しているかはわかりません。)
このアプローチは完璧ではありませんが、私は個人的にはこれしかあり得ないものと考えており、基本的な問題に突き当たることなく、長期的にすべての段階の品質を体系的に改善することができるという意味で、このアプローチだけが有効だと考えています。少なくとも、他のアプローチでこれを達成する方法が理解できません。
このアプローチの基本原則を概説した後、その利点と欠点について詳しく掘り下げてみましょう。まずは、その潜在的な欠点について調査してみましょう。
アプローチの欠点
- 候補生成プロセス全体、およびその品質の測定方法は、いま現在のランキング方法に大きく依存するようになります。これにより複雑性が増し、比較を行う際にはこれを考慮する必要があります。また、ランカーが変わると、初期段階を再学習する必要があります。
- 多くの場合、システムはこの原則に従って最初から構築されません。他の状態からこの原則に従うようにシステムを移行することは非常に困難です。特に、システムがランキングが低い(しかし、さまざまな手法により受け入れられる推奨結果を持つ)場合、この原則に従ってもシステムは改善されず、逆に推奨結果が大幅に悪化する可能性があります。
- この原則は、ランカーが文書全体に対してうまく機能することを前提としています。そうでない場合、ランカーが誤って推奨する可能性のある低品質な文書が存在する場合、候補生成はランカーを満足させようとしてそれらを見つけることになります。これは、すでにかなり良い候補群上でのみ動作する場合と比べて、ランカーのトレーニングを複雑化します。
- 候補生成は、サービスのエンドツーエンドのメトリクスを改善しようとはしません。この原則に従ってそれを改善することは可能ですが、実験が失敗する可能性もあります。ただし、それは正しいターゲットなどランキングに問題があることを示すことになります。このため、改善を継続しながらも、展開することができなくなってしまいます。
- 商品ルールへの限定的なサポート。この原則では、ハードルールを除いたすべてのルールは最終段階で適用され、初期段階はそれに適応します。これは、ハックだけでなく、探索、多様性などのさまざまな推奨の改善方法にも言及しています。ランキングがそれらを選択するため、多様な候補を提供する必要があります。
ハックからハーモニーへ:推奨における商品ルールの構造化
ヒューリスティックがMLを損なわないようにしましょう、それらを組み合わせる方法を学びましょう
towardsdatascience.com
制限について探索した後、このアプローチの利点に焦点を当ててみましょう。
アプローチの利点
- この原則は分解に基づいています。初期段階にはより明確で測定可能な目標が提供され、システムが大幅に簡素化されます。推奨のためのターゲットと損失の選択に関連する複雑性は、ランキングの段階に集中されます(これは避けられない側面です)、一方で初期段階は主にトップの候補を効率的に見つけるための実用的なタスクに焦点を当てています。したがって、初期段階はランキングプロセスを加速するための単なる手段として機能します。
- この原則では、基本的な制約はありません。理想的な推奨システムを想像してみると、この原則に基づいて構造化されることに何の障害もありません(他のアプローチでは推奨がユーザーの対話を正確に予測することまでは期待されていません)。ランキングが改善されるにつれて、候補生成のための簡素化されたメトリクスはエンドツーエンドのメトリクスにますます近づきます。これは、特定の範囲でよく知られる反復的なアプローチに似ています。「メトリクスを改善する-そのメトリクスに基づいて製品を改善する」というアプローチです。
- ランキングの異なる段階が互いに調整されており、異なる目標を最適化しようとはしていません。これが当てはまらないシステムでは、たとえば候補の総数を倍増させても、システムの全体的な品質は改善せず、実際には低下する可能性があります。たとえば、初期段階が関連性の形式を最適化している場合、追加の候補はより関連性が低くなり、全体的な関連性は低下する可能性があります(ただし、クリック可能性は増加するかもしれません)。
- 分解に関連する結果として、初期段階の測定ははるかに簡単です(したがって、最適化も容易です)。評価プロセスについては後述します。トレーニング自体は、基本的にはランキングモデルの蒸留に集約されます(ただし、ニュアンスがあります。たとえば、ランキングのトップに入らなかったいくつかの候補をログに記録することが望ましいでしょう)。
- さらに、初期段階のトレーニングと測定にはユーザーは必要ありませんので、新しい方法をユーザーに展開する必要はありません。例えば、スクレイピングを使用することができます。新しい候補を使用してランキングサービスにリクエストを送信することで、検証することができます。
候補者生成の評価
さあ、記事の最も実用的な部分である候補者生成の品質(またはランキングの初期段階)の測定方法について探求しましょう。前述の原則に基づいて、実践的に測定する方法について議論します。
まず、簡単になりますが非常に重要なケースを考えてみましょう。ランキングがひとつの最終モデルのスコアのみで実行される場合、このモデルの平均スコアを二つの候補者セットで比較することができます。もし一つの方法が、最終モデルが他の方法よりも高い予測を割り当てる候補者を見つける場合、その一つの方法の方が優れています。
出力全体の平均予測を取るか、上位のポジションのみを対象にするか、または位置ごとに減衰を考慮するか(これはNDCGの分母となるIDCGに似たものになります)は非常に重要ではないようです。どれか一つを好みに基づいて選択できます。
ただし、技術的なニュアンスを考慮する必要があります。このような指標がオフラインで測定される場合、カスタム候補者でランキング(または全体の推薦スタック)を実行できる必要があります。これは、シミュレーション(オフラインリプレイ – つまり、すべてのエンティティに関するすべての情報を後から再現しようとする方法)を使用して、過去のクエリに対して行うことができます。または、前述のように、興味がある候補者生成手法を使用して大量の新しいクエリを推薦サービスに送信することで行うことができます。いずれの場合でも、同じクエリに対して異なる生成手法の結果(最終モデルの予測)が得られます。これは指標の感度にとって有益です。
ただし、この指標が本番のサービスでオンラインで測定される場合、モデルのログに基づいて簡単に計算することができます。これは簡単ですが柔軟性に欠け、比較は異なるクエリ間で行われます。指標の感度が低下します(一方の方法が偶然にもより複雑なクエリを受け取った可能性があるかもしれません)。
それでは、一般的なケースに移りましょう。最終的なランキングはある特定のモデルの予測だけでなく、他の多くの論理、再ランキング、ビジネスルール、ランダム化なども含まれます。このような広範な定式化の中で異なる候補者セットを比較する方法(何が良いか、何が悪いか)を考えると、全く明らかではありません。
しかし、私は以前にこれについてのメソッドを考案しました。それは非常にシンプルで効果的だということがわかりました。そして今まで、どこにも言及されていないようです。
その方法は次の通りです。候補ソースのリストに特別なソースを追加し、ランダムな候補者(例えば一様分布)を生成します。このソースには小さな固定された割り当て(例えば候補者数50)を与えます。その後、推薦されたドキュメントのうち、最終的にこのソースから取得されるものの割合を観察します。もし主な候補者生成が十分に優れていれば、ランダムな候補者は非常にまれにトップランクに入ることがありません。もし不十分であれば、それらは頻繁にトップランクに入ることがあります。
もちろん、ここではランダムな候補者を追加してもシステムの性能が大幅に悪化しないことを前提としています。それらのほとんどは推薦されず、推薦されるものもユーザーエクスペリエンスを大幅に悪化させず、ユーザーやランキングモデルの探索を追加することができます(これらの例でさらにトレーニングが行われます)。もし状況がそうでない場合は、まず「ランキングを修正する」必要があります。😉
このメソッドの最も素晴らしい点は、候補者生成の評価というだけでなく、最終的なランキングを含むシステム全体の健康状態の監視ツールとしても役立つことです。これにより、候補者生成がランキングに適合しているかどうか(最適化されているかどうか)がチェックされます。もし何らかの理由でランキング自体が劣化する場合、候補者もそれに適していなくなります。私たちは実際にこれを目の当たりにし、あるコンポーネントが壊れたときにランダムな候補者の比率が増加しました。
ちなみに、この特別なソースのランダム性は調節可能です。文書の人気度に比例した分布を使用すれば、より強力な『対抗的』なプレイヤーになります(これも感度を高める可能性があります)。ただし、一様なサンプリングでは、クエリの割合の推定値を解析的に提供することができます(たとえば、候補者全体のデータベースを追加したとしても結果は変わらないという結果が得られます):
この数式では、Nはデータベース内の総候補者の数を表し、kは使用されるランダムな候補者の数を表し、Rは出力に少なくとも1つのランダムな候補者が現れるクエリの割合を示します。
結論
この探求を通じて、私たちはレコメンデーションシステムの候補生成と早期ランキング段階に特定の原則に焦点を当てました。その利点と課題を徹底的に検討し、実用的な評価方法を提案することにより、この原則の潜在能力を改善するツールとして強調しました。この原則を取り入れることは、レコメンデーションの複雑なプロセスを簡素化するだけでなく、効率と効果を確保することも含みます。この原則をさらに改善して適用することにより、レコメンデーションシステムの分野を進化させる有望な方向性として存在しています。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles