与How to Create CaffeDB training data for siamese networks out of image directory有关
如果我有 N
标签 . 如何强制执行大小 N
在对比度损失层之前的特征向量表示每个类的某种概率?或者通过暹罗网设计自动出现?
与How to Create CaffeDB training data for siamese networks out of image directory有关
如果我有 N
标签 . 如何强制执行大小 N
在对比度损失层之前的特征向量表示每个类的某种概率?或者通过暹罗网设计自动出现?
1 回答
如果您只在连体网络中使用对比度损失,则无法强制网络分类为正确的标签 - 因为网络仅使用“相同/不相同”信息进行训练,并且不知道不同类别的语义 .
你可以做的是训练多个损失层 .
您应该瞄准训练一个足够适合您的域的特征表示,以便查看某些输入的训练特征向量(在某些高维度),您应该能够轻松地将该输入分类到正确的类 . 此外,鉴于两个输入的特征表示,应该能够容易地说出它们是"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 .