之前十期,我们彻头彻尾的介绍了神经网络技术,然而用到的都是只有一个隐藏层的。那种有多个隐藏层的神经网络,叫深度神经网络,比如这种:
在神经网络中,比较浅的隐藏层会处理一些比较简单的任务,比较深的层会处理比较复杂的任务。比如在人脸识别上,可能第一层用于识别这个图片的轮廓,第二层用于识别有没有鼻子眼睛耳朵嘴巴什么的,第三层用于识别眼睛特征、耳朵特征等等。所以理论上来说,在我们的识别MINST的数据集时,用更深度的神经网络或者说是有多个隐藏层的神经网络,会达到更好的效果。来试试看:
使用的是在第八期中优化过的代码,首先来看原来单层隐藏层情况,神经网络大小[784, 30, 10],训练30个周期,每次随机选取10个小样本,训练速率参数0.5,正则化参数5.0,图中展示除的识别率是验证数据集的识别率:
最高识别率在第23周期,96.34%
再来看看我们加了一个隐藏图层,神经网络大小变成了[784, 30,30, 10],其他参数不变的情况:
最高识别率在第15周期,是96.68%,有进步是不是!
当三个隐藏图层,神经网络大小是[784, 30,30,30, 10]时:
最高识别率在第20周期&#