如何用 Caffe siamese CNN 强制表示标签概率的特征向量?

How to enforce feature vector representing label probability with Caffe siamese CNN?

相关

如果我有 N 个标签。我如何强制执行对比损失层之前大小为 N 的特征向量代表每个 class 的某种概率?还是连体网设计会自动出现?

如果您只在 Siamese 网络中使用对比损失,则无法强制网络 class 化为正确的标签 - 因为网络仅使用 "same/not same" 信息进行训练并且不知道不同 classes.

的语义

你可以做的是使用多个损失层进行训练。
您的目标应该是训练一个足以满足您的领域的特征表示,以便查看某些输入的训练特征向量(在某些高维中)您应该能够轻松 class 将该输入验证为正确的class。此外,考虑到两个输入的特征表示,应该能够轻松地说出它们是 "same" 还是 "not same".
因此,我建议您使用两个损失层训练深度网络,其中 "bottom" 作为 "InnerProduct" 层之一的输出。一种损失是对比损失。另一个损失应该有另一个 "InnerProduct"num_output: N 和一个 "SoftmaxWithLoss" 层。

这项工作中使用了类似的概念: Sun, Chen, Wang and Tang Deep Learning Face Representation by Joint Identification-Verification NIPS 2014.