一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

信息处理程序、信息处理方法和信息处理设备与流程

2022-11-12 10:28:48 来源:中国专利 TAG:


1.本文中讨论的实施方式涉及信息处理程序、信息处理方法和信息处理设备。


背景技术:

2.正在研究针对机器学习模型的各种训练方法。例如,存在使机器学习模型的训练已经进行到一定程度的层的权重信息停止更新的技术。在以下描述中,该技术将被称为“现有技术”。此外,停止目标权重信息的更新被称为“跳过”。
3.图9和图10是用于描述现有技术的图。将描述图9。在现有的机器学习模型中,层数约为160,但是在图9中,为了便于描述,将使用层1-0、1-1、1-2、1-3、1-4、1-5和1-6来给出描述。输入端层为层1-0,并且输出端层为层1-6。
4.在现有技术中,在从针对机器学习模型的训练的开始至训练进行到一定程度之前的阶段中,针对所有层1-0至1-6执行“前向传播”和“后向传播”,并且更新针对所有层1-0至1-6的权重信息。
5.在现有技术中,在机器学习模型的训练已经进行到一定程度的阶段中,从输入端层开始按顺序跳过针对训练已经进行的层的权重信息的更新。如果从输出端层开始跳过更新,则训练精度没有达到目标精度,但是从输入端层开始跳过更新,可以提高训练精度。在图9所示的示例中,针对层1-0、1-1、1-2的权重信息的更新被停止。
6.假设前向传播的总处理量为“1”,后向传播的处理量为“2”。例如,在完全不执行后向传播的状态下,处理速度将为三倍,这是加速的极限。
7.将描述图10。针对机器学习模型的学习是以时期为单位来执行的。例如,一个时期包括770次迭代。针对机器学习模型执行一次“前向传播”和“后向传播”并且更新权重信息的处理对应于一次迭代。
8.图10中的图g1和图g2示出了每个层与处于不同阶段的迭代中的权重差之间的关系。图g1示出了在已经执行了第一次迭代的情况下每个层的权重差。图g2示出了在第一次之后已经执行了数百次迭代的情况下每个层的权重差。图g1和图g2的竖直轴是与权重差对应的轴,并且水平轴是与层对应的轴。
9.权重差指示已经执行了第(n-1)次迭代的情况下的权重信息与已经执行了第n次迭代的情况下的权重信息之间的差。具有大的权重差的层指示该层已经被训练。具有小于阈值的权重差的层指示该层尚未被训练。
10.在图g1所示的示例中,权重差在所有层(例如第0层至第158层)中都等于或大于阈值th,并且所有层都已经被训练。在图g2所示的示例中,输入端层ls 1-1的权重差小于阈值并且尚未被训练。另一方面,输出端层ls 1-2的权重差等于或大于阈值并且已经被训练。
11.在现有技术中,通过跳过更新输入端层ls 1-1的权重信息的处理来减少用于计算误差梯度的计算量和通信量。例如,如图g2'所示,正常的1次迭代所需的处理量2-1变为处理量2-2,并且处理量2-3减少。换言之,每个时期的减少效果也是处理量2-3。注意,如以下将描述的,为了指定机器学习模型的每个层中的训练进度,计算每个层的权重的范数。
12.美国专利申请公开第2020/0380365号和美国专利申请公开第2020/0285992号被公开作为相关技术。


技术实现要素:

13.[技术问题]
[0014]
然而,上述现有技术具有计算成本高的问题。
[0015]
在现有技术中,计算每个层的权重的范数,以便指定机器学习模型的每个层的训练进度。同时,在无论针对机器学习模型的训练进度如何都更新所有层的权重信息的情况下,不需要对每个层的权重进行范数计算。
[0016]
此处,将无论针对机器学习模型的训练进度如何都始终更新所有层的权重信息的技术称为“另一现有技术”,以便与现有技术(梯度跳过技术)区分。
[0017]
图11是用于描述现有技术的问题的图。图11的竖直轴是与每单位时间(秒)的图像(样本)的处理量对应的轴,并且水平轴是与时期对应的轴。将每单位时间的图像的处理量简称为“处理量”。
[0018]
线5a示出了另一现有技术的处理量与时期之间的关系。线5b示出了现有技术的处理量与时期之间的关系。图11示出了在机器学习模型的150层中以某一阈值跳过输入端第0层至第30层的情况的示例。
[0019]
在现有技术中,层150的权重的范数是针对在约0至40个时期的时段中在50个卷积层(在下文中为conv层)中的每次迭代来计算的。因此,如图11的(1)所示,现有技术的处理量比另一现有技术的处理量小500个样本/秒。
[0020]
接下来,在现有技术中,在约40至50个时期的时段中,30层的conv层(conv层为10层)的权重差逐渐达到阈值,要跳过的层的数量逐渐增加,并且跳过范数计算。如图11的(2)所示,随着范数的计算量以这种方式减少,在现有技术中处理量逐渐增加。
[0021]
接下来,在现有技术中,可以在50个时期的过渡时段期间跳过30层,这减少了计算量,但是针对下一跳过的剩余40层的conv层的范数计算保持不变。处理量约为9200个样本/秒。如图11的(3)所示,与另一现有技术相比,改进仅为约100个样本/秒。
[0022]
如图11中所描述的,在现有技术中,进行用于确定训练进度的范数计算以确定是否可以跳过层,并且计算成本通常高于另一现有技术中的计算成本,并且处理量可能整体上减少。
[0023]
在一个方面,本实施方式的目的是提供能够减少计算成本的信息处理程序、信息处理方法和信息处理设备。
[0024]
[问题解决方案]
[0025]
根据实施方式的方面,一种存储信息处理程序的非暂态计算机可读存储介质,该信息处理程序使至少一个计算机执行处理,该处理包括:获取指示针对包括在机器学习模型中的多个层中的输入端层的训练的进度状态的值;以及当该值大于或等于阈值时,重复获取针对输入端层之后的多个层的每个值。
[0026]
[发明的有益效果]
[0027]
可以减少计算成本。
附图说明
[0028]
图1是示出评估指标的趋势的图;
[0029]
图2是用于描述根据本实施方式的信息处理设备的处理的表;
[0030]
图3是用于描述时期与每个层的训练状态之间的关系的图;
[0031]
图4是示出根据本实施方式的信息处理设备的配置的功能框图;
[0032]
图5是示出根据本实施方式的信息处理设备的处理过程的流程图;
[0033]
图6是示出根据本实施方式的信息处理设备的效果的图;
[0034]
图7是用于描述信息处理设备的另一处理的图;
[0035]
图8是示出实现与信息处理设备的功能类似的功能的计算机的示例性硬件配置的图;
[0036]
图9是用于描述现有技术的图(1);
[0037]
图10是用于描述现有技术的图(2);以及
[0038]
图11是用于描述现有技术的问题的图。
具体实施方式
[0039]
在下文中参照附图详细描述本技术中公开的信息处理程序、信息处理方法和信息处理设备的实施方式。注意,本实施方式不限于实施方式。
[0040]
[实施方式]
[0041]
根据本实施方式的信息处理设备计算权重差并且指定机器学习模型的目标层的训练是否已经进行。在以下描述中,在包括在机器学习模型中的多个层中,要计算权重差的层被适当地称为“目标层”。
[0042]
权重差由等式(1)限定。等式(1)中的下标“l”对应于迭代的数量。例如,“w
l 1-w
l”指示第(l 1)次迭代的权重信息与第l次迭代的权重信息之间的权重差。在等式(1)中,为“lr”、“decay”和“mom”预设了常数。
[0043]
[数学式1]
[0044]wl 1-w
l
=lr
×
δw
l-(w
l
×
lr
×
decay) mom
×vl-1
ꢀꢀ…
(1)
[0045]
等式(1)中的δw
l
表示目标层中的张量中的先前迭代的权重与这次迭代的权重之间的差。等式(1)中的w
l
表示由目标层中的张量中的这次迭代所更新的权重。v
l-1
是指示动量的张量。例如,等式(2)限定了v
l
与v
l-1
之间的关系。
[0046]
[数学式2]
[0047]
动量=mom
×vl
[0048]
ꢀꢀꢀꢀ
=mom
×
(lr
×
δw
l-(w
l
×
lr
×
decay) mom
×vl-1
)
[0049]

(2)
[0050]
信息处理设备分别计算δw1的范数(g_weight_norm)、w1的范数(weight_norm)和v1的范数(momentum_norm),以便将等式(1)的值转换为与阈值相当的标量值。δw1的范数(g_weight_norm)由等式(3)计算。w1的范数由等式(4)计算。v1的范数由等式(5)计算。
[0051]
[数学式3]
[0052][0053]
[数学式4]
[0054][0055]
[数学式5]
[0056][0057]
图1是示出评估指标的趋势的图。图1中的图g10的竖直轴是与权重差对应的轴,并且水平轴是与时期对应的轴。图10中的线10a示出了在机器学习模型的第6层(l6)是目标层的情况下权重差与时期之间的关系。线10b示出了在第36层(l36)是目标层的情况下权重差与时期之间的关系。线10c示出了在第75层(l75)是目标层的情况下权重差与时期之间的关系。线10d示出了在第132层(l132)是目标层的情况下权重差与时期之间的关系。当层从机器学习模型的输入端至输出端排列时,顺序为l6、l36、l75和l132。
[0058]
为每个层设置阈值,并且在权重差已经达到阈值的情况下,跳过目标层的权重差的计算。例如,在l6中,权重差在10个时期中达到阈值th6。在l36中,权重差在22个时期中达到阈值th
36
。在l75中,权重差在35个时期中达到阈值th
75
。在l132中,权重差在46个时期中达到阈值th
75
。换言之,权重差从输入端层达到阈值。
[0059]
接下来,将描述根据本实施方式的信息处理设备的处理的示例。在根据本实施方式的信息处理设备中,初始目标层仅为一个层。接下来,在目标层的权重差已经达到阈值之后,在其中权重差已经达到阈值的层之后,信息处理设备对作为目标层的多个层重复执行计算权重差的处理。在本实施方式中,将已经变得小于阈值的权重差的值描述为权重差已经达到阈值。
[0060]
图2是用于描述根据本实施方式的信息处理设备的处理的表。在图2中,将使用包括在机器学习模型中的多个层中的第0层(l0)、第3层(l3)、第6层(l6)、第9层(l9)和第12层(l12)来给出描述。此外,将使用包括在机器学习模型中的多个层中的第15层(l15)、第18层(l18)、第21层(l21)、第24层(l24)和第27层(l27)来给出描述。例如,层(l0、l3、l6、l9、l12、l15、l18、l21、l24和l27)对应于conv层。在图2的描述中,将计算权重差称为“范数计算”。
[0061]
信息处理设备将训练数据输入至机器学习模型中,执行前向传播和后向传播,并且开始训练机器学习模型。如图2所示,信息处理设备针对每个时期执行目标层的范数计算。
[0062]
将描述1个时期中的范数计算(初始范数计算)。信息处理设备开始针对作为目标层的l0进行范数计算。
[0063]
将描述2个时期至(n-1)个时期中的范数计算。信息处理设备继续针对作为目标层
的l0进行范数计算。
[0064]
将描述n个时期中的范数计算。n是自然数。当指定l0的权重差已经达到阈值时,信息处理设备开始针对在相对于已经达到阈值的层的输出端上的三个层“l3、l6和l9”进行范数计算。在n个时期的阶段,每个层的训练都已经进行至一定程度。
[0065]
图3是用于描述时期与每个层的训练状态之间的关系的图。在图3中,将使用l0、l3、l6、l9的权重差来给出描述。注意,l3、l6和l9的权重差是为了描述而给出的,并且假设在(n-1)个时期处或在(n-1)个时期之前尚未执行针对l3、l6和l9的范数计算。
[0066]
在图3所示的示例中,l0的权重差在37个时期处已经达到阈值。此外,l3、l6和l9的训练也已经在37个时期处进行,并且在图3的示例中,l3、l6和l9的权重差也已经达到了阈值。因此,在范数计算从l0移动至l3、l6和l9的情况下,l3、l6和l9的权重差也将很快达到阈值。
[0067]
描述返回至图2的描述。将描述(n 1)个时期中的范数计算。信息处理设备跳过l0的范数计算。当指定l3和l6的权重差已经达到阈值时,信息处理设备开始针对在相对于已经达到阈值的层的输出端上的“l12和l15”进行范数计算。信息处理设备继续针对l9进行范数计算。
[0068]
将描述(n 2)个时期中的范数计算。信息处理设备跳过l0、l3和l6的范数计算。当指定l9的权重差已经达到阈值时,信息处理设备开始针对在相对于已经达到阈值的层的输出端上的“l18”进行范数计算。信息处理设备继续针对l12和l15进行范数计算。
[0069]
将描述(n 3)个时期中的范数计算。信息处理设备跳过l0、l3、l6和l9的范数计算。当指定l18的权重差已经达到阈值时,信息处理设备开始针对在相对于已经达到阈值的层的输出端上的“l21”进行范数计算。
[0070]
将描述(n 4)个时期中的范数计算。信息处理设备跳过l0、l3、l6和l9的范数计算。信息处理设备等待l18的范数计算停止,这是因为在相对于权重差已经达到阈值的l18的输入端上的层l12和l15的范数计算尚未被跳过。当指定l12和l15的权重差已经达到阈值时,信息处理设备开始针对在相对于已经达到阈值的层的输出端上的“l24和l27”进行范数计算。信息处理设备继续针对l21进行范数计算。
[0071]
将描述(n 5)个时期中的范数计算。信息处理设备跳过l0、l3、l6、l9、l12、l15和l18的范数计算。信息处理设备继续针对l21、l24和l27进行范数计算。省略了(n 6)个时期中的范数计算的描述。
[0072]
如上所述,在训练机器学习模型时,根据本实施方式的信息处理设备可以缩小要对其执行范数计算的目标层并且减少计算成本。
[0073]
接下来,将描述根据本实施方式的信息处理设备的配置的一个示例。图4是示出根据本实施方式的信息处理设备的配置的功能框图。如图4所示,信息处理设备100包括通信单元110、输入单元120、显示单元130、存储单元140和控制单元150。
[0074]
通信单元110经由网络从外部设备接收各种数据。通信单元110是通信设备的示例。例如,通信单元110还可以从外部设备接收将在下面描述的训练数据141等。
[0075]
输入单元120是将各种类型的信息输入至信息处理设备100的控制单元150的输入设备。输入单元120对应于键盘、鼠标、触摸面板等。
[0076]
显示单元130是显示从控制单元150输出的信息的显示设备。
[0077]
存储单元140具有训练数据141和机器学习模型142。存储单元140对应于半导体存储器元件例如随机存取存储器(ram)或闪存,或者存储设备例如硬盘驱动器(hdd)。
[0078]
训练数据141是在执行机器学习模型142的训练时使用的数据。例如,训练数据141具有多对输入数据和正确答案数据。
[0079]
机器学习模型142是对应于具有多个层的神经网络的模型数据。
[0080]
控制单元150包括前向传播(fp)处理单元151、后向传播(bp)处理单元152和选择单元153。控制单元150由中央处理单元(cpu)、图形处理单元(gpu)、硬连线逻辑例如专用集成电路(asic)或现场可编程门阵列(fpga)等来实现。
[0081]
fp处理单元151对机器学习模型142执行前向传播。例如,fp处理单元151将训练数据141的输入数据输入至机器学习模型142的输入层,并且计算机器学习模型142的输出值。fp处理单元151将输出值信息输出至bp处理单元152。
[0082]
bp处理单元152对机器学习模型142执行后向传播。例如,bp处理单元152计算从机器学习模型142的输出层输出的输出值与训练数据141的正确答案数据之间的误差,并且更新机器学习模型142的每个层的权重信息,使得误差通过误差后向传播来变小。
[0083]
此外,当从下面将描述的选择单元153接收到目标层的通知时,bp处理单元152对包括在机器学习模型142中的所有层中的目标层执行范数计算。例如,bp处理单元152基于上面的等式(3)、等式(4)和等式(5)计算δw
l
的范数、w
l
的范数和v
l
的范数,并且将每个目标层的计算结果输出至选择单元153。
[0084]
当从选择单元153接收到对要跳过范数计算的层的选择时,bp处理单元152跳过针对接受选择的目标层的范数计算。此外,bp处理单元152停止要跳过范数计算的目标层和在相对于目标层的输入端上的层的误差传播。
[0085]
选择单元153基于从bp处理单元152输出的范数计算的结果来选择要对其执行范数计算的目标层,并且将所选择的目标层通知给bp处理单元152。选择单元153仅将一个层设置为初始目标层。例如,选择单元153选择l0作为初始目标层并且将所选择的目标层输出至bp处理单元152。
[0086]
当从bp处理单元152获取目标层的范数计算的计算结果时,选择单元153基于等式(1)计算目标层的权重差,并且确定权重差是否已经达到阈值。在目标层的权重差已经达到阈值的情况下,选择单元153通知bp处理单元152跳过针对其中权重差已经达到阈值的目标层的范数计算。
[0087]
如图2所描述的,在初始选择的l0的权重差已经达到阈值的情况下,选择单元153选择在相对于l0的输出端上的多个层(l3、l6和l9)作为目标层,并且将目标层输出至bp处理单元152。选择单元153选择目标层,使得在初始目标层的权重差达到阈值之后目标层的数量变为“m(例如3)”。在选择目标层时,选择单元153优先选择其中权重差尚未达到阈值并且更靠近输入端的层。
[0088]
顺便提及,如图2的(n 3)个时期中所描述的,在对其执行范数计算的多个层中,在l18的权重差已经达到阈值并且l12和l15的权重差尚未达到阈值的情况下,选择单元153等待跳过l18。选择单元153将在l12和l15的权重差达到阈值之后要跳过l18输出至bp处理单元152。
[0089]
接下来,将描述根据本实施方式的信息处理设备100的处理过程的示例。图5是示
出根据本实施方式的信息处理设备的处理过程的流程图。如图5所示,信息处理设备100的fp处理单元151和bp处理单元152开始针对机器学习模型142进行训练(前向传播和后向传播)(步骤s101)。
[0090]
信息处理设备100的选择单元153选择机器学习模型142的输入端一个层作为目标层(步骤s102)。bp处理单元152执行目标层的范数计算(步骤s103)。
[0091]
选择单元153基于范数计算的结果指定权重差是否已经达到阈值(步骤s104)。在存在其中权重差已经达到阈值的目标层的情况下(步骤s105,是),选择单元153移动至步骤s106。另一方面,在不存在其中权重差已经达到阈值的目标层的情况下(步骤s105,否),选择单元153移动至步骤s108。
[0092]
bp处理单元152跳过其中权重差已经达到阈值的目标层的范数计算(步骤s106)。选择单元153选择目标层,使得要对其执行范数计算的层的数量为m(例如三)(步骤s107)。
[0093]
在终止训练的情况下(步骤s108,是),信息处理设备100终止处理。另一方面,在不终止训练的情况下(步骤s108,否),信息处理设备100进行至下一时期的训练(步骤s109)并且进行至步骤s103。
[0094]
接下来,将描述根据本实施方式的信息处理设备100的效果。信息处理设备100仅对作为初始目标层的一个层执行范数计算。接下来,在目标层的权重差已经达到阈值之后,在其中权重差已经达到阈值的层之后,信息处理设备100对作为目标层的多个层重复执行计算权重差的处理。以这种方式,信息处理设备100可以通过缩小要对其执行范数计算的目标层来减少计算成本。
[0095]
信息处理设备100可以通过跳过对其中权重差已经达到阈值的目标层的范数计算来进一步减少计算成本。
[0096]
在多个层中,在第一层和相对于第一层的输出端上的第二层的值已经达到阈值的情况下,或者在已经跳过(停止)对第一层的值的计算并且第二层的值已经达到阈值的情况下,信息处理设备100跳过对第二层的值的计算。此外,在第二层的值已经达到阈值并且第一层的值尚未达到阈值的情况下,信息处理设备100继续(等待跳过)对第二层的值的计算,直到第一层的值达到阈值为止。因此,可以从输入端层开始按顺序跳过层,并且可以提高机器学习模型142的训练精度。
[0097]
图6是示出根据本实施方式的信息处理设备的效果的图。图6中的图g20的竖直轴是与每单位时间(秒)的图像(样本)的处理量对应的轴,并且水平轴是与时期对应的轴。将每单位时间的图像的处理量简称为“处理量”。图g20的线5a示出了另一现有技术的处理量与时期之间的关系。线5b示出了现有技术的处理量与时期之间的关系。线5c示出了根据本实施方式的信息处理设备的处理量与时期之间的关系。
[0098]
图6中的图g30的竖直轴是与用于范数计算的目标层的数量对应的轴,并且水平轴是与时期对应的轴。用于范数计算的目标层的数量被简单地描述为“目标层的数量”。图g30的线6a示出了另一现有技术的目标层的数量与时期之间的关系。线6b示出了现有技术的目标层的数量与时期之间的关系。线6c示出了根据本实施方式的信息处理设备的目标层的数量与时期之间的关系。
[0099]
将讨论从0至约50个时期。与现有技术(线6b)相比,信息处理设备100的目标层的数量(线6c)为1/50。因此,信息处理设备100的处理量(线5c)与另一现有技术的处理量(线
5a)相当。
[0100]
将讨论50个时期和后续的时期。在信息处理设备100中,每个层的权重差依次达到阈值并且开始跳过,由于针对误差梯度计算的计算量和后向传播的停止,处理量(线5c)增加。即使在跳过之后,由于范数计算的总数量被设置为3,因此速度也不会因针对37层的处理而降低,并且提高了处理量。
[0101]
在图6所示的示例中,在30层处已经停止了跳过,但是通过也跳过后续的层,处理量进一步增加。
[0102]
顺便提及,在机器学习模型142中,将每个层的元素数量的质量划分成四个阶段(四个类型),也可以为每个质量选择任何层(每个阶段的最后一层l36、l75或l132),并且也可以执行范数计算。
[0103]
图7是用于描述信息处理设备的另一处理的图。在图7所示的示例中,机器学习模型142被划分成多个块。每个块包括批量归一化、relu、卷积等。信息处理设备已经选择层lb1、lb2、lb3、lb4、lb5和lb6作为目标层。信息处理设备100还可以选择批量归一化等作为目标层而不是conv层并且执行范数计算。
[0104]
接下来,将描述实现与以上实施方式中描述的信息处理设备100类似的功能的计算机的硬件配置的示例。图8是示出实现与信息处理设备类似的功能的计算机的硬件配置的示例的图。
[0105]
如图8所示,计算机200包括执行各种类型的计算处理的cpu 201、从用户接收数据输入的输入设备202、以及显示器203。此外,计算机200包括从外部设备接收数据的通信设备204和与各种设备连接的接口设备205。计算机200包括临时存储各种类型的信息的ram 206、以及硬盘设备207。然后,设备201至207中的每一个都连接至总线208。
[0106]
硬盘设备207具有fp处理程序207a、bp处理程序207b和选择程序207c。cpu 201读取fp处理程序207a、bp处理程序207b和选择程序207c,并且在ram 206中对它们进行扩展。
[0107]
fp处理程序207a用作fp处理过程206a。bp处理程序207b用作bp处理过程206b。选择程序207c用作选择过程206c。
[0108]
fp处理过程206a的处理对应于fp处理单元151的处理。bp处理过程206b的处理对应于bp处理单元152的处理。选择过程206c的处理对应于选择单元153的处理。
[0109]
注意,程序207a至207c不需要预先存储在硬盘设备207中。例如,程序存储在要插入计算机200的“便携式物理介质”例如软盘(fd)、致密盘只读存储器(cd-rom)、数字多功能盘(dvd)盘、磁光盘或集成电路(ic)卡中。然后,计算机200也可以读取程序207a至207c并且执行程序。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献