CN111369008A - 一种阶段性增大批量的机器学习方法 - Google Patents
一种阶段性增大批量的机器学习方法 Download PDFInfo
- 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
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 34
- 238000012549 training Methods 0.000 claims abstract description 34
- 238000000034 method Methods 0.000 claims abstract description 23
- 238000004891 communication Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 4
- 238000003058 natural language processing Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000005457 optimization Methods 0.000 abstract description 4
- 238000011478 gradient descent method Methods 0.000 description 12
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification 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利用效率,提高单机训练速度,提高分布式机器学习的效率。
背景技术
大部分机器学习模型可以被形式化为以下优化问题:
其中w代表了模型的参数,n代表了训练样本的总数,ξi代表了第i个样本,f(w;ξi)则表示第i个样本所对应的损失函数,d表示模型大小。为了求解上述优化问题,随机梯度下降法(SGD)以及它的变体是目前应用最为广泛的方法。随机梯度下降法的变种中一个非常经典并且广泛使用的是阶段性随机梯度下降法。阶段性随机梯度下降法基于多阶段学习框架,在其第s个阶段,进行如下迭代:
其中是模型初始化参数,m=1,2,…,Ms,是从中随机采样出来的一个批量大小为的数据,ηs是第s个阶段的学习率,ηs在每个阶段迭代时保持不变,并随着阶段增加逐步减小。在第s个阶段迭代结束后,随机从{wm}中选取一个或直接选择作为下一阶段初始参数。
动态设置批量大小是指在训练过程中,批量数据的大小不是固定的,而是可以根据训练情况动态设置。可以根据随机梯度的方差大小来设置批量数据的大小,但是每一次迭代都需要计算随机梯度的噪声,会带来额外开销。也可以使用阶段性策略,从一个较小的批量大小开始,随着阶段增加逐步增大批量大小,但是增大的倍数很难太大,否则难以保证收敛,并且很容易增大泛化误差。
在单机环境下,增大批量大小可以减少参数更新次数,只要批量大小不超过内存限制,增大批量大小可以充分利用多核系统如GPU的计算力,因此可以加快训练速度,提高机器学习训练效率。另外在分布式环境下,增大批量大小既可以减少参数更新次数,也可以减少通信次数。但是不合理地增大批量大小会导致随机梯度下降法的收敛效果变差,相比于较小的批量大小容易增大泛化误差。因此需要有一种合理增大批量大小的方法。
发明内容
发明目的:目前的随机梯度下降法一般使用很小且固定的批量大小,一般不会占满GPU显存,而且难以充分利用GPU的计算力。在分布式环境下,小批量的随机梯度下降法参数更新次数多,通信次数频繁,通信开销大。现有的大批量数据训练的方法或者动态设置批量大小的方法,要么需要额外开销,要么容易增加泛化误差。针对以上问题和不足,提供一种阶段性增大批量的机器学习方法,基于多阶段训练框架,每个阶段迭代时保持学习率不变,随着阶段增加逐步增大批量大小,随机选取批量数据,算出对应的梯度,求解带二次惩罚的优化问题来更新参数,选取该阶段中的一个参数作为下一阶段的初始参数进行训练。可以看出,本发明的方法,阶段性的增大批量大小,无额外开销,可以应用于减少参数更新次数,更充分地利用GPU等计算资源,提升单机机器学习效率,也可以应用于减少多机分布式机器学习中的通信次数和参数更新次数,提升分布式机器学习的效率。实验和理论表明,本发明的方法具有收敛保证,不会增大泛化误差。
技术方案:一种阶段性增大批量的机器学习方法,具体步骤为:
步骤103,计算阶段s的参数更新次数Ms=Cs/bs。
有益效果:本发明提供的阶段性增大批量的机器学习方法,适用于梯度下降法,也适用于梯度下降法的变种包括动量随机梯度下降法和自适应随机梯度下降法。本发明的方法基于多阶段训练框架,随着阶段数增加动态增大批量大小,与现有技术相比,本发明的方法无需在每次迭代中额外计算随机梯度的噪声,每个阶段可以把批量大小增大数倍或十几倍,将参数更新次数减小数倍或十几倍,可以更充分地利用GPU等计算资源,提升单机机器学习效率,而且保证泛化误差不会增大。本发明也可以用来减少多机分布式机器学习中的通信次数和参数更新次数,提升分布式机器学习的效率。
附图说明
图1是本发明实施例的方法流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
阶段性增大批量的机器学习方法,可应用于图像分类、自然语言处理、语音识别等领域,适合于待分类的数据集样本数多、计算资源比较充分的场景。以图像分类应用为例,本发明的方法在图像分类应用中的具体工作流程如下所述:
如图1所示,首先输入初始化机器学习模型参数训练阶段数S,学习率η,初始化批量图像数据大小b1,初始化计算复杂度C1,二次惩罚项系数γ>0,批量图像数据大小增大倍数ρ>1(步骤100);随机初始化第一阶段模型参数(步骤101);初始化阶段数计数器s=1(步骤102);初始化迭代轮数计数器m=1(步骤103);初始化阶段s的初始模型参数(步骤104);随后进入到模型训练的迭代阶段:从训练图像数据集合中随机挑选一个小批量图像数据(步骤105);根据小批量图像数据的类别标签,计算其对应的梯度(步骤106),更新参数 其中r(w)为二次惩罚函数,(步骤107)。每次迭代结束时将迭代轮数计数器增加1(步骤108)并判断是否达到停止条件m=M+1(步骤109),若未达到停止条件则继续迭代,否则获取下一阶段初始参数其中wτ是从中随机选出来的一个,并且增大批量和计算复杂度bs+1=ρbs,Cs+1=ρCs(步骤110),然后结束这一阶段迭代。每次一个阶段结束时,将训练阶段数计数器增加1(步骤111)并判断是否达到停止条件s=S+1(步骤112),若未达到停止条件,s=s+1,进入下一个阶段,否则,返回参数结束训练流程并使用对非训练图像数据进行分类(步骤113)。
本发明的方法在多个图像分类数据集上进行了实验。实验过程中,初始设置较小的批量大小,每个阶段可以将批量大小增大4倍、8倍或12倍,跟采用小批量训练的方法比较总的训练时间和最终在测试集上的精度。实验结果表明,本发明提出的方法在不增大泛化误差的前提下,通过逐步增大批量大小可以更充分地利用GPU等计算资源,减少参数更新次数,提高机器学习效率。
Claims (5)
4.如权利要求1所述的阶段性增大批量的机器学习方法,其特征在于,方法用于减少参数更新次数,更充分地利用GPU计算资源,提升单机机器学习效率;或者用于减少多机分布式机器学习中的通信次数和参数更新次数,提升分布式机器学习的效率。
5.如权利要求1所述的阶段性增大批量的机器学习方法,其特征在于,方法用于图像分类、自然语言处理和语音识别。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287031A (zh) * | 2019-07-01 | 2019-09-27 | 南京大学 | 一种减少分布式机器学习通信开销的方法 |
-
2020
- 2020-03-04 CN CN202010143183.8A patent/CN111369008A/zh active Pending
Patent Citations (1)
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 |