整体架构
MNIST是一个比较简单的数据集,因此也无需设计过于复杂的神经网络。
因此我们就选择最简单的三层神经网络,即输入层,输出层,隐藏层。
现在就分别对每一层进行设计。
输入层
MNIST的图片大小是
28
×
28
28\times 28
28×28,图片非常小,一共也就784像素,因此完全没有必须用到卷积神经网络来处理。
输入层就设计有784个结点,每个结点代表一共像素。这样就可以很好地把整张照片的信息全部地记录下来,并全部传入神经网络。
输出层
这显然十分分类问题,一共有10类,即数字0到9。
因此输出层只需要设计10个结点,每个结点代表一个数字。
最后看哪一个结点的权值最大就认为这张图片是哪一个数字。
隐藏层
这里只有一层,也没有什么好的技巧,只是靠着经验。
从运算的速度上来考虑,显然希望这一层的结点数量越少越好,但是太少又无法满足识别的需求。
一般来说设计100到300个结点比较合适,具体就是看个人喜好了。