Index
Metric Learning / Distance Learning
- Metric Learning / Distance Learning #まとめ編
Library
Pytorch Metric Learning / PLM を利用.
実装
Loss / Distance
Architecture
- Siamese Architecture
- Siamese Architecture
Loss
- ConstrastiveLoss
- yhayato1320.hatenablog.com
Distance
- LpDistance (Euclid Distance)
- CosineSimilarity
実行の確認
Library Install
PLM をインストール.
適用なデータを作成
テストデータを利用しないで、とりあえず実行を確認してみる.
可視化しやすいように、2 次元のデータを考える.
点 B を anchor、点 A が positive、点 C が negative とする.
B と A を近づけたくて、B と C を遠ざけることが目的.
適用なネットワークを用意
簡易的なネットワークを定義する.
2 次元のデータを 2 次元のデータへ変換する.
- ResNet
Loss
3 つの点を変換して、Contrastive Loss で損失を計算.
損失の計算のための距離計算方法は、LpDistance / Euclid Distance を利用.
positive - anchor / anchor - negative のペアのインデックスを作成して、loss を計算する.
学習結果
期待していた通りの動き.
参考
距離を近づけろ!Pytorch Metric Learningで始めるDeep Metric Learning
PyTorch Metric LearningによるDeep Metric Learningの実践