论文部分内容阅读
机器学习算法离不开数据。随着数据的爆炸式增长,单台机器无法分析如此大规模的数据。同时,在某些场景中,数据本身分布式地存储在不同的设备中,由于隐私问题,无法将这类数据收集到某个设备集中处理。基于上述原因,许多学者提出了分布式机器学习算法。在这些算法中,数据可以分布在多台机器中,这些机器可以通过某种方式实现信息的交换,从而可以协同合作地学习一个更加强大有效的模型。传统的分布式机器学习假设每个计算节点都是可靠的,然而在实际应用问题中并非如此。一些计算节点可能因为遭到了恶意攻击或篡改,或者因为机器本身的故障或数据错误,会发送错误信息给中心节点,从而导致模型训练失败。相关研究把这些发送错误信息给中心节点的计算节点称为拜占庭节点,存在拜占庭节点的分布式计算模型称为拜占庭错误模型。本文主要研究在拜占庭错误模型下的分布式的鲁棒优化算法。在master-worker结构中,假设一部分计算节点是拜占庭节点。在训练模型的过程中,由于数据损坏、通信错误或者恶意攻击,拜占庭节点在每次通信会发送任意的错误信息给中心节点,从而破坏模型的协同训练。针对机器学习领域常见的随机优化问题,本文提出了一种能够抵抗拜占庭攻击的鲁棒的随机次梯度方法。本文所提出的算法的关键点是在目标函数上添加了范数正则项,使得新的目标函数是鲁棒的,从而使得在模型协同训练过程中可以减轻拜占庭攻击对模型求解过程的影响。本文提出的拜占庭鲁棒的随机次梯度算法简称为RSA。与目前的大多数拜占庭鲁棒算法相比,RSA不需要依赖于计算节点的数据独立同分布的假设,因此,RSA更加适用于实际应用问题。理论上,本文证明了:·RSA可以次线性地收敛到最优解的附近,与最优解的误差取决于错误节点的数目;·RSA的收敛速度与在没有错误节点时的随机梯度下降算法SGD(stochastic gradient descent)的收敛速度相同。在数值实验上,本文在真实的数据集MNIST上做了详细的实验验证,证明了RSA算法的有效性。同时,实验结果证明了 RSA要优于目前主流的拜占庭鲁棒优化算法,目前主流的拜占庭鲁棒优化算法包括Geometric median,Krum和Median。