ホームページ  >  記事  >  テクノロジー周辺機器  >  Zhuanzhuan における対照学習アルゴリズムの実践

Zhuanzhuan における対照学習アルゴリズムの実践

王林
王林転載
2023-04-11 21:25:121694ブラウズ


    #1 対照学習とは
    1.1 対照学習の定義
  • 1.2 対照学習の原理
  • 1.3 古典的な対照学習アルゴリズム シリーズ
    2 対照学習の応用
  • 3 Zhuanzhuan における対照学習の実践
  • 3.1 CL による推奨想起の実践
  • 3.2 伝庄における CL の将来計画
1 対照学習とは

1.1 対照学習の定義

コントラスト対照学習 (CL) は、近年 AI 分野で人気のある研究方向であり、多くの研究者の注目を集めており、その自己教師あり学習手法は、ICLR 2020 で Bengio や LeCun などの著名人によって AI と命名されました。今後、NIPS、ACL、KDD、CIKMなどの主要なカンファレンスに次々と参加する予定です。Google、Facebook、DeepMind、Alibaba、Tencent、Byteなどの大手企業も投資しており、CL関連の仕事も最大になっています。一部の NLP 問題の SOTA でさえ、しばらくの間 AI サークルで脚光を浴びてきました。

CL の技術的ソースは計量学習から来ています。一般的な考え方は、サンプルの正の例と負の例、マッピング関係 (エンティティを新しい空間にマッピング)、および最適化を定義することです。目標は、空間内に正の例を作成することです。ターゲット サンプルとターゲット サンプルの間の距離は近くなりますが、負の例は相対的に遠くなります。このため、CL はベクトル化された再現のアイデアに非常によく似ていますが、実際には 2 つの間には本質的な違いがあります。ベクトル化された再現は教師あり学習の一種であり、明確なラベル データとネガティブなデータの選択に重点が置かれています。サンプル (ネガティブサンプルが王様であるという「教義」として知られています)、CL は自己教師あり学習 (教師なし学習のパラダイム) の一分野であり、手動のラベル情報を必要とせず、データ自体を学習のための教師情報として直接使用します。サンプル データの特徴的な表現。後続のタスクで参照されます。さらに、CL の中核テクノロジーはデータ拡張であり、陽性サンプルの構築方法に重点を置いています。次の図は、CL の全体的な抽象的なフローチャートです

Zhuanzhuan における対照学習アルゴリズムの実践

#対照学習のラベル情報はデータ自体から取得され、コア モジュールはデータ拡張です。画像分野のデータ拡張技術は比較的直観的であり、たとえば、画像の回転、オクルージョン、部分抽出、色付け、ぼかしなどの操作により、元の画像とほぼ同じだが部分的に異なる新しい画像(つまり、図)、下の図は部分的な画像データの強調方法です (

SimCLR[1] より)。

Zhuanzhuan における対照学習アルゴリズムの実践

1.2 比較学習の原理

CL の原理について話すときは、手動による高額なコストを回避する自己教師あり学習について言及する必要があります。ラベル カバレッジが低くまばらであるため、一般的なフィーチャ表現を学習することが容易になります。自己教師あり学習は、生成的手法と対照的手法という 2 つの主要なカテゴリに分類できます。生成手法の代表的なものはオートエンコーダであり、対照学習の古典的な代表は ICLR 2020 の SimCLR であり、特徴空間内の (強化された) 正サンプルと負サンプルの比較を通じて特徴表現を学習します。生成手法と比較した対照手法の利点は、ピクセル レベルでサンプルを再構成する必要がなく、特徴空間での識別可能性を学習するだけでよいため、関連する最適化が簡単になることです。著者は、CL の有効性は主に学習

項目表現の識別可能性に反映され、識別可能性の学習は、特定のモデル構造と同様に、陽性サンプルと陰性サンプルの構成概念に依存すると信じています。最適化の目標。

CL の実装プロセスと組み合わせて、

Dr Zhang[2]は CL が答えなければならない 3 つの質問を抽象化しました。これが違いでもあります。メトリクス学習の典型的な特徴は、(1) 正の例と負の例を構築する方法、つまりデータ拡張を実装する方法、(2) 元の情報をできるだけ多く保持するだけでなく、エンコーダ マッピング関数を構築する方法、です。 Collapse 問題も防ぐ (3) 損失関数の設計方法 現在一般的に使用されている NCE 損失は次の式に示すとおりです。これら 3 つの基本的な質問が、モデリングの 3 つの要素 (サンプル、モデル、最適化アルゴリズム) に対応していることを理解するのは難しくありません。

Zhuanzhuan における対照学習アルゴリズムの実践

損失の式からわかるように、分子部分は正の例に近いほど良いことを強調しています。S 関数は類似性を測定し、距離が近いほど優れていることを示し、S 値が大きいほど分母は負の例からの距離が遠いほど優れていることを強調し、損失が低いほど識別可能性が高くなります。

これら 3 つの基本的な問題のうち、データ強化は CL アルゴリズムの中核的な革新です。さまざまな強化方法が、アルゴリズムの有効性と主要な CL アルゴリズムの同一性の基本的な保証です。エンコーダ機能は通常、 NCE 損失に加えて、損失には他のバリエーションがあります。たとえば、Google[3] は教師ありコントラスト損失を提案しました。

1.3 Classic Contrastive Learning Algorithm Series

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 を提案しましたが、モデルの主要な枠組みは変更されておらず、データ拡張方法、エンコーダーの構造、学習率などの詳細が最適化されています。

2 対照学習の応用

対照学習は、画像、テキスト、マルチモーダルなどの分野の学術界だけでなく、推奨システムに代表される業界でも人気のある研究方向です。ワールドが適用されました。

Google がレコメンデーション システムに CL を適用Google SSL[5]、目的は不人気でニッチなアイテムから学ぶことです。推奨コールド スタートの問題の解決に役立つベクトル表現。そのデータ拡張技術は、主にランダム特徴マスキング (RFM) および相関特徴マスキング (CFM) 手法を使用しており (CFM は、RFM がある程度無効なバリアントを構築する可能性があるという問題を解決します)、CL は次の形式でツインタワーと結合されます。補助タワー. 再現の主要なタスクは一緒に訓練されます. 全体的なプロセスは以下の図に示されています.

Zhuanzhuan における対照学習アルゴリズムの実践

# モデルの訓練プロセス中に、次の項目が実行されます。メインタスクは主にエクスポージャーログから得られるため、先頭にもなります 人気のアイテムは比較的親しみやすい マシュー効果の影響を排除するために、補助タスクのサンプル構築はメインとは異なる分布を考慮する必要がありますその後の CL も、適切な範囲のモデル学習結果を確保するために、Zhuanzhuan の実践プロセスでこの考え方を活用しました。

データの強化はアイテム側に限定されません。 Alibaba-Seq2seq[6]CL のアイデアをシーケンス推奨問題、つまりユーザーの行動シーケンスを入力し、次に考えられるインタラクティブなアイテムを予測します。具体的には、そのデータ拡張は主にユーザーの行動シーケンスの特徴に適用されます. ユーザーの過去の行動シーケンスは時系列に従って 2 つのサブシーケンスに分割されます. データ拡張後のユーザーの表現として, それはツインにフィードされます.タワー モデル。最終的な出力結果が類似しているほど、優れています。同時に、ユーザーの複数の関心を明示的にモデル化するために、この記事では、複数のベクトルを 1 つのユーザー ベクトルに圧縮するのではなく、エンコーダー部分で抽出します。サブシーケンスの分割とポジティブな例とネガティブな例の構築により、ユーザーは自然に複数の行動シーケンスのベクトル表現を持つため、ポジティブな例では、ユーザーの過去の行動の前部分のベクトルは、ユーザーの過去の行動の後半部分のベクトルに近くなります。否定的な例では、異なるユーザー間の距離は比較的遠く、同じユーザーであっても、異なるカテゴリの製品のベクトル表現は比較的遠くなります。

CL は、他の学習パラダイム、グラフ比較学習[7] と組み合わせて適用することもできます。全体的なフレームワークは次のとおりです。下の図

Zhuanzhuan における対照学習アルゴリズムの実践

GCL は通常、グラフ内の点やエッジをランダムに削除することでグラフ データを強化しますが、この記事の著者は重要な構造や属性を変更しないままにし、重要でないエッジやノードで摂動が発生する傾向があります。

3 Zhuanzhuan の実践では対照学習が成功しています

#Meituan-ConSERT# などの画像フィールドも可能です ## [8] アルゴリズムは、文意味一致タスクの実験において、以前の SOTA (BERT フロー) と比較して 8% 改善され、少数のサンプルでも優れたパフォーマンスの向上を示すことができます。このアルゴリズムは、Embedding 層にデータ拡張を適用し、拡張サンプルを暗黙的に生成する方法を使用します。具体的には、Adversarial Attack、Token Shuffling、Cutoff、Dropout の 4 つのデータ拡張方法が提案されており、これら 4 つの方法はすべて Embedding 行列を調整することで得られます。これは、明示的な強化方法よりも効率的です。 3.1 リコール推奨における CL の実践

Zhuanzhuan プラットフォームは、低炭素循環経済のより良い発展を促進することに尽力しており、あらゆるカテゴリーの商品をカバーできます。特に携帯電話3Cの分野は大きく突出しています。 CL の Zhuanzhuan 推奨システムの実践でも、テキストベースのアプリケーションアイデアを選択していますが、中古品取引の固有の属性を考慮すると、解決する必要がある問題には、(1) 中古品の孤立属性が含まれます。 ID クラスは適用されない; (2) データ拡張がどのように実装されるか; (3) 正の例と負の例がどのように構築されるか; (4) エンコーダのモデル構造は何か (損失設計の問題を含む)。これら 4 つの問題に対処するために、以下の全体的なフローチャートと併せて詳しく説明します。

中古品の孤立属性の問題については、商品の表現としてテキストベースのベクトルを使用します。具体的には、商品の説明テキスト (タイトルと内容を含む) セットを使用し、word2vec モデルをトレーニングし、単語ベクトルに基づくプールを通じて商品のベクトル表現を取得します。

自動エンコーダー アルゴリズムは、テキスト対比学習の分野で一般的に使用されるデータ拡張手法の 1 つであり (機械翻訳、CBERT、その他のさまざまなアイデアに加えて)、モデルのトレーニングに AE アルゴリズムも使用します。 、積ベクトルを学習し、アルゴリズムの中間ベクトルを積の拡張ベクトル表現として使用すると、正の例が得られます。

否定例の生成原理は、バッチ内の異なる製品をランダムに選択することです。類似製品の判断基準は、ユーザーのその後のクリック行動に基づいて計算されます。 CF(協調フィルタリング)に代表されるレコメンドシステムの想起結果では、共通のクリック動作によって想起できる商品の組み合わせは類似しているとみなされ、それ以外の場合は類似していないとみなされる。類似性の判断に行動ベースを使用する理由は、ユーザーの行動を紹介し、テキストと行動の有機的な組み合わせを実現するためである一方で、ビジネス目標に可能な限り一致するためでもあります。

特にエンコーダー部分では、ツイン ネットワークと同様のツインタワー構造を使用し、サンプルのテキスト ベクトル (正または正または負) をそれぞれ入力して、分類モデルをトレーニングします。 3 層完全接続ニューラル ネットワークでは、2 つのタワーがネットワーク パラメーターを共有し、クロス エントロピー損失を最適化することでモデル パラメーターを最適化します。実際の業界では、ほとんどのレコメンデーション システムにおけるツインタワー モデルの学習目標はユーザーの事後行動 (クリック、コレクション、注文など) であり、サンプルが類似しているかどうかが学習目標となります。ツインネットワークの形をとっているのは、そうすることで学習結果を確実に網羅できるからでもあります。

CL の従来の考え方によれば、最終的なエンコーダー部分の入力ベクトルは製品のベクトル表現として抽出され、これをリコール、大まかなランキング、さらには推奨の詳細なランキングにさらに適用できます。システム。現在、Zhuanzhuan 推奨システムのリコール モジュールが導入され、オンライン注文と手荷物率が 10% 以上増加しました。

3.2 Zhuanzhuan における CL の将来計画

手動評価とオンライン AB 実験を通じて、CL の学習されたベクトル表現の有効性が完全に確認されました。リコール モジュールの実装後、これを推奨できます。システムの他のモジュールや他のアルゴリズム シナリオにも拡張できます。事前トレーニングによる製品ベクトル表現の学習 (もちろん、ユーザー ベクトル表現の学習も可能) は、単なるアプリケーション パスです。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 サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。