基于轻量级线程和Web服务的高扩展性并行分布式AdaBoost算法
Highly Scalable, Parallel and Distributed AdaBoost Algorithm using Light Weight Threads and Web Services on a Network of Multi-Core Machines
摘要:
AdaBoost是机器学习中的一种重要算法,在目标检测中得到了广泛的应用。AdaBoost的工作原理是迭代地选择弱分类器中的最佳分类器,然后将多个弱分类器组合起来以获得强分类器。尽管AdaBoost已经被证明是非常有效的,但它的学习执行时间可能会很长,具体取决于应用程序,例如,在人脸检测中,学习时间可以是几天。由于其在计算机视觉应用中的日益增加的使用,需要大幅减少学习时间,使得可以结合自适应的近实时的目标检测系统。在本文中,我们开发了一个混合并行和分布式AdaBoost算法,利用多个核心的CPU通过轻量级线程,并通过Web服务软件架构使用多台机器,以实现高可扩展性。我们提出了一种新的基于分层Web服务的分布式体系结构,并实现了近线性的加速比的处理器数量提供给我们。与以前发表的工作相比,它使用单级主从并行和分布式实现[1],在四个节点上仅实现了2.66的加速比,我们在31个工作站上实现了95.1的加速比,每个工作站都有一个四核处理器,每个功能的学习时间仅为4.8秒。
英文摘要:
AdaBoost is an important algorithm in machine learning and is being widely used in object detection. AdaBoost works by iteratively selecting the best amongst weak classifiers, and then combines several weak classifiers to obtain a strong classifier. Even though AdaBoost has proven to be very effective, its learning execution time can be quite large depending upon the application e.g., in face detection, the learning time can be several days. Due to its increasing use in computer vision applications, the learning time needs to be drastically reduced so that an adaptive near real time object detection system can be incorporated. In this paper, we develop a hybrid parallel and distributed AdaBoost algorithm that exploits the multiple cores in a CPU via light weight threads, and also uses multiple machines via a web service software architecture to achieve high scalability. We present a novel hierarchical web services based distributed architecture and achieve nearly linear speedup up to the number of processors available to us. In comparison with the previously published work, which used a single level master-slave parallel and distributed implementation [1] and only achieved a speedup of 2.66 on four nodes, we achieve a speedup of 95.1 on 31 workstations each having a quad-core processor, resulting in a learning time of only 4.8 seconds per feature.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。