在上一篇论文中《Generalization and Network Design Strategies》,Yan LeCun成功设计了多个版本的神经网络,其中Net-5是一个包含两个卷积层,一个全连接层的CNN网络(当时还没这么称呼),并在一个包含480张图片的小数据集上面达到了优秀的泛化性能,该数据集是由工作人员使用鼠标在电脑上绘制的数字位图。
在这篇论文中,作者延续上一篇论文的思路,设计了一个CNN网络用于识别由美国邮局提供的信封上面的手写邮政编码(zip codes)。
1. 数据集
整个数据集包含9298张手写数字图片,数字图片来自信封上面不同人使用不同风格、不同工具书写的不同大小的邮政编码数字,经过数字化,排除掉无关干扰标记,进行单字符分割之后的结果。这是一个实际应用问题。
- 数据集分为7291张训练集,2007张测试集;
- 所有数据集被预处理成16x16的归一化图像(normalized image),像素值位于[-1,1];
部分样本如下图所示:
2. 网络设计
文章中明确说明了,本文中设计的网络是在上一篇论文中提出的Net-5基础上做了扩展,不过同样包含两个卷积层,一个全连接层,网络结构图如下所示:
该网络具有如下特点:
- H1和H2卷积层都包含12个feature map,用于提取输入feature map的不同特征,卷积核大小均为5x5,超出图像边界的卷积输入使用了-1的padding处理;
- H2中每一个feature map的输入又不是H1中所有的12个feature map,而只使用了H1中的8个feature map,具体选了哪8个feature map,论文中没有公布;
- H1和H2中所有的卷积操作都采用权重共享,这和目前常规CNN网络的卷积方式相同,但是bias没有共享;
- 全连接层包含了30个神经元;
- 激活函数是双曲正切函数(tanh),损失函数是均方误差函数(MSE),和上一篇论文保持一致;
- 和上一篇论文不同,这篇论文中开始出现了卷积(convolution)、卷积核(kernel)等专有名词;
- 文章中后面提到,卷积层H1和H2中feature map的数量是通过做实验确定的,当采用12个feature map时,模型的泛化性能是最好的。另外,作者也尝试了直接使用全连接网络,不过泛化性能很差。
至于网络中的模型参数大小,论文中描述的相当仔细,这里不再赘述。
3. 权重初始化和学习算法
模型训练前的权重初始化采用的是-2.4/Fi—2.4/Fi 之间的均匀分布的随机采样,其中Fi等于该权重连接的输出单元对应的输入单元数(有点绕)。文章中说这项权重初始化技术能保持总的输入保持在S型激活函数的操作范围内(没懂)。
另外,学习算法采用了类似于随机梯度下降(stochastic gradient descent)的方法,也就是每次只使用单个样本进行权重更新,只不过权重更新采用了牛顿法的一个改进版本。
4. 总结
这篇文章设计了一个包含两个卷积层的CNN网络,并将其应用于一个现实生活中的问题—手写邮政编码识别。模型的泛化性能达到了当时最佳。
在上一篇网络提出的Net-5的基础上,用于图像分类的CNN网络的发展又向前迈进了一步。