CN111369008A - 一种阶段性增大批量的机器学习方法 - Google Patents

一种阶段性增大批量的机器学习方法 Download PDF

Info

Publication number
CN111369008A
CN111369008A CN202010143183.8A CN202010143183A CN111369008A CN 111369008 A CN111369008 A CN 111369008A CN 202010143183 A CN202010143183 A CN 202010143183A CN 111369008 A CN111369008 A CN 111369008A
Authority
CN
China
Prior art keywords
machine learning
stage
batch
parameters
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010143183.8A
Other languages
English (en)
Inventor
李武军
赵申宜
解银朋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN202010143183.8A priority Critical patent/CN111369008A/zh
Publication of CN111369008A publication Critical patent/CN111369008A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明公开了一种阶段性增大批量的机器学习方法:首先将训练过程分成数个阶段,每个阶段增大批量大小到上一阶段批量大小的一定倍数。每个阶段运行的算法如下:初始化参数,计算参数更新次数,然后进行循环;每次循环从所有数据中随机选取该阶段对应的批量大小的数据,计算这些数据对应的梯度,然后解优化问题更新参数;最后从该阶段中所有循环的更新后的参数中选取一个作为下一个阶段的初始化参数。本发明基于阶段性训练框架,每个阶段增大批量大小,大的批量可以减少参数更新次数,并且可以更充分地利用GPU等计算资源,提升单机机器学习效率。也可以用来减少多机分布式机器学习中的通信次数和参数更新次数,提升分布式机器学习的效率。

Description

一种阶段性增大批量的机器学习方法
技术领域
本发明涉及一种阶段性增大批量的机器学习方法,应用于机器学习领域的梯度下降法及其变种,可以有效地提高GPU利用效率,提高单机训练速度,提高分布式机器学习的效率。
背景技术
大部分机器学习模型可以被形式化为以下优化问题:
Figure BDA0002399813780000011
其中w代表了模型的参数,n代表了训练样本的总数,ξi代表了第i个样本,f(w;ξi)则表示第i个样本所对应的损失函数,d表示模型大小。为了求解上述优化问题,随机梯度下降法(SGD)以及它的变体是目前应用最为广泛的方法。随机梯度下降法的变种中一个非常经典并且广泛使用的是阶段性随机梯度下降法。阶段性随机梯度下降法基于多阶段学习框架,在其第s个阶段,进行如下迭代:
Figure BDA0002399813780000012
其中
Figure BDA0002399813780000013
是模型初始化参数,m=1,2,…,Ms
Figure BDA0002399813780000014
是从
Figure BDA0002399813780000015
中随机采样出来的一个批量大小为
Figure BDA0002399813780000016
的数据,ηs是第s个阶段的学习率,ηs在每个阶段迭代时保持不变,并随着阶段增加逐步减小。在第s个阶段迭代结束后,随机从{wm}中选取一个或直接选择
Figure BDA0002399813780000017
作为下一阶段初始参数。
动态设置批量大小是指在训练过程中,批量数据的大小不是固定的,而是可以根据训练情况动态设置。可以根据随机梯度的方差大小来设置批量数据的大小,但是每一次迭代都需要计算随机梯度的噪声,会带来额外开销。也可以使用阶段性策略,从一个较小的批量大小开始,随着阶段增加逐步增大批量大小,但是增大的倍数很难太大,否则难以保证收敛,并且很容易增大泛化误差。
在单机环境下,增大批量大小可以减少参数更新次数,只要批量大小不超过内存限制,增大批量大小可以充分利用多核系统如GPU的计算力,因此可以加快训练速度,提高机器学习训练效率。另外在分布式环境下,增大批量大小既可以减少参数更新次数,也可以减少通信次数。但是不合理地增大批量大小会导致随机梯度下降法的收敛效果变差,相比于较小的批量大小容易增大泛化误差。因此需要有一种合理增大批量大小的方法。
发明内容
发明目的:目前的随机梯度下降法一般使用很小且固定的批量大小,一般不会占满GPU显存,而且难以充分利用GPU的计算力。在分布式环境下,小批量的随机梯度下降法参数更新次数多,通信次数频繁,通信开销大。现有的大批量数据训练的方法或者动态设置批量大小的方法,要么需要额外开销,要么容易增加泛化误差。针对以上问题和不足,提供一种阶段性增大批量的机器学习方法,基于多阶段训练框架,每个阶段迭代时保持学习率不变,随着阶段增加逐步增大批量大小,随机选取批量数据,算出对应的梯度,求解带二次惩罚的优化问题来更新参数,选取该阶段中的一个参数作为下一阶段的初始参数进行训练。可以看出,本发明的方法,阶段性的增大批量大小,无额外开销,可以应用于减少参数更新次数,更充分地利用GPU等计算资源,提升单机机器学习效率,也可以应用于减少多机分布式机器学习中的通信次数和参数更新次数,提升分布式机器学习的效率。实验和理论表明,本发明的方法具有收敛保证,不会增大泛化误差。
技术方案:一种阶段性增大批量的机器学习方法,具体步骤为:
步骤100,输入初始化机器学习模型参数
Figure BDA0002399813780000021
训练样本集合
Figure BDA0002399813780000022
训练样本集合大小n,训练阶段数S,学习率η,初始化批量大小b1,初始化计算复杂度C1,二次惩罚项系数γ>0,批量大小增大倍数ρ>1。
步骤101,随机初始化第一阶段模型参数
Figure BDA0002399813780000023
步骤102,初始化阶段s的初始模型参数
Figure BDA0002399813780000024
步骤103,计算阶段s的参数更新次数Ms=Cs/bs
步骤104,从训练样本集合
Figure BDA00023998137800000210
中随机挑选该阶段对应的批量大小的数据
Figure BDA0002399813780000025
步骤105,计算批量数据
Figure BDA0002399813780000026
对应的梯度
Figure BDA0002399813780000027
步骤106,更新参数
Figure BDA0002399813780000028
其中r(w)为二次惩罚函数,
Figure BDA0002399813780000029
步骤107,判断当前已完成的迭代次数m是否达到该阶段参数更新次数Ms,如果未达到,返回步骤104继续训练。否则,bs+1=ρbs,Cs+1=ρCs
Figure BDA0002399813780000031
其中wτ是从
Figure BDA0002399813780000032
中选出来的一个参数。
步骤108,判断当前阶段数s是否达到训练阶段数S,如果达到则返回参数
Figure BDA0002399813780000033
否则,s=s+1,返回步骤102进入下一阶段的训练。
有益效果:本发明提供的阶段性增大批量的机器学习方法,适用于梯度下降法,也适用于梯度下降法的变种包括动量随机梯度下降法和自适应随机梯度下降法。本发明的方法基于多阶段训练框架,随着阶段数增加动态增大批量大小,与现有技术相比,本发明的方法无需在每次迭代中额外计算随机梯度的噪声,每个阶段可以把批量大小增大数倍或十几倍,将参数更新次数减小数倍或十几倍,可以更充分地利用GPU等计算资源,提升单机机器学习效率,而且保证泛化误差不会增大。本发明也可以用来减少多机分布式机器学习中的通信次数和参数更新次数,提升分布式机器学习的效率。
附图说明
图1是本发明实施例的方法流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
阶段性增大批量的机器学习方法,可应用于图像分类、自然语言处理、语音识别等领域,适合于待分类的数据集样本数多、计算资源比较充分的场景。以图像分类应用为例,本发明的方法在图像分类应用中的具体工作流程如下所述:
如图1所示,首先输入初始化机器学习模型参数
Figure BDA0002399813780000034
训练阶段数S,学习率η,初始化批量图像数据大小b1,初始化计算复杂度C1,二次惩罚项系数γ>0,批量图像数据大小增大倍数ρ>1(步骤100);随机初始化第一阶段模型参数
Figure BDA0002399813780000035
(步骤101);初始化阶段数计数器s=1(步骤102);初始化迭代轮数计数器m=1(步骤103);初始化阶段s的初始模型参数
Figure BDA0002399813780000036
(步骤104);随后进入到模型训练的迭代阶段:从训练图像数据集合
Figure BDA0002399813780000037
中随机挑选一个小批量图像数据
Figure BDA0002399813780000041
(步骤105);根据小批量图像数据的类别标签,计算其对应的梯度
Figure BDA0002399813780000042
(步骤106),更新参数
Figure BDA0002399813780000043
Figure BDA0002399813780000044
其中r(w)为二次惩罚函数,
Figure BDA0002399813780000045
(步骤107)。每次迭代结束时将迭代轮数计数器增加1(步骤108)并判断是否达到停止条件m=M+1(步骤109),若未达到停止条件则继续迭代,否则获取下一阶段初始参数
Figure BDA0002399813780000046
其中wτ是从
Figure BDA0002399813780000047
中随机选出来的一个,并且增大批量和计算复杂度bs+1=ρbs,Cs+1=ρCs(步骤110),然后结束这一阶段迭代。每次一个阶段结束时,将训练阶段数计数器增加1(步骤111)并判断是否达到停止条件s=S+1(步骤112),若未达到停止条件,s=s+1,进入下一个阶段,否则,返回参数
Figure BDA0002399813780000048
结束训练流程并使用
Figure BDA0002399813780000049
对非训练图像数据进行分类(步骤113)。
本发明的方法在多个图像分类数据集上进行了实验。实验过程中,初始设置较小的批量大小,每个阶段可以将批量大小增大4倍、8倍或12倍,跟采用小批量训练的方法比较总的训练时间和最终在测试集上的精度。实验结果表明,本发明提出的方法在不增大泛化误差的前提下,通过逐步增大批量大小可以更充分地利用GPU等计算资源,减少参数更新次数,提高机器学习效率。

Claims (5)

1.一种阶段性增大批量的机器学习方法,其特征在于,具体步骤为:
步骤1,初始化机器学习模型;
步骤2,计算阶段s的参数更新次数Ms=Cs/bs,初始模型参数
Figure FDA0002399813770000011
步骤3,从训练样本集合
Figure FDA0002399813770000012
中随机挑选该阶段对应的批量大小的数据
Figure FDA0002399813770000013
步骤105,计算批量数据
Figure FDA0002399813770000014
对应的梯度
Figure FDA0002399813770000015
步骤106,更新参数wm+1
步骤107,判断当前已完成的迭代次数m是否达到该阶段参数更新次数Ms,如果未达到,返回步骤3继续训练;否则,bs+1=ρbs,Cs+1=ρCs
Figure FDA0002399813770000016
其中wτ是从
Figure FDA0002399813770000017
中选出来的一个参数;
步骤108,判断当前阶段数s是否达到训练阶段数S,如果达到则返回参数
Figure FDA0002399813770000018
否则,s=s+1,进入下一阶段的训练。
2.如权利要求1所述的阶段性增大批量的机器学习方法,其特征在于,所述初始化机器学习模型包括:输入初始化机器学习模型参数
Figure FDA0002399813770000019
训练样本集合
Figure FDA00023998137700000110
训练样本集合大小n,训练阶段数S,学习率η,初始化批量大小b1,初始化计算复杂度C1,二次惩罚项系数γ>0,批量大小增大倍数ρ>1;随机初始化第一阶段模型参数
Figure FDA00023998137700000111
3.如权利要求1所述的阶段性增大批量的机器学习方法,其特征在于,参数
Figure FDA00023998137700000112
其中r(w)为二次惩罚函数,
Figure FDA00023998137700000113
4.如权利要求1所述的阶段性增大批量的机器学习方法,其特征在于,方法用于减少参数更新次数,更充分地利用GPU计算资源,提升单机机器学习效率;或者用于减少多机分布式机器学习中的通信次数和参数更新次数,提升分布式机器学习的效率。
5.如权利要求1所述的阶段性增大批量的机器学习方法,其特征在于,方法用于图像分类、自然语言处理和语音识别。
CN202010143183.8A 2020-03-04 2020-03-04 一种阶段性增大批量的机器学习方法 Pending CN111369008A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010143183.8A CN111369008A (zh) 2020-03-04 2020-03-04 一种阶段性增大批量的机器学习方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010143183.8A CN111369008A (zh) 2020-03-04 2020-03-04 一种阶段性增大批量的机器学习方法

Publications (1)

Publication Number Publication Date
CN111369008A true CN111369008A (zh) 2020-07-03

Family

ID=71211686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010143183.8A Pending CN111369008A (zh) 2020-03-04 2020-03-04 一种阶段性增大批量的机器学习方法

Country Status (1)

Country Link
CN (1) CN111369008A (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287031A (zh) * 2019-07-01 2019-09-27 南京大学 一种减少分布式机器学习通信开销的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287031A (zh) * 2019-07-01 2019-09-27 南京大学 一种减少分布式机器学习通信开销的方法

Similar Documents

Publication Publication Date Title
CN110832509B (zh) 使用神经网络的黑盒优化
KR20190113928A (ko) 강화 학습을 통한 디바이스 배치 최적화
JP2018109947A (ja) ニューラルネットワークの処理速度を向上させるための装置及び方法、並びにその応用
WO2018039011A1 (en) Asychronous training of machine learning model
CN117787346A (zh) 前馈生成式神经网络
CN109345027B (zh) 基于独立成分分析与支持向量机的微电网短期负荷预测方法
CN112052958A (zh) 模型训练的方法、装置、设备及计算机可读存储介质
CN115437795B (zh) 一种异构gpu集群负载感知的显存重计算优化方法及系统
CN112183750A (zh) 神经网络模型训练方法、装置、计算机设备及存储介质
CN113128478A (zh) 模型训练方法、行人分析方法、装置、设备及存储介质
CN111325222A (zh) 图像归一化处理方法及装置、存储介质
CN114298329A (zh) 一种模型训练方法、装置、设备及存储介质
US20210073645A1 (en) Learning apparatus and method, and program
CN113407820B (zh) 利用模型进行数据处理的方法及相关系统、存储介质
CN117151195A (zh) 基于求逆归一化的模型优化方法、装置、设备和介质
CN116910210A (zh) 基于文档的智能问答模型训练方法、装置及其应用
CN113591398B (zh) 基于深度强化学习的智能作业分批方法、装置及电子设备
CN111369008A (zh) 一种阶段性增大批量的机器学习方法
CN108573275B (zh) 一种在线分类微服务的构建方法
CN111860814A (zh) 一种用于执行batch normalization运算的装置和方法
CN117011118A (zh) 模型参数更新方法、装置、计算机设备以及存储介质
CN113919871A (zh) 一种基于改进lstm模型的碳交易价格预测方法
WO2022221997A1 (en) Parallelizing moment-based optimizations with blockwise model-update filtering
CN117894306B (zh) 一种语音处理方法、装置、计算机设备及存储介质
CN112085524B (zh) 一种基于q学习模型的结果推送方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200703

RJ01 Rejection of invention patent application after publication