基于神经网络的手写蒙古字母识别(一)
各位博友大家好!我是PennyWu,让大家久等了,我们继续学习。
1. 卷积神经网络(Convolutional Neural Network,CNN)
1.1 卷积神经网络CNN
首先必须肯定的是CNN是一个多层神经网络结构,其次它有以下几大特点:
1.具有较强的容错性。(CNN拥有最具代表性的卷积层和池化层)
2.具有较强的自学习能力和并行处理能力。(CNN是一种前馈神经网络)
3.局部联接和权值共享(最大特点)
基于上述特点,CNN在图像识别中的地位就很突出了。这项技术也相对成熟,因此数据集也对应做成图像,从而进行图像识别及手写蒙古字母识别。
1.2 CNN基本结构
卷积神经网络最为基本的结构,依次是输入层、卷积层、池化层。
1.3 输入层
输入层,也就是输入图像层,输入层的图像的尺寸最好是2的整数倍且能被2整除很多次,这样设定是为了便于计算机对图像进行处理。典型数据集的输入层有以下几种,如表1所示。
表1 输入层典型数据集
数据集 |
输入尺寸 |
MNIST数据集 |
28*28 |
DBRHD数据集 |
32*32 |
CIFAR-10 |
32*32 |
STL-10 |
96*96 |
1.4 卷积层
卷积层一般情况下使用小尺寸的滤波器。如果滤波器大小不一致,一般将大尺寸的用在第一个处理输入图像的卷积层上。滤波器的尺寸大小一般用3*3或5*5的居多。为了不改变输入数据在空间维度上的尺寸以及保留更多的有效数据,一般情况下将步长S设为1,对输入数据进行零填充。填充的大小P=(F-1)/2,其中F为过滤器尺寸,这样就能保证图像的尺寸不改变。卷积的过程,如图1所示。
1 |