本文为学习笔记,将从手写数字识别入手介绍神经网络是如何进行学习的,以及学习完的神经网络是如何识别数字的。
下面是一个28*28像素的图片。28*28=784,对应到神经网络中就有784个输入,而数字有0-9一共十种,对应10个输出。
下图是神经网络的结构,可见第一层是输入层,最后一层是输出层,中间的这部分统称为隐藏层。
那么神经网络是如何进行手写识别的?
当我们人类在进行数字识别的时候,是先识别这个数字的特征,再进行判断是哪个数字。比如下图当中的数字9,我们肯于拆分为上边一个圈,再加上一条竖线。那么数字8就是上边一个圈,下边再一个圈。
但是有圈有竖线就能识别成9吗,如果我们输入的是6就有可能造成错误,那么应该如何解决这个问题呢?
我们可以把某个部件,拆分成更加细小的部件,比如下图的这个圈和这个竖线。
查看如下图示,当数字9输入时候,将会激活第二层的某些神经元,第二层神经元再经过计算,输出圈和竖线,再激活第三层神经元,然后就激活输出层输出数字9