CN111295677A - 信息处理设备和信息处理方法 - Google Patents

信息处理设备和信息处理方法 Download PDF

Info

Publication number
CN111295677A
CN111295677A CN201880071369.8A CN201880071369A CN111295677A CN 111295677 A CN111295677 A CN 111295677A CN 201880071369 A CN201880071369 A CN 201880071369A CN 111295677 A CN111295677 A CN 111295677A
Authority
CN
China
Prior art keywords
learning
batch size
information processing
value
processing apparatus
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
CN201880071369.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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN111295677A publication Critical patent/CN111295677A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/96Management of image or video recognition tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

[问题]有效地加速使用DNN的学习,而与学习技术无关。[解决方案]提供了一种信息处理设备,其包括使用神经网络执行学习的学习单元,并且该学习单元基于具有用于学习来自神经网络的输出的理想状态的间隙值动态地改变在学习期间的批大小的值。此外,提供了一种信息处理方法,其包括由处理器执行使用神经网络的学习,并且该学习还包括基于具有用于学习来自神经网络的输出的理想状态的间隙值动态地改变在学习期间的批大小的值。

Description

信息处理设备和信息处理方法
技术领域
本公开涉及信息处理设备和信息处理方法。
背景技术
近年来,神经网络(其作为表示大脑神经系统机制的数学模型)已受到关注。此外,已经提出了许多使用神经网络来增加学习速度的技术。例如,非专利文献1公开了用于在学习期间改变批大小的技术。
引用列表
非专利文献
非专利文献1:Samuel L.Smith和其他三人,“Don't Decay the Learning Rate,Increase the Batch Size”,2017年11月1日,[在线],[2018年9月7日搜索],互联网<https://arxiv.org/pdf/1711.00489.pdf>
发明内容
技术问题
然而,非专利文献1中公开的技术依赖于特定的学习技术,并且难以将其应用于不采用该技术的学习。
问题的解决方案
根据本公开,提供了一种信息处理设备,其包括:使用神经网络执行学习的学习单元,其中,该学习单元在学习期间基于具有用于从神经网络输出的学习的理想状态的间隙值动态地改变批大小的值。
此外,根据本公开,提供了一种信息处理方法,其包括:由处理器使用神经网络执行学习,其中,该学习还包括在学习期间基于具有用于从神经网络输出的学习的理想状态的间隙值动态地改变批大小的值。
附图说明
图1是示出在应用分阶学习率衰减的情况下损失(loss)的转变的示例的曲线图。
图2是示出根据本公开的实施方式的批大小改变的概述的曲线图。
图3是示出根据实施方式的信息处理设备的功能配置的示例的框图。
图4是示出当根据实施方式的基于损失的梯度的批大小改变应用于ImageNet/ResNet-50时的验证结果的曲线图。
图5是示出当根据实施方式的基于训练值的批大小改变应用于ImageNet/ResNet-50时的验证结果的曲线图。
图6是示出当根据实施方式的基于损失的批大小改变应用于使用MNIST的学习时的验证结果的曲线图。
图7是示出当根据实施方式的基于损失的批大小改变应用于使用cifar10的学习时的验证结果的曲线图。
图8是示出当将根据实施方式的基于损失的批大小改变应用于使用cifar10的学习时的验证结果的曲线图。
图9是示出根据实施方式的用于基于损失的第一微分值改变批大小的训练脚本和损失梯度计算模块的示例的示图。
图10是示出当根据实施方式的每个回合(epoch)中的批大小增加应用于使用MNIST的学习时的验证结果的曲线图。
图11是示出当根据实施方式的基于损失和回合的批大小改变应用于使用cifar10的学习时的验证结果的曲线图。
图12是示出根据本实施方式的用于基于损失和回合来增加或减少批大小的训练脚本的示例的示图。
图13是示出根据实施方式的通过批大小改变单元在GPU中重构模型的示图。
图14是示出根据实施方式的批大小改变单元对计算循环的数量的增加或减少的控制的示图。
图15是示出根据实施方式的对批大小改变单元使用的GPU的数量的增加或减少的控制的示图。
图16是示出根据本实施方式的批大小改变单元的控制的流程的流程图。
图17是示出根据本公开的实施方式的硬件配置的示例的示图。
具体实施方式
下面参考附图详细描述本公开的优选实施方式。这里,在描述和附图中,具有大致相同的功能配置的组件由相同的参考数字表示,并且省略冗余的描述。
此外,按照以下顺序给出描述。
1.实施方式
1.1.概述
1.2.信息处理设备10的功能配置的示例
1.3.验证结果
1.4.用于增加/减少批大小的实现技术
2.硬件配置的示例
3.结论
<1.实施方式>
<<1.1.概述>>
首先,描述本公开的一个实施方式的概述。如上所述,近年来,已经提出了许多增加使用神经网络的学习的速度的技术。通常,由于DNN(Deep Neural Network)学习所需的时间与参数更新的次数成正比,因此减少更新次数可能是增加学习速度的有效途径。
可以通过例如增加批大小来减少参数更新的次数。此外,已知在学习的后半部分,即使批大小增加,学习也收敛;因此,如在例如非专利文献1中所公开的,在学习期间改变批大小以设置尽可能大的批大小,由此可以减少参数更新的次数,并且因此可以预期学习加速的效果。
然而,非专利文献1中公开的用于改变批大小的方法是可以仅应用于特定学习技术的方法。这里,上述特定学习技术是指称为分阶学习率衰减的技术。
图1是示出在应用分阶学习率衰减的情况下损失(loss)的转变的示例的曲线图。如图1所示,分阶学习率衰减是一种通过逐阶降低学习率来逐阶减少损失的技术。参考图1所示的示例,可以理解,损失在回合30和回合60附近大幅减少,并且该曲线图具有分阶形式。
根据非专利文献1中公开的技术,可以在损失大幅减少的定时(诸如回合30和60)改变批大小;然而,它不适用于其中损失的转变不表现出上述分阶形式的学习技术。
已经针对上述要点开发了根据本公开的技术思想,以便有效地加速使用DNN的学习,而与学习技术无关。因此,根据本公开的一个实施方式的信息处理设备10的特征之一在于,其包括使用神经网络执行学习的学习单元120,并且该学习单元120在学习期间基于具有用于从神经网络的输出进行学习的理想状态的间隙值动态地改变批大小的值。
这里,具有上述理想状态的间隙值可以是定量地表示预计输出与实际输出之间的差的指标。根据本实施方式的具有理想状态的间隙值包括例如损失。此外,根据本实施方式的具有理想状态的间隙值可以包括训练误差或验证误差。
此外,用作上述间隙值的训练误差和变化误差的示例包括可以用作损失的均方误差(MSE:Mean Square Error)或平均绝对误差(MAE:Mean Absolute Error),用于图像分类的TOP-k-error(特别是top-1-error、top-5-error等)以及用于目标检测的mAP(meanAverage Precision)。
这里,参考图2描述根据本实施方式的批大小改变的概述。图2示出了表示损失随回合的进展而转变的曲线图。这里,在图2和随后的图所示的每个曲线图中,实线指示没有批大小改变情况下的损失的转变(参考),而虚线指示应用了根据本实施方式的批大小改变的损失的转变(逼近)。
根据本实施方式的学习单元120可以在例如基于损失预计学习收敛的情况下在学习期间增加批大小的值。
较小的损失值指示DNN接近解,即,学习的收敛(学习稳定)。因此,根据本实施方式的学习单元120可以基于损失的n阶微分值(n-th differential value,n阶微分值)在学习期间增加批大小的值。
例如,根据本实施方式的学习单元120可以在损失的一阶微分值(firstdifferential value,第一微分值),即,梯度下降到预定阈值以下时,增加批大小的值。在图2所示的示例的情况下,学习单元120在损失梯度稳定的定时T1(回合30)将批大小的值从32K增加到64K。
此外,例如,根据本实施方式的学习单元120可以在损失的0阶微分值(0-thdifferential value),即,损失本身的值下降到预定阈值以下时,增加批大小的值。这里,当上述阈值为0.3时,学习单元120可以在损失的值下降到0.3以下的定时T2(回合60)增加批大小的值。此外,学习单元120可以基于n阶微分值增加批大小的值,其中,n>2。
这里,当相互比较逼近和参考时,可以理解,即使当应用根据本实施方式的批大小改变方法时,也能维持性能而不产生学习的发散。即,利用由根据本实施方式的信息处理设备10实现的批量改变方法,可以维持学习性能,并且还可以减少参数更新的次数,即,减少学习时间。
此外,利用根据本实施方式的批量改变方法,即使学习技术具有不表现出如图2所示的分阶形式的损失的转变,也可以增加批大小,并且减少学习时间。因此,利用根据本实施方式的信息处理设备10,可以有效地加速使用DNN的学习,而与学习技术无关。
<<1.2.信息处理设备10的功能配置的示例>>
接下来,描述根据本实施方式的信息处理设备10的功能配置的示例。图3是示出根据本实施方式的信息处理设备10的功能配置的示例的框图。参考图3,根据本实施方式的信息处理设备10包括输入/输出控制单元110、学习单元120、微分计算单元130、以及批大小改变单元140。
(输入/输出控制单元110)
根据本实施方式的输入/输出控制单元110控制与DNN学习相关的用户接口。例如,根据本实施方式的输入/输出控制单元110将经由输入装置输入的各种数据传送到学习单元120。此外,例如,输入/输出控制单元110将从学习单元120输出的值传送到输出装置。
(学习单元120)
根据本实施方式的学习单元120使用DNN执行学习。如上所述,根据本实施方式的学习单元120的特征之一在于,在学习期间基于具有用于从DNN输出的学习的理想状态的间隙值动态地改变批大小的值。根据本实施方式的具有理想状态的间隙值包括例如损失、训练误差或验证误差。
(微分计算单元130)
根据本实施方式的微分计算单元130对从学习单元120输入的损失执行n阶微分处理以计算n阶微分值,并且将n阶微分值输出到学习单元120。
(批大小改变单元140)
根据本实施方式的批大小改变单元140提供基于由学习单元120设置的批大小的值来控制批大小的增加/减小的功能。稍后单独描述在根据本实施方式的批大小改变单元140中提供的功能的细节。
以上已经描述了根据本实施方式的信息处理设备10的功能配置的示例。此外,以上参考图3描述的配置仅是示例,并且根据本实施方式的信息处理设备10的功能配置不限于该示例。根据本实施方式的信息处理设备10的功能配置可以根据规格和操作灵活地修改。
<<1.3.验证结果>>
接下来,描述由根据本实施方式的信息处理设备10实现的批大小改变方法的验证结果。
首先,描述将ImageNet用作数据集并且将ResNet-50用作DNN的情况下的验证结果。图4是示出当根据本实施方式的基于损失的梯度的批大小改变应用于ImageNet/ResNet-50时的验证结果的曲线图。
这里,在参考中的批大小固定为32K的情况下执行学习。另一方面,在逼近中,在损失的一阶微分值,即,梯度下降到阈值以下的定时T3(回合30),批大小从32K增加到68K,并且继续学习。
当相互比较参考和逼近时,可以理解,即使当通过使用根据本实施方式的批量改变方法来增加批大小时,也不会对损失的收敛影响很大。
此外,图5是示出当根据本实施方式的基于训练值的批大小改变应用于ImageNet/ResNet-50时的验证结果的曲线图。
这里,在训练误差的0阶微分值下降到阈值1.8以下的定时T4(回合30),批大小从2K增加到20K,并且继续学习。
参考图5,可以理解,即使当基于训练误差的0阶微分值增加批大小时,学习收敛而没有任何效果。
接下来,描述将MNIST用作数据集的情况下的验证结果。图6是示出当根据本实施方式的基于损失的批大小改变应用于使用MNIST的学习时的验证结果的曲线图。
这里,在参考中的批大小固定为128的情况下执行学习。另一方面,在逼近中,在损失的一阶微分值下降到阈值以下并且损失的0阶微分值下降到阈值0.03以下的定时T5(回合1),批大小从128增加到3072,并且继续学习。
作为上述控制的结果,参数更新的次数可以从2000减少到560,并且学习时间可以显著减少。
接下来,描述将cifar10用作数据集的情况下的验证结果。图7和图8是示出当根据本实施方式的基于损失的批大小改变应用于使用cifar10的学习时的验证结果的曲线图。
在根据图7的验证中,在参考中的批大小固定为64的情况下执行学习。另一方面,在逼近中,在损失的一阶微分值下降到阈值以下并且损失的0阶微分值下降到阈值0.35以下的定时T6(回合5),批大小从64增加到1024,并且继续学习。
作为以上控制的结果,参数更新的次数可以从20000减少到5000,并且学习时间可以显著减少。
此外,在根据图8的验证中,以与根据图7的验证中相同的方式,在参考中的批大小固定为64的情况下执行学习。另一方面,在逼近中,在损失的0阶微分值下降到阈值0.35以下的定时T7(回合8),批大小从64增加到1024,并且继续学习。
作为上述控制的结果,参数更新的次数可以从20000减少到7250,并且学习时间可以显著减少。
以上已经描述了根据本实施方式的批大小改变方法的验证结果。上述验证结果表明,当应用根据本实施方式的批大小改变方法时,参数更新的次数可以减少大约1/3至1/4,而对性能大致没有影响。如上所述,利用根据本实施方式的信息处理设备10,可以有效地加速使用DNN的学习,与学习技术无关。
此外,基于损失的一阶微分值的批大小可以通过例如图9所示的训练脚本TS1和损失梯度计算模块CM来改变。此外,在图9中示出伪代码。
在图9所示的示例的情况下,在训练脚本TS1中,首先执行损失梯度获取API的调用过程,即,损失梯度计算模块CM,并且获取loss_grad的当前值作为返回值。
然后,执行处理以比较所获取的值loss_grad和阈值,并且此处,当值loss_grad下降到阈值以下时,执行处理以增加批大小。
在训练脚本TS1中,重复执行上述处理中的每个处理,直到学习收敛。
此外,在由训练脚本TS1调用损失梯度计算模块CM之后,将损失的存储值保存到loss_prev中,并获得新获取的损失与loss_prev之间的差,从而计算出loss_grad。这里,在损失梯度计算模块CM中,可以执行处理以计算损失的移动平均值以便去除噪声,如图所示。
虽然以上作为主要示例描述了批大小增大的情况,但是当基于损失预计学习发散时,根据本实施方式的学习单元120可以在学习期间减小批大小的值。
例如,在图5所示的示例的情况下,由于学习在时段D1期间仍然不稳定,因此学习单元120维持给定为默认值的批大小的较小值。相反,当学习在时段D2中稳定时,学习单元120可以增加批大小的值。
然而,在分阶学习率衰减中,通常,在学习率降低之后,损失立即大幅降低,并且因此,与学习率降低之前相比,预计很可能出现学习发散。为此,根据本实施方式的学习单元120可以在时段D2中增加一次批大小的值,然后在时段D3中减小批大小的值,以便实现学习的收敛。这里,学习单元120可以设置例如落在时段D1与时段D2中的批大小之间的批大小的值。
接下来,描述根据本实施方式的基于回合改变批大小。在使用DNN的学习中,当学习率不降低时,存在随着学习的进一步进行,即,随着回合的进一步进行,学习变得更容易的强烈趋势。因此,根据本实施方式的学习单元120可以根据回合的进行来增加批大小的值。例如,根据本实施方式的学习单元120可以在每个回合中增加批大小的值。
图10是示出当根据本实施方式的每个回合中的批大小增加应用于使用MNIST的学习时的验证结果的曲线图。这里,批大小的默认值被设置为128,并执行控制以使批大小在回合1(定时T8)中加倍为256,在回合2(定时T9)中加倍为512,并且在回合3(定时T10)中加倍为1024。
作为上述控制的结果,参数更新的次数可以从2000减少到938。根据验证结果,可以理解,即使在每个回合中增加批大小时,损失的收敛也不会受到很大影响,并且学习时间可以显著减少。
此外,当预计由于基于损失或回合的批大小的值的增加而学习发散时,根据本实施方式的学习单元120在发散之前,即,在前一回合中重新加载网络模型,以便实现学习的收敛。
图11是示出当根据本实施方式的基于损失和回合的批大小改变应用于使用cifar10的学习时的验证结果的曲线图。
这里,批大小的初始值被设置为64,并且针对损失的0阶微分值的阈值被设置为0.35。在图11所示的示例中,基于在回合8(定时T11)中损失下降到阈值0.35以下的事实,开始增加批大小的处理,然后在每个回合中增加批大小。
然后,在回合14(定时T12),当批大小增加到4K时,预计学习发散。因此,根据本实施方式的学习单元120在回合15的开始时间停止增加批大小的值,在回合14的开始时间重新加载模型,然后在批大小的值被固定为2K时继续学习。
当如上所述根据本实施方式的学习单元120重新加载前一回合中的网络模型时,批大小的设置值可以小于在前一回合中设置的值。
利用根据本实施方式的学习单元120提供的上述功能,可以基于损失或回合自动地增加或减少批大小的值,并且可以有效地减少参数更新的次数,同时避免学习发散。
此外,如上所述通过使用例如图12所示的训练脚本TS2,可以基于损失和回合来增加或减小批大小。此外,在图12中,示出了伪代码。
在图12所示的示例的情况下,训练脚本TS2首先调用图9所示的损失梯度计算模块CM,并将获取的loss_grad作为返回值与阈值进行比较。这里,当loss_grad下降到阈值以下时,训练脚本TS2开始自动增加批大小。
然后,训练脚本TS2确定与前一回合中的损失相比,损失是否已经变得大于阈值。这里,当识别出损失的增加时,训练脚本TS2停止批大小的自动增加。
此外,此时,训练脚本TS2重新加载前一回合中的DNN网络模型。
<<1.4.用于增加/减少批大小的实现技术>>
接下来,详细描述根据本实施方式的用于增加/减少批大小的实现技术。根据本实施方式的批大小改变单元140获取由学习单元120设置的批大小的值,并且基于该值控制GPU(图形处理单元)以便增加或减少批大小。
例如,根据本实施方式的批大小改变单元140可以重构GPU中的模型,以便控制批大小的增加/减少。
图13是示出根据本实施方式的批大小改变单元140在GPU中重构模型的示图。在这种情况下,首先,学习单元120将损失的值输入到微分计算单元130,并获取该值的n阶偏微分值(n-th partial value)。此外,学习单元120基于获取的n阶偏微分值来确定改变后的批大小的值,并且将批大小的值输入到批大小改变单元140。
然后,根据本实施方式的批大小改变单元140指示当前用于学习的GPU基于批大小的输入值来重构模型。
这里,在图13所示的情况的示例中,在GPU_0和GPU_1中,GPU_0当前用于学习,并且当GPU_0中模型的批大小为32时,批大小改变单元140指示GPU_0重构模型,以便将模型的批大小改变为64。
由于根据本实施方式的批大小改变单元140的上述控制,批大小可以全局地增加而不受包括在信息处理设备10中的GPU数量的影响,并且可以利用GPU的并行计算能力,从而描述导致进一步加速的效果。
此外,例如,根据本实施方式的批大小改变单元140可以增加或减少用于关于学习的计算的循环的数量,以便控制批大小的增加或减少。上述技术也称为accum-grad。
图14是示出根据本实施方式的批大小改变单元140对计算循环的数量的增加或减少的控制的示图。在这种情况下,根据本实施方式的批大小改变单元140基于从学习单元120输入的批大小的值来指示当前用于学习的GPU改变计算循环的数量。
此外,在图14所示的情况的示例中,在GPU_0和GPU_1中,GPU_0当前用于学习,并且当GPU_0中的模型的批大小为32时,批大小改变单元140指示GPU_0执行两次accum-grad,使得批大小为32的学习执行两次。
利用根据本实施方式的批大小改变单元140的上述控制,可以不受由于GPU的数量或存储器容量的限制,增加批大小,并且由于执行同步处理的次数的减少,因此可以通过执行同步处理的次数的减少来增加学习的速度。
此外,例如,根据本实施方式的批大小改变单元140可以增加或减少用于学习的GPU的数量,以控制批大小的增加或减少。
图15是示出根据本实施方式的批大小改变单元140对使用的GPU的数量的增加或减少的控制的示图。在这种情况下,根据本实施方式的批大小改变单元140基于从学习单元120输入的批大小的值来指示当前未用于学习的GPU操作。
此外,在图15所示的情况的示例中,当在GPU_0和GPU_1中,仅GPU_0当前用于学习时,批大小改变单元140指示GPU_1操作。
利用根据本实施方式的批大小改变单元140的上述控制,增加了计算资源,使得可以相应地增加学习速度。
以上已经描述了根据本实施方式的用于通过批大小改变单元140控制批大小的改变的方法。此外,根据本实施方式的批大小改变单元140可以基于例如图16所示的优先级来选择用于控制批大小的改变的方法,以便进一步增加由于批大小的增加而加速的效果。
图16是示出根据本实施方式的批大小改变单元140的控制的流程的流程图。
参考图16,批大小改变单元140首先确定是否存在另外能够利用的GPU(S1101)。
这里,当存在另外能够利用的GPU时(S1101:是),批大小改变单元140将可用的GPU分配给学习,以便控制批大小的增加(S1102)。
然后,批大小改变单元140确定是否由于步骤S1102的处理已经实现目标批大小(S1103)。
这里,当已经实现目标批大小时(S1103:是),批大小改变单元140终止关于批大小改变的处理。
相反,当尚未实现目标批大小时(S1103:否),或者当不存在另外能够利用的GPU时(S1101:否),批大小改变单元140确定当前使用的GPU的存储器中是否存在空闲空间(S1104)。
这里,在当前使用的GPU的存储器中存在空闲空间时(S1104:是),批大小改变单元140重构当前使用的GPU中的模型以便控制批大小的增加(S1105)。
然后,批大小改变单元140确定是否由于步骤S1105的处理已经实现目标批大小(S1106)。
这里,当已经实现目标批大小时(S1106:是),批大小改变单元140终止关于批大小改变的处理。
相反,当尚未实现目标批大小时(S1106:否),或者在当前使用的GPU的存储器中没有空闲空间时(S1104:否),批大小改变单元140增加用于关于学习的计算的循环的数量,以便控制批大小的增加(S1107),并且终止关于批大小改变的处理。
<2.硬件配置的示例>
接下来,描述根据本公开的实施方式的信息处理设备10的硬件配置的示例。图17是示出根据本公开的实施方式的信息处理设备10的硬件配置的示例的框图。参考图17,信息处理设备10包括例如处理器871、ROM872、RAM 873、主机总线874、桥接器875、外部总线876、接口877、输入装置878和输出装置879、存储器880、驱动器881、连接端口882和通信装置883。此外,这里所示的硬件配置是示例,并且可以省略一些组件。此外,可以进一步包括除了这里所示的组件之外的组件。
(处理器871)
处理器871用作例如算术处理装置或控制装置,以基于记录在ROM872、RAM 873、存储器880或可移除记录介质901中的各种程序来控制每个组件的全部或部分操作。处理器871包括例如GPU和CPU。此外,根据本公开的实施方式的信息处理设备10包括至少两个GPU。
(ROM 872、RAM 873)
ROM 872是用于存储由处理器871读取的程序、用于计算的数据等的装置(means)。RAM 873临时或永久地存储例如由处理器871读取的程序和在执行该程序时适当地改变的各种参数。
(主机总线874、桥接器875、外部总线876、接口877)
处理器871、ROM 872和RAM 873例如经由能够进行高速数据传输的主机总线874彼此连接。此外,主机总线874经由桥接器875连接到例如具有相对低的数据传输速度的外部总线876。此外,外部总线876经由接口877连接到各种组件。
(输入装置878)
作为输入装置878,例如使用鼠标、键盘、触摸面板、按钮、开关或操纵杆。此外,作为输入装置878,可以使用能够使用红外线或其他无线电波发送控制信号的远程控制器(在下文中,遥控器)。此外,输入装置878包括诸如麦克风的语音输入装置。
(输出装置879)
输出装置879是可以视觉或听觉地通知用户所获取的信息的装置,诸如,诸如CRT(阴极射线管)、LCD或有机EL的显示装置、诸如扬声器或耳机的音频输出装置、打印机、移动电话或传真机。此外,根据本公开的输出装置879包括能够输出触觉刺激的各种振动装置。
(存储器880)
存储器880是存储各种类型的数据的装置。作为存储器880,例如,使用诸如硬盘驱动器(HDD)的磁存储装置、半导体存储装置、光学存储装置或磁光存储装置。
(驱动器881)
驱动器881是读取记录在诸如磁盘、光盘、磁光盘或半导体存储器的可移除记录介质901中的信息的装置,或是将信息写入可移除记录介质901中的装置。
(可移除记录介质901)
可移除记录介质901例如是DVD介质、Blu-ray(注册商标)介质,HD DVD介质或各种半导体存储介质。显然,可移除记录介质901可以是例如包括安装在其中的非接触型IC芯片的IC卡或电子装置。
(连接端口882)
连接端口882例如是USB(通用串行总线)端口、IEEE 1394端口、SCSI(小型计算机系统接口)、RS-232C端口或用于连接诸如光学音频终端的外部连接装置902的端口。
(外部连接装置902)
外部连接装置902例如是打印机、便携式音乐播放器、数码相机、数字摄像机或IC记录器。
(通信装置883)
通信装置883是用于连接到网络的通信装置,例如,用于有线或无线LAN、蓝牙(注册商标)或WUSB(无线USB)的通信卡、用于光学通信的路由器、用于ADSL(非对称数字用户线)的路由器或用于各种通信的调制解调器。
<3.结论>
如上所述,根据本公开的实施方式的信息处理设备10的特征之一在于,其包括使用神经网络执行学习的学习单元120,并且该学习单元120在学习期间基于具有用于从神经网络输出的学习的理想状态的间隙值动态地改变批大小的值。利用该配置,可以有效地加速使用DNN的学习,而与学习技术无关。
尽管以上已经参考附图详细描述了本公开的优选实施方式,但是本公开的技术范围不限于示例。显然,根据本公开的本领域技术人员可以在权利要求中描述的技术思想的范围内进行各种改变或修改,并且自然理解,它们也属于本公开的技术范围。
此外,本说明书中描述的优点仅用于描述或说明性目的,而不用于限制性目的。即,除了上述优点之外或代替上述优点,根据本公开的技术也可以产生从本说明书中的细节对本领域技术人员显而易见的其他优点。
此外,可以生成用于使计算机中内置的诸如CPU、ROM和RAM的硬件提供与包括在信息处理设备10中的配置等效的功能的程序,并且还可以提供其中记录有程序的计算机可读非暂时性记录介质。
此外,与本说明书中的信息处理设备10的处理相关的每个步骤不必需要根据流程图中描述的顺序按时间顺序执行。例如,与信息处理设备10的处理相关的每个步骤可以以与流程图中描述的顺序不同的顺序执行,或者可以并行执行。
此外,以下配置也属于本公开的技术范围。
(1)
一种信息处理设备,包括使用神经网络执行学习的学习单元,其中,
学习单元基于具有用于学习来自所述神经网络的输出的理想状态的间隙值动态地改变在学习期间的批大小的值。
(2)
根据(1)的信息处理设备,其中,具有所述理想状态的所述间隙值至少包括损失。
(3)
根据(2)的信息处理设备,其中,当基于所述损失预计学习收敛时,所述学习单元增加在学习期间的所述批大小的值。
(4)
根据(3)的信息处理设备,其中,所述学习单元基于所述损失的n阶微分值增加在学习期间的所述批大小的值。
(5)
根据(4)的信息处理设备,其中,学习单元基于所述损失的值和所述损失的梯度中的至少任一者是否下降到阈值以下来增加在学习期间的所述批大小的值。
(6)
根据(2)至(5)中任一项的信息处理设备,其中,当基于所述损失预计学习发散时,所述学习单元减少在学习期间的所述批大小的值。
(7)
根据(1)至(6)中任一项的信息处理设备,其中,学习单元基于回合动态地改变所述批大小的值。
(8)
根据(7)的信息处理设备,其中,学习单元由于回合的进行来增加所述批大小的值。
(9)
根据(8)的信息处理设备,其中,当基于具有所述理想状态的间隙值预计学习发散时,所述学习单元重新加载前一回合中的网络模型。
(10)
根据(9)的信息处理设备,其中,当重新加载所述前一回合中的所述网络模型时,所述学习单元将所述批大小的值设置为小于在所述前一回合中设置的值。
(11)
根据(7)的信息处理设备,其中,学习单元在每个回合中增加所述批大小的值。
(12)
根据(1)至(11)中任一项的信息处理设备,还包括批大小改变单元,所述批大小改变单元基于所述学习单元设置的值来控制所述批大小的增加或减少。
(13)
根据(12)的信息处理设备,其中,批大小改变单元重构GPU中的模型,以控制所述批大小的增加或减少。
(14)
根据(12)或(13)的信息处理设备,其中,批大小改变单元增加或减少用于学习的计算循环的数量,以控制所述批大小的增加或减少。
(15)
根据(12)至(14)中任一项的信息处理设备,其中,批大小改变单元增加或减少用于学习的GPU的数量,以控制所述批大小的增加或减少。
(16)
根据(12)至(15)中任一项的信息处理设备,其中,当存在另外能够利用的GPU时,所述批大小改变单元将所述GPU分配给学习以控制所述批大小的增加。
(17)
根据(12)至(16)中任一项的信息处理设备,其中,当不存在另外能够利用的GPU并且在当前使用的GPU的存储器中存在空闲空间时,所述批大小改变单元重构所述当前使用的GPU中的模型,以控制所述批大小的增加。
(18)
根据(12)至(17)中任一项的信息处理设备,其中,在当前使用的GPU的存储器中没有空闲空间时,所述批大小改变单元增加用于学习的计算循环的数量,以控制所述批大小的增加。
(19)
根据(1)的信息处理设备,其中,具有所述理想状态的所述间隙值包括训练误差和验证误差中的至少任一者。
(20)
一种信息处理方法,包括由处理器使用神经网络执行学习,其中,
学习还包括基于具有用于学习来自所述神经网络的输出的理想状态的间隙值来动态地改变在学习期间的批大小的值。
参考标记列表
10信息处理设备
110输入/输出控制单元
120学习单元
130微分计算单元
140批大小改变单元。

Claims (20)

1.一种信息处理设备,包括使用神经网络执行学习的学习单元,其中,
所述学习单元基于具有用于学习来自所述神经网络的输出的理想状态的间隙值动态地改变在学习期间的批大小的值。
2.根据权利要求1所述的信息处理设备,其中,具有所述理想状态的所述间隙值至少包括损失。
3.根据权利要求2所述的信息处理设备,其中,当基于所述损失预计学习收敛时,所述学习单元增加在学习期间的所述批大小的值。
4.根据权利要求3所述的信息处理设备,其中,所述学习单元基于所述损失的n阶微分值增加在学习期间的所述批大小的值。
5.根据权利要求4所述的信息处理设备,其中,所述学习单元基于所述损失的值和所述损失的梯度中的至少任一者是否下降到阈值以下来增加在学习期间的所述批大小的值。
6.根据权利要求2所述的信息处理设备,其中,当基于所述损失预计学习发散时,所述学习单元减少在学习期间的所述批大小的值。
7.根据权利要求1所述的信息处理设备,其中,所述学习单元基于回合动态地改变所述批大小的值。
8.根据权利要求7所述的信息处理设备,其中,所述学习单元由于回合的进行来增加所述批大小的值。
9.根据权利要求8所述的信息处理设备,其中,当基于具有所述理想状态的间隙值预计学习发散时,所述学习单元重新加载前一回合中的网络模型。
10.根据权利要求9所述的信息处理设备,其中,当重新加载所述前一回合中的所述网络模型时,所述学习单元将所述批大小的值设置为小于在所述前一回合中设置的值。
11.根据权利要求7所述的信息处理设备,其中,所述学习单元在每个回合中增加所述批大小的值。
12.根据权利要求1所述的信息处理设备,还包括:批大小改变单元,所述批大小改变单元基于所述学习单元设置的值来控制所述批大小的增加或减少。
13.根据权利要求12所述的信息处理设备,其中,所述批大小改变单元重构GPU中的模型,以控制所述批大小的增加或减少。
14.根据权利要求12所述的信息处理设备,其中,所述批大小改变单元增加或减少用于学习的计算循环的数量,以控制所述批大小的增加或减少。
15.根据权利要求12所述的信息处理设备,其中,所述批大小改变单元增加或减少用于学习的GPU的数量,以控制所述批大小的增加或减少。
16.根据权利要求12所述的信息处理设备,其中,当存在另外能够利用的GPU时,所述批大小改变单元将所述GPU分配给学习以控制所述批大小的增加。
17.根据权利要求12所述的信息处理设备,其中,当不存在另外能够利用的GPU并且在当前使用的GPU的存储器中存在空闲空间时,所述批大小改变单元重构所述当前使用的GPU中的模型,以控制所述批大小的增加。
18.根据权利要求12所述的信息处理设备,其中,在当前使用的GPU的存储器中没有空闲空间时,所述批大小改变单元增加用于学习的计算循环的数量,以控制所述批大小的增加。
19.根据权利要求1所述的信息处理设备,其中,具有所述理想状态的所述间隙值包括训练误差和验证误差中的至少任一者。
20.一种信息处理方法,包括由处理器执行使用神经网络的学习,其中,
所述学习还包括基于具有用于学习来自所述神经网络的输出的理想状态的间隙值来动态地改变在学习期间的批大小的值。
CN201880071369.8A 2018-09-11 2018-11-21 信息处理设备和信息处理方法 Pending CN111295677A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018-169979 2018-09-11
JP2018169979A JP6471825B1 (ja) 2018-09-11 2018-09-11 情報処理装置および情報処理方法
PCT/JP2018/042950 WO2020054083A1 (ja) 2018-09-11 2018-11-21 情報処理装置および情報処理方法

Publications (1)

Publication Number Publication Date
CN111295677A true CN111295677A (zh) 2020-06-16

Family

ID=65442963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880071369.8A Pending CN111295677A (zh) 2018-09-11 2018-11-21 信息处理设备和信息处理方法

Country Status (4)

Country Link
US (1) US10922612B2 (zh)
JP (1) JP6471825B1 (zh)
CN (1) CN111295677A (zh)
WO (1) WO2020054083A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102064882B1 (ko) 2019-07-12 2020-01-10 (주)웨이브웨어 그래픽 처리 장치의 자원 관리가 가능한 딥러닝 플랫폼 및 이를 이용한 그래픽 처리 장치의 자원 관리 방법
KR102494945B1 (ko) * 2020-05-15 2023-02-01 한국항공대학교산학협력단 멀티 gpu를 이용한 딥러닝 모델 학습 시의 최적 스플릿 크기 결정 장치 및 방법과 이를 이용한 딥러닝 모델 학습 방법
US20220309734A1 (en) * 2021-03-29 2022-09-29 Samsung Electronics Co., Ltd. Apparatus and method with graphics processing

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03223933A (ja) * 1989-12-18 1991-10-02 Hitachi Ltd 情報処理システム
JP2001056802A (ja) * 1999-08-19 2001-02-27 Oki Electric Ind Co Ltd ニューラルネットワークの学習方法
JP2020501240A (ja) * 2016-11-18 2020-01-16 ナントミクス,エルエルシー 汎がんゲノムにおけるdnaアクセシビリティを予測するための方法及びシステム
US20200143240A1 (en) * 2017-06-12 2020-05-07 D5Ai Llc Robust anti-adversarial machine learning
US11003992B2 (en) * 2017-10-16 2021-05-11 Facebook, Inc. Distributed training and prediction using elastic resources
US10720151B2 (en) * 2018-07-27 2020-07-21 Deepgram, Inc. End-to-end neural networks for speech recognition and classification

Also Published As

Publication number Publication date
US20200372343A1 (en) 2020-11-26
JP6471825B1 (ja) 2019-02-20
JP2020042591A (ja) 2020-03-19
WO2020054083A1 (ja) 2020-03-19
US10922612B2 (en) 2021-02-16

Similar Documents

Publication Publication Date Title
CN110546656B (zh) 前馈生成式神经网络
US11423297B2 (en) Processing apparatus, processing method, and nonvolatile recording medium
CN111295677A (zh) 信息处理设备和信息处理方法
US11521038B2 (en) Electronic apparatus and control method thereof
CN111105375B (zh) 图像生成方法及其模型训练方法、装置及电子设备
US20200210783A1 (en) Learning Method, Computer Program, Classifier, And Generator
EP3926958A1 (en) Method and apparatus for optimizing video playback start, device and storage medium
KR102629474B1 (ko) 데이터 압축 및 복원을 위한 전자 장치 및 그 압축 방법
US20210279222A1 (en) Dynamic Buffer Lookahead in Adaptive Streaming Using Machine Learning
CN113228093A (zh) 用于机器学习的同步输入反馈
CN107920275B (zh) 视频播放方法、装置、终端及存储介质
JP7159884B2 (ja) 情報処理装置および情報処理方法
CN114584709B (zh) 变焦特效的生成方法、装置、设备及存储介质
JP2022095689A5 (zh)
CN113807397B (zh) 语义表示模型的训练方法、装置、设备和存储介质
JP2022095689A (ja) 音声データノイズ低減方法、装置、機器、記憶媒体及びプログラム
CN115082821A (zh) 过渡帧的生成方法、装置、电子设备及存储介质
CN110622517A (zh) 视频处理方法及设备
EP4333441A1 (en) Electronic device and method for controlling same
CN117934323B (zh) 图像生成方法、装置、电子设备及存储介质
KR20190118906A (ko) 전자 장치 및 그 제어 방법
WO2024098279A1 (en) Automated echo control
WO2023157265A1 (ja) 応答生成装置、応答生成方法および応答生成プログラム
EP3816870A1 (en) Electronic apparatus and control method thereof
KR20230102506A (ko) 전자 장치 및 이의 제어 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200616

WD01 Invention patent application deemed withdrawn after publication