FaceNet算法(在this文章中描述)使用卷积神经网络来表示128维欧几里德空间中的图像 .
在阅读文章时我不明白:
2.1 . 我怎么知道负面形象很难
2.2 . 为什么我使用损失函数来确定负像
2.3 . 我什么时候检查我的图像的硬度相对于锚点 - 我相信这是在我发送三元组进行网络处理之前,对吧 .
以下是一些可能澄清您疑虑的答案:
即使在这里调整权重以使损失最小化,它只是损失项有点复杂 . 损失有两部分(在等式中分开), first part 是一个人的图像与同一个人的不同图像相比较 . second part 是与不同人物的图像相比的人的图像 . 我们希望 first part 损失小于 second part 损失,损失方程本质上捕获了这一点 . 所以在这里你基本上想要调整权重,使 same person error 更小, different person error 更多 .
first part
second part
same person error
different person error
损失术语涉及三个图像:有问题的图像(锚): x_a ,其正对: x_p 及其负对: x_n . x_a 的 x_a 是正图像,与其他正像相比,误差最大 . hardest negative 的 x_a 是不同人物中最近的图像 . 因此,您希望使最远的正面相互靠近,并将最近的负数推得更远 . 这是在损失方程中捕获的 .
x_a
x_p
x_n
hardest negative
Facenet 在训练期间(在线)计算其锚点 . 在每个 minibatch (这是一组40个图像)中,他们选择 hardest negative 到锚点,而不是选择 hardest positive 图像,他们选择批次中的所有锚点正对 .
Facenet
minibatch
hardest positive
如果你想要实现 face recognition ,你应该更好地考虑这个实现 centre loss 的paper,它更容易训练并且表现更好 .
face recognition
centre loss
1 回答
以下是一些可能澄清您疑虑的答案:
即使在这里调整权重以使损失最小化,它只是损失项有点复杂 . 损失有两部分(在等式中分开),
first part
是一个人的图像与同一个人的不同图像相比较 .second part
是与不同人物的图像相比的人的图像 . 我们希望first part
损失小于second part
损失,损失方程本质上捕获了这一点 . 所以在这里你基本上想要调整权重,使same person error
更小,different person error
更多 .损失术语涉及三个图像:有问题的图像(锚):
x_a
,其正对:x_p
及其负对:x_n
.x_a
的x_a
是正图像,与其他正像相比,误差最大 .hardest negative
的x_a
是不同人物中最近的图像 . 因此,您希望使最远的正面相互靠近,并将最近的负数推得更远 . 这是在损失方程中捕获的 .Facenet
在训练期间(在线)计算其锚点 . 在每个minibatch
(这是一组40个图像)中,他们选择hardest negative
到锚点,而不是选择hardest positive
图像,他们选择批次中的所有锚点正对 .如果你想要实现
face recognition
,你应该更好地考虑这个实现centre loss
的paper,它更容易训练并且表现更好 .