【文献阅读】A Survey on Large-Scale Machine Learning

引用

  • Wang, M., Fu, W., He, X., Hao, S., & Wu, X. (2020). A survey on large-scale machine learning. IEEE Transactions on Knowledge and Data Engineering.

1、背景

机器学习可以自动挖掘数据的模式,可以提供对数据的深刻见解,使机器能够做出高质量的预测。但是,当数据量很大时,很多机器学习方法的时间复杂度也会很高。为了学习大规模数据(LSD)的模式,需要设计大规模机器学习算法(LML)。(ps. 原文在摘要中的表述为 ‘aims to learn patterns from big data with comparable performance efficiently’ ,也就是LML处理LSD时,只需要取得’还可以‘(comparable)的表现,但是一定要高效(efficiently

从有用(effectiveness)到有效(efficiency)–基于分解误差来量化效率

  • 机器学习的符号化:给定 n n n d d d维的样本 X = { x 1 , x 2 , . . . , x n } X=\{x_1, x_2,...,x_n\} X={x1,x2,...,xn},以及 n L n_L nL个标签 { y i } i = 1 n L \{y_i\}_{i=1}^{n_L} {yi}i=1nL,机器学习的目标就是学习一个样本到标签的映射 f : x → y f:x \rightarrow y f:xy,并且要能处理当前的数据和未来的数据。
  • 机器学习的有效性可以从三个角度提升:预测模型的计算复杂度;优化算法的计算效率;处理系统的计算能力(硬件的计算能力和软件的调度能力)
  • 大规模机器学习的三种方向:基于模型简化来减少计算复杂度;基于优化逼近来提高计算效率;基于计算并行来提高计算能力。基于这三个方向可以将大规模机器学习分为三类。

2、方法

模型简化(Model Simplification)

模型简化从计算复杂度的角度提升机器学习效率。需要考虑样本的结构/分布和学习任务的目标函数,根据目标场景,可以进一步分为四类:基于核的(kernel-based)、基于图的(graph-based)、基于深度学习的(deep-learning-based)和基于树的(tree-based)。
模型简化

总结

  • 基于核的和基于图的模型相比深度模型来说,更容易扩展和优化。并且,对这两种模型,专家可以引入对输入特征的领域知识,从而设计特定的相似度矩阵。因为正半定矩阵的和仍然是正半定的,不同类型特征的相似度矩阵可以更容易合并为一个单模态的。尽管图通常比核占用更少的内存,但图只能够处理满足簇假设的数据。
  • 深度模型受益于对结构化样本的层次特征提取,可以获得更高的分类准确度。但是训练模型时耗费大量的时间,尽管filter decomposition方法可以显著降低计算量,但结构设计起来并不容易。此外,一些深度模型数学上等价于核化后的岭回归,但是只能在有限维度的空间建核,并且深度模型的表示通常不可解释,使得预测结果也很难解释。相比之下,基于树的层次划分模型更具有解释性,并且这些模型可以嵌入到很多其他方法中来加速学习过程。

优化逼近(Optimization Approximation)

优化逼近从计算效率的角度扩展机器学习的能力。在每次迭代中,这些方法只计算几个实例或参数上的梯度,以避免大多数无用的计算。因此,它们增加了每个计算单元的优化误差,并获得了一个计算量较少的近似解。根据目标场景,进一步将其分为小批量梯度下降法(mini-batch gradient descent, MGD)、坐标梯度下降法(coordinate gradient descent, CGD)和基于马尔可夫链蒙特卡洛法的数值积分法(numerical integration based on Markov chain Monte Carlo, MCMC)。
优化逼近

总结

为了提高计算效率,保持解的可靠性,优化逼近方法都倾向于选择能降低优化误差的计算方法。

  • MGDCGD方法都考虑了所涉及实例或参数的重要性,并引入了精心的选择以降低时间成本。两者都可以利用Nesterov‘s extrapolation步骤和基于累积梯度调整学习速率或使用线搜索获得更快的收敛。
  • CGD更适合于参数较多的模型的优化,特别是对于数据以倒序索引存储的线性模型。相反,如果特征数远小于样本数,应该使用MGD方法。
  • 处理有大量样本的大模型时,考虑将MGD和CGD结合使用。
  • 小批量梯度MCMC算法提高了样本质量,加快了贝叶斯推理的速度。
  • 这些方法大多数关注于处理凸问题,只有少数方法可以解决非凸问题。

计算并行(Computation Parallelism)

计算并行从计算能力的角度减少实际时间消耗。相互独立的子任务可以在多个计算设备上同时处理。一方面,并行处理系统基于强大的硬件增加了每时间单位的计算量;另一方面,他们引进先进的软件来安排硬件的效率。根据硬件场景,将系统分为具有多核机器的系统具有多机器集群的系统
计算并行

总结

  • CPU经过优化,可以处理具有复杂序列操作的模型。例如,通过引入局部敏感哈希来稀疏选择激活的神经元,在CPU上训练FCN的速度比最好的GPU快3.5倍。相反,GPU可以大大提高密集计算模型的计算能力。
  • 尽管机器学习方法可能与多个abstractions兼容,但为特定的设置选择适当的abstraction是至关重要的。一般来说,graph-parallel和ring-allreduce分别更适合于图模型和深度学习模型。
  • 我们可以通过利用现有的系统来简化高级系统的开发。
  • 实际开发的最佳选择因数据集的大小而异,需要进一步的研究。例如,对于SVM的训练,GPU的效率只有在数据集大小增加到一定程度时才会高于CPU。此外,由于开销的原因,分布式系统的回报随着处理器数量的增加而降低。

3、讨论

对于模型简化

模型简化方法在具有足够先验知识的情况下降低了计算复杂度。因此,可以进一步探索样本的分布和结构,以提高预测模型的扩展性。

对于优化逼近

为了提高计算效率,优化逼近方法倾向于选择能显著减少优化误差的计算方法。然而,大多数研究集中在凸问题上。此外,研究人员通常遵循刻板的惯例来解决出现的问题,而不是寻求更合适的解决方案。

对于计算并行

计算并行增强了基于多计算设备的计算能力。利用现有系统的优势,可以利用灵活的编程接口和低数据通信来进行并行数据处理。然而,随着硬件、软件和预测模型的快速升级,Flexible hardware abstractions和Modularized open-source software近年来引起了人们的广泛关注。

Open Issues

对于综述文章,个人觉得最值得关注的就是open issues,这些待解决的问题将是未来一段时间该领域的研究热点问题

  • Tighter Bounds of Complexities-更精确的评估算法复杂度
  • Collection of valuable data-标注工具和数据增广
  • Moderate Specialization of Hardware-既考虑性能又考虑能效
  • Quantum Machine Learning-在量子计算机上运行的量子机器学习模型
  • Privacy Protection-联邦学习在隐私保护方面的应用

4、总结

本文首先从简化模型以降低计算复杂度、优化逼近以提高计算效率、计算并行以提高计算能力三个独立的角度考察了现有的LML方法。在此之后,详细讨论了这些方法的局限性和可以进一步改进的地方。此外,还提出了相关领域的一些open issues。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值