用于机器学习研究的手写数字图像的MNIST数据库
在本期杂志中,“Best of the Web”提供了经过修改的国家标准与技术研究院(MNIST)资源,其中包括一系列广泛用于光学字符识别和机器学习研究的手写数字图像。手写数字识别是光学字符识别中的一个重要问题,多年来一直被用作模式识别和机器学习算法理论的测试用例。从历史上看,为了促进机器学习和模式识别研究,已经出现了几个标准数据库,其中手写数字被预处理,包括分割和标准化,以便研究人员可以在共同的基础上比较他们的技术的识别结果。免费提供的MNIST手写数字数据库已成为快速测试机器学习算法的标准。该任务的简单性类似于语音识别中的TIDigit(由Texas Instruments创建的语音数据库)任务。就像有一个很长的列表可用于更复杂的语音识别任务一样,图像识别和计算机视觉有许多困难和具有挑战性的任务,本专栏将不再讨论这些任务。
数据
MNIST数据库是由原始的NIST数据库构建的;因此,修改了NIST或MNIST。有60,000个训练图像(其中一些训练图像也可用于交叉验证目的)和10,000个测试图像,两者均来自同一分布。所有这些黑白数字都是尺寸标准化的,并且以固定尺寸图像为中心,其中强度的重心位于图像的中心,具有28#28像素。因此,每个图像样本矢量的维度是28 * 28 = 784,其中每个元素是二进制的。对于那些希望在实际数据上尝试机器学习技术和模式识别方法,同时在预处理和格式化方面花费最少的人来说,这是一个相对简单的数据库。使用网站上提供的参考资料,机器学习的学生和教育者也可以从一套相当全面的机器学习文献中获益,并且可以随时获得性能比较。
用MNIST评估机器学习算法用MNIST评估机器学习算法
MNIST的一般评估结果:
http://yann.lecun.com/exdb/mnist/
在MNIST上评估逻辑回归的细节:
http: //deeplearning.net/tutorial/logreg.Html
许多著名的机器学习算法已在MNIST数据库上运行,因此很容易评估新算法的相对性能。网站http://yann.lecun.com/exdb/mnist/于2011年12月更新,列出了使用MNIST数据库获得的所有主要分类技术及其结果。在大多数实验中,来自数据库的现有训练数据用于学习分类器,其中在网站的表的“预处理”列中输入“无”。在一些实验中,训练集增加了原始训练样本的人工扭曲版本。失真包括抖动,移位,缩放,偏斜,去除,模糊和压缩的随机组合。这些和其他失真的类型也在表的“预处理”列中指定。在网站的比较表中提供了总共68个分类器,其中提供了“测试错误率(%)”和到相应参考的链接。这68种机器学习技术分为六大类:
■线性分类器
■k-最近邻
■增强树桩
■非线性分类器
■支持向量机(SVM)
■神经网络(没有卷积结构)
■卷积网络
每个类别最多包含21个条目,每个条目的“分类器”列中都有非常简短的描述。表[1]中发表的许多早期技术都列在表中。
简要分析MNIST评估的机器学习算法
比较MNIST网站上列出的所有68个分类器,我们可以简要分析各种技术和预处理方法的有效性。神经网络分类器往往比其他类型的分类器表现得更好。具体而言,神经网络中的卷积结构考虑了优异的分类性能。事实上,记录性能,大约0.27%的错误率或全部10,000个测试集中的27个错误,是由一个卷积网络委员会实现的(弹性失真增加了训练集)[2]。没有“委员会”,一个非常大且深度的卷积神经网络也可以提供0.35%的极低错误率[3]。使用失真,尤其是弹性失真[4]来增强训练数据对于实现非常低的错误率非常重要。没有这种失真,单个大卷积神经网络的错误率从0.35%增加到0.53%[5]。神经网络的深度也是低错误率的原因。对于卷积结构和失真,深网和浅网分别给出0.35%[3]和0.40-0.60%[4]的误差率。如果没有卷积结构和失真或其他类型的特殊预处理,文献中最低的错误率,即0.83%,是使用深层叠/凸神经网络实现的[6]。当使用相应的浅网时,错误率增加到1.10%[7]。在神经网络技术背后,k-最近邻方法也产生了低错误率,其次是虚拟SVM。请注意,在两种情况下都需要预处理才能成功。
总结
MNIST数据库为研究人员和学生提供了一个相对简单的静态分类任务,以探索机器学习和模式识别技术,从而节省了对数据预处理和格式化的不必要的努力。这类似于信号处理社区中大多数语音处理研究人员所熟悉的TIMIT数据库(由德州仪器和麻省理工学院创建的语音数据库)。就像TIMIT手机分类和识别任务一样,它们已经被有效地用作开发和测试语音识别算法的试验台[7],MNIST也以类似的方式用于图像和更一般的分类任务。我们在本专栏中介绍的网站为MNIST提供了最全面的资源集合。此外,这个“最佳网络”专栏还提供了对MNIST任务评估的各种有效机器学习技术的分析。
引用
[1] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner,“Gradient-based learning applied to document recognition,” Proc. IEEE, vol. 86, no. 11, pp. 2278–2324, Nov.1998.
[2] D. Ciresan, U. Meier, L. M. Gambardella, and J.Schmidhuber, “Convolutional neural network committees for handwritten character classification,” in Proc. ICDAR, 2011.
[3] D. Ciresan, U. Meier, J. Masci, L. M. Gambardella, and J. Schmidhuber, “Flexible, high performance convolutional neural networks for image classification,” in Proc. IJCAI, 2011.
[4] P. Simard, D. Steinkraus, and J. Platt, “Best practices for convolutional neural networks applied to visual document analysis,” in Proc. ICDAR, 2003.
[5] K. Jarrett, K. Kavukcuoglu, M. Ranzato, and Y. LeCun, “ What is the best multi-stage architecture for object recognition?” in Proc. IEEE Int. Conf. Computer Vision (ICCV 2009).
[6] L. Deng and D. Yu, “Deep convex network: A scalable architecture for speech pattern classification,” in Proc. Interspeech, Aug. 2011.
[7] L. Deng, D. Yu, and J. Platt, “Scalable stacking and learning for building deep architectures,” in Proc. ICASSP, Mar. 2012.