推薦システムで学ぶべき対照的な学習方法

推薦システムで学ぶべき対照的な学習方法

みなさんこんにちは。私はDiaobaiです。

今日は、レコメンデーションシステムで学ぶべき対照学習法についてお話します。近年、対照学習はCVやNLPの分野でますます広く使用され、もちろんレコメンデーションシステムでも使用されています。対照学習と推奨システムを組み合わせる主な理由は 4 つあると思います。

まず、データの希薄さが原因となります。ご存知のとおり、推奨システムにはクリック データはほとんどありません。システムは 10 個の記事を推奨しますが、ユーザーは 1 つの記事のみをクリックします。そのため、自己教師学習を通じてクリック データを強化できます。

2 つ目は、アイテムのロングテール分布によるものです。主流の製品は大多数のユーザーのニーズを代表することが多いのに対し、ロングテール製品は少数のユーザーのパーソナライズされたニーズを代表することが多いです。ユーザー行動が少ないロングテール製品を推奨したい場合は、自己監督を通じて強化することもできます。

第三に、クロスドメイン推奨に複数の異なるビューがある場合、動的線形重み付けではなく自己教師学習を通じて複数のビューの情報を統合することで、ネットワークの表現力を高めることができます。

4 番目に、モデルの堅牢性を高めたりノイズに対抗したりするために、Mask や Droupout などのいくつかの方法を使用できます。

それでは、今日は、推奨システムにおける対照学習の主流の実践と最先端のアプリケーションについて説明しましょう。

1. DHCN

論文タイトル: セッションベースの推奨のための自己教師付きハイパーグラフ畳み込みネットワーク

論文の方向性: 会話の推奨

論文出典: AAAI2021

論文リンク: https://arxiv.org/abs/2012.06852

論文コード: https://github.com/xiaxin1998/DHCN

セッションベースの推奨 (SBR) は、既存の複数のユーザーとアイテムのインタラクション シーケンスに基づいて次のアイテムの予測を完了することを主なタスクとするセッション推奨です。この場合、ユーザー プロファイルは利用できないため、複数のユーザーとアイテムのインタラクション シーケンスからユーザーの意図の埋め込みを抽出することが特に重要になります。

これに基づいて、本論文では会話データをハイパーグラフとしてモデル化し、デュアルチャネルハイパーグラフ畳み込みネットワーク (DHCN) を提案します。同時に、ハイパーグラフモデリングを強化するために、本論文では、推奨タスクを改善するための補助タスクとして、DHCN の 2 つのチャネルを通じて学習されたセッション表現間の相互情報量を最大化するために、自己教師学習をネットワークトレーニングに革新的に統合します。

ハイパーグラフの定義

折れ線グラフの定義

ハイパーグラフ内の各エッジ(つまり、各ユーザーのセッション)はノードとみなされ、任意の2つのノード間のエッジの重みは、2つのユーザーセッション間の類似度とみなされ、次のように計算されます。

ハイパーグラフの構築

ハイパーグラフは複数のノードを含むことができるハイパーエッジとして定義されるため、これらのノードは共通のエッジを介して相互に接続されていると見なすことができます。そのため、各ユーザーのセッションまたはハイパーエッジは完全なサブグラフを構成し、サブグラフ内のエッジの重みは等しくなります (同じハイパーエッジを共有するため)。対応する折れ線グラフは完全なグラフであり、任意の 2 つのノード (セッション) のエッジの重みは、2 つのユーザー セッション間の類似性を示します。

ハイパーグラフ畳み込み

これには、アイテム埋め込みの伝播と更新のための複数のハイパーグラフ畳み込み層が含まれており、次のように説明されます。同じハイパーエッジに関係する 2 つのノードがメッセージを渡しているため、構築されたハイパーグラフでは、伝播のための 2 つの隣接ノードになります (共通のハイパーエッジに関係するか、ユーザーのセッションで一緒に表示されるため)。

行列式は次のようになります。

上記の操作にはシーケンス機能が関係していないことに注意してください。このため、著者はユーザー セッション内のアイテムのシーケンスを反映するトレーニング可能な位置エンコーディング マトリックスを導入しています。これをアイテム埋め込みと連結し、密なレイヤー操作を実行すると、シーケンス機能を持つアイテム埋め込みが得られます。

DHCNを強化するための自己教師学習

ハイパーグラフ モデリングにより、モデルは優れたパフォーマンスを実現できます。著者らは、セッション データのスパース性がハイパーグラフ モデリングを妨げ、推奨パフォーマンスが最適ではなくなる可能性があると主張しています。単純なグラフでの自己教師学習の成功した実践に触発され、著者らは自己教師学習をネットワークに統合してハイパーグラフ モデリングを強化しました。自己教師信号による学習は、推奨タスクを支援する補助タスクとして考えられ、次の 2 つのステップで構成されます。

自己監視信号の作成

DHCN では、これら 2 つのチャネルを通じて、チャネル固有のセッション埋め込みの 2 セットが学習されます。各チャネルは、セッションによって誘導されたハイパーグラフのアイテム レベル (挿入) またはセッション レベル (セッション間) の構造情報のみを記述するハイパーグラフをエンコードするため、2 セットの埋め込みオブジェクトは互いについてほとんど認識していませんが、互いに補完することができます。トレーニング中、2 セットのセッション埋め込みの間に客観的なマッピングが行われます。簡単に言えば、これら 2 つのマッピング セットは、自己教師あり学習の互いの基礎として機能し、この 1 対 1 のマッピングはラベル拡張と見なされます。 2 つのセッション埋め込みが両方のビューで同じセッションを表す場合、そのペアは ground-truth としてマークされ、それ以外の場合は negative としてマークされます。

対照学習

自己教師信号を作成することにより、相互情報最大化原理を使用して 2 つのグラフの表現が比較され、線グラフの畳み込みによって取得された埋め込みを行方向および列方向にシャッフルすることによって負のサンプルが取得されます。つまり、2 つの角度セッション埋め込み間の一貫性が向上します。

最終的な損失関数は、次の 2 つの部分の合計です。

このテキストの革新的な点は次のように要約されます。

SBR タスクには、デュアル チャネル ハイパーグラフ畳み込みネットワーク (DHCN) が提案されています。ハイパーグラフ モデリングにより、アイテム間のハイパーペアリング関係とセッション間情報を取得できます。

自己教師学習の概念が初めてレコメンデーションタスクのネットワークトレーニングに組み込まれ、自己教師学習によりモデルの表現力とレコメンデーションタスクの完成効果を高めることができます。

2.MHCN

論文タイトル: ソーシャル推薦のための自己教師付きマルチチャネルハイパーグラフ畳み込みネットワーク

論文の方向性: 社会的推奨

出典: WWW2021

論文リンク: https://arxiv.org/abs/2101.06448

論文コード: https://github.com/Coder-Yu/QRec

レコメンデーション システムでは、ユーザーとアイテムのインタラクション データがまばらな場合、ソーシャル リレーションシップを使用してレコメンデーションの品質を向上させることがよくあります。既存のソーシャル推奨モデルのほとんどは、ペアワイズ関係を利用して潜在的なユーザーの好みを掘り起こします。しかし、現実の世界ではユーザー間のやりとりは非常に複雑であり、ユーザー間の関係は高次のものになる可能性があります。ハイパーグラフは、複雑な高次の関係をモデル化する自然な方法を提供しますが、ソーシャル レコメンデーションを改善する可能性はまだ十分に活用されていません。

本稿では、高次のユーザー関係を活用してソーシャル推奨を強化するマルチチャネルハイパーグラフ畳み込みネットワーク (MHCN) を提案します。技術的には、ネットワーク内の各チャネルは、ハイパーグラフ畳み込みを通じてハイパーグラフをエンコードします。ハイパーグラフは、共通の高次ユーザー関係パターンを表します。複数のチャネルから学習した埋め込みを集約することで、包括的なユーザー表現を取得し、推奨結果を生成できます。

ただし、集約操作によって、さまざまな種類の高次接続情報の固有の特性がマスクされる可能性もあります。集約損失を補うために、著者らはハイパーグラフ畳み込みネットワークのトレーニングに自己教師あり学習を組み込み、階層的相互情報量を最大化する接続情報を取得します。

既存の自己教師学習 (SSL) 手法は、主に ImageNet などの人工的にバランスの取れたデータセットから表現モデルをトレーニングするために使用されます。データセットが不均衡になることが多い現実世界の状況で、これらがどれほどうまく機能するかは不明です。この問題に基づいて、著者らは、均一分布からロングテール分布までのトレーニングインスタンス分布を持つ複数のデータセットに対する自己教師付き対照学習と教師あり学習手法のパフォーマンスに関する一連の研究を実施しました。著者らは、パフォーマンスの大幅な低下を招く教師あり学習法とは異なり、自己教師あり対照学習法ではデータセットが著しく不均衡な場合でも安定した学習パフォーマンスを維持できることを発見しました。

ソーシャル レコメンデーション システムにおける一般的な高レベルのユーザー関係タイプ (MHCN 論文より引用)

ハイパーグラフの構築

エッジの概念を一般化して 2 つ以上のノードを接続するハイパーグラフは、ユーザー間の複雑な高次の関係をモデル化する自然な方法を提供します。著者らは、特定の三角形の関係を形成するノードを統合することによってハイパーグラフを構築します。これらの関係は、下図に示すように、基礎となるセマンティクスを備えた慎重に設計された三角形のトピックのセットのインスタンスです。

左から右に図 M1 から M10 があり、暗黙の意味に応じて 3 つのグループに分けられます。 M1~M7 は、明示的なソーシャル ネットワークにおけるすべての可能な三角関係を要約し、「共通の友人がいる」などの高次の社会的つながりを記述します。これを「ソーシャル モチーフ」と呼びます。 M8~M9は「友達が同じ商品を買う」といった共同関係を表します。このような関係性は、つながりを強める合図ともいえるため、M8~M9を「ジョイントモチーフ」と名付けました。最後に、明確な社会的つながりを持たないユーザーも考慮する必要があります。したがって、M10 は非閉じており、社会的関係はないが同じ商品を購入したユーザー間の暗黙的な高次の社会的関係を定義します。 M10を「Purchase Motif」と名付けました。これら 3 つのモダリティの制約の下で、異なる高次ユーザー関係パターンを含む 3 つのハイパーグラフを構築できます。

MHCN フレームワーク図 (MHCN 論文より引用)

マルチチャンネルハイパーグラフ畳み込み

本論文では、著者らは「ソーシャル チャネル」、「共同チャネル (j)」、「購入チャネル§」の 3 つのチャネル設定を使用して 3 種類の三角形のトピックを扱っていますが、チャネルの数を調整することでより複雑な状況に対応できます。各チャネルは、高レベルのユーザー関係パターンをエンコードする役割を担います。異なるモードは最終的な推奨パフォーマンスに対して異なる重要性を示す可能性があるため、すべての基本ユーザー埋め込み全体をすべてのチャネルに直接提供することは賢明ではありません。基本的なユーザー埋め込みから各チャネルへの情報フローを制御するために、著者らは次のように定義される自己ゲーティング ユニット (SGU) を備えたプリフィルタを設計しました。

ハイパーグラフ畳み込みは次のように定義されます。

包括的なユーザー表現の学習

ユーザ埋め込みを𝐿層に伝播した後、各層で得られた埋め込みを平均して、最終的なチャネル固有のユーザ表現を形成します。

過剰平滑化の問題を回避するために、アテンション メカニズムを利用して、さまざまなチャネルからのユーザー埋め込み情報を選択的に集約し、包括的なユーザー埋め込みを形成します。各ユーザー𝑢について、トリプレット(𝛼𝑠、𝛼𝑗、𝛼𝑝)を学習し、3つのチャネル固有の埋め込みが最終的な推奨パフォーマンスに与えるさまざまな貢献を測定します。注意機能

定義:

包括的なユーザー表現は次のように定義されます。

MHCNを強化するための自己教師学習

高次関係を利用することにより、MHCN は優れたパフォーマンスを発揮します。ただし、MHCN の欠点の 1 つは、異なるチャネルが異なるハイパーグラフ上で異なる分散埋め込みを学習するため、集約操作によって高次情報が失われる可能性があることです。この問題に対処し、ハイパーグラフ内の豊富な情報を完全に継承するために、MHCN のトレーニングに自己教師学習を組み込みます。

自己監視信号の作成

MHCN の各チャネルについて、高次の接続情報を取得するために隣接行列 𝑨𝑐 を構築します。 𝑨𝑐 の各行は、行インデックスで示されるユーザーを中心とした対応するハイパーグラフのサブグラフを表し、次に「ユーザーノード ← ユーザー中心のサブハイパーグラフ ← ハイパーグラフ」という階層構造を誘導し、この構造から自己監視信号を作成できます。

自己教師ありタスクの目標は、包括的なユーザー表現が、さまざまなハイパーグラフ内のユーザー ノードのローカルおよびグローバルの高次接続パターンを反映することです。これは、ユーザー表現、ユーザー中心のサブハイパーグラフ、および各チャネルのハイパーグラフ間の相互情報を階層的に最大化することで実現できます。

対照学習

Deep Graph Infomax (DGI) は、グラフ構造化データ内のノード表現を自己教師方式で学習するための一般的で人気のある方法です。私たちは DGI に従い、階層的相互情報量を最大化するために InfoNCE を学習目標として使用します。しかし、ペアワイズランキング損失(相互情報量推定にも効果があることが示されている)は、バイナリクロスエントロピー損失よりも推奨タスクに適していることがわかりました。したがって、自己教師タスクの目的関数は次のように定義されます。

最後に、推奨タスク(主)の目的と階層的相互情報量を最大化するタスク(補助)の目的を統合して共同学習を行います。全体的な目的関数は次のように定義されます。

この論文の主な貢献は次のように要約されます。

私たちは、マルチチャネル設定で複数の高次ユーザー関係を活用して、ソーシャル推奨におけるハイパーグラフモデリングとグラフニューラルネットワークの融合を研究します。

自己教師学習をハイパーグラフ畳み込みネットワークのトレーニングに組み込み、自己教師補助タスクによってソーシャル推奨タスクを大幅に改善できることを実証します。

3.SGL

論文タイトル: 推薦のための自己教師ありグラフ学習

論文出典: SIGIR2021

論文リンク: https://arxiv.org/abs/2010.10783

論文コード: https://github.com/wujcan/SGL

この論文では、ユーザーアイテム二部グラフ推奨システムのためのグラフ自己教師学習フレームワークを提案します。核となるアイデアは、入力された二部グラフ上のノードとエッジをドロップアウトすることでデータ強化を行うことです。強化されたグラフは、元のグラフのサブビューと見なすことができます。サブビューでは、LightGCNなどの任意のグラフ畳み込みニューラルネットワークを使用して、ノードの表現を抽出します。同じノードに対して、複数のビューが複数の表現を形成できます。次に、対照学習のアイデアを借用して自己教師あり学習タスクを構築します。つまり、同じノードの異なるビューの表現間の類似性を最大化し、異なるノードの表現間の類似性を最小化します。最後に、対照学習の自己教師ありタスクと推奨システムの教師あり学習タスクを組み合わせて、マルチタスク学習パラダイムを形成します。

この記事の方法は非常に簡潔です。この考え方は、対照学習に基づく文表現 SimCSE に関する Chen Danqi の研究に似ており、実際のグラフ表現学習で学ぶ価値があります。

ユーザーアイテム二部グラフ表現学習に基づく推奨システムが現在直面している 2 つの主要な問題を解決します。

  1. ロングテール問題。高次ノードは表現学習において主要な役割を果たすため、低次ノード、つまりロングテール項目の学習は困難になります。
  2. 堅牢性の問題。インタラクションデータには多くのノイズが含まれています。近傍ノード集約に基づくパラダイムは、「ノイズ観測エッジ」の影響を拡大し、最終的に学習された表現がノイズの多い相互作用データによって大きく影響されることになります。

そのため、著者らは、二部グラフベースの推奨の精度と堅牢性を向上させるために、グラフ自己教師学習法 SGL を提案しました。

SGLの全体的なシステムフレームワーク(SGL論文より引用)

グラフ構造上のデータ拡張

グラフベースの推奨のための CV および NLP タスクでデータ拡張を直接採用することは、次の特定の特性により実現可能ではありません。

  1. ユーザーとアイテムの特徴は、ワンホット ID などのカテゴリ変数のように離散的です。したがって、ランダムな切り抜き、回転、ぼかしなどの画像に対する拡張操作は適用できません。
  2. さらに重要なのは、各データ インスタンスを独立したものとして扱う CV タスクや NLP タスクとは異なり、インタラクション グラフ内のユーザーとアイテムは本質的に接続され、相互に依存していることです。したがって、グラフベースの推奨事項用に新しい拡張演算子をカスタマイズする必要があります。

二部グラフは、観察されたユーザーとアイテムの相互作用に基づいて構築されるため、協調フィルタリング信号が含まれます。具体的には、第 1 ホップの隣接ノードは、自我ユーザー ノードとアイテム ノードを直接記述します。つまり、ユーザーの履歴アイテム (またはアイテムの相互作用ユーザー) は、ユーザー (またはアイテム) の既存の機能と見なすことができます。ユーザー (またはアイテム) の 2 ホップ目の隣接ノードは、類似のユーザー (または類似のアイテム) を表します。さらに、ユーザーからアイテムまでの高次のパスは、アイテムに対するユーザーの潜在的な関心を反映します。間違いなく、グラフ構造の固有のパターンをマイニングすることは表現学習に役立ちます。そのため、著者らは、異なるノード ビューを作成するために、グラフ構造上にノード ドロップアウト、エッジ ドロップアウト、ランダム ウォークの 3 つの演算子を設計しました。演算子は次のように一貫して表現できます。

ここで、s1とs2はグラフG内で独立してランダムに選択され、2つの関連ビューZ1(l)とZ2(l)が構築されます。 3 つの拡張演算子は次のように詳細化されます: ノード ドロップアウト (ND): 各ノードとそれに接続されたエッジは、確率 ρ でグラフから削除されます。

ここで、M`、M``∈{0,1} | V | は、2 つのサブグラフを生成するためにノード セット V に適用される 2 つのマスク ベクトルです。したがって、この拡張により、さまざまな拡張ビューから影響力のあるノードを識別できるため、表現学習は構造の変化に対してそれほど敏感ではなくなります。エッジ ドロップアウト (ED): 確率 ρ でグラフからエッジを削除します。

ここで、M1、M2∈{0,1}|E|はエッジセットE上の2つのマスクベクトルです。近傍内の接続の一部のみがノード表現に寄与します。したがって、これら 2 つのサブグラフを結合する目的は、ノードのローカル構造の有用なパターンをキャプチャし、さらにノイズの多い相互作用に対する堅牢性をさらに高めた表現を付与することです。

ランダム ウォーク: 上記の 2 つの演算子は、すべてのグラフ畳み込み層で共有されるサブグラフを生成します。より高いパフォーマンスを追求するために、著者らは異なるサブグラフを異なるレイヤーに割り当てることを検討しています。これは、ランダム ウォークを使用して各ノードに個別のサブグラフを構築するものと考えることができます。各レイヤーでエッジ ドロップアウトが選択されると仮定すると (異なる比率またはランダム シードを使用)、エッジ マスキング ベクトルを利用することで、RW をレイヤーに敏感になるように定式化できます (下の図を参照)。

簡単にするために、これらの拡張をグラフの各エポックに適用します。つまり、新しいトレーニング エポックの開始時に、各ノードに対して 2 つの異なるビューを生成します (RW の場合は、各レイヤーに対して 2 つの異なるビュー)。 2 つの独立したプロセス (s1 と s2) のドロップアウト率とマスキング率は同じであることに注意してください。異なる比率の調整については今後の作業に残します。ドロップアウトとマスキング操作のみが含まれ、モデル パラメーターは追加されないことに注意してください。

対照学習

同じノードからの強化されたビューは正の例と見なされ、異なるノードからの強化されたビューは負の例と見なされます。正の補助監督は、同じノードの異なるビュー間の予測の一貫性を促進しますが、負の監督は、異なるノード間の不一致を強化します。正式には、SimCLR に従い、コントラスト損失 InfoNCE を使用して、正の例の一貫性を最大化し、負の例の一貫性を最小化します。

プロジェクトの損失は上記のビルドと同様です。最終的な自己教師タスク損失は次のようになります。

マルチタスク学習

自己教師学習タスクの推奨を改善するために、著者らはマルチタスクトレーニング戦略を使用して、従来の推奨タスクと自己教師学習タスクを共同で最適化します。

この論文の主な貢献は次のように要約されます。

私たちは、教師あり学習パラダイムにおけるグラフベースの推奨の限界に対処するために、自己教師あり学習の可能性を調査しました。

私たちは、ユーザーアイテムグラフの自己教師あり学習によって教師あり推奨タスクを補完する、モデルに依存しないフレームワーク SGL を提案します。

グラフ構造の観点から、補助的な比較タスクを構築するために、データ拡張の 3 つの異なる側面が設計されています。

ここに皆さんのための議論トピックがあります。皆さんが積極的に意見を述べて、議論から全員が利益を得られることを願っています。

DHCN、MHCN、SGL に加えて、対照学習と推奨システムを組み合わせた他のモデルをご存知ですか? 推奨タスクに自己監督をどのように適用しますか? 損失関数とは何ですか?

<<:  インタビュアー: アルゴリズムについての理解について教えてください。応用シナリオ?

>>:  AI: データ駆動型企業への次のステップ

ブログ    
ブログ    
ブログ    

推薦する

...

人間の心臓細胞から作られたロボット魚は本物の魚よりも速く泳ぐ。ハーバード大学の新しい研究がサイエンス誌に掲載される。

心臓ペースメーカーの正確なメカニズムはわかっていませんが、この物理的プロセスを再現する「心臓」を私た...

2021 年に IT 自動化と AI はどこに向かうのでしょうか?

IT自動化と人工知能技術の進歩と発展により、IT担当者の働き方は大きく変化しました。今年に入って新...

...

Liang Yanbo: データマイニングと機械学習アルゴリズム

電子商取引であれ、インターネット広告であれ、直接ユーザーと向き合うものであり、ユーザーの属性によって...

...

物理学者が67年前に予測した「悪魔」がネイチャー誌に登場:「偽の」高温超伝導体で偶然発見

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

Forbes: 14 人の技術専門家が、将来 AI によって混乱が生じる業界を予測しています。

AI の恩恵を受ける業界はどれでしょうか?人工知能と機械学習はすでにさまざまな業界に導入されており...

機械学習の問題を解決する一般的な方法があります!これを読んでください

編集者注: この記事は、WeChat パブリック アカウント「Big Data Digest」(ID...

...

20年後にはロボットが手術を行えるようになる

「1か月で10年分の変化を目撃しました。」 COVID-19パンデミック中に遠隔医療の利用が加速した...

人工知能に関する4つの大きな誤解

サンタフェ研究所の教授であり、『人工知能:考える人間のためのガイド』の著者でもあるメラニー・ミッチェ...

世界中でデータ損失を防ぐ先進技術の役割

デジタル時代が進化するにつれ、世界的なデータ損失を防ぐための高度なテクノロジーの役割がますます重要に...

ニューラル ネットワーク アルゴリズムを使用した C# での手書き数字認識

デモをダウンロード - 2.77 MB (元のアドレス)手書き文字認識.zipソースコードをダウンロ...