基于轻量级线程和 Web 服务在多核机器网络上实现的高可扩展并行分布式 AdaBoost 算法
分布式、并行与集群计算
2013-06-07 v1 机器学习
摘要
AdaBoost 是机器学习中的一种重要算法,被广泛应用于目标检测。AdaBoost 通过迭代选择最佳弱分类器,然后组合多个弱分类器以获得强分类器。尽管 AdaBoost 已被证明非常有效,但其学习执行时间可能相当长,具体取决于应用,例如在人脸检测中,学习时间可能长达数天。由于其在计算机视觉应用中的使用日益增加,需要大幅减少学习时间,以便纳入自适应近实时目标检测系统。在本文中,我们开发了一种混合并行和分布式 AdaBoost 算法,该算法通过轻量级线程利用 CPU 中的多核,并通过 Web 服务软件架构使用多台机器以实现高可扩展性。我们提出了一种新颖的基于分层 Web 服务的分布式架构,并在可用处理器数量范围内实现了近乎线性的加速比。与之前发表的仅使用单级主从并行和分布式实现 [1] 且在四个节点上仅实现 2.66 倍加速比的工作相比,我们在 31 台各配备四核处理器的工作站上实现了 95.1 倍的加速比,使得每个特征的学习时间仅为 4.8 秒。
引用
@article{arxiv.1306.1467,
title = {Highly Scalable, Parallel and Distributed AdaBoost Algorithm using Light Weight Threads and Web Services on a Network of Multi-Core Machines},
author = {Munther Abualkibash and Ahmed ElSayed and Ausif Mahmood},
journal= {arXiv preprint arXiv:1306.1467},
year = {2013}
}