深層距離学習(Deep Metric Learning) まとめ
Xlgd/metric-learning-papers: A collection of metric learning papers.
距離学習の目的:
- データポイント間の距離を測定する機械学習アプローチ。
- サンプル間の類似性を測定し、学習タスクに最適な距離メトリックを使用すること。
- 伝統的な距離メトリック(ユークリッド、シティブロック、コサインなど)を使用。
- 一般的に線形投影を使用する距離学習方法は、非線形特性を示す実世界の問題を解決するのに限界がある。
- メトリック学習は、(弱く)監視されたデータからタスク固有の距離メトリックを自動的に構築することを目指す。
- 学習された距離メトリックは、さまざまなタスク(例:k-NN分類、クラスタリング、情報検索)に使用される。
- データ間の距離や類似性を学習するために深層学習を使用。
- 生データからデータ間の距離や類似度を計算し、同じクラスのデータを近づけ、異なるクラスのデータを遠ざける。
- 効果的な埋め込み空間(embedding space)を学習し、類似するデータポイントを近くに、異なるデータポイントを遠くに配置。
問題設定:
マハラノビス距離:
- マハラノビス距離は、特徴空間の線形変換後のユークリッド距離。
- マハラノビス距離は「疑似メトリック」と見なされる。
- 正半定行列を用いたマハラノビス距離のパラメータ化も可能。
一般的なクラス分類との違い:
- 通常の分類タスクでは、データポイントを正しいカテゴリに割り当てるのに対し、深層距離学習では、データポイントの類似性を表す埋め込み空間を構築することが目的。
- 一般的な分類タスクではラベル付きデータが必要だが、深層距離学習ではラベルのペアやトリプレットが必要。
学習手法:
- 一般的なクラス分類ではサンプル間の距離を考慮せずに特徴量を抽出するが、深層距離学習ではサンプル間の距離を大きくし、異なるクラスのサンプル間の距離を小さくする。
- ユークリッド距離や特徴ベクトル間の角度を使用した学習手法がある。
Triplet Loss:
- 埋め込み空間におけるサンプル間のユークリッド距離で損失関数を計算。
- サンプル選択がモデル訓練の成功と収束性に影響。
ArcFace:
- ソフトマックス損失関数を応用し、加算角度マージン損失を導入。
- 埋め込み空間における異なるクラス間の角度分離を大きくする。
AdaCos:
- 角度ベースのソフトマックス損失の改良型。
- スケールパラメータやマージンを自動で最適化。
応用例: