文章目录
引用
- 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:x→y,并且要能处理当前的数据和未来的数据。
- 机器学习的有效性可以从三个角度提升:预测模型的计算复杂度;优化算法的计算效率;处理系统的计算能力(硬件的计算能力和软件的调度能力)
- 大规模机器学习的三种方向:基于模型简化来减少计算复杂度;基于优化逼近来提高计算效率;基于计算并行来提高计算能力。基于这三个方向可以将大规模机器学习分为三类。
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)。
总结
为了提高计算效率,保持解的可靠性,优化逼近方法都倾向于选择能降低优化误差的计算方法。
- MGD和CGD方法都考虑了所涉及实例或参数的重要性,并引入了精心的选择以降低时间成本。两者都可以利用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。