Caffe 中的欧氏损失层

Euclidean Loss Layer in Caffe

我目前正在尝试在 caffe 中实现我自己的损失层,并且在尝试这样做时,我正在使用其他层作为参考。然而,令我困惑的一件事是 Backward_cputop[0]->cpu_diff() 的使用。我将使用 EuclideanLossLayer 作为参考。这是我的问题

对于损失层,没有下一层,因此顶部差异 blob 在技术上未定义且未使用 - 但 Caffe 使用此预分配 space 来存储不相关的数据:Caffe 支持将损失层与用户定义的权重(prototxt 中的 loss_weight),此信息(单个标量浮点数)存储在顶部 blob 的 diff 数组的第一个元素中。这就是为什么您会在每个损失层中看到它们乘以该数量以支持该功能的原因。 Caffe's tutorial about the loss layer.

中对此进行了解释

这个权重通常用来给网络增加辅助损失。您可以在 Google 的 Going Deeper with Convoltions or in Deeply-Supervised Nets.

中阅读更多相关信息