示例在MATLAB中的实现(示例在MATLAB中的实现)
示例在MATLAB中的实现(示例在MATLAB中的实现)运行结果如下:卷积的MATLAB程序如下:输入图像为28*28像素,经过卷积层后,输出图像为20*20*10,经过池化层后,输出为10*10*20。MATLAB测试程序如下:
在深度学习的神经网络中,MINIST示例可以说是入门级的一个尝试。下图显示了手写数字0-9,我们要训练深度学习网络,使得它能很好的辨识手写的0-9个数字。
上图中,每个图片为28*28像素的黑白图像。我们用10000个数据来进行训练,其中8000个数据用来训练,2000个数据用来测试。
对于这样的一个问题,我们首先来设计神经网络。神经网络的输入层是28*28像素的黑白照片,因此输入层的神经元个数为784(28*28)。我们用一个单层的卷积层,该卷积层包含了20个9*9的卷积核。卷积层的输出经过ReLU函数到池化层。池化层为2*2的平均池化的矩阵。池化层的输出到一个全连接的的神经网络层,该神经网络有一个隐藏层(100个神经元)。该隐藏层的激活函数为ReLU。全连接神经输出层有10个神经元用来区分0-9的数字。输出层使用Softmax激活函数。该卷积神经网络的结构如下:
在这个神经网络中一共需要训练三个权重参数,即W1,W5和W0。W1是卷积层卷积核的参数,W5和W0是传统神经网络的权重参数。
卷积的MATLAB程序如下:
输入图像为28*28像素,经过卷积层后,输出图像为20*20*10,经过池化层后,输出为10*10*20。
MATLAB测试程序如下:
运行结果如下: