[发明专利]一种基于列划分的分布式机器学习优化的分类方法及装置有效
申请号: | 201911156466.X | 申请日: | 2019-11-22 |
公开(公告)号: | CN110929884B | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 张智鹏;蒋悦紫晗;崔斌;赵通 | 申请(专利权)人: | 北京大学 |
主分类号: | G06N20/00 | 分类号: | G06N20/00 |
代理公司: | 北京万象新悦知识产权代理有限公司 11360 | 代理人: | 黄凤茹 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 划分 分布式 机器 学习 优化 分类 方法 装置 | ||
本发明公布了一种列划分的分布式机器学习优化的分类方法和装置,采用基于列划分的分布式随机梯度下降SGD方法,称为ColumnSGD,对多维度序列数据进行分类;所述多维度序列数据包括基因序列数据;所述ColumnSGD方法包括:建立分布式机器学习系统的容错机制、建立基于列划分的分布式SGD模型,通过采用将行划分数据转换为列划分数据的高效算法,并基于梯度编码提出模型掉队者问题的解决方法,实现高效分类。本发明通过采用基于列划分的结构,利用列式划分特性、分布式特性,计算模型梯度;能减少分布式机器学习系统的通讯开销及存储开销,提高计算速度,从而提高分类的效率。
技术领域
本发明属于分布式机器学习优化和多维数据分类技术领域,提供一种基于列划分的分布式随机梯度下降执行学习优化的分类方法及装置,可应用于利用广义线性模型、因子机模型,多层感知机等模型进行多维数据分类问题,能够减少通信开销和内存开销,提高分类方法的性能。
背景技术
机器学习(Machine Learning)是一种常用的数据挖掘方法,能够从海量数据中挖掘有价值的信息。随着大数据时代的到来,大量的高维数据不断出现,这些数据动辄可以达到几千万、甚至上亿维度。由于计算复杂度高,导致单机训练可能消耗无法接受的时长,并且存储量大,导致单机无法满足存储需求,分布式机器学习系统便应用而生。其中,随机梯度下降算法(SGD)是分布式机器学习中最常见的一种机器学习优化算法。
在现有的分布式机器学习的计算机系统如Spark MLlib,Petuum,MXNet,TensorFlow对于SGD均有实现(①X.Meng et al.,“Mllib:Machine learning in apachespark,”CoRR,vol.abs/1505.06807,2015.②E.P.Xing et al.,“Petuum:A new platformfor distributed machine learning on big data,”IEEE Trans.Big Data,vol.1,no.2,2015.③Chen et al.,“Mxnet:A flexible and efficient machine learning libraryfor heterogeneous distributed systems,”CoRR,vol.abs/1512.01274,2015.
④W.Wangetal.,“Singa:Puttingdeeplearninginthehandsofmultimediausers,”in ACM Multimedia,2015,pp.25–34.)。这些学习系统在实现SGD算法时采用一种基于行数据划分的方法(RowSGD):将训练数据按行划分给不同的计算节点,将模型存储在主节点/参数服务器。在训练模型时,每个计算节点从主节点获取模型,并且从本地采样小批量的数据从而计算梯度,最后主节点汇总所有计算节点的梯度,并且对模型参数进行更新。RowSGD算法的伪代码如下。
其中,T是迭代轮数,η是学习率,w0是初始模型,X是训练数据,K是计算节点的个数。
这些技术的缺陷在于:尽管RowSGD做法在小模型上表现良好,但是当模型达到千万甚至上亿维度时,RowSGD会在模型存储和模型通信都有较大的性能问题。
分布式机器学习系统Petuum、MXNet使用行结构进行计算,为了减轻主节点与计算节点之间通讯的开销,这两个分布式机器学习系统使用多个参数服务器来代替单个节点来存储模型。但是从性能来说,虽然参数服务器可以减缓主节点的压力,但对于整个系统而言,通讯成本与模型本身的大小有关,主节点的通讯开销被分担到其他更多的机器上,但是对于系统整体的通讯成本并没有降低。深度学习系统SINGA在训练神经网络模型时,基于垂直结构对数据进行列划分。除了SINGA的研究,Ordentlic也在word2vec模型中提出过基于列进行分区的方式可以有效减少通信成本。但是,采用这种方式,每个计算节点都需要存储整个数据集,导致整个系统的内存开销依然较大。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911156466.X/2.html,转载请声明来源钻瓜专利网。