ホームページ > 記事 > テクノロジー周辺機器 > Zhuanzhuan における対照学習アルゴリズムの実践
SimCLR[1] より)。
1.2 比較学習の原理CL の原理について話すときは、手動による高額なコストを回避する自己教師あり学習について言及する必要があります。ラベル カバレッジが低くまばらであるため、一般的なフィーチャ表現を学習することが容易になります。自己教師あり学習は、生成的手法と対照的手法という 2 つの主要なカテゴリに分類できます。生成手法の代表的なものはオートエンコーダであり、対照学習の古典的な代表は ICLR 2020 の SimCLR であり、特徴空間内の (強化された) 正サンプルと負サンプルの比較を通じて特徴表現を学習します。生成手法と比較した対照手法の利点は、ピクセル レベルでサンプルを再構成する必要がなく、特徴空間での識別可能性を学習するだけでよいため、関連する最適化が簡単になることです。著者は、CL の有効性は主に学習項目表現の識別可能性に反映され、識別可能性の学習は、特定のモデル構造と同様に、陽性サンプルと陰性サンプルの構成概念に依存すると信じています。最適化の目標。
CL の実装プロセスと組み合わせて、Dr Zhang[2]は CL が答えなければならない 3 つの質問を抽象化しました。これが違いでもあります。メトリクス学習の典型的な特徴は、(1) 正の例と負の例を構築する方法、つまりデータ拡張を実装する方法、(2) 元の情報をできるだけ多く保持するだけでなく、エンコーダ マッピング関数を構築する方法、です。 Collapse 問題も防ぐ (3) 損失関数の設計方法 現在一般的に使用されている NCE 損失は次の式に示すとおりです。これら 3 つの基本的な質問が、モデリングの 3 つの要素 (サンプル、モデル、最適化アルゴリズム) に対応していることを理解するのは難しくありません。
損失の式からわかるように、分子部分は正の例に近いほど良いことを強調しています。S 関数は類似性を測定し、距離が近いほど優れていることを示し、S 値が大きいほど分母は負の例からの距離が遠いほど優れていることを強調し、損失が低いほど識別可能性が高くなります。これら 3 つの基本的な問題のうち、データ強化は CL アルゴリズムの中核的な革新です。さまざまな強化方法が、アルゴリズムの有効性と主要な CL アルゴリズムの同一性の基本的な保証です。エンコーダ機能は通常、 NCE 損失に加えて、損失には他のバリエーションがあります。たとえば、Google[3] は教師ありコントラスト損失を提案しました。
CL は自己教師あり学習の学習アルゴリズムです。自己教師あり学習に関して言えば、NLP 分野ではバートの話題は避けて通れないでしょう。バート事前トレーニング Fine- チューニング モデルは、多くの問題を解決する上でブレークスルーを達成しました。NLP では自己監視が成功できるため、コンピューター ビジョンでもそれができるのではないでしょうか?実際、NLP の分野におけるバートの成功は、画像分野における CL の発生と発展にも直接刺激を与えました。画像分野で直感的にデータ拡張を実行できるという事実を考慮すると、CL は CV の分野でも最初に進歩しました。たとえば、CL - SimCLR アルゴリズムの開発機会、その革新的なポイントは主に次のとおりです ( 1) 複数の異なるデータ拡張テクノロジーの組み合わせを検討し、最適なものが選択されました (2) 非線形マッピング プロジェクターがエンコーダーの後に追加されました。これは主に、エンコーダーによって学習されたベクトル表現には強化された情報が含まれるためです。この部分の影響を取り除き、データの本質に立ち返ります。その後、ヒントンの学生たちは SimCLR に基づいて SimCLR v2 を実装しました。主な改善点はエンコーダのネットワーク構造でした。また、SOTA をさらに改善するために MoCo で使用されているメモリ バンクのアイデアも活用しました。
実際、SimCLR の前に、Kaiming は 2019 年末に対照学習のための別の古典的なアルゴリズムを提案しましたMoCo[4]、主なアイデアは、比較は正のサンプルと負のサンプルの間で行われるため、負のサンプルの数を増やすと学習タスクの難易度が上がり、それによってモデルのパフォーマンスが向上するというものです。メモリ バンクはこの問題を解決する古典的なアイデアですが、表現を避けることはできません。この問題を考慮して、MoCo アルゴリズムは、新しい候補サンプルと古い候補サンプルの一貫性のないエンコードの問題を解決するために、勢いを利用してエンコーダー パラメーターを更新することを提案しています。その後、(SimCLR が提案された後)Kaiming He が MoCo をベースにして MoCo v2 を提案しましたが、モデルの主要な枠組みは変更されておらず、データ拡張方法、エンコーダーの構造、学習率などの詳細が最適化されています。
対照学習は、画像、テキスト、マルチモーダルなどの分野の学術界だけでなく、推奨システムに代表される業界でも人気のある研究方向です。ワールドが適用されました。
Google がレコメンデーション システムに CL を適用Google SSL[5]、目的は不人気でニッチなアイテムから学ぶことです。推奨コールド スタートの問題の解決に役立つベクトル表現。そのデータ拡張技術は、主にランダム特徴マスキング (RFM) および相関特徴マスキング (CFM) 手法を使用しており (CFM は、RFM がある程度無効なバリアントを構築する可能性があるという問題を解決します)、CL は次の形式でツインタワーと結合されます。補助タワー. 再現の主要なタスクは一緒に訓練されます. 全体的なプロセスは以下の図に示されています.
# モデルの訓練プロセス中に、次の項目が実行されます。メインタスクは主にエクスポージャーログから得られるため、先頭にもなります 人気のアイテムは比較的親しみやすい マシュー効果の影響を排除するために、補助タスクのサンプル構築はメインとは異なる分布を考慮する必要がありますその後の CL も、適切な範囲のモデル学習結果を確保するために、Zhuanzhuan の実践プロセスでこの考え方を活用しました。
データの強化はアイテム側に限定されません。 Alibaba-Seq2seq[6]CL のアイデアをシーケンス推奨問題、つまりユーザーの行動シーケンスを入力し、次に考えられるインタラクティブなアイテムを予測します。具体的には、そのデータ拡張は主にユーザーの行動シーケンスの特徴に適用されます. ユーザーの過去の行動シーケンスは時系列に従って 2 つのサブシーケンスに分割されます. データ拡張後のユーザーの表現として, それはツインにフィードされます.タワー モデル。最終的な出力結果が類似しているほど、優れています。同時に、ユーザーの複数の関心を明示的にモデル化するために、この記事では、複数のベクトルを 1 つのユーザー ベクトルに圧縮するのではなく、エンコーダー部分で抽出します。サブシーケンスの分割とポジティブな例とネガティブな例の構築により、ユーザーは自然に複数の行動シーケンスのベクトル表現を持つため、ポジティブな例では、ユーザーの過去の行動の前部分のベクトルは、ユーザーの過去の行動の後半部分のベクトルに近くなります。否定的な例では、異なるユーザー間の距離は比較的遠く、同じユーザーであっても、異なるカテゴリの製品のベクトル表現は比較的遠くなります。
CL は、他の学習パラダイム、グラフ比較学習[7] と組み合わせて適用することもできます。全体的なフレームワークは次のとおりです。下の図
GCL は通常、グラフ内の点やエッジをランダムに削除することでグラフ データを強化しますが、この記事の著者は重要な構造や属性を変更しないままにし、重要でないエッジやノードで摂動が発生する傾向があります。
#Meituan-ConSERT# などの画像フィールドも可能です ## [8] アルゴリズムは、文意味一致タスクの実験において、以前の SOTA (BERT フロー) と比較して 8% 改善され、少数のサンプルでも優れたパフォーマンスの向上を示すことができます。このアルゴリズムは、Embedding 層にデータ拡張を適用し、拡張サンプルを暗黙的に生成する方法を使用します。具体的には、Adversarial Attack、Token Shuffling、Cutoff、Dropout の 4 つのデータ拡張方法が提案されており、これら 4 つの方法はすべて Embedding 行列を調整することで得られます。これは、明示的な強化方法よりも効率的です。 3.1 リコール推奨における CL の実践
中古品の孤立属性の問題については、商品の表現としてテキストベースのベクトルを使用します。具体的には、商品の説明テキスト (タイトルと内容を含む) セットを使用し、word2vec モデルをトレーニングし、単語ベクトルに基づくプールを通じて商品のベクトル表現を取得します。
自動エンコーダー アルゴリズムは、テキスト対比学習の分野で一般的に使用されるデータ拡張手法の 1 つであり (機械翻訳、CBERT、その他のさまざまなアイデアに加えて)、モデルのトレーニングに AE アルゴリズムも使用します。 、積ベクトルを学習し、アルゴリズムの中間ベクトルを積の拡張ベクトル表現として使用すると、正の例が得られます。
否定例の生成原理は、バッチ内の異なる製品をランダムに選択することです。類似製品の判断基準は、ユーザーのその後のクリック行動に基づいて計算されます。 CF(協調フィルタリング)に代表されるレコメンドシステムの想起結果では、共通のクリック動作によって想起できる商品の組み合わせは類似しているとみなされ、それ以外の場合は類似していないとみなされる。類似性の判断に行動ベースを使用する理由は、ユーザーの行動を紹介し、テキストと行動の有機的な組み合わせを実現するためである一方で、ビジネス目標に可能な限り一致するためでもあります。
特にエンコーダー部分では、ツイン ネットワークと同様のツインタワー構造を使用し、サンプルのテキスト ベクトル (正または正または負) をそれぞれ入力して、分類モデルをトレーニングします。 3 層完全接続ニューラル ネットワークでは、2 つのタワーがネットワーク パラメーターを共有し、クロス エントロピー損失を最適化することでモデル パラメーターを最適化します。実際の業界では、ほとんどのレコメンデーション システムにおけるツインタワー モデルの学習目標はユーザーの事後行動 (クリック、コレクション、注文など) であり、サンプルが類似しているかどうかが学習目標となります。ツインネットワークの形をとっているのは、そうすることで学習結果を確実に網羅できるからでもあります。
CL の従来の考え方によれば、最終的なエンコーダー部分の入力ベクトルは製品のベクトル表現として抽出され、これをリコール、大まかなランキング、さらには推奨の詳細なランキングにさらに適用できます。システム。現在、Zhuanzhuan 推奨システムのリコール モジュールが導入され、オンライン注文と手荷物率が 10% 以上増加しました。
3.2 Zhuanzhuan における CL の将来計画
著者について
Li Guangming、シニア アルゴリズム エンジニア。 Zhuanzhuan検索アルゴリズム、推奨アルゴリズム、ユーザーポートレートなどのアルゴリズムシステムの構築に参加し、GNN、小サンプル学習、比較学習などの関連分野で実用化されています。
参考文献
[1]SimCLR: A_Simple_Framework_for_Contrastive_Learning_of_Visual_Representations
[2]Zhang Junlin: https://www.php.cn/link/be7ecaca534f98c4ca134e527b12d4c8 [3]
Google:Supervised_Contrastive_Learning
#[4]MoCo: Momentum_Contrast_for_Unsupervised_Visual_Representation_Learning
[5]SSL: Self-supervised_Learning_for_Large-scale_Item_Recommendations
#[6]Ali-Seq2seq: Disentangled_Self-Supervision_in_Sequential_Recommenders
[7]GCL: Graph_contrastive_learning_with_adaptive_augmentation
[8]ConSERT: ConSERT:_A_Contrastive_Framework_for_Self-Supervised_Sentence_Representation_Transfer
以上がZhuanzhuan における対照学習アルゴリズムの実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。