在ILSVRC12上学习ZFNet时,测试准确性无法提高

时间:2016-09-23 14:39:27

标签: machine-learning computer-vision deep-learning caffe imagenet

我为我的研究实施了自制的ZFNet(prototxt)。在定义20k次迭代后,测试精度保持在~0.001(即1/1000),测试损失在~6.9,训练损失在~6.9,这似乎网络在1k级别中继续玩猜测游戏。我已经彻底检查了整个定义,并尝试更改一些超参数以开始新的训练,但无济于事,屏幕上显示相同的结果....

有人能告诉我一些光吗?提前致谢!

原型中的超参数来源于论文[1]。层的所有输入和输出似乎都是正确的,如图3所示。

调整是:

  • crop - 培训和测试的输入设置为225而非224,如#33中所述;

  • conv3conv4conv5的一个像素零填充,以使blob的大小保持一致[1];

  • 所有可学习图层的填充类型已从[1]中的constant更改为gaussian std: 0.01;

  • weight_decay:根据公关#33中@sergeyk的建议,从0.0005更改为0.00025;

[1] Zeiler,M。和Fergus,R。可视化和理解卷积网络,ECCV 2014.

对于穷人......我粘贴了它here

1 个答案:

答案 0 :(得分:1)

一些建议:

  1. 将初始化从gauss更改为xavier
  2. 使用"PReLU"次,而不是"ReLU"。一旦你的净收敛,你可以微调去除它们。
  3. 尝试将base_lr减少一个数量级(甚至两个订单)。