customised mnist classification model prefers almostly binary outputs rather than continuous outputs

12 views
Skip to first unread message

Eduard Feicho

unread,
Jun 29, 2016, 7:41:00 AM6/29/16
to Caffe Users
Dear Caffe users,

apologies if a similar question has been asked before, but I couldn't find a related answer.

I have trained an MNIST classification model on the full set of regular characters (a-z,0-9) and what I find confusing is when looking at the top 2 classification results, the output is mostly binary.
While I can confirm that the class probabilities are continuous indeed, in the majority of cases the model is absolutely certain (1.0) about the correct class at hand and very rarely slightly uncertain (0.99 vs 0.01).
However, when it comes to intuitively ambiguous characters (0/O, I/1) I would expect less certainty.

How can be explained that the outputs are not something like 0.6/04, which is what I would expect? To some extend it boils down to the question of verifying whether what the model has learned is actually correct.

Thank you in advance,

Eduard

PS This is essentially a regular MNIST model except the number of outputs is increased to 36

Eduard Feicho

unread,
Jun 29, 2016, 7:55:14 AM6/29/16
to Caffe Users
Adding to that, the class predictions are mostly correct, so it looks like the network learned something.
In order to perform inference on a single image I am using the image mean file of the MNIST lmdb and the CPP example on classification:

$ ./build/tools/compute_image_mean -backend lmdb ./examples/mnist/mnist_train_lmdb $mean
$ ./build/examples/cpp_classification/classification $network $weights $mean $labels
Reply all
Reply to author
Forward
0 new messages