什么是三重态损失反向传播梯度公式?

时间:2015-10-25 14:25:35

标签: computer-vision neural-network deep-learning caffe gradient-descent

我正在尝试使用caffe来实现Schroff, Kalenichenko and Philbin "FaceNet: A Unified Embedding for Face Recognition and Clustering", 2015中描述的三元组丢失。

我是新手,所以如何计算反向传播的梯度?

1 个答案:

答案 0 :(得分:15)

我假设你将损失层定义为

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

现在你需要计算一个渐变w.r.t每个“底部”。

损失由下列人员发出:
enter image description here

渐变w.r.t“锚点”输入(fa):
enter image description here

渐变w.r.t“正”输入(fp):
enter image description here

渐变w.r.t“否定”输入(fn):
![enter image description here

原始计算(我出于感情原因离开这里......)

enter image description here

请参阅comment更正上一学期。