深度学习 – 很难理解Caffe MNIST的例子

在这里浏览了Caffe教程后:
http://caffe.berkeleyvision.org/gathered/examples/mnist.html

我对本教程中使用的不同(高效)模型感到困惑,该教程在此定义:https://github.com/BVLC/caffe/blob/master/examples/mnist/lenet_train_test.prototxt

据我所知,Caffe中的卷积层只是为每个输入计算Wx b的总和,而不应用任何激活函数.如果我们想添加激活函数,我们应该在卷积层的正下方添加另一个层,如Sigmoid,Tanh或Relu层.我在互联网上阅读的任何论文/教程都将激活功能应用于神经元单元.

它给我留下了一个很大的问号,因为我们只能看到模型中的卷积层和池化层交错.我希望有人可以给我一个解释.

作为网站说明,对我来说另一个疑问是这个求解器中的max_iter:
https://github.com/BVLC/caffe/blob/master/examples/mnist/lenet_solver.prototxt

我们有60,000张用于训练的图像,10.000张用于测试的图像.那么为什么max_iter只有10.000(并且它仍然可以获得> 99%的准确率)? Caffe在每次迭代中做了什么?
实际上,我不确定准确率是否是总的正确预测/测试大小.

我对这个例子感到非常惊讶,因为我没有找到任何例子,这个框架可以在很短的时间内达到这种高准确率(只需5分钟即可获得> 99%的准确率).因此,我怀疑应该有一些我误解的东西.

谢谢.

最佳答案 Caffe使用批处理. max_iter是10,000,因为batch_size是64.没有epochs =(batch_size x max_iter)/没有列车样本.因此,历元的数量接近10.精确度是根据测试数据计算的.是的,由于数据集不是很复杂,模型的准确度确实> 99%.

点赞