首页 文章

用Caffe训练暹罗网络

提问于
浏览
1

我正在训练一个比较一对图像的简单暹罗网络 . 我按照caffe(siamese)给出的例子,制作了自己的模型 .

我的问题是使用Constrastive Loss功能 . 这个函数实现的细节是caffe定义here . 在我的实现中,我使用了margin = 1,定义如下

layer {
  name: "loss"
  type: "ContrastiveLoss"
  bottom: "data"
  bottom: "data_p"
  bottom: "label"
  top: "loss"
  contrastive_loss_param {
    margin: 1
  }
}

如果异常,我的数据标记为 0 ,如果相似,则标记为 1 . 我对对比度损失函数的边缘感到困惑 . 如何选择保证金参数?

Page 3 of the initial paper by Hadsell et.al状态保证金> 0但是有任何上限吗?

2 回答

  • 0

    在我看来,这就像一个超参数 . 较大的余量会将不同的数据分开,但很难训练网络 . 一小部分可以轻松地学习糟糕的网络 . 通常,您应该为不同的数据集选择不同的边距 . 对于上限,它由底部'data'和'data_p'确定 . 如果'data'和'data_p'的值范围受到约束,例如其绝对值小于1,则存在上限 .

  • 0

    Siamese网络的保证金被视为 hyper parameter . 较大的保证金将使融合极为缓慢 .

相关问题