ディープメトリックラーニングでの機能(及びその理由)への理解
概要
ディープメトリックラーニング(DML)は、(画像)類似性の概念をエンコードするモデルを最もよく学習する方法についての洞察を提供することを目的としています。最も一般的には、DML設定には、画像を取得して高密度のベクトル化された表現を返すディープニューラルネットワークのトレーニングが含まれます(これは、ネットワークがカテゴリ表現を出力する分類などとは異なります)。完璧な世界では、これらの表現間の距離は、元のデータ空間の「意味的」類似性に直接関係します。
例**: 3つの画像があります。2つは同じ車の写真を含みますが、回転が異なり、1つは異なるメーカーの車を示しています。次に、優れたDMLモデルは、最初の2つの画像の表現間の距離が、これら2つの画像のいずれかから3番目の画像までの距離よりも小さくなるように、各画像の表現(埋め込み)を提供します。
このようなモデルには多くのアプリケーションがあります。特に、画像検索アプリケーションに還元される画像類似性タスクがあります。1つのクエリ画像と他の画像の大規模なデータベースが与えられた場合、どのデータベース画像が私のクエリに意味的に類似しているかを示します。このような検索アプリケーションは、製品の推奨、顔の再識別、または医療分野で重要です。特定のセルタイプのバリエーションをグループ化します。たとえば、(Yang氏等)は、類似性に基づくアプローチを使用して、顕微鏡下で細胞の類似画像を集約し、医師が病気を診断しやすくしました(Yang氏等)。
https://github.com/easonyang1996/DML_HistoImgRetrieval からの画像
残念ながら、研究は矛盾に悩まされています。トレーニングプロトコル、アーキテクチャ、パラメータが異なる論文では、手法を比較したり、機能するものと機能しないものを見つけることができません。これに対処するために、私たちの論文では次の重要な要素を紹介しています。
- 最終的に報告された結果への影響に関するDML研究パイプラインの変動の要因を定量化しました。これらは、例えばさまざまなネットワークアーキテクト、さまざまなバッチサイズ、さまざまなデータ拡張または重みの正則化の使用が含まれます。また、ミニバッチの選択がトレーニングパフォーマンスに与える影響を最初に確認しました。これは、実際には問題にならなかったものです。これらすべての要素を正しく調整すれば、実際に提案されている方法とは関係なく、パフォーマンスを向上できることを示します。これは、ピークパフォーマンスモデルを選択するかどうかを知るのに役立ちますが、公正な比較にも失敗します。したがって、これらのバリエーションに基づいて、異なる方法間の公正な比較を可能にする標準化されたトレーニング設定を提案しました。
- 公正で標準化されたセットアップを使用して、ベースラインと宣言された最先端の方法をカバーする15の論文からのベンチマークモデル。公正な比較の下で、近年発表された方法のほとんどは非常に類似しており、DML研究の実際の進歩に疑問を投げかけていることがわかりました。
- 同様ですが、一部の方法は他の方法よりも優れています。その理由を理解するために、埋め込みスペースメトリックのセットを調査して、メソッドのパフォーマンスが向上するプロパティを(暗黙的に)最適化するかどうかを確認しました。他のアプローチに対するパフォーマンスの改善を説明するために文献で一般的に使用されているメトリックでは、調査した多数の目的に対して評価した場合、テストセットのパフォーマンスの違いを説明できないことがわかりました。この問題を解決するために、テストのパフォーマンスにはるかに強いリンクを持つ他の2つの埋め込みスペースメトリックを導入しました。4.これらの洞察に基づいて、一般化に有益な埋め込みスペースプロパティを暗黙的に最適化するための正則化を提案します。これは、ほとんどのDMLメソッドの上に適用して一般化のパフォーマンスを向上させることができます。
- 最後に、この分野に不慣れな人々の研究を容易にするために、補足でDMLの主要なメソッド、メトリック、およびアプローチの概要と、論文で行われたすべての実装を含むコードリポジトリを提供します。
(緑は既存の目標の正規化されたバリアントを示し、オレンジは公正なトレーニングと評価の設定での上記の目標のパフォーマンスを示します。ご覧のとおり、提案された正規化を適用することによってのみ破られる大きなパフォーマンスのプラトーがあります。
クイックリンク
1. ディープメトリックラーニングで「チート」する方法を理解する
注:このセクションの数値は、CARS196ベンチマークデータセットの結果です。他のベンチマークについては、論文をご覧ください。得られたため息は譲渡可能です。
報告されたパフォーマンスの依存関係が利用されるトレーニングパイプラインの1つであることを理解するために、まず、バックボーンアーキテクチャの選択、埋め込みスペースの次元、拡張プロトコル、バッチサイズなど、さまざまな一般的な変動要因がパフォーマ��スの向上にどのように寄与するかをベンチマークしました。
このプロットは、相対的なパフォーマンスの変化を視覚化し、さまざまな方法で、特にこれらの要因を調整するだけでパフォーマンスが変化することがわかります。これは、意図的または意図せずに、公正な比較では遅れるメソッドのパフォーマンスを向上させるために使用できます。
さらに、多くの場合、対処されていない要因、つまりミニバッチの構築を考慮しました。ほとんどのDMLメソッドは、ミニバッチからサンプリングされたタプルのランキングサロゲートを利用するため、その中のサンプルの分布を調べることも賢明なようです。バッチはパフォーマンスに影響を与える可能性があります。
簡単に言うと、単一のクラスからのサンプルの多様性ではなく、クラスの多様性(したがって負のサンプル)を改善することには特に利点があります。これは、ほとんどの場合、文献で報告されていないものです。
したがって、これらの要因を定量化することで、次のセクションでの公正な比較を保証する一貫したトレーニングパイプラインを提供できます。
2. 公開されたメソッドが公正な比較の下でどのように機能するかを調べる
DMLモデルのパフォーマンスが実際にどの程度異なるかを調べるために、同等のトレーニングパイプラインの下で、最近の最先端の方法と確立されたベースライン方法の両方をトレーニングしました。
再現とさらなる調査のために、これらの実行を公開しました。これには、関連するすべてのDML評価メトリックで測定されたパフォーマンスに関する情報と、後続のセクションでも使用される、対象のスペースメトリックを埋め込むための値と進行状況が含まれます。
主に平均ピークパフォーマンスに関心があるため、結果はすべてのメソッドとベンチマークの表にもまとめられています。
ご覧のとおり、改善の大部分は標準偏差内で捉えられています。これは、最先端のパフォーマンスを主張するほとんどの方法とは対照的であり、多くの場合、わずかな差ではありません。
3. 最大の一般化パフォーマンスのために埋め込みスペースがどのように見えるべきかを理解する
ただし、パフォーマンスには顕著な飽和が存在しますが、メソッドのゼロショット一般化パフォーマンスには依然として違いが見られます。したがって、私たちが自分自身に尋ねた質問は、なぜいくつかのメソッドが他のメソッドよりも優れたパフォーマンスを発揮するのかということです。
これを理解するために、パフォーマンスの変化を説明するために使用される2つの一般的なメトリック、クラス内距離とクラス間距離を調べます。
クラス内距離πintra\pi_\text{intra}は、同じクラスからの密なサンプルが埋め込みスペースにクラスター化される度合いを測定し、クラス間距離πinter\pi_\text{inter} は、異なるクラスクラスターが投影される距離を測定します。両方のメトリックは、パフォーマンスの変化を正当化するために一般的に使用されていました。
しかし、トレーニングデータのテストメトリクスとこれらのメトリクスの相関関係を調べるとわかるように(セクション2で紹介したW&B実行を使用して、これらの実行をダウンロード、評価、視覚化するスクリプトが公式のGithubリポジトリで利用可能になります)。これらのメトリックの変更とダウンストリームのゼロショットテストのパフォーマンスとの間に一貫したリンクはありません。
したがって、より良い理解を提供する可能性のある2つの新しいメトリックを紹介します。埋め込みスペース密度πratio\pi_\text{ratio}は、クラス内とクラス間の距離の比率であり、利用可能な埋め込みスペースに均一で密度の高いトレーニングデータがどの程度埋め込まれているかを測定します。スペクトル減衰ρ(Φ)\rho(\Phi)は、基本的に、特異値分解(SVD)を介して学習した埋め込み空間の特異値分布を計算し、それを均一分布と比較して、トレーニングを解決するために使用されるさまざまな特徴の数を測定することを目的としています。
どちらの場合も、一般化のパフォーマンスとの関連性がはるかに強いことがわかります。これは、Wang氏等によるその後の作業と一致し、自己教師あり表現学習の一般化に空間の均一性を埋め込むことの同様の利点を強調しています。特に、スペクトル減衰は、新しいクラスへの一般化パフォーマンスの最も確実な予測子であるように見えます。直感的には、これは、機能の多様性が高いほど、テスト時に新しいデータとクラスの記述子を持つ可能性が高くなるという事実に起因する可能性があります。
4. この1つの簡単なトリックで、DMLメソッドの一般化を改善する!
最後に、スペクトル減衰ρ(Φ)\rho(\Phi)と密度πratio\pi_\text{ratio}の改善を暗黙的に目指すことにより、DMLメソッドのパフォーマンスを改善するために得られた洞察を取り入れようとします。
そのために、rhorho-regularizationと呼ばれるランキングベースのDML目的に正則化項を紹介します。これは、実装が非常に簡単です。トレーニングタプル(xa,xp,xn1,...,xnN)(x_a, x_p, x_{n_1}, ..., x_{n_N}) で負のサンプルxnix_{n_i}を交換するだけです。)(同じクラスのアンカーサンプルxax_aとポジティブサンプルxpx_p を使用)クラスが緊密に埋め込まれるのを回避し、トレーニングタスクを解決するために必ずしも重要ではないが、クラス内機能を導入するためのポジティブサンプルテスト時に便利です。特定の車種など、クラス内のサンプルを分離する方法から見ると、テスト時に異なる車を区別するのに役立つ機能を紹介する場合があります。
このような rhorho-regularizationは、トレーニングタスクを解決するために必ずしも重要ではないが、テスト時に有益である可能性のある機能を実際に導入することがわかります。
まず、おもちゃの例を見てみましょう。
ここで、トレーニングデータは対角線に沿ったポイントグループ(色でマーク)で構成され、ランキングの目的の目標は、これらがまだ分離されている単位球投影を提供するように小さなネットワークをトレーニングすることです(2番目の図)。
これは簡単に実現できますが、垂直方向と水平方向の両方に配置された新しく導入されたテストポイントは、トレーニングデータが垂直方向と水平方向の両方の配置に関するコンテキストを提供している場合でも、分離するのが困難です。
クラス内でサンプルを分離することを学ぶと、「垂直」および「水平」分離(最後から2番目の図)の概念がより明確に導入されるため、ここでρ正則化が役立ちます。考えてみてください。ネットワークがこの特定のおもちゃのタスクを解決するには、トレーニングサンプルを水平方向または垂直方向に分離することを学習するだけで済みます。そして、ネットワークではショートカットが奨励されています!ただし、テスト時に水平方向または垂直方向にクラスが発生することは合理的です。そして、予想通り、スペクトル減衰ρ(Φ)\rho(\Phi)(「より平坦な」スペクトル値分布)の増加が見られます。
最後に、実際のベンチマークに適用すると、特にCUB200-2011やCARS196など、クラスごとのサンプル数が多いデータセットで大幅なパフォーマンスの向上が見られます。これは、公正な比較の下で、すべての最先端の方法を大幅に上回っています。
5. 結論
ディープメトリックラーニングの状態をよりよく理解するために、公正な比較の下で既存の方法の大規模な調査を実行し、同時に多数のパフォーマンスのセットを評価し、スペースメトリックを埋め込みます。それぞれがそれぞれの出版物で最先端のパフォーマンスを主張しているにもかかわらず、ほとんどのDMLメソッドは非常によく似たパフォーマンスを示します。さらに、存在する違いは、新しく導入された2つの埋め込みスペースメトリックの変更に起因すると考えることができます。
このような調査には、数千のトレーニング実行が含まれ、それぞれが最大40の異なるメトリックをログに記録します。異なるサーバーからの実行を集約し、これらを要約して共有する簡単な方法を提供するW&Bがなければ、この作業にはかなり長い時間がかかるかもしれません。