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

信息处理设备、信息处理方法和存储介质与流程

2022-02-22 07:36:20 来源:中国专利 TAG:


1.本文讨论的实施方式涉及信息处理设备、信息处理方法和存储介质。


背景技术:

2.近年来,在诸如图像识别或字符识别的各种领域中使用深度学习(dl),深度学习(dl)使用包括各个层的神经网络,所述各个层包括输入层、隐藏层(中间层)和输出层。例如,卷积神经网络(cnn)包括卷积层和池化层作为隐藏层。
3.在深度学习中,卷积层具有用于通过对输入数据执行滤波处理来输出特征信息的作用。具体地,例如,与滤波器匹配的形状被检测为大的数值并且被传播至下一层。
4.然后,在卷积层中,随着学习的进行,更新关于滤波器的信息以提取更多特征信息。对于滤波器的形状,使用学习时的滤波器的校正量,该校正量被称为“误差梯度”。例如,作为相关技术,公开了日本公开特许公报第2019-212206号、日本公开特许公报第2019-113914号等。


技术实现要素:

5.[技术问题]
[0006]
然而,由于在学习卷积层中的滤波器时的处理负荷高,因此延长了深度学习的学习时间。例如,为了学习卷积层的滤波器,需要指示滤波器信息的校正量的误差梯度,并且用于计算误差梯度的处理需要与滤波处理等同的计算量。因此,计算量大,并且滤波器学习处理的处理负荷高,并且这增加了整个深度学习的处理时间。
[0007]
[问题的解决方案]
[0008]
根据实施方式的方面,一种由计算机执行的信息处理方法,该方法包括:将训练数据输入至包括卷积层的机器学习模型,并且获取该机器学习模型的输出结果;从包括在基于训练数据与输出结果之间的误差的误差信息中的元素之中提取满足特定条件的特定元素;以及使用特定元素执行卷积层的机器学习。
附图说明
[0009]
图1是用于说明由根据第一实施方式的信息处理设备通过机器学习生成的机器学习模型的图;
[0010]
图2是用于说明在前向传播时卷积层的处理的图;
[0011]
图3是用于说明在前向传播时卷积层的计算的图;
[0012]
图4是用于说明在后向传播时卷积层的机器学习处理的图;
[0013]
图5是用于说明在后向传播时卷积层中的误差梯度的计算的图;
[0014]
图6是用于说明计算误差梯度时的问题的图;
[0015]
图7是示出根据第一实施方式的信息处理设备的功能配置的功能框图;
[0016]
图8是用于说明根据第一实施方式的卷积层中的误差梯度的计算的图;
[0017]
图9是用于说明误差提取的比较的图;
[0018]
图10是用于说明误差提取的具体示例的图;
[0019]
图11是用于说明误差提取的具体示例的图;
[0020]
图12是示出机器学习处理的流程的流程图;
[0021]
图13是用于说明应用于lenet的具体示例的图;
[0022]
图14是用于说明在应用于lenet的情况下学习时的准确度的图;
[0023]
图15是用于说明在应用于lenet的情况下计算量减少的图;
[0024]
图16是用于说明在应用于resnet的情况下计算量减少的图;以及
[0025]
图17是用于说明硬件配置示例的图。
[0026]
[本发明的有益效果]
[0027]
在一方面,可以缩短学习处理的处理时间。
具体实施方式
[0028]
在下文中,将参照附图详细描述在本技术中公开的信息处理设备、信息处理方法和信息处理程序的实施方式。注意,本实施方式不限于示例。此外,实施方式中的每个实施方式可以在不矛盾的范围内适当地组合。
[0029]
[第一实施方式]
[0030]
[信息处理设备的描述]
[0031]
图1是用于说明由根据第一实施方式的信息处理设备10通过机器学习生成的机器学习模型的图。根据第一实施方式的信息处理设备10是使用作为图像数据的训练数据通过深度学习生成机器学习模型的计算机装置的示例。
[0032]
在深度学习中,通过执行关于识别目标的监督学习,在神经网络中自动学习识别目标的特征。学习完成之后,利用已经学习了特征的神经网络对识别目标进行识别。例如,在深度学习中,通过使用识别目标的大量图像作为用于训练(学习)的图像数据执行监督学习,在神经网络中自动学习图像中的识别目标的特征。此后,可以使用已经以这种方式学习了特征的神经网络来识别图像中的识别目标。
[0033]
(cnn的描述)
[0034]
在第一实施方式中,作为神经网络的示例,将描述使用cnn的示例。如图1所示,cnn是具有多层结构的多层神经网络并且针对每个通道包括包含卷积层的多个层。例如,cnn包括输入层(input)、卷积层(conv1)、激活函数层(relu1)、池化层(pool1)、卷积层(conv2)、激活函数层(relu2)、池化层(pool2)、完全连接层(fully-conn1)、softmax层(softmax)以及输出层(output)。
[0035]
在识别图像数据的情况下,如图1所示,cnn通过从左(输入层)向右(输出层)对每个中间层进行处理来提取图像数据中的识别目标的特征,并最终在输出层中对图像数据中的识别目标进行识别(分类)。该处理被称为前向传播、识别处理等。另一方面,在对图像数据进行了学习的情况下,cnn计算作为识别结果与正确答案信息之间的误差的误差信息,并且如图1所示,将该误差信息从右(输出层)向左(输入层)后向传播并改变每个中间层的参数(权重)。该处理被称为后向传播(误差后向传播)、学习处理等。注意,在cnn中传播的数据也被称为特征量信息或神经元数据。
[0036]
接下来,将描述每个中间层的操作。在每个卷积层中,通过使用滤波器执行滤波,根据输入数据生成指示特征存在于图像数据何处的特征量信息(特征图)。例如,在卷积层中,计算与具有m
×
m大小的滤波器的卷积以生成特征量信息并且将所生成的信息输出至下一层,在该m
×
m大小的滤波器中,针对输入的n
×
n像素图像数据的每个像素的每个值设置了参数。注意,每个通道的特征量信息是通过使用针对每个通道不同的滤波器生成并向前传播的。
[0037]
在每个激活函数层中,强调(emphasize)在卷积层中提取的特征。换句话说,例如,在激活函数层中,通过使输出的特征量信息通过激活函数来对激活(activation)进行建模。例如,每个激活函数层将输入的特征量信息的元素之中的其值等于或小于零的元素的值改变为零,并且将该元素输出至下一层。
[0038]
在池化层中,对在卷积层中提取的特征量信息执行统计处理。例如,当m
×
m像素特征量信息(神经元数据)被输入时,在池化层中,根据该m
×
m像素特征量信息生成(m/k)
×
(m/k)的特征量信息。例如,对于每个k
×
k的区域,使用用于提取最大值的max-pooling、用于提取k
×
k区域中的平均值的average-pooling等来生成其中特征被强调的特征量信息。
[0039]
在全连接层中,组合所提取的特征量信息,并且生成指示特征的变量。具体地,例如,在全连接层中,将从中提取特征部分的多条图像数据组合成单个节点,并且将通过激活函数转换的值(特征变量)输出。注意,随着节点数目的增加,特征量空间的划分数目增加,并且表征各个区域的特征变量的数目增加。也就是说,例如,在全连接层中,根据要识别的目标的数量执行将所有多条输入特征量信息组合在一起的全连接操作。
[0040]
softmax层将在全连接层中生成的变量转换成概率。具体地,例如,softmax层使用softmax函数将来自完全连接层的输出(特征变量)转换成概率。换句话说,例如,softmax层执行用于使输出的特征量信息通过要被归一化的激活函数的操作,以便对激活进行建模。
[0041]
输出层使用从softmax层输入的操作结果来识别被输入至输入层的图像数据(训练数据)。具体地,例如,输出层基于来自softmax层的输出通过使被正确分类为每个区域的概率最大化来执行分类(最大似然估计方法)。例如,在识别出图像数据中的识别对象是十种类型中的哪种类型的情况下,十条神经元数据被从全连接层经由softmax层输出至输出层作为操作结果。输出层使用与概率分布为最大的神经元数据相对应的图像的类型作为识别结果。此外,在执行学习的情况下,输出层通过将识别结果与正确答案进行比较来获得误差。例如,输出层利用交叉熵误差函数从目标概率分布(正确答案)中获得误差。
[0042]
以这种方式,在深度学习中,可以通过执行监督学习来使cnn自动学习特征。例如,在通常用于监督学习的误差后向传播中,将学习数据向前传播至cnn以进行识别,并通过将识别结果与正确答案进行比较来获得误差。然后,在误差后向传播中,沿与识别时相反的方向将识别结果与正确答案之间的误差传播至cnn,并且改变cnn的每一层的参数并使之接近最优解。
[0043]
(卷积层)
[0044]
此处,在深度学习中,卷积层具有用于通过对输入数据执行滤波处理来输出作为特征信息的特征量信息的作用,并且随着学习的进行,与滤波器有关的信息被更新以进一步提取特征量信息。此处,将描述由卷积层执行的前向传播时的识别处理以及后向传播时的学习处理。
[0045]
图2是用于说明前向传播时卷积层的处理的图。如图2所示,在前向传播时,每个通道的卷积层共享被称为滤波器(也称为内核(kernel))的权重张量,以根据目标特征图生成下一层的特征图。在图2的示例中,通过使用滤波器对输入的特征量信息x执行滤波生成特征量信息y,特征量信息y中强调特征量信息x中的各个元素之中与滤波器匹配的元素。注意,在卷积层之后的relu层中,特征量信息y中的各个元素的所有等于或小于零的值被改变为零并且被输出至下一层。
[0046]
图3是用于说明前向传播时卷积层的计算的图。注意,在图3中,示出了针对一个输入通道和一个输出通道的处理。然而,实际上,在所有输入通道上均执行类似的处理。如图3所示,在前向传播时,卷积层通过将3
×
3大小的滤波器k乘以10
×
10大小的特征量信息x来生成特征量信息y。
[0047]
具体地,例如,在使滤波器k在整个特征量信息x上滑动的同时,通过使用公式(1)来计算滤波器k的每个元素和与滤波器k的每个元素相对应的特征量信息y的每个元素的内积并对计算出的内积求和来计算特征量信息y的元素。例如,如下执行计算:“y
0,0
=(x
0,0
×w0,0
) (x
0,1
×w0,1
) (x
0,2
×w0,2
) (x
1,0
×w1,0
) (x
1,1
×w1,1
) (x
1,2
×w1,2
) (x
2,0
×w2,0
) (x
2,1
×w2,1
) (x
2,2
×w2,2
)”。
[0048]
[表达式1]
[0049][0050]
以这种方式,因为卷积层通过滤波来提取特征值,所以如果存在与滤波器匹配的形状,则该形状被检测为大的数值并且被传播至下一层。在深度学习的卷积层中,滤波器的内容通过学习而改变并且随着学习的进行被改变为滤波器形状以提取更多特征形状。对于该滤波器形状,使用机器学习时的滤波器的校正量,该校正量被称为“误差梯度”。
[0051]
图4是用于说明后向传播时卷积层的机器学习处理的图。在图4中,将描述其中与特征量信息的元素a相对应的误差信息为“ 1”并且与特征量信息的元素b相对应的误差信息为
“‑
1”的示例。在该示例的情况下,计算误差梯度以执行强调元素a的特征量而不强调元素b的特征量的滤波,并且更新滤波器。也就是说,例如,根据包括通过误差后向传播而传播的误差信息以及前向传播时的特征量信息的两条信息来计算卷积层的误差梯度。然后,将与误差信息的每个元素相对应的特征量信息的一部分用作滤波器的误差梯度。
[0052]
图5是用于说明后向传播时卷积层中的误差梯度的计算的图。注意,在图5中,示出了针对一个输入通道和一个输出通道的处理。然而,实际上,在所有输入通道上均执行类似的处理。如图5所示,在后向传播时,在卷积层中,将被称为激活误差的误差信息δy的每个元素与10
×
10大小的特征量信息x标量相乘并且重复相加以计算误差梯度δk。
[0053]
具体地,在使滤波器k的大小(窗口)在特征量信息x上滑动的同时,使用公式(2)根据特征量信息x的子矩阵和误差信息的乘积来计算误差梯度δk。例如,通过“w
0,0
=(y
0,0
×
x
0,0
) (y
1,0
×
x
1,0
) (y
2,0
×
x
2,0
) ... (y
0,1
×
x
0,1
) ...”来计算误差梯度δk“w
0,0”。类似地,通过“w
0,1
=(y
0,0
×
x
0,1
) (y
1,0
×
x
1,1
) (y
2,0
×
x
2,1
) ... (y
0,1
×
x
0,2
) ...”来计算误差梯度δk“w
0,1”。以这种方式,根据需要被校正的误差信息(δy的元素),将关于与该元素相对应的特征量信息x的信息作为误差梯度反映至滤波器(内核)。
[0054]
[表达式2]
[0055][0056]
(问题)
[0057]
如参照图2至图5所描述的,为了执行卷积层的滤波器的机器学习,需要指示滤波器信息的校正量的误差梯度。对于用于计算误差梯度的处理,需要与滤波处理等同的计算量。作为结果,对卷积层的滤波器的学习的处理负荷高,并且滤波器的学习花费较长时间。
[0058]
图6是用于说明计算误差梯度时的问题的图。如图6所示,在当前卷积层中,如果被反向传播的误差信息是“0”,则不必要地获得了作为输入的特征量信息x的子矩阵与误差信息的乘积并将其相加,并且因此频繁地执行不必要的处理。例如,在图6的示例中,尽管8
×
8大小的误差信息δy的所有元素中除了“y
3,4”、“y
3,5”和“y
4,2”之外的元素的值为“0”,但是在针对所有其他元素计算误差梯度时执行卷积处理。尽管这样与“0”相乘是对误差梯度的值影响很小的处理,但是在机器学习时会频繁地执行该乘法。
[0059]
此外,误差信息经常包括“0”。这是因为relu层(将负值设置为零的层)通常是在卷积层之后紧接着插入的,所以被传播至卷积层的误差信息经常包括“0”。此外,这是因为relu层在将与在前向传播时被设置为“0”的元素相对应的(具有相同坐标的)误差信息的元素设置为“0”的同时执行后向传播。此外,由于随着学习的进行,误差(校正量)不可避免地接近“0”,因此,频繁出现实质上为“0”的值。
[0060]
因此,根据第一实施方式的信息处理设备10基于训练数据与输出结果之间的误差来提取误差信息中包括的元素中满足特定条件的特定元素,并使用该特定元素执行cnn的卷积层的机器学习。换句话说,例如,根据第一实施方式的信息处理设备10通过考虑针对卷积层的滤波器的误差梯度计算的使用和特性减少了对具有较少必要性的误差梯度的卷积计算,并且减少了对滤波器的误差梯度计算处理。作为结果,可以缩短卷积层的机器学习时间,并且因此,可以缩短cnn的机器学习所需的时间。
[0061]
[功能配置]
[0062]
图7是示出根据第一实施方式的信息处理设备10的功能配置的功能框图。如图7所示,信息处理设备10包括通信单元11、存储单元12和控制单元20。
[0063]
通信单元11是控制与另一装置的通信的处理单元,并且通过例如通信接口等实现。通信单元11从管理员终端接收训练数据或开始学习处理的指令等。此外,通信单元11将学习结果等发送至管理员终端。
[0064]
存储单元12是存储各种类型数据、由控制单元20执行的程序等的处理单元,并且通过例如存储器、硬盘等实现。存储单元12存储训练数据组13、机器学习模型14和中间数据15。
[0065]
训练数据组13是用于机器学习模型14的机器学习的训练数据的集合。例如,每条训练数据是其中图像数据与该图像数据的正确答案信息(标签)相关联的监督(标记)训练数据。
[0066]
机器学习模型14是诸如使用由稍后描述的控制单元20生成的cnn的分类器的模型。注意,机器学习模型14可以是已经执行了机器学习的cnn或已经学习了机器学习的cnn的各种参数。
[0067]
中间数据15是在机器学习模型14识别处理时或在学习时输出的各种类型的信息,并且例如是在前向传播时获取的特征量信息(特征图)、用于在后向传播时更新参数的误差信息(误差梯度)等。
[0068]
控制单元20是控制整个信息处理设备10的处理单元,并且通过例如处理器等实现。控制单元20包括识别单元21和学习执行单元22,执行机器学习模型14(cnn)的机器学习处理并且生成机器学习模型14。注意,识别单元21和学习执行单元22通过由处理器或处理器中包括的电子电路执行的处理等实现。
[0069]
识别单元21是在机器学习模型14的机器学习处理的前向传播时执行识别处理的处理单元。具体地,例如,识别单元21将训练数据组13中的每条训练数据输入至机器学习模型14(cnn)并识别训练数据。然后,识别单元21将训练数据与识别结果相关联,并将关联数据作为中间数据15存储在存储单元12中。注意,由于识别处理是与由一般cnn执行的处理类似的处理,因此将省略详细描述。
[0070]
学习执行单元22包括第一学习单元23和第二学习单元24,并且执行机器学习模型14的机器学习处理的后向传播处理。换句话说,例如,学习执行单元22对包括在cnn中的各种参数进行更新。具体地,例如,学习执行单元22针对每条训练数据计算指示识别单元21的识别结果与训练数据的正确答案信息之间的误差的误差信息,并通过误差后向传播使用该误差信息来更新cnn的参数。注意,机器学习针对每个通道执行。此外,作为用于计算误差信息的方法,可以采用与在cnn机器学习中通常使用的方法类似的方法。
[0071]
第一学习单元23是针对每个通道通过误差后向传播对如下层执行机器学习的处理单元:所述层是包括在机器学习模型14中的每个层并且是要学习的层中除了卷积层之外的层。例如,第一学习单元23使用通过误差后向传播而后向传播的误差信息来优化全连接层的连接权重。注意,作为优化方法,可以采用由一般cnn执行的处理。
[0072]
第二学习单元24是针对每个通道通过与机器学习模型14的卷积层有关的误差后向传播来执行机器学习的处理单元。具体地,例如,第二学习单元24仅使用已经被后向传播的误差信息之中满足特定条件的元素来计算卷积层的误差梯度,并使用该误差梯度更新卷积层的滤波器。换句话说,例如,第二学习单元24执行与在cnn的卷积层中执行的一般学习处理不同的学习处理。
[0073]
图8是用于说明根据第一实施方式的卷积层的误差梯度的计算的图。如图8所示,第二学习单元24从已经被后向传播并且具有7
×
7大小(像素)的误差信息δy中提取具有大于零的值的元素。例如,第二学习单元24提取三个元素“(y
4,2
)、(y
3,4
)和(y
3,5
)”作为误差信息。
[0074]
随后,第二学习单元24在识别处理时从识别单元21中获取被输入至卷积层的特征量信息x并保持特征量信息x,并且从特征量信息x中获取与从误差信息δy中提取的误差信息相对应的特征量信息。
[0075]
例如,第二学习单元24从9
×
9大小的特征量信息x中指定与误差信息(y
4,2
)处于相同位置(坐标)的元素(x
4,2
)。然后,第二学习单元24使用元素(x
4,2
)作为参考获取与和滤波器具有相同大小的3
×
3矩形区域相对应的每个元素作为特征量信息。参照上述示例,第二学习单元24获取矩形区域“(x
4,2
)、(x
5,2
)、(x
6,2
)、(x
4,3
)、(x
5,3
)、(x
6,3
)、(x
4,4
)、(x
5,4
)和(x
6,4
)”作为与误差信息(y
4,2
)相对应的特征量信息x1。
[0076]
类似地,第二学习单元24获取矩形区域“(x
3,4
)、(x
4,4
)、(x
5,4
)、(x
3,5
)、(x
4,5
)、(x
5,5
)、(x
3,6
)、(x
4,6
)和(x
5,6
)”作为与误差信息(y
3,4
)相对应的特征量信息x2。此外,第二学习单元24获取矩形区域“(x
3,5
)、(x
4,5
)、(x
5,5
)、(x
3,6
)、(x
4,6
)、(x
5,6
)、(x
3,7
)、(x
4,7
)和(x
5,7
)”作为与误差信息(y
3,5
)相对应的特征量信息x3。注意,此处,已经描述了获取与误差信息相对应的特征量信息的元素位于左上角的矩形区域的示例。然而,本实施方式不限于此,并且可以获取以该元素为中心的矩形区域或该元素位于右上角的矩形区域。
[0077]
此后,第二学习单元24使用从误差信息δy中提取的误差信息以及从特征量信息x中获取的特征量信息计算滤波器的误差梯度,并更新该滤波器。参照上述示例,第二学习单元24使用误差信息(y
4,2
)和特征量信息x1、误差信息(y
3,4
)和特征量信息x2以及误差信息(y
3,5
)和特征量信息x3中的每一者来更新滤波器。注意,通过使用如图5中的公式(2)来执行用于计算误差梯度的方法。
[0078]
注意,与通过针对每个通道执行以上描述的误差梯度计算处理的一般方法相比,第二学习单元24可以减少计算量。图9是用于说明误差提取的比较的图。如图9所示,在cnn的一般学习(normal)中,针对每个通道,将误差信息δy的所有元素乘以特征量信息x,并且对滤波器的误差梯度的存储器执行加法。
[0079]
另一方面,在第一实施方式中,与一般方法不同,在计算误差信息时,从误差信息中提取特定元素并且将该特定元素的索引(idx)和值(val)各自分别提取为稀疏矩阵。具体地,例如,第二学习单元24针对每个通道获取与从误差信息δy中提取的索引相对应的矩形区域的特征量信息,并将与该索引相对应的值(value)和矩形区域的特征量信息相乘,并且此后,针对滤波器的误差梯度的存储器执行加法。以以上描述的特定元素(y
4,2
)为例,索引对应于特定元素(y
4,2
)的坐标(4,2),并且值对应于误差信息δy内针对坐标(4,2)设置的值。
[0080]
此处,作为第二学习单元24提取为稀疏矩阵的条件,可以采用各种方法。图10和图11是用于说明误差提取的具体示例的图。如图10所示,第二学习单元24可以从误差信息δy的元素之中提取绝对值的值等于或大于一的特定元素。在图10的示例中,第二学习单元24指定其值为
“‑
3.513”的特定元素(y
1,3
),并且提取“(1,3),-3.513”作为误差信息“index,value”。类似地,第二学习单元24指定其值为“2.438”的特定元素(y
3,3
),并且提取“(3,3),2.438”作为误差信息“index,value”。
[0081]
此外,如图11所示,第二学习单元24可以从误差信息δy的元素之中提取绝对值的值对应于前k个值(topk)的特定元素。图11中的示例示出了其中假设k=3并且提取了前三个特定元素的示例。例如,第二学习单元24指定其值为“27”的特定元素(y
5,1
),并且提取“(5,1),27”作为误差信息“index,value”。类似地,第二学习单元24指定其值为
“‑
26”的特定元素(y
1,3
),并且提取“(1,3),-26”作为误差信息“index,value”。类似地,第二学习单元24指定其值为“20”的特定元素(y
3,2
),并且提取“(3,2),20”作为误差信息“index,value”。
[0082]
[处理流程]
[0083]
接下来,将描述机器学习处理的流程。图12是示出机器学习处理的流程的流程图。
[0084]
如图12所示,当机器学习处理开始时(s101:是),识别单元21读取训练数据(s102)、从训练数据中获取每个通道图像(s103)以及针对每个通道图像执行前向传播处理(s104)。
[0085]
随后,学习执行单元22针对每个通道计算指示识别结果与正确答案信息之间的误差的误差信息(s105),并且开始该误差信息的后向传播处理(s106)。
[0086]
然后,学习执行单元22将误差信息后向传播至先前层(s107),并且在后向传播的目的地是除卷积层之外的层的情况下(s108:否),基于被后向传播的误差信息执行机器学习(s109)。
[0087]
另一方面,在后向传播的目的地是卷积层的情况下(s108:是),学习执行单元22从误差信息中提取特定元素(s110)、使用特定元素和前向传播时的特征量信息计算误差梯度(s111)以及使用该误差梯度更新滤波器(s112)。
[0088]
然后,在后向传播处理继续进行的情况下(s113:否),学习执行单元22重复在s108及后续步骤中的处理。另一方面,在后向传播处理被终止的情况下(s113:是),确定机器学习处理是否终止(s114)。
[0089]
此处,在机器学习处理继续进行的情况下(s114:否),识别单元21执行在s102及后续步骤中的处理。另一方面,在机器学习处理终止的情况下(s114:是),学习执行单元22将所学习的机器学习模型14、已经学习的cnn的各种参数等作为学习结果存储在存储单元12中。
[0090]
[效果]
[0091]
如上所述,信息处理设备10在用于深度学习的卷积层的误差梯度计算处理中提取误差信息中的满足特定条件的特定元素的索引和值。然后,信息处理设备10提取与所提取的特定元素的索引相对应的特征量信息,并仅使用这些值来计算误差梯度。作为结果,因为信息处理设备10可以有效地减少计算量,所以可以在保持学习准确度的同时缩短处理时间。
[0092]
此处,将描述根据第一实施方式的方法的数值效果。图13是用于说明应用于lenet的具体示例的图。如图13所示,lenet网络包括输入层(input)、卷积层(conv1)、池化层(pool1)、卷积层(conv2)、池化层(pool2)、隐藏层(hidden4)和输出层(output)。此处,考虑lenet提取k个(topk)特定元素并且执行“后向传播”和“误差梯度计算”两者的情况。例如,在conv1中,在通道图像的大小为24
×
24的情况下,可以将处理量减少为“k/576”。此外,在conv2中,在通道图像的大小为8
×
8的情况下,可以将处理量减少为“k/64”。
[0093]
也就是说,例如,期望基于通道图像大小的计算量的减少率,并且在计算量非常大的卷积层的后向传播中,可以大大减少计算量。
[0094]
接下来,参照图14验证“k个特定元素”对深度学习的准确度有多大影响。图14是用于说明在应用于lenet的情况下的学习时的准确度的图。在图14中,将描述改变k并且对混合国家标准和技术研究所数据库(mixed national institute of standards and technology database,mnist)(手写字符识别)执行根据第一实施方式的滤波器更新的情况下对准确度的影响。
[0095]
在图14中,将在没有进行调整的状态下执行学习时的准确度示出为原始(original),并且示出了在通过根据第一实施方式的方法将特定元素的数量调整为topk(k=1、2、3、4)时的准确度。注意,对于lenet中的所有卷积层,在后向传播(后向)处理的第一部分中,针对每个通道图像提取topk(k=1、2、3、4),并且因为卷积层的层定义被更改而假定该层定义被应用于所有卷积层。也就是说,例如,示出了在特定元素的数量为一个(k=
1)、两个(k=2)、三个(k=3)或四个(k=4)时滤波器学习的准确度。
[0096]
如图14所示,在使用任何k的情况下,准确度被提高为如原始的情况一样。此外,在k=4的情况下,可以达到与原始相当的最大准确度。换句话说,例如,通过使用根据第一实施方式的方法,可以在维持学习准确度的同时缩短处理时间。
[0097]
接下来,将描述在卷积层的学习中的计算处理的减少量。图15是用于说明在应用于lenet的情况下的计算量减少的图。在letnet中,卷积层的计算量占总学习的计算量的54.8%。图15中的图示出了当letnet的每个卷积层的k改变时的计算量。具体地,例如,图15示出了在假设关于卷积层的后向传播没有根据第一实施方式进行调整的原始(original)的计算量为100%的情况下,当k被从1改变为10时的计算量的比例。也就是说,例如,示出了当从误差信息中提取的特定元素的数量被从1改变为10时每个计算量的比例。
[0098]
如图15所示,在整个lenet中,随着k的增加,计算量增加。然而,当k=10时,计算量为原始的计算量的68.23%,当k=1时,计算量为原始的计算量的63.90%,并且可以充分减少计算量。
[0099]
接下来,将描述应用于resnet50的示例。图16是用于说明在应用于resnet的情况下的计算量减少的图。在resnet50中,等于或大于99.5%的运算是卷积层的运算,并且甚至在图像的大小为最小的情况下,也可以预期减少效果等于或大于“k/(7
×
7)”。图16中的图示出了当resnet50的每个卷积层的k改变时的计算量,并且原始是包括fc层的整个计算量。如果k=1,则即使fc层被包括在内,也可以将计算量减少至33.74%,并且不减少前向传播的计算。因此,可以将计算量减少至理论最大值的33.33%,并且在仅考虑后向传播的情况下,可以预期减少99%。
[0100]
[第二实施方式]
[0101]
尽管上面已经对实施方式进行了描述,但是除了以上所描述的模式之外,还可以在各种不同的模式下实现这些实施方式。
[0102]
[数值等]
[0103]
数值、阈值、各层的数量、用于计算误差信息和误差梯度的方法、用于更新滤波器的方法、神经网络的模型配置、在上述实施方式中使用的诸如特征量信息、误差信息或误差梯度等的数据大小仅是示例,并且可以任意改变。此外,在上述实施方式中描述的方法可以被应用于使用卷积层的其他神经网络而不是cnn。此外,稀疏矩阵的值是基于索引等指定的像素值的示例。
[0104]
[系统]
[0105]
除非另外指定,否则可以可选地改变以上描述的或在附图中示出的包括处理过程、控制过程、具体名称、各种类型的数据以及参数的信息。注意,识别单元21是获取单元的示例,并且学习执行单元22是学习执行单元的示例。
[0106]
另外,附图中示出的每个装置的每个部件在功能上是概念性的,并且不一定必须如附图所示在物理上进行配置。换句话说,每个装置的分布和集成的具体形式不限于附图中示出的形式。也就是说,例如,可以根据各种类型的负载、使用情况等通过在功能上或物理上分布以及集成到可选单元中来对装置的全部或部分进行配置。
[0107]
此外,在每个装置中执行的各个处理功能的全部或任何部分可以由中央处理单元(cpu)以及由cpu分析和执行的程序实现,或者可以通过有线逻辑实现为硬件。
[0108]
[硬件]
[0109]
接下来,将描述信息处理设备10的硬件配置示例。图17是用于说明硬件配置示例的图。如图17所示,信息处理设备10包括通信装置10a、硬盘驱动器(hdd)10b、存储器10c和处理器10d。此外,图17中示出的每个单元通过总线等相互连接。
[0110]
通信装置10a是网络接口卡等,并且与另一服务器通信。hdd 10b存储将图6中示出的功能激活的程序以及db。
[0111]
处理器10d从hdd 10b等读取执行与图6中示出的每个处理单元的处理类似的处理的程序,并且在存储器10c中展开所读取的程序,从而将执行参照图6等描述的每个功能的处理激活。例如,该处理执行与信息处理设备10中包括的每个处理单元的功能类似的功能。具体地,例如,处理器10d从hdd 10b等中读取具有与识别单元21、学习执行单元22等的功能类似的功能的程序。然后,处理器10d执行用于执行与识别单元21、学习执行单元22等的处理类似的处理的处理。
[0112]
如以上所描述的,信息处理设备10操作为通过读取并执行程序来执行学习方法的信息处理设备。此外,信息处理设备10还可以通过由介质读取装置从记录介质中读取以上所描述的程序并且执行所读取的以上所描述的程序来实现与上述实施方式的功能类似的功能。注意,在其他实施方式中引用的程序不限于由信息处理设备10执行。例如,实施方式可以类似地应用于另一计算机或服务器执行程序的情况,或者这样的计算机和服务器协同执行程序的情况。
[0113]
该程序可以经由网络例如因特网分发。此外,该程序可以被记录在诸如硬盘、软盘(fd)、cd-rom、磁光盘(mo)或数字多功能盘(dvd)的计算机可读记录介质上,并且可以通过计算机从记录介质中读取而被执行。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献