[发明专利]一种能容忍不可信节点的分布式机器学习方法在审
申请号: | 202010143202.7 | 申请日: | 2020-03-04 |
公开(公告)号: | CN111369009A | 公开(公告)日: | 2020-07-03 |
发明(设计)人: | 李武军;杨亦锐 | 申请(专利权)人: | 南京大学 |
主分类号: | G06N20/00 | 分类号: | G06N20/00;G06N20/20 |
代理公司: | 南京乐羽知行专利代理事务所(普通合伙) 32326 | 代理人: | 李玉平 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 容忍 不可信 节点 分布式 机器 学习方法 | ||
1.一种能容忍不可信节点的分布式机器学习方法,其特征在于,工作节点和服务器节点的主要任务分别如下:各工作节点从服务器节点获取最新的参数,根据本地存储的数据计算梯度后,将梯度发送给服务器节点,并不断重复该步骤,直到收到服务器的中止消息;服务器节点设置有一定数量的缓冲器,每次接收到梯度信息后,根据发送方工作节点的编号,计算出对应的缓冲器编号,并将该缓冲器中的值更新为已收到对应该缓冲器的所有梯度的平均值;然后判断是否所有缓冲器都存有梯度,若是,则通过聚集函数,根据各缓冲器中的梯度计算出最终梯度,更新模型参数,清空所有缓冲器;再将最新参数发送给该工作节点;不断重复以上训练步骤,直到满足停止条件时,通知各个工作节点停止。
2.如权利要求1所述的能容忍不可信节点的分布式机器学习方法,其特征在于,在服务器节点上训练流程的具体步骤为:
步骤100,输入机器学习模型w、工作节点数目m、样本总数n、学习率ηt、缓冲器数量B,以及聚集函数Aggr(·)和哈希函数hash(·);
步骤101,令t=t0,随机初始化模型参数w=w0,并发送给所有工作节点;
步骤102,对于b=1,2,…,B,初始化缓冲器:hb=0,并令缓冲器中已存储梯度的计数器Nb=0;
步骤103,等待,直到收到来自任意工作节点的梯度信息g,并保存该工作节点的编号s;
步骤104,计算缓冲器编号:b=hash(s);
步骤105,更新对应缓冲器中的储存值:
步骤106,判断是否所有Nb0,若否,则不进行参数更新,直接跳转到步骤110;
步骤107,计算最终梯度:G=Aggr([h1,h2,…,hB]);
步骤108,进行参数更新:wt+1=wt-ηt·G,令t=t+1;
步骤109,清空所有缓冲器:对于b=1,2,…,B,令Nb=0,hb=0;
步骤110,将最新模型参数发送给编号s的工作节点;
步骤111,判断此时是否满足停止条件,若否,则返回步骤103继续训练;
步骤112,通知各个工作节点训练停止工作。
3.如权利要求1所述的能容忍不可信节点的分布式机器学习方法,其特征在于,在第k个工作节点上训练流程的具体步骤为:
步骤200,输入训练样本集合的子集和每次采样的批量大小l;
步骤201,接收服务器节点发送的模型参数w;
步骤202,从本地数据集中随机挑选一个小批量数据
步骤203,根据挑选出的样本数据集计算出随机梯度其中则表示第i个样本ξi所对应的损失函数在当前模型参数下的梯度;
步骤204,发送计算出的随机梯度g到服务器节点;
步骤205,判断是否收到服务器节点发送的停止工作消息,若否,则返回步骤201,继续训练;若是,则结束训练。
4.如权利要求2所述的能容忍不可信节点的分布式机器学习方法,其特征在于:步骤102以及步骤104-109中,生成若干个缓冲器,用于暂存服务器节点接收到的梯度信息,在所有缓冲器都已存有梯度信息后再通过聚集函数Aggr(·),计算出最终梯度,进行模型参数更新。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010143202.7/1.html,转载请声明来源钻瓜专利网。