FaceNet模型中计算loss的公式是什么?

人工智能 神经网络 目标函数 面部识别
2021-11-11 03:16:20

FaceNet模型返回预测和真实类别的损失。这个损失是怎么计算的?

1个回答

使用的损失函数是三元组损失函数。 在此处输入图像描述 让我部分解释一下。

符号

F一世一个表示anchor输入图像。F一世p表示postive输入图像,对应于与图像相同的人anchorF一世n对应于负样本,即与锚图像不同的人(输入图像)。

公式一步一步解释

第一部分,||F一世一个-F一世p||22基本上计算anchor图像输出特征和postive图像输出特征之间的距离,你希望距离尽可能小,因为输入是同一个人。对于第二部分,||F一世一个-F一世n||22,它计算图像的输出特征与anchor图像的距离negative您希望距离尽可能大,因为他们不是同一个人。最后,αterm 是一个常数(超参数),它增加了损失以防止负损失。

怎么运行的

损失函数优化了anchor和负样本之间的最大距离以及正样本和anchor样本之间的最小距离。它巧妙地将这两个指标组合成一个损失函数。它可以在一个损失函数中同时针对这两种情况进行优化。如果没有负样本,模型将无法区分不同的人,反之亦然。

希望我能帮助你,祝你有美好的一天!