任何人都可以解释我的网络准确性和丢失的这种行为吗?

时间:2017-09-27 10:42:37

标签: python machine-learning neural-network deep-learning caffe

我使用this项目作为例子(框架 - caffe,网络的结构--AlexNet的mod,400个图像用于训练)。我有这个结果: enter image description here

或者: enter image description here

求解:

net: "./CDNet/Models/train.prototxt"
test_iter: 500
test_interval: 500
base_lr: 0.001
lr_policy: "step"
gamma: 0.1
stepsize: 100000
display: 50
max_iter: 450000
momentum: 0.9
weight_decay: 0.0005
snapshot: 10000
snapshot_prefix: "./CDNet/Models/Training/cdnet"
solver_mode: GPU

网络模型: enter image description here

有人可以解释我的网络的准确性和丢失的这种行为吗?我做错了什么?

教程的作者得到了这个结果: enter image description here

UPD: 我将批量大小从1更改为12并将步骤sizw更改为2000.结果如下图所示: enter image description here

每次测试都是0.5左右。

1 个答案:

答案 0 :(得分:0)

如果不查看您的代码和您的数据,很难进行完整的分析。请注意,二进制分类的0.5准确度仅为随机猜测。如果网络输出一个常量并且测试集没有偏向一个类,你将得到相同的结果。

从这些图表中可以看出,该模型并未学习。由于您的图表上没有训练准确性,我甚至无法判断它是否过度拟合(我无法相信增强的AlexNet是不合适的)。

据我所知,这项任务需要仔细准备数据,这是犯错误的可能步骤:检查你的训练和测试数据是否有意义(它们应该是227x227,对人类来说清晰可辨,也可以检查两组的大小)。仔细检查计算的平均图像和预处理步骤。超参数看起来很合理,据说可以用于这个数据集,所以一般来说我会相信它。