オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】Metric Learning / Distance Learning #実装編 #01

Index

Metric Learning / Distance Learning

Library

Pytorch Metric Learning / PLM を利用.

実装

Loss / Distance

実行の確認

Library Install

PLM をインストール.

適用なデータを作成

テストデータを利用しないで、とりあえず実行を確認してみる.

可視化しやすいように、2 次元のデータを考える.



点 B を anchor、点 A が positive、点 C が negative とする.

B と A を近づけたくて、B と C を遠ざけることが目的.

適用なネットワークを用意

簡易的なネットワークを定義する.



2 次元のデータを 2 次元のデータへ変換する.

Loss

3 つの点を変換して、Contrastive Loss で損失を計算.

損失の計算のための距離計算方法は、LpDistance / Euclid Distance を利用.



positive - anchor / anchor - negative のペアのインデックスを作成して、loss を計算する.

学習結果



期待していた通りの動き.

参考

  • 距離を近づけろ!Pytorch Metric Learningで始めるDeep Metric Learning

  • PyTorch Metric LearningによるDeep Metric Learningの実践