运算方法技术

技术编号:26927405 阅读:26 留言:0更新日期:2021-01-01 22:58
一种运算方法,以矩阵乘积运算进行神经网络的卷积层的卷积运算,包括:按照每个卷积层,判断被输入到该卷积层的输入数据是否为规定的数据量以下的判断步骤(S1);被判断为所述输入数据是规定的数据量以下的情况下(S1中的是),选择第1运算模式,以第1运算模式执行卷积运算的步骤(S2、S3);被判断为所述输入数据比规定的数据量大的情况下(S1中的否),选择第2运算模式,以第2运算模式执行卷积运算的步骤(S5、S6);以及对输出数据进行输出的输出步骤(S7),所述输出数据是执行卷积运算而获得的结果。

【技术实现步骤摘要】
【国外来华专利技术】运算方法
本公开涉及运算方法,尤其涉及在卷积神经网络的卷积层中进行的卷积运算的运算方法。
技术介绍
近几年,能够利用卷积神经网络来进行图像识别,该卷积神经网络由重复局部区域的卷积(Convolution)的多层的神经网络来构成。此外已知的技术如下,利用能够对多维数据进行运算处理的LSI芯片,进行卷积神经网络的卷积层中的卷积运算(例如,专利文献1)。在专利文献1中公开了,对于超过内置于LSI芯片的存储电路块的存储大小的二维数据,有效地执行运算处理的技术。(现有技术文献)(专利文献)专利文献1:日本特开2007-206887号公报近几年随着深度学习技术的发展,利用卷积神经网络的图像识别的识别率不断提高,网络规模巨大化。因此,卷积层的每一层的运算处理量也变大。然而,在专利文献1中,运算处理对象是规模比较小的卷积神经网络中的卷积运算。因此,在专利文献1公开的技术中,在进行大规模的卷积神经网络中的卷积运算时,需要从外部读入输入数据来使用,所以存在功耗大的问题。换句话说,如专利文献1公开的LSI芯片中,处理结果的大小不能收纳在LSI芯片的内部搭载的内部存储器时,不得不输出到外部存储器。而且,在后段的卷积层中需要再次作为输入数据而读入到内部存储器来使用,所以功耗变大。另一方面,在LSI芯片中,为了抑制功耗,使暂时保持运算处理结果的内部存储器的容量变大时,则会出现成本增加的问题。
技术实现思路
本公开鉴于上述情况而提出,其目的在于提供一种运算方法,例如即使是几兆字节以下的容量有限的内部存储器,也能够抑制功耗并进行卷积运算的运算方法。本公开的一个方案涉及的运算方法,利用LSI的内部具有的运算器和内部存储器,以矩阵乘积运算进行神经网络的卷积层的卷积运算,所述运算方法包括:判断步骤,按照每个卷积层,判断被输入到该卷积层的输入数据是否为规定的数据量以下;以第1运算模式执行卷积运算的步骤,在所述判断步骤中,被判断为所述输入数据是规定的数据量以下的情况下,选择第1运算模式,以所述第1运算模式执行卷积运算;以第2运算模式执行卷积运算的步骤,在所述判断步骤中,被判断为所述输入数据比规定的数据量大的情况下,选择第2运算模式,以所述第2运算模式执行卷积运算;以及输出步骤,对输出数据进行输出,所述输出数据是执行卷积运算而获得的结果,所述以第1运算模式执行卷积运算的步骤,包括:将该卷积层的权重数据,配置在位于所述LSI的外部的外部存储器的步骤;将该卷积层的所述输入数据配置在所述内部存储器的步骤;以及从所述外部存储器,将所述权重数据,按每一部分,作为1个以上的行或者列向量数据,读入到所述内部存储器,并且使所述运算器对该1个以上的行或者列向量数据与被配置在所述内部存储器的所述输入数据的矩阵进行矩阵乘积运算的步骤,所述权重数据作为整体,从所述外部存储器读入到所述内部存储器的次数仅为一次,所述以第2运算模式执行卷积运算的步骤,包括:将该卷积层的输入数据,配置在位于所述LSI的外部的外部存储器的步骤;将该卷积层的权重数据的矩阵,配置在所述内部存储器的步骤;以及从所述外部存储器,将所述输入数据,按每一部分,作为1个以上的列或者行向量数据,读入到所述内部存储器,并且使所述运算器对该1个以上的列或者行向量数据与被配置在所述内部存储器的所述权重数据的矩阵进行矩阵乘积运算的步骤,所述输入数据作为整体,从所述外部存储器读入到所述内部存储器的次数仅为一次。从而,即使是容量有限的内部存储器,也能够进一步抑制功耗并进行卷积运算。例如可以是,在所述输出步骤中,将所述输出数据,作为该卷积层的后段的层中的输入数据而配置到所述内部存储器或所述外部存储器,从而输出所述输出数据。例如可以是,所述后段的层是卷积层、池化层、或归一化层。例如可以是,所述以第1运算模式执行卷积运算的步骤,包括:对配置在所述内部存储器的所述输入数据进行采样,从而变换为所述输入数据的矩阵的步骤,所述以第2运算模式执行卷积运算的步骤,包括:对读入到所述内部存储器的所述输入数据的一部分进行采样,从而变换为所述1个以上的列或者行向量数据的步骤。例如可以是,在所述以第2运算模式执行卷积运算的步骤中,所述输入数据,以瓦片状的形式而被配置在所述外部存储器。例如可以是,在所述输出步骤中,在所述输出数据被配置在所述外部存储器的情况下,所述输出数据,以瓦片状的形式而被配置在所述外部存储器。此外,本公开的一个方案涉及的运算方法,利用LSI的内部具有的运算器和内部存储器,以矩阵乘积运算进行神经网络的卷积层的卷积运算,所述运算方法包括:判断步骤,按照每个卷积层,判断被输入到该卷积层的输入数据是否为规定的数据量以下;以第1运算模式执行卷积运算的步骤,在所述判断步骤中,被判断为所述输入数据是规定的数据量以下的情况下,选择第1运算模式,以所述第1运算模式执行卷积运算;以第2运算模式执行卷积运算的步骤,在所述判断步骤中,被判断为所述输入数据比规定的数据量大的情况下,选择第2运算模式,以所述第2运算模式执行卷积运算;以及输出步骤,对输出数据进行输出,所述输出数据是执行卷积运算而获得的结果,所述以第1运算模式执行卷积运算的步骤,包括:将该卷积层的权重数据,配置在位于所述LSI的外部的外部存储器的步骤;将该卷积层的所述输入数据配置在所述内部存储器的步骤;以及从所述外部存储器,将所述权重数据,按每一部分,作为1个以上的行或者列向量数据,读入到所述内部存储器,并且使所述运算器对该1个以上的行或者列向量数据与被配置在所述内部存储器的所述输入数据的矩阵进行矩阵乘积运算的步骤,所述权重数据作为整体,从所述外部存储器读入到所述内部存储器的次数仅为一次,所述以第2运算模式执行卷积运算的步骤,包括:将该卷积层的输入数据以及权重数据,配置在位于所述LSI的外部的外部存储器的步骤;从所述外部存储器,将所述权重数据的一部分,作为1个以上的行或者列向量数据即第1向量数据,配置在所述内部存储器的步骤;从所述外部存储器,将所述输入数据,按每一部分,作为1个以上的列或者行向量数据,读入到所述内部存储器,并且使所述运算器对该1个以上的列或者行向量数据与被配置在所述内部存储器的所述第1向量数据进行矩阵乘积运算的步骤;从所述外部存储器,将所述权重数据的与所述一部分不同的一部分,作为1个以上的行或者列向量数据即第2向量数据,配置在所述内部存储器的步骤;以及从所述外部存储器,将所述输入数据,按每一部分,作为1个以上的列或者行向量数据,读入到所述内部存储器,并且使所述运算器对该1个以上的列或者行向量数据与被配置在所述内部存储器的所述第2向量数据进行矩阵乘积运算的步骤,所述权重数据作为整体,从所述外部存储器读入到所述内部存储器的次数仅为一次。另外,这些概括或者具体的方案,可以通过系统、方法、集成电路、计算机程序或者计算机可读取的CD-ROM等记录介质来实现,也可以任意组合系统、方法、集成电路、计算机程序以及记录介质来实现。专利技术效果通过本公开的运算方法,例如即使是容量有限的内部存储器本文档来自技高网...

【技术保护点】
1.一种运算方法,利用LSI的内部具有的运算器和内部存储器,以矩阵乘积运算进行神经网络的卷积层的卷积运算,所述运算方法包括:/n判断步骤,按照每个卷积层,判断被输入到该卷积层的输入数据是否为规定的数据量以下;/n以第1运算模式执行卷积运算的步骤,在所述判断步骤中,被判断为所述输入数据是规定的数据量以下的情况下,选择第1运算模式,以所述第1运算模式执行卷积运算;/n以第2运算模式执行卷积运算的步骤,在所述判断步骤中,被判断为所述输入数据比规定的数据量大的情况下,选择第2运算模式,以所述第2运算模式执行卷积运算;以及/n输出步骤,对输出数据进行输出,所述输出数据是执行卷积运算而获得的结果,/n所述以第1运算模式执行卷积运算的步骤,包括:/n将该卷积层的权重数据,配置在位于所述LSI的外部的外部存储器的步骤;/n将该卷积层的所述输入数据配置在所述内部存储器的步骤;以及/n从所述外部存储器,将所述权重数据,按每一部分,作为1个以上的行或者列向量数据,读入到所述内部存储器,并且使所述运算器对该1个以上的行或者列向量数据与被配置在所述内部存储器的所述输入数据的矩阵进行矩阵乘积运算的步骤,/n所述权重数据作为整体,从所述外部存储器读入到所述内部存储器的次数仅为一次,/n所述以第2运算模式执行卷积运算的步骤,包括:/n将该卷积层的输入数据,配置在位于所述LSI的外部的外部存储器的步骤;/n将该卷积层的权重数据的矩阵,配置在所述内部存储器的步骤;以及/n从所述外部存储器,将所述输入数据,按每一部分,作为1个以上的列或者行向量数据,读入到所述内部存储器,并且使所述运算器对该1个以上的列或者行向量数据与被配置在所述内部存储器的所述权重数据的矩阵进行矩阵乘积运算的步骤,/n所述输入数据作为整体,从所述外部存储器读入到所述内部存储器的次数仅为一次。/n...

【技术特征摘要】
【国外来华专利技术】1.一种运算方法,利用LSI的内部具有的运算器和内部存储器,以矩阵乘积运算进行神经网络的卷积层的卷积运算,所述运算方法包括:
判断步骤,按照每个卷积层,判断被输入到该卷积层的输入数据是否为规定的数据量以下;
以第1运算模式执行卷积运算的步骤,在所述判断步骤中,被判断为所述输入数据是规定的数据量以下的情况下,选择第1运算模式,以所述第1运算模式执行卷积运算;
以第2运算模式执行卷积运算的步骤,在所述判断步骤中,被判断为所述输入数据比规定的数据量大的情况下,选择第2运算模式,以所述第2运算模式执行卷积运算;以及
输出步骤,对输出数据进行输出,所述输出数据是执行卷积运算而获得的结果,
所述以第1运算模式执行卷积运算的步骤,包括:
将该卷积层的权重数据,配置在位于所述LSI的外部的外部存储器的步骤;
将该卷积层的所述输入数据配置在所述内部存储器的步骤;以及
从所述外部存储器,将所述权重数据,按每一部分,作为1个以上的行或者列向量数据,读入到所述内部存储器,并且使所述运算器对该1个以上的行或者列向量数据与被配置在所述内部存储器的所述输入数据的矩阵进行矩阵乘积运算的步骤,
所述权重数据作为整体,从所述外部存储器读入到所述内部存储器的次数仅为一次,
所述以第2运算模式执行卷积运算的步骤,包括:
将该卷积层的输入数据,配置在位于所述LSI的外部的外部存储器的步骤;
将该卷积层的权重数据的矩阵,配置在所述内部存储器的步骤;以及
从所述外部存储器,将所述输入数据,按每一部分,作为1个以上的列或者行向量数据,读入到所述内部存储器,并且使所述运算器对该1个以上的列或者行向量数据与被配置在所述内部存储器的所述权重数据的矩阵进行矩阵乘积运算的步骤,
所述输入数据作为整体,从所述外部存储器读入到所述内部存储器的次数仅为一次。


2.如权利要求1所述的运算方法,
在所述输出步骤中,将所述输出数据,作为该卷积层的后段的层中的输入数据而配置到所述内部存储器或所述外部存储器,从而输出所述输出数据。


3.如权利要求2所述的运算方法,
所述后段的层是卷积层、池化层、或归一化层。


4.如权利要求1至3的任一项所述的运算方法,
所述以第1运算模式执行卷积运算的步骤,包括:
对配置在所述内部存储器的所述输入数据进行采样,从而变换为所述输入数据的矩阵的步骤,
所述以第2运算模式执行卷积运算的步骤,包括:
对读入到所述内部存储器的所述输入数据的一部分进行采样,从而变换为所述1个以上的列或者行向量数据的步骤。


5.如权利要求1至4的任一项所述的运算方法,
在...

【专利技术属性】
技术研发人员:山仓诚
申请(专利权)人:株式会社索思未来
类型:发明
国别省市:日本;JP

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1