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

但是,当我运行GoogleNet示例时,可以看到几个准确性层的结果。 CNN中如何有多个精度层?具有多个损耗层是可以理解的,但是多个精度值是什么意思呢?我在学习过程中得到了几个精度图。类似于此图片:neural-network - Caffe中的多个精度层-LMLPHP

lossX-top1lossX-top5表示精度层。我从prototxt中了解到,它们评估的是前1个和前5个精度值,但是lossX精度层是什么?

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

有人可以阐明这一点吗?如何有多个具有不同值的精度层?

最佳答案

如果仔细观察'train_val.prototxt',您会发现确实有几个精度层在不同级别上偏离了主“路径”。 loss1是在inception 4a层之后评估的,loss2是在inception 4d之后评估的,并且loss3是网络顶部的损耗。将损耗(和精度层)引入到深网的中间表示中,可以在训练过程中更快地进行梯度传播。这些中间精度可衡量中间表示的收敛程度。

08-25 05:12