Skip to main content
QUICK REVIEW

[論文レビュー] PyTorch Metric Learning

Kevin Musgrave, Serge Belongie|arXiv (Cornell University)|Aug 20, 2020
Face and Expression Recognition参考文献 5被引用数 21
ひとこと要約

PyTorch Metric Learning は、損失関数、マイナー、距離、リダクサー、正則化項、サンプラー、トレーナー、テスターやフックを含むモジュラーで柔軟なコンponentsを提供することで、深層度画像学習を簡素化するオープンソースライブラリです。研究者や実務家が最小限のボイラープレートで迅速にプロトタイプを構築し、トレーニングを行うことを可能にし、PyTorch統合により、アルゴリズムのカスタムコンビネーションとエンドツーエンドのトレーニング/テストワークフローをサポートします。

ABSTRACT

Deep metric learning algorithms have a wide variety of applications, but implementing these algorithms can be tedious and time consuming. PyTorch Metric Learning is an open source library that aims to remove this barrier for both researchers and practitioners. The modular and flexible design allows users to easily try out different combinations of algorithms in their existing code. It also comes with complete train/test workflows, for users who want results fast. Code and documentation is available at https://www.github.com/KevinMusgrave/pytorch-metric-learning.

研究の動機と目的

  • 深層度画像学習アルゴリズムの実装負担を軽減すること。これらはしばしば手作業で実装するのに煩わしく、時間がかかる。
  • 研究者が異なる損失関数、マイナー、距離、正則化項を簡単に組み合わせて実験できる、モジュラーで拡張可能なライブラリを提供すること。
  • 最小限の設定で完全なトレーニング/テストワークフローを提供し、度画像学習モデルの迅速なプロトタイプ作成とデプロイを可能にすること。
  • トレーニング効率を向上させるために、オンラインマイニング(バッチ内タプル選択)とオフラインサンプリング(バッチ構築)の両方をサポートすること。
  • クラスタリングとk-NNメトリクスに基づいたカスタマイズ可能な正確性計算機を備えた組み込みテスターより、正確な評価を容易にすること。

提案手法

  • 損失関数、マイナー、距離、リダクサー、正則化項、サンプラー、トレーナー、テスターようなコアコンponentsを、独立して使用可能または統合して使用可能なモジュラーで合成可能なクラスに整理する。
  • 損失関数は埋め込み表現とラベルを入力とし、距離オブジェクト(例:L2、コサイン類似度、SNR)によって計算された距離行列を用いる。オンラインマイニングはタプルインデックスを介してサポートされる。
  • リダクサーは個々の要素、ペア、またはトリプレットごとの損失を処理し、設定可能な削減戦略(例:しきい値処理、平均化)を適用して最終的な損失を計算する。
  • 正則化項はオプションパラメータ(例:embedding_regularizer)を介して適用され、埋め込みまたは重みのノルムをペナルティ化できる。損失重みは設定可能である。
  • オンラインマイナー(例:MultiSimilarityMiner)はバッチ内でのハードな正例・負例ペアやトリプレットを特定し、そのインデックスを損失関数に渡して集中学習を実現する。
  • 本ライブラリは自動的なタプル変換をサポート:ペアをトリプレットに、トリプレットをペアに、埋め込み表現を分類設定における重み付き損失に変換する。

実験結果

リサーチクエスチョン

  • RQ1深層度画像学習を研究者や実務家にとってよりアクセス可能かつ合成可能にするにはどうすればよいか?
  • RQ2PyTorchベースのフレームワークにおいて、損失関数、マイナー、距離、正則化項を柔軟に組み合わせるためのモジュラー設計パターンとは何か?
  • RQ3カスタマイズ性を損なわずに、エンドツーエンドのトレーニングおよび評価ワークフローをどのように簡素化できるか?
  • RQ4統一インターフェースが、1つのライブラリ内でオンラインマイニングとオフラインサンプリング戦略の両方をサポートできるか?
  • RQ5評価をトレーニングから分離しつつ、カスタム正確性メトリクスを可能にするにはどうすればよいか?

主な発見

  • 本ライブラリは、コアコンponentsを再利用可能で交換可能なモジュールに分離することで、度画像学習モデルの迅速なプロトタイピングを可能にする。
  • 損失関数内で距離メトリクス(例:L2、コサイン類似度、SNR)を簡単に切り替えることができ、損失ロジック自体を変更せずに済む。
  • ThresholdReducer などのリダクサーは、低価値および高価値の損失をフィルタリングすることで、選択的損失削減を可能にし、トレーニングの安定性を向上させる。
  • MultiSimilarityMiner などのオンラインマイナーと損失関数の統合により、トレーニングループ内での効率的なハードネガティブマイニングが実現される。
  • AccuracyCalculator クラスは、k-NN およびクラスタリングを用いて、Precision@1、R-Precision、MAP@R、AMI、NMI といった標準メトリクスをネイティブに計算する。
  • AccuracyCalculator を継承してカスタム正確性メトリクスを追加可能であり、クラスタリングおよび推論用のフックを備えることで、ボイラープレートを伴わずに拡張性を実現できる。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。