Caffe 中的多个精度层

Multiple accuracy layers in Caffe

我正在尝试使用 nVidia DIGITS 和 Caffe 对大量图像进行分类。当我使用标准网络和我构建的网络时一切正常。

但是,当我 运行 GoogleNet 示例时,我可以看到几个精度层的结果。 CNN 中怎么会有多个精度层?有多个损失层是可以理解的,但是多个精度值意味着什么?我在学习过程中得到了几个精度图。类似于这张图:

lossX-top1lossX-top5表示精度层。我从 prototxt 了解到这些评估前 1 和前 5 准确度值,但 lossX 准确度层是什么?

即使其中一些图表收敛到 98% 左右,当我在 'validation.txt' 上手动测试经过训练的网络时,我得到的值明显较低(对应于较低的三个准确度图表)。

有人可以解释一下吗?怎么会有多个不同值的精度层?

如果您仔细观察 'train_val.prototxt',您会注意到确实有几个准确度层在不同级别从主要 "path" 分支出来。 loss1inception 4a 层之后评估,loss2inception 4d 之后评估,loss3 是网络顶部的损失。将损失(和精度层)引入深度网络的中间表示,可以在训练期间实现更快的梯度传播。这些中间精度衡量中间表示的收敛程度。