web-dev-qa-db-ja.com

トリプレットロスバックプロパゲーション勾配式とは何ですか?

Schroff、Kalenichenko、Philbin "FaceNet:A Unified Embedding for Face Recognition and Clustering"、2015 で説明されているトリプレットロスを実装するためにcaffeを使用しようとしています。

私はこれに慣れていないので、バックプロパゲーションの勾配を計算する方法は?

11
Mickey Shine

私はあなたが損失層を次のように定義すると仮定します

layer {
  name: "tripletLoss"
  type: "TripletLoss"
  bottom: "anchor"
  bottom: "positive"
  bottom: "negative"
  ...
}

次に、各「底」の勾配を計算する必要があります。

損失は​​次のように与えられます。
enter image description here

「アンカー」入力(fa)のグラデーション:
enter image description here

「正の」入力(fp)の勾配:
enter image description here

「負の」入力(fn)の勾配:
![enter image description here


元の計算(感傷的な理由でここに残します...)

enter image description here

コメント 最後の用語の修正を参照してください。

15
Shai