Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deep Metric Learning with Spherical Embedding #4

Open
sgnoya opened this issue Nov 8, 2020 · 0 comments
Open

Deep Metric Learning with Spherical Embedding #4

sgnoya opened this issue Nov 8, 2020 · 0 comments

Comments

@sgnoya
Copy link
Contributor

sgnoya commented Nov 8, 2020

1. 概要(基本アイデア)

  • 角度ベースのDeep Metric Learning手法用の新Loss (Spherical Embedding Constraint; SEC)を提案
  • 従来法ではEmbeddingを正規化(ノルム=1)しロスを計算していたが,この正規化がSGD( with momentum)やAdamでのパラメータ更新に悪影響を与えることを発見
  • SECを導入することでこの悪影響を抑え,精度,収束性の改善を図った

2. 新規性

1.概要の2個目が重要そう.
詳しく書くと;
(1) Embeddingベクトル,f, とロスのfに対する勾配が直交していることが分かった.
(2) 勾配法による更新時はこの勾配方向に||f||_2に反比例する値が掛けられいるため,バッチ内の各データの更新の大きさが,そのベクトルノルムによって支配的になっていた.(ノルムが小さいとめっちゃ動くし,ノルムが大きいと全然動かない)

3. 手法詳細

SEC:

  1. バッチ内のEmbeddingのノルムの平均\eta計算
  2. \etaと各Embedding(f_i)のノルムとのMSE的なものがSEC(= \sum {(\eta - |f_i| )^2}

上記の項を従来Lossと足しあわせて学習

4. 結果

N-Pair Loss, CosFace, SphereFaceなどと組み合わせたら精度良くなった.
収束も早い.

[To be updated]

5. 論文,コード等へのリンク

arxiv
Official Pytorch Code

6. 感想,コメント

とりあえずノルムを正規化して角度計算しておけばいいだろと思っていたところを,しっかりと解析し面白い結果が得られていてスゴイ

7. bibtex

NeurIPS2020に通ってる.公開されたら更新.
@Article{zhang2020deep,
title={Deep Metric Learning with Spherical Embedding},
author={Zhang, Dingyi and Li, Yingming and Zhang, Zhongfei},
journal={arXiv preprint arXiv:2011.02785},
year={2020}
}

8. 関連論文

引用されてないけど,アイデアは似てそうな論文
Feature Contraction: New ConvNet Regularization in Image Classification, BMVC 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant