《ECKPN:トランスダクティブ・フューショット学習のための明示的クラス知識伝播ネットワーク》

ここに画像の説明を挿入します
CVPR2021に掲載されました!
論文リンク: https://arxiv.org/pdf/2106.08523.pdf
コードリンク: なし

1. 質問

近年、直接推論グラフに基づく方法が少数ショット分類で大きな成功を収めています。しかし、既存の手法のほとんどは、人間が少数のサンプルから簡単に学習できるクラスレベルの知識の探索を無視しています。

2. 貢献

1) クエリ サンプルのグラフ推論をガイドするための豊富なクラス知識を明示的に学習できる、グラフベースのエンドツーエンドの小規模サンプル学習アーキテクチャを初めて提案しました。 2) ペアごとのサンプルを調査するためのマルチヘッド サンプル関係を確立しました
。相互の比較により、ペアごとの関係に基づいてより豊富なクラス知識を学習するのに役立ちます。
3) クラス名のセマンティック埋め込みを使用して、さまざまなクラスのマルチモーダル知識表現を構築し、クエリ サンプルについて推論するためのより差別化された知識を提供します。
4) 4 つのベンチマーク (つまり、miniImageNet、tieredImageNet、CIFAR-FS、CUB-200-2011) で広範な実験が行われ、その結果は、この方法の分類パフォーマンスが優れていることを示しています。

3. 方法

グラフ ベースのクエリ サンプル推論をガイドするために、より豊富なクラス知識を明示的に学習する方法を検討してください。ここに画像の説明を挿入します
図 1 に示すように、サンプル表現と関係のみを利用して少数ショット分類タスクを実行すると、クエリ サンプルを誤って分類する可能性があります q カテゴリ 2 の場合。ただし、推論プロセスをガイドするためにクラスレベルの知識表現を明示的に学習すると、q がクラス 1 の表現に近いため、q を正しく分類できます。

3.1 問題の説明

ここに画像の説明を挿入します

3.2 形式知普及ネットワーク

ここに画像の説明を挿入します
フレームワークの概要:
1) まず、サポートとクエリ サンプルを利用して、インスタンス レベルのグラフを構築します。
2) 次に、比較モジュールを利用して、インスタンス レベルのグラフ内のペアごとのノード関係に基づいてサンプル表現を更新します。このモジュールでは、著者はマルチヘッド関係を構築して、詳細なサンプル表現を学習するためのきめの細かいサンプル関係をモデル化するのに役立ちます。
3) 次に、インスタンスレベルのグラフがクラスレベルのグラフに圧縮され、クラスレベルの視覚的な知識が明示的に探索されます。
4)調整モジュール102では、クラス間の関係に従ってクラスレベルのメッセージ受け渡し操作が実行され、クラスレベルの知識表現が更新される。クラスの意味論的な単語の埋め込みは豊富な事前知識を提供できるため、モジュールのメッセージ パッシングを調整する前に、それをクラス レベルの視覚的な知識と組み合わせて、マルチモーダルなクラス知識表現を構築します。
5) 最後に、クラスレベルの知識表現とインスタンスレベルのサンプル表現を組み合わせて、クエリサンプルの推論をガイドします。

  • モジュールの比較: インスタンスレベルのメッセージングのマルチヘッド関係
    画像iiの場合iでは、視覚的特徴を抽出するためのスケルトンとしてディープ CNN モデルが使用されます。(既存の文献に従い、画像の視覚的特徴を対応するワンホット エンコーディングと初期ノード特徴として組み合わせます。vi (0) ∈ R dv^{(0)}_i \in R^dv( 0 )Rd . クエリ サンプルのラベルは推論生成では使用できないため、ワンホット エンコーディングの要素を 1/N に設定します (N はクラスの数)。)
    各エピソードでは、サポート セットとクエリ セットのサンプルをノードとして取得し、グラフG = (V (0), A (0)) G = (V^{(0)}, A^{(0) })G=( V( 0 )A( 0 ) )、ここでV ( 0 ) V^{(0)}V( 0 )は初期ノード特性行列A (0) A^{(0)}( 0 )は、サンプル関係を表す初期隣接行列セットです。既存の研究では、視覚的特徴には常にグループ化できるいくつかの概念が含まれている、つまり、同じグループの特徴の次元は同様の知識を表すことが示されていますただし、既存のグラフベースの小規模サンプル学習方法は、通常、グローバルな視覚的特徴を直接使用してサンプルの類似性を計算し、隣接行列を構築するため、詳細な関係を十分に表現できません。本稿では視覚的特徴をKKK个块(すなわちV ( l ) = [ V 1 ( l ) , V 2 ( l ) , … , VK ( l ) ] ∈ R r × d ) V^{(l)} = [V^{(l )}_1, V^{(l)}_2,…, V^{(l)}_K] \in R^{r \times d})V( l )=[ V1( l )V2( l )VK( l )Rr × d )、各ブロックの類似性を計算して、サンプルのマルチヘッド関係を調査します (つまり、KKK 個の隣接行列V 1 ( l ) , V 2 ( l ) , … , VK ( l ) ∈ R r × r V^{(l)}_1, V^{(l)}_2, …, V^{ ( l)}_K \in R^{r \times r}V1( l )V2( l )VK( l )Rr × r )、ここでrrrは各エピソードのサンプル数、[ ∗ , ∗ ] [*, *][ , ]はスプライス操作、lllは図のll 番目l層生成行列。各ブロックV i ( l ) V^{(l)}_iV( l )の寸法はd / K d/Kd / Kまた、ブロックされていない視覚的特徴に基づいて、グローバル関係行列 A g ( l ) ∈ R r × r A^{(l)}_g \in R^{r \times r} を計算します。g( l )Rr × r
    グローバル (A g ( l ) A^{(l)}_g ) をg( l ))和多头( { A i ( l ) } i = 1 K \{A^{(l)}_i \}^K_{i=1} { A( l )}i = 1K)关系(即A ( l ) = { A g ( l ) , A 1 ( l ) , … , AK ( l ) } A^{(l)} = \{A^{(l)}_g, A^ {(l)}_1,…, A^{(l)}_K\}( l )={ Ag( l )1( l )AK( l )} ) インスタンス レベルのグラフ全体に情報を伝播し、サンプル表現を更新します。このようにして、サンプル間の関係をより完全に調査し、より豊富なサンプル表現を学習できます。ll層lでは、更新されたサンプル表現V ( l ) V^{(l)}を使用します。V( l )新しい隣接行列を構築しますA g (l) A^{(l)}_gg( l ) A i ( l ) A^{(l)}_i ( l )以下に示すように、
    ここに画像の説明を挿入します
    数ショット分類タスクにおける TRPN の成功にヒントを得て、次の行列を使用して隣接行列をマスクし
    ここに画像の説明を挿入します
    ますmnnnS ∪ QS \cup QSQ 、 ym y_mのサンプルyメートルはサンプルですmmmラベル。これにより、異なるカテゴリの 2 つのサンプルの特徴の類似性が高くなるほど、メッセージ パッシング プロセスの共通性が低くなります。同じカテゴリの 2 つのサンプルでは、​​結果はまったく逆になります。
    ここに画像の説明を挿入します

  • 圧縮モジュール: クラスレベルの視覚的知識学習
    クラスレベルの知識表現を取得するには、インスタンスレベルのグラフを圧縮してクラスレベルのグラフを生成します。ノードはクラスの視覚的知識を表します。たとえば、インスタンス レベルのグラフ内のノードを 5 つのクラスター/ノードに圧縮して、5 方向分類タスクでクラスの視覚的な知識を取得します。具体的には、最初にグラウンド トゥルースを使用して割り当て行列の生成を監視し、次に割り当て行列に従ってサンプルを圧縮して、クラス レベルの知識表現 V c ∈ R r 1 × d V_c \ in R^{r_1 \ を取得します。 d倍}VcRr1× d、ここでr 1 r_1r1各エピソードのクラス数を示します。わかりやすくするために、この記事ではV ( L ) V^{(L)}を参照します。V( L )A g ( L ) A^{(L)}_gg( L )標準グラフ ニューラル ネットワークに代入して分布行列P ∈ R r × r 1 P \in R^{r \times r_1} を計算します。PRr × r1:
    ここに画像の説明を挿入します
    その中、W ∈ R d × r 1 W \in R^{d \times r_1}WRd × r1ソフトマックス演算が行単位で適用されるトレーニング可能な重み行列を表します。分布行列PPPP uv P_{uv}Pうーん_元のグラフのノードuuを表しますu はクラスレベルのグラフのvvvの確率。分布行列PPPの後、次の方程式を使用して初期のクラスレベルの知識表現を生成します。
    ここに画像の説明を挿入します
    ここでTTT は転置演算を表します。クラスレベルのグラフでは、各ノードの特徴は、インスタンスレベルのグラフで同じラベルを持つノードの特徴の加重合計として表示できます。このアプローチを通じて、クラスレベルの視覚的な知識表現を取得します。これは、調整モジュール内の異なるクラス間の関係をモデル化するのに役立ちます。

  • キャリブレーション モジュール: マルチモーダル知識を使用したクラス レベルのメッセージング
    クラス単語の埋め込みは、ビジュアル コンテンツに含まれていない可能性のある情報を提供できるため、生成されたクラス レベルのビジュアル ナレッジと組み合わせて、マルチモーダルな知識表現を構築します。具体的には、まず GloVe (自己教師あり制約のある大きなテキスト コーパスで事前トレーニング済み) を利用して、クラス ラベルのd 1を取得します。d1次元セマンティック埋め込み。この記事では、840B トークンでトレーニングされた GloVe の Common Crawl バージョンを使用します。ii取得後i ei ∈ R d 1 e_i \in R^{d_1}型の単語埋め込みe私はRd1その後、マッピング ネットワークg: R d 1 → R dg: R^{d_1} \rightarrow R^d を使用します。g:Rd1Rd は、それを視覚的知識表現と同じ次元の意味空間にマッピングします。つまり、zi = g ( ei ) ∈ R d z_i = g(e_i) \in R^dz私は=g ( e私はRd . 最後に、次のようなマルチモーダルなクラス表現が得られます。
    ここに画像の説明を挿入します
    ここで、Z ∈ R r 1 × d Z \in R^ {r_1 \times d}ZRr1× dは意味単語埋め込み行列です。これにより、クラスレベルの知識がより豊富に表現されるようになります。
    クラスレベルグラフの隣接行列 (A c A_cc) はクラスによって表される関係を表し、その値はクラス ペアの接続強度を表します。この記事では、次の式を使用して隣接行列A c A_cを計算します。cそして新しいクラスレベルの知識表現vc ''v''_cvc:
    ここに画像の説明を挿入します
    そこ中w '' ∈ R 2 d × 2 d w' \in R^{2d \times 2d}wR2 d × 2 dはトレーニング可能な重み行列です。各サンプルに (7) で学習したクラスの知識を含めるために、次のように割り当て行列を利用してクラスの知識をインスタンス レベルのグラフにマッピングします。ここで、 V r ∈ R r × 2 d V_r \in R
    ここに画像の説明を挿入します
    ^{ r \times 2d}VrRr × 2 dは最適化された特徴を表します。最後に、 V r V_rが直列に接続されますVrV ( L ) V^{(L)}の場合V( L )を組み合わせてクエリ推論用のサンプル表現V f V_fV

3.3 推論

クエリサンプルのクラスラベルを推測するには、V f V_fを使用します。V対応する隣接行列A f A_fを計算します。以下の通り:
ここに画像の説明を挿入します
ここでV f ; m V_{f;m}Vf ; メートルV f ;n V_{f;n}Vf ; それぞれmmを表すm個のサンプルとnn 番目n個のサンプル。fl : R 3 d → R 1 f_l: R^{3d} \rightarrow R^1f:R3d _R1はマッピング関数です。各クエリ例について、サポートされる例のクラス ラベルを利用してそのラベルを予測します。
ここに画像の説明を挿入します
ここで、one-hot は one-hot エンコーダを示します。

3.4 損失関数

提案された ECKPN の全体的なフレームワークは、次の損失関数を通じてエンドツーエンド形式で最適化できます。
ここに画像の説明を挿入します
ここで、λ0、λ1、および λ2 はハイパーパラメーターであり、実験設定は 1.0、0.5、および 1.0 です。L 0 \数学{L}_0L0L 1 \mathcal{L}_1L1L 2 \mathcal{L}_2L2それらは、隣接性損失、割り当て損失、および分類損失です。具体的には、


  • 各グラフ ネットワーク層の隣接損失l = { 1 , ... , L } l = \{1 , ... , L \}={ 1 , L }比較モジュールには、複数の隣接行列A g ( L ) A^{(L)}_g がg( L ){ A i ( L ) } i = 1 K \{A^{(L)}_i \}^K_{i=1}{ A( L )}i = 1Kサンプルとクエリサンプル間のメッセージングをサポートするために使用されます。さらに、上記では、クエリ推論用の隣接行列A f A_fがあります。これらの隣接行列が正しいサンプル関係を確実に捕捉するために、次の損失関数を使用します
    ここに画像の説明を挿入します
    ここに画像の説明を挿入します
    mnnn はグラフ内のノードを表します。

  • 割り当て損失は、
    圧縮モジュールで計算された割り当て行列PPを保証することです。Pは同じラベルを持つサンプルを正しくクラスタリングできます。次のクロスエントロピー損失関数を利用します。
    ここに画像の説明を挿入します

  • 分類損失 提案
    された ECKPN が正しいクエリ ラベルを予測するように制約するために、次の損失関数を使用します。
    ここに画像の説明を挿入します
    ここで、L ce \mathcal{L}_{ce}L_クロスエントロピー損失関数を表します。

4. いくつかの実験結果

  • SOTA メソッドのパフォーマンス比較
    1) miniimagenet ライブラリ
    ここに画像の説明を挿入します
    2) tieredimagenet ライブラリ
    ここに画像の説明を挿入します
    3) cub および cifar-fs ライブラリ
    ここに画像の説明を挿入します

  • 半教師ありの小サンプル分類パフォーマンス
    ここに画像の説明を挿入します

  • パラメータ分析
    ここに画像の説明を挿入します

  • アブレーション実験
    ここに画像の説明を挿入します

5。結論

1) グラフベースのメタ学習方法には、直接推論帰納的という 2 つの設定があります。直接推論法は、サポート セットのサンプルと同時予測のクエリ セット間の関係を記述します。そのパフォーマンスは帰納的方法よりも優れています。帰納的方法は、サポート セット間の関係に基づいてネットワークを学習することしかできず、それぞれを予測しますクエリサンプル. 個別の分類を実行する
2) この記事はダイレクトプッシュ方式に属します
3) この記事はグラフに基づいたエンドツーエンドの数ショット学習アーキテクチャを初めて提案します

おすすめ

転載: blog.csdn.net/weixin_43994864/article/details/123345574