结果 我们评估了使用MNIST手写数字识别[3]来实现的深度学习的性能。数据集包含手工标记的0-9的数字。训练集由60000张图片组成,测试集包含了10000张图片。 为了测量性能,DBN首先被预训练,然后在60000张照片中被精确调整,通过以上的步骤,DBN会在10000张测试图片上进行评估。在训练或者评估期间,没有对图片进行预处理。出错率是由为分类的图片总数与测试集中的图片总数的比率而得到。 当在每个RBM使用500-500-2000的隐藏单元,同时使用十个节点的分布式设备的时候,我们能达到最佳的分类错误率1.66%。错误率可堪比原始算法的作者所报告的1.2%(使用500-500-2000的隐藏单元)[2],和类似设置下的一些结果[3]。我们注意到原始实现是在单个机器上的,而我们的实现是在分布式机器上的。参数平均的这一步导致性能略微降低,然而将算法分布在多台机器上是利大于弊的。下面的表格总结出了在十个节点的集群上运行的每个层的隐藏单元数对应的错误率的变化。
表1:MNIST性能评估 深入思考 我们成功地部署了一个深度学习系统,我们相信它在解决一些机器学习问题过程中很有用处。此外,迭代降低抽象可以被利用来分布任何其它合适的机器学习算法,能够利用通用的Hadoop集群将会被证明非常有利于在大数据集上运行大型机器学习算法。我们注意到,我们的当前框架需要一些改进,主要围绕减少网络延迟和更先进的资源管理。另外,我们需要优化DBN框架,这样可以减少内部节点之间的通信。随着对集群资源的精确调整控制,Hadoop YARN框架给我们提供了更多的灵活性。 参考资料 [1] G. E. Hinton, S. Osindero, and Y. Teh. A fast learning algorithm for deep belief nets. Neural Computations, 18(7):1527–1554, 2006. [2] G. E. Hinton and R. R. Salakhutdinov. Reducing the Dimensionality of Data with Neural Networks. Science, 313(5786):504–507, 2006. [3] Y. LeCun, C. Cortes, C. J.C. Burges. The MNIST database of handwritten digits. [4] Deep Learning Tutorial. LISA lab, University of Montreal [5] G. E. Hinton. A Practical Guide to Training Restricted Boltzmann Machines. Lecture Notes in Computer Science Volume 7700: 599-619, 2012. [6] M. Grazia, I. Stoianov, M. Zorzi. Parallelization of Deep Networks. ESANN, 2012 [7] IterativeReduce, https://github.com/jpatanooga/KnittingBoar/wiki/IterativeReduce [8] Apache Hadoop YARN – Enabling Next Generation Data Applications, http://www.slideshare.net/hortonworks/apache-hadoop-yarn-enabling-nex 原文链接: Deep Learning on Hadoop 2.0(翻译/周键) |