検索リコールは検索システムの基礎として、効果向上の上限を決定します。私たちが直面している主な課題は、既存の大規模なリコール結果から差別化された増分価値を継続的に生み出す方法です。マルチモーダル事前トレーニングとリコールの組み合わせにより、新たな展望が開かれ、オンラインでの結果が大幅に改善されました。 序文マルチモーダル事前トレーニングは、学界と産業界における研究の焦点です。大規模データで事前トレーニングを行うことで、異なるモダリティ間の意味的対応が得られ、視覚的な質問応答、視覚的推論、画像とテキストの検索など、さまざまな下流タスクの結果を向上させることができます。 グループ内には、マルチモーダル事前トレーニングに関する研究とアプリケーションもいくつかあります。 タオバオの主な検索シナリオでは、ユーザーが入力したクエリと思い出したい商品との間に自然なクロスモーダル検索の需要があります。しかし、以前は、商品にはタイトルや統計的特徴が多く使用され、画像などのより直感的な情報は無視されていました。 しかし、視覚的な要素を含むクエリ(白いドレス、花柄のドレスなど)の場合、検索結果ページで最初に表示される画像に誰もが注目すると思います。 タオバオの主な検索シナリオ 一方で、画像はより目立つ位置を占め、他方では、白や花柄などの視覚的要素など、タイトルにはない情報が画像に含まれている場合があります。後者については、2 つの状況を区別する必要があります。1 つは、タイトルに情報があるが、表示の制限により完全に表示できない場合です。この状況は、システム リンクでの製品のリコールには影響しません。もう 1 つは、タイトルに情報がないが、画像に情報がある場合です。つまり、画像はテキストと比較して増分値をもたらすことができます。私たちが焦点を当てる必要があるのは後者です。 ▐ 技術的な問題と解決策メインの検索リコール シナリオにマルチモーダル テクノロジを適用する場合、対処する必要がある主な問題が 2 つあります。
私たちの解決策は次のとおりです。
事前学習済みモデル▐ モデリングアプローチマルチモーダル事前トレーニング モデルでは、画像から特徴を抽出し、それをテキストの特徴と融合する必要があります。画像から特徴を抽出するには、主に 3 つの方法があります。CV フィールドでトレーニングされたモデルを使用して、画像の RoI 特徴、グリッド特徴、パッチ特徴を抽出する方法です。モデル構造の観点から見ると、画像の特徴とテキストの特徴を融合する方法に応じて、シングル ストリーム モデルとデュアル ストリーム モデルの 2 つの主要なカテゴリがあります。シングル ストリーム モデルでは、画像の特徴とテキストの特徴が連結されて早い段階でエンコーダーに入力されますが、2 ストリーム モデルでは、画像の特徴とテキストの特徴がそれぞれ 2 つの独立したエンコーダーに入力され、その後、クロスモーダル エンコーダーに入力されて融合されます。 ▐ 初期調査画像の特徴を抽出する方法は、画像をパッチシーケンスに分割し、ResNet を使用して各パッチの画像の特徴を抽出することです。モデル構造に関しては、クエリ、タイトル、画像を連結してエンコーダーに入力するシングルストリーム構造を試しました。複数の実験を行った結果、この構造では、下流のデュアルタワーベクトル想起タスクの入力として純粋なクエリベクトルとアイテムベクトルを抽出することが難しいことがわかりました。ベクトルを抽出するときに不要なモードをマスクすると、予測がトレーニングと一致しなくなります。この問題は、インタラクティブ モデルからツイン タワー モデルを直接抽出する場合に似ています。私たちの経験によると、このモデルの効果は、トレーニング済みのツイン タワー モデルほど良くありません。これに基づいて、新しいモデル構造を提案します。 ▐ モデル構造デュアル ストリーム構造と同様に、このモデルは下部に 2 つのタワーで構成され、2 つのタワーはクロスモーダル エンコーダーを介して上部で融合されています。デュアル ストリーム構造とは異なり、デュアル タワーはそれぞれ単一のモードで構成されていません。アイテム タワーには、タイトルと画像のデュアル モードが含まれています。タイトルと画像は結合されてエンコーダーに入力されます。この部分はシングル ストリーム モデルに似ています。クエリとタイトル間の意味的なつながりとギャップをモデル化するために、クエリとアイテムのエンコーダを共有し、言語モデルを個別に学習します。 事前トレーニングでは、適切なタスクを設計することも重要です。よく使用されるタイトルと画像のテキスト マッチング タスクを試しました。比較的高いマッチング度を達成できましたが、下流のベクトル リコール タスクにはほとんどメリットをもたらしませんでした。これは、クエリを使用してアイテムをリコールする場合、アイテムのタイトルと画像が一致するかどうかは重要な要素ではないためです。したがって、タスクを設計する際には、クエリとアイテムの関係をより考慮します。現在、合計 5 つの事前トレーニング タスクが使用されています。 ▐ 事前トレーニングタスク
で 類似度の計算を表します。 温度ハイパーパラメータを表す。 およびmはそれぞれスケーリング係数と緩和係数を表す。
モデルのトレーニング目標は、全体的な損失を最小限に抑えることです。 これら 5 つの事前トレーニング タスクのうち、MLM タスクと MPM タスクはアイテム タワーの上にあり、タイトルまたはイメージの一部のトークンがマスクされた後にクロスモーダル情報を使用して互いを復元する機能をモデル化します。クエリ タワーの上には独立した MLM タスクがあり、クエリ タワーとアイテム タワーのエンコーダーを共有することで、クエリとタイトル間の意味的な接続とギャップをモデル化します。 QIC タスクは、デュアルタワー内積アプローチを使用して、事前トレーニングと下流のベクトルリコールタスクをある程度調整し、AM-Softmax を使用してクエリの表現とクエリの下の最もクリックされたアイテムの表現間の距離を短縮し、それによってクエリと他のアイテム間の距離を増やします。 QIM タスクはクロスモーダル エンコーダーの上に配置され、クロスモーダル情報を使用してクエリとアイテム間のマッチングをモデル化します。計算量を考慮すると、通常のNSPタスクの正負サンプル比は1:1です。正負サンプル間の距離をさらに広げるために、QICタスクの類似度計算結果を元に難しい負サンプルを構築します。 QIM2 タスクは QIM タスクと同じ位置にあり、テキストに対して画像がもたらす増分情報を明示的にモデル化します。 ベクトルリコールモデル▐ モデリングアプローチ大規模な情報検索システムでは、リコール モデルは最下層にあり、多数の候補セットにスコアを付ける必要があります。パフォーマンス上の理由から、User と Item の 2 つのタワーを使用してベクトルの内積を計算する構造がよく使用されます。ベクトルリコール モデルの中心的な問題は、正のサンプルと負のサンプルをどのように構築するか、および負のサンプルのサンプリングの規模です。私たちの解決策は、ページ上でユーザーがクリックしたアイテムをポジティブサンプルとして取り、クリック分布に基づいて製品プール全体から数万のネガティブサンプルをサンプリングし、サンプリングされたサンプルから Sampled Softmax Loss を使用して製品プール全体のアイテムのクリック確率を推測することです。 で 類似度の計算を表します。 温度ハイパーパラメータを表す ▐ 初期調査一般的な FineTune パラダイムに従って、事前トレーニング済みのベクトルを 2 タワー MLP に直接入力し、大規模なネガティブ サンプリングと Sampled Softmax を組み合わせて、マルチモーダル ベクトル リコール モデルをトレーニングしようとしました。ただし、通常の小規模なダウンストリーム タスクとは対照的に、ベクトル リコール タスクのトレーニング サンプル サイズは数十億のオーダーと非常に大きくなります。 MLP パラメータの数がモデルのトレーニングをサポートできず、モデルがすぐに収束状態に達することが観察されましたが、効果は良くありませんでした。同時に、事前トレーニング済みベクトルは、ベクトル リコール モデルではパラメータではなく入力として使用され、トレーニングの進行に合わせて更新することはできません。その結果、比較的小規模なデータでの事前トレーニングは、大規模データでの下流のタスクと一定の矛盾を生じます。 解決策はいくつかあります。1 つの方法は、事前トレーニング済みモデルをベクトル リコール モデルに統合することです。ただし、事前トレーニング済みモデルのパラメータ数が多すぎます。ベクトル リコール モデルのサンプル サイズと相まって、限られたリソースの制約下では、妥当な時間内に定期的なトレーニングを実行することは不可能です。別のアプローチは、ベクトル リコール モデルでパラメーター マトリックスを構築し、事前トレーニング済みのベクトルをマトリックスにロードし、トレーニングの進行に合わせてマトリックス パラメーターを更新することです。調査の結果、この方法はエンジニアリング実装に比較的高いコストがかかることが判明しました。これに基づいて、事前トレーニング済みベクトルの更新をモデル化するためのシンプルで実現可能なモデル構造を提案します。 ▐ モデル構造まず、FC を通じて事前トレーニング済みベクトルの次元を削減します。事前トレーニングではなくここで次元を削減する理由は、現在の高次元ベクトルがネガティブ サンプル サンプリングの許容可能なパフォーマンス範囲内にあるためです。この場合、ベクトル リコール タスクで次元を削減する方が、トレーニングの目標とより一致します。同時に、クエリとアイテムの ID 埋め込み行列を導入します。埋め込み次元は、次元削減後の事前トレーニング済みベクトルの次元と一致し、その後、ID と事前トレーニング済みベクトルが融合されます。この設計の出発点は、大規模なトレーニング データをサポートするのに十分なパラメータを導入し、トレーニングの進行に合わせて事前トレーニング ベクトルを適応的に更新できるようにすることです。 ID と事前トレーニング済みベクトルの融合のみを使用すると、モデルのパフォーマンスは、事前トレーニング済みベクトルのみを使用するデュアルタワー MLP のパフォーマンスを上回るだけでなく、より多くの機能を含むベースライン モデル MGDSPR も上回ります。さらに、これを基にさらに多くの機能を導入することで、効果をさらに高めることができます。 実験分析▐ 評価指標事前トレーニング済みモデルの有効性は通常、下流タスクの指標を使用して評価され、個別の評価指標が使用されることはほとんどありません。ただし、この場合、モデルの各バージョンの反復では、対応するベクトル リコール タスクをトレーニングし、ベクトル リコール タスクの指標を評価する必要があるため、事前トレーニング済みモデルの反復コストは比較的高くなります。プロセス全体は非常に長くなります。事前トレーニング済みモデルを個別に評価するための効果的な指標はありますか?私たちは最初にいくつかの論文で Rank@K を試しました。この指標は主に画像とテキストのマッチング タスクを評価するために使用されます。まず、事前トレーニング済みのモデルを使用して手動で構築された候補セットにスコアを付け、次にスコアでソートされた上位 K の結果のうち、画像とテキストのマッチングの正のサンプルにヒットした結果の割合を計算します。クエリとアイテムのマッチング タスクに Rank@K を直接適用したところ、結果は期待どおりではなかったことがわかりました。Rank@K が優れた事前トレーニング済みモデルは、下流のベクトル リコール モデルでより悪い結果をもたらす可能性があり、事前トレーニング済みモデルの反復をガイドできません。これに基づいて、事前学習済みモデルとベクトルリコールモデルの評価を統一し、同じ評価指標とプロセスを使用して、事前学習済みモデルの反復を比較的効果的にガイドします。 リコール@K :評価データセットは、トレーニングセットの翌日のデータで構成され、まず、同じクエリでの異なるユーザーのクリックとトランザクションの結果を集計し、次にモデルによって予測されたトップK結果を計算します。 打つ 比率: モデルがトップ K の結果を予測する場合、事前トレーニング済み/ベクトル リコール モデルからクエリ ベクトルとアイテム ベクトルを抽出し、最近傍検索を使用してクエリの下にあるトップ K アイテムを取得する必要があります。このプロセスは、オンライン エンジンでベクトル リコールをシミュレートして、オフラインとオンライン間の一貫性を維持します。事前トレーニング済みモデルの場合、この指標と Rank@K の違いは、モーダル フュージョン後のモデルを直接使用してスコアリングするのではなく、クエリとアイテムのベクトルがモデル内で抽出され、ベクトル内積検索が行われることです。また、クエリでは、それに一致するアイテムだけでなく、このクエリの下でさまざまなユーザーがクリックして取引したアイテムも呼び出される必要があります。 ベクトルリコールモデルの場合、Recall@K が一定レベルまで向上した後は、クエリとアイテムの相関関係にも注意を払う必要があります。関連性の低いモデルでは、検索効率は向上するかもしれませんが、悪いケースも増え、ユーザーエクスペリエンスの低下や苦情や世論の増加につながります。 クエリとアイテム間、およびクエリとアイテム カテゴリ間の相関関係を評価するために、オンライン相関モデルと一致するオフライン モデルを使用します。 ▐ 事前トレーニング実験いくつかのカテゴリーで 1 億点の製品のプールを選択し、事前トレーニング データセットを構築しました。 私たちのベースライン モデルは、QIM および QIM2 タスクを追加した最適化された FashionBert です。クエリ ベクトルとアイテム ベクトルを抽出するときに、非パディング トークンに対してのみ平均プーリング法を使用します。以下の実験では、単一タワー モデルと比較したデュアル タワー モデリングによってもたらされる利点を調査し、アブレーション実験を通じて主要部品の役割を示します。 これらの実験から、次のような結論を導き出すことができます。
▐ ベクトル想起実験10 億回のクリックがあるページを選択し、ベクトル リコール データセットを構築しました。各ページには、クリックされたアイテムが 3 つ、ポジティブ サンプルとして含まれており、クリック分布に基づいて製品プールから 10,000 個のネガティブ サンプルがサンプリングされます。これに基づくと、トレーニングデータの量やネガティブサンプルのサンプリング量をさらに拡大しても、効果の大幅な改善は見られませんでした。 私たちのベースライン モデルは、メイン検索の MGDSPR モデルです。次の実験では、マルチモーダル事前トレーニングとベクトルリコールを組み合わせることでベースラインと比較してどのようなメリットがもたらされるかを調査し、アブレーション実験を通じて重要な部分の役割を示します。 これらの実験から、次のような結論を導き出すことができます。
ベクトル想起モデルの上位 1000 件の結果から、オンライン システムがすでに想起できる項目を除外したところ、残りの増分結果の関連性は基本的に変化していないことがわかりました。大量のクエリでは、これらの増分結果がキャプチャされます 商品タイトル以外の画像情報を取得するだけでなく、クエリとタイトル間の意味的ギャップを埋める役割も果たします。 クエリ: クールなスーツ クエリ: レディース ウエストにフィットするシャツ 要約と展望主な検索シナリオのアプリケーション要件に応えて、クエリとアイテムのデュアルタワー入力を備えたクロスモーダルエンコーダーの構造を採用したテキスト画像事前トレーニングモデルを提案しました。アイテムタワーは、画像とテキストのマルチモーダリティを含むシングルストリームモデルです。クエリとアイテム、クエリと画像のマッチングタスク、およびクエリとアイテムのダブルタワーの内積法でモデル化されたクエリとアイテムのマルチ分類タスクを通じて、事前トレーニングは下流のベクトルリコールタスクに近づきます。同時に、事前トレーニング済みベクトルの更新がベクトルリコールでモデル化されます。リソースが限られている場合でも、比較的少量のデータで事前トレーニングを行うことで、大量のデータを使用する下流のタスクのパフォーマンスを向上させることができます。 製品の理解、関連性、並べ替えなど、主な検索の他のシナリオでも、マルチモーダル技術を適用する必要があります。私たちもこれらのシナリオの調査に携わっており、マルチモーダル技術が将来さらに多くのシナリオにメリットをもたらすと信じています。 チームについてTaobao メイン検索リコールチーム: メイン検索リンクのリコールと粗いランキングリンクを担当しています。現在、主な技術方向は、フルスペースサンプルに基づくマルチターゲットパーソナライズベクトルリコール、大規模な事前トレーニングに基づくマルチモーダルリコール、対照学習に基づく類似クエリセマンティック書き換え、および粗いランキングモデルです。 |
<<: Alipayの検索エクスペリエンスを向上させるために、Antと北京大学は階層的コントラスト学習を使用してテキストフレームワークを生成
>>: Google ナレッジグラフ: 10 年にわたる開発
インテリジェント レコメンデーションは、ビジネス ニーズを満たすビッグ データと人工知能テクノロジに...
利用できるアルゴリズムは多数あります。難しいのは、さまざまな種類の方法があり、それらの方法に拡張もあ...
[[354264]]石油貯蔵所、ガソリンスタンド、石油荷降ろしトラックには大量の完成燃料が保管され...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
【51CTO.comオリジナル記事】機械学習の特許は、2013 年から 2017 年の間に 34% ...
最近、IDCは「IDC中国AIパブリッククラウドサービス市場シェア、2022」レポートを発表しました...
1950 年代以来、コンピューター科学者は人間の知能を模倣するプログラムの開発に取り組んできました...
[51CTO.com からのオリジナル記事] 「名探偵コナン」を見たことがある友人なら、コナンに出て...