CN114757328A - 一种卷积神经网络的卷积操作方法及装置 - Google Patents

一种卷积神经网络的卷积操作方法及装置 Download PDF

Info

Publication number
CN114757328A
CN114757328A CN202110025418.8A CN202110025418A CN114757328A CN 114757328 A CN114757328 A CN 114757328A CN 202110025418 A CN202110025418 A CN 202110025418A CN 114757328 A CN114757328 A CN 114757328A
Authority
CN
China
Prior art keywords
convolution
input voltage
group
sliding window
multiplexing
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
CN202110025418.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.)
Institute of Microelectronics of CAS
Original Assignee
Institute of Microelectronics of CAS
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 Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN202110025418.8A priority Critical patent/CN114757328A/zh
Priority to US17/753,140 priority patent/US20230162007A1/en
Priority to PCT/CN2021/077283 priority patent/WO2022147890A1/zh
Publication of CN114757328A publication Critical patent/CN114757328A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Neurology (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)

Abstract

本发明涉及人工智能算法技术领域,尤其涉及一种卷积神经网络的卷积操作方法及装置,该方法包括:获取用于表征像素值的输入电压;在对所述输入电压通过卷积滑动窗口进行扫描时,获得所述卷积滑动窗口内的所述输入电压的复用次数;基于所述输入电压的复用次数的不同,将所述输入电压进行分组;将相同分组内的所述输入电压提取一次,并分别与卷积核进行卷积计算,获得每个分组所对应的结果;基于所述每个分组所对应的结果,获得卷积操作结果,以实现卷积神经网络中的卷积操作,有效降低了卷积操作过程中的能耗。

Description

一种卷积神经网络的卷积操作方法及装置
技术领域
本发明涉及人工智能算法技术领域,尤其涉及用于卷积神经网络的卷积操作方法及装置。
背景技术
在采用卷积神经网络(Convolutional Neural Network,CNN)进行图像处理过程中,需要进行大量的卷积计算步骤。
其中,在对宏窗口中的数据进行卷积计算时,需要多次提取同一个数据进行卷积计算,每提取一次数据就需要对内存进行读取,而且,在每次读取该数据之后,通过数模转换器进行卷积计算的过程,也增加了数模转换器的功耗。
因此,如何降低卷积操作过程中的能耗是目前亟待解决的技术问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的卷积神经网络的卷积操作方法及装置。
第一方面,本发明提供了一种卷积神经网络的卷积操作方法,包括:
获取用于表征像素值的输入电压;
在对所述输入电压通过卷积滑动窗口进行扫描时,获得所述卷积滑动窗口内的所述输入电压的复用次数;
基于所述输入电压的复用次数的不同,将所述输入电压进行分组;
将相同分组内的所述输入电压提取一次,并分别与卷积核进行卷积计算,获得每个分组所对应的结果;
基于所述每个分组所对应的结果,获得卷积操作结果,以实现卷积神经网络中的卷积操作。
进一步地,所述在对所述输入电压通过卷积滑动窗口进行扫描时,获得所述卷积滑动窗口内的所述输入电压的复用次数,包括:
在对所述输入电压通过卷积滑动窗口进行扫描时,获得所述卷积滑动窗口按照预设步长从第一位置、第二位置、直到第Q位置的过程中,所述输入电压出现在所述卷积滑动窗口的次数,即为复用次数,Q为正整数。
进一步地,所述输入电压具体为m个通道的输入电压,所述卷积核包括m×n个卷积滑动窗口,n和m均为正整数;
其中,所述输入电压的尺寸为p×p时,所述卷积滑动窗口的尺寸为w×w,则2≤w<p,p和w均为正整数。
进一步地,所述将相同分组内的所述输入电压提取一次,并分别与卷积核进行卷积计算,获得每个分组中所对应的结果,包括:
将所述相同分组内的所述输入电压提取一次,并分别与所述卷积核进行乘累加运算,获得每个分组中执行一次复用次数时所对应的结果;
将所述每个分组中执行一次复用次数所对应的结果按照复用次数进行累加,以获得每个分组所对应的结果。
进一步地,所述基于所述每个分组所对应的结果,获得卷积操作结果,以实现卷积神经网络中的卷积操作,包括:
将所述每个分组所对应的结果相加,获得卷积操作结果,以实现卷积神经网络中的卷积操作。
第二方面,本发明提供了一种卷积神经网络的卷积操作装置,包括:
获取模块,用于获取用于表征像素值的输入电压;
第一获得模块,用于在对所述输入电压通过卷积滑动窗口进行扫描时,获得所述卷积滑动窗口内的所述输入电压的复用次数;
分组模块,用于基于所述输入电压的复用次数的不同,将所述输入电压进行分组;
第二获得模块,用于将相同分组内的所述输入电压提取一次,并分别与卷积核进行卷积计算,获得每个分组所对应的结果;
第三获得模块,用于基于所述每个分组所对应的结果,获得卷积操作结果,以实现卷积神经网络中的卷积操作。
进一步地,所述第一获得模块用于:
在对所述输入电压通过卷积滑动窗口进行扫描时,获得所述卷积滑动窗口按照预设步长从第一位置、第二位置、直到第Q位置的过程中,所述输入电压出现在所述卷积滑动窗口的次数,即为复用次数,Q为正整数。
进一步地,所述第二获得模块,包括:
提取单元,用于将所述相同分组内的所述输入电压提取一次,并分别与所述卷积核进行先乘后加的运算,获得每个分组中执行一次复用次数时所对应的结果;
累加单元,用于将所述每个分组中执行一次复用次数所对应的结果按照复用次数进行累加,以获得每个分组所对应的结果。
第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法步骤。
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的方法步骤。
本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:
本发明提供的卷积神经网络的卷积操作方法,包括:获取用于表征像素值的输入电压,在对输入电压通过卷积滑动窗口扫描时,获得卷积滑动窗口内输入电压的复用次数,基于输入电压的复用次数的不同,将输入电压进行分组,将相同分组内的输入电压提取一次,并分别与卷积核进行卷积计算,获得每个分组所对应的结果;基于每个分组所对应的结果,获得卷积操作结果,以实现卷积神经网络中的卷积操作,进而对于复用多次的输入电压来说,只需要从内存中读取一次,并且,在进行卷积操作时也减少对数模转换消耗,有效降低了卷积操作过程中的能耗。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考图形表示相同的部件。在附图中:
图1示出了相关技术中卷积神经网络的卷积操作示意图;
图2示出了本发明实施例一中卷积神经网络的卷积操作方法的步骤流程示意图;
图3示出了本发明实施例一中输入数据的结构示意图;
图4a~图4d示出了本发明实施例一中卷积滑动窗口扫码输入电压的过程示意图图;
图5示出了本发明实施例一中复用四次的输入电压分别与m×n个2×2的卷积核进行乘累加运算的过程示意图;
图6a~图6d示出了本发明实施例一中复用2次的输入电压分别与m×n个2×2的卷积核进行乘累加运算的过程示意图;
图7a~图7d示出了本发明实施例一中复用1次的输入电压分别与m×n个2×2的卷积核进行乘累加运算的过程示意图;
图8示出了本发明实施例二中卷积神经网络的卷积操作装置的结构示意图;
图9示出了本发明实施例三中实现卷积神经网络的卷积操作方法的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
首先,如图1所示,为相关技术中的卷积神经网络进行卷积操作的运算过程示意图。
其中,该输入数据包括多个输入通道,宏窗口的尺寸为3×3,该宏窗口中的每个数据为用于表示像素值的输入电压,采用2×2尺寸的卷积滑动窗口对该宏窗口进行扫描,该卷积核包括m×n个2×2的卷积滑动窗口。
在现有的卷积操作中,需要将输入数据分别与卷积核进行卷积运算,由此可见,如图1上的宏窗口中位于中间的输入数据I122需要与卷积核进行4次卷积运算,当然,位于该I122的上、下、左、右的输入数据(I112、I132、I121、I132)均需要与卷积核进行2次卷积运算,位于该宏窗口中的四个角处输入数据(I111、I113、I131、I133)需要与卷积核进行一次卷积运算。
因此,输入数据I122需要复用4次,输入数据I112、I132、I121、I132均需要复用2次,这样的话,需要从内存中读取4次输入数据I122,从内存中分别读取2次输入数据I112、I132、I121、I132。因此,多次对内存进行占用,造成能耗过大,效率较低的问题。
本发明所提供的一种卷积神经网络的卷积操作方法,能够有效降低复用多次的输入数据从内存中读取的次数,能够有效降低能耗。
实施例一
本发明实施例一提供了一种卷积神经网络的卷积操作方法,如图2所示,包括:
S201,获取用于表征像素值的输入电压。
S202,在对输入电压通过卷积滑动窗口进行扫描时,获得卷积滑动窗口内的输入电压的复用次数。
S203,基于该输入电压的复用次数的不同,将该输入电压进行分组。
S204,将相同分组内的输入电压提取一次,并分别与卷积核进行卷积计算,获得每个分组所对应的结果。
S205,基于每个分组所对应的结果,获得卷积操作结果,以实现卷积神经网络中的卷积操作。
在一种可选的实施方式中,用于表征像素值的输入电压具体为m个通道的输入电压,其中,m为正整数。
按照图3的示例,该m个通道的输入电压中每个通道上具有3×3的宏窗口,位于第一层的3×3的宏窗口中包括如下9个输入电压,具体为:I111、I112、I113、I121、I122、I123、I131、I132、I133
依次类推,得到m层上述的宏窗口中的输入电压。
以一层宏窗口为例,该输入电压即为从图像中提取的特征数据,该特征数据即为3×3的数据矩阵。对于m个通道来说即为m×3×3的数据矩阵。
在获得m个通道的输入电压之后,执行S202,在对输入电压通过卷积滑动窗口进行扫描时,获得卷积滑动窗口内的输入电压的复用次数。
具体地,对该输入电压通过卷积滑动窗口进行操作,首先,选取卷积滑动窗口,以一个卷积滑动窗口为例。
该卷积核为该卷积神经网络模型的特征权重,每个卷积滑动窗口为一个2×2的权重矩阵,即该权重矩阵分为2行,每行包含2个权重元素,每个权重元素是用于与上述输入电压相乘的权重数值。
上述的输入电压和卷积核还可以是三维数据。对于m个通道来说即为m×3×3的数据矩阵。对于m×n个卷积核来说即为m×n个2×2的权重矩阵。
然后,将对该输入电压通过卷积滑动窗口进行扫描时,具体是将3×3的数据矩阵通过2×2的卷积滑动窗口进行扫描。
具体地,在扫描过程中,获得卷积滑动窗口按照预设步长从第一位置、第二位置,直到第Q位置的过程中,该输入电压出现在卷积滑动窗口的次数,即为复用次数,Q为正整数。
具体如图4a~图4d所示,预设步长为1,采用该卷积滑动窗口扫描该输入电压的过程中,第一位置如图4a所示,第二位置如图4b所示,第三位置如图4c所示,第四位置如图4d所示。通过上述的四个位置,完成对输入电压的扫描。
在扫描过程中,该输入电压出现在该卷积滑动窗口的次数,即为复用次数。
例如,以位于第一层的3×3的宏窗口中包含的9个输入电压,I111、I112、I113、I121、I122、I123、I131、I132、I133为例,其中,I122在卷积滑动窗口中出现的次数为4次,即输入电压I122的复用次数为4次。I112、I132、I121、I123在卷积滑动窗口中出现的次数均为2次,即输入电压I112、I132、I121、I123的复用次数均为2次。另外,I111、I113、I131、I133在卷积滑动窗口中出现的次数为1次,即输入电压I111、I113、I131、I133的复用次数均为1次。
在获得每个输入电压的复用次数之后,执行S203,基于该输入电压的复用次数的不同,将该输入电压进行分组。
按照上述的9个输入电压为例,其中,输入电压I122为第一分组,输入电压I112、I132、I121、I123为第二分组,输入电压I111、I113、I131、I133为第三分组。
接着,执行S204,将相同分组内的输入电压提取一次,并分别与卷积核进行卷积计算,获得每个分组所对应的结果。
在一种可选的实施方式中,将相同分组内的输入电压提取一次,并分别与卷积核进行乘累加运算,获得每个分组中执行一次复用次数时所对应的结果。
然后,将每个分组中执行一次复用次数所对应的结果按照复用次数进行累加,以获得每个分组所对应的结果。
比如,针对输入电压I122来说,该输入电压I122的复用次数为4次,将该输入电压I122分别与每个2×2的卷积核做卷积运算。具体如图5所示,对于m个通道中每个通道都对应一个输入电压IX22,其中,1≤X≤5,因此,X表示不同的通道。通过数模转换器(DAC)之后,将该输入电压IX22分别与m×n个2×2的卷积核分别进行乘累加运算,由此,获得该第一分组中执行一次复用次数时所对应的结果。
然后,将该第一分组中执行一次复用次数所对应的结果按照复用次数进行累加,即将上述获得的结果按照复用次数累加4次,以获得该第一分组所对应的结果。
对于该复用4次的输入电压来说,仅从内存中读取一次,避免多次对内存的读取,大大提高了能效。
针对输入电压I112、I132、I121、I123来说,该第二分组的输入电压的复用次数均为2次,将该第二分组的输入电压中每个输入电压分别与每个2×2的卷积核做卷积运算。具体如图6a~6d所示,对于m个通道中每个通道都对应4个输入电压,在通过数模转换器(DAC)之后,将第二分组的输入电压分别与m×n个2×2的卷积核分别进行乘累加运算,由此,获得该第二分组中执行一次复用次数时所对应的结果。
然后,将该第二分组中执行一次复用次数所对应的结果按照复用次数进行累加,即将上述获得的结果按照复用次数累加2次,以获得该第二分组所对应的结果。
对于该复用2次的输入电压来说,仅从内存中读取一次,避免多次对内存的读取,大大提高了能效。
针对输入电压I111、I113、I131、I133来说,该第三分组的输入电压的复用次数均为1次,将该第一分组的输入电压中每个输入电压分别与每个2×2的卷积核做卷积运算。具体如图7a~7d所示,对于m个通道中每个通道都对应4个输入电压,在通过数模转换器(DAC)之后,将第三分组的输入电压分别与m×n个2×2的卷积核分别进行乘累加运算。由此,获得第三分钟中执行一次复用次数时所对应的结果。
由于该第三分组中的输入电压复用次数是1次,因此,该第三分组中执行1次复用次数所对应的结果即为该第三分组所对应的结果。
根据上述图5、图6a~图6d以及图7a~图7d所示,其中,标注有“*”标识所对应的列即为卷积滑动窗口在第一位置时所对应的卷积运算,标注有“Δ”标识所对应的列即为卷积滑动窗口在第二位置时所对应的卷积运算,标注有“○”标识所对应的列即为卷积滑动窗口在第三位置时所对应的卷积运算,标注有“□”标识所对应的列即为卷积滑动窗口在第四位置时所对应的卷积运算。
上述是以输入电压的尺寸为3×3,同时,卷积滑动窗口的尺寸为2×2为例的说明。
当然,若该输入电压的尺寸为p×p,对应的卷积滑动窗口的尺寸为w×w,则2≤w<p,其中,p和w均为正整数。
在获得每个分组所对应的结果之后,执行S205,基于每个分组所对应的结果,获得卷积操作结果,以实现卷积神经网络中的卷积操作。
在一种可选的实施方式中,将每个分组所对应的结果相加,获得卷积操作结果,以实现卷积神经网络中的卷积操作。
具体地,按照上述的案例,将第一分组所对应的结果、第二分组所对应的结果以及第三分组所对应的结果相加,获得卷积操作结果,以实现卷积神经网络中的卷积操作。
由此,根据图1所示的相关技术中所需用到的器件数量为4mn×4=16mn;而本发明实施例所提供的卷积神经网络的卷积操作所需要的器件数量为mn+2mn+2mn+mn+mn+2mn+2mn+mn+4mn=16mn。
由此可见,本发明的技术方案所消耗的器件数量与相关技术中所消耗的器件数量是相同的。因此,本发明的技术方案并不会增加阵列面积的消耗。
本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:
本发明提供的卷积神经网络的卷积操作方法,包括:获取用于表征像素值的输入电压,在对输入电压通过卷积滑动窗口扫描时,获得卷积滑动窗口内输入电压的复用次数,基于输入电压的复用次数的不同,将输入电压进行分组,将相同分组内的输入电压提取一次,并分别与卷积核进行卷积计算,获得每个分组所对应的结果;基于每个分组所对应的结果,获得卷积操作结果,以实现卷积神经网络中的卷积操作,进而对于复用多次的输入电压来说,只需要从内存中读取一次,能够提高能效,并且,在进行卷积操作时也减少对数模转换消耗,有效降低了卷积操作过程中的能耗。
实施例二
基于相同的发明构思,本发明实施例还提供了一种卷积神经网络的卷积操作装置,如图8所示,包括:
获取模块801,用于获取用于表征像素值的输入电压;
第一获得模块802,用于在对所述输入电压通过卷积滑动窗口进行扫描时,获得所述卷积滑动窗口内的所述输入电压的复用次数;
分组模块803,用于基于所述输入电压的复用次数的不同,将所述输入电压进行分组;
第二获得模块804,用于将相同分组内的所述输入电压提取一次,并分别与卷积核进行卷积计算,获得每个分组所对应的结果;
第三获得模块805,用于基于所述每个分组所对应的结果,获得卷积操作结果,以实现卷积神经网络中的卷积操作。
在一种可选的实施方式中,所述第一获得模块802用于:
在对所述输入电压通过卷积滑动窗口进行扫描时,获得所述卷积滑动窗口按照预设步长从第一位置、第二位置、直到第Q位置的过程中,所述输入电压出现在所述卷积滑动窗口的次数,即为复用次数,Q为正整数。
在一种可选的实施方式中,所述输入电压具体为m个通道的输入电压,所述卷积核包括m×n个卷积滑动窗口;
其中,所述输入电压的尺寸为p×p时,所述卷积滑动窗口的尺寸为w×w,则2≤w<p,p和w均为正整数。
在一种可选的实施方式中,所述第二获得模块804,包括:
提取单元,用于将所述相同分组内的所述输入电压提取一次,并分别与所述卷积核进行乘累加运算,获得每个分组中执行一次复用次数时所对应的结果;
累加单元,用于将所述每个分组中执行一次复用次数所对应的结果按照复用次数进行累加,以获得每个分组所对应的结果。
在一种可选的实施方式中,所述第三获得模块805用于:
将所述每个分组所对应的结果相加,获得卷积操作结果,以实现卷积神经网络中的卷积操作。
实施例三
基于相同的发明构思,本发明实施例四提供一种电子设备,如图9所示,包括存储器904、处理器902及存储在存储器904上并可在处理器902上运行的计算机程序,所述处理器902执行所述程序时实现上述卷积神经网络的卷积操作方法的步骤。
其中,在图9中,总线架构(用总线900来代表),总线900可以包括任意数量的互联的总线和桥,总线900将包括由处理器902代表的一个或多个处理器和存储器904代表的存储器的各种电路链接在一起。总线900还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口906在总线900和接收器901和发送器903之间提供接口。接收器901和发送器903可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器902负责管理总线900和通常的处理,而存储器904可以被用于存储处理器902在执行操作时所使用的数据。
实施例四
基于相同的发明构思,本发明实施例四提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述卷积神经网络的卷积操作方法的步骤。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的卷积神经网络的卷积操作装置、电子设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种卷积神经网络的卷积操作方法,其特征在于,包括:
获取用于表征像素值的输入电压;
在对所述输入电压通过卷积滑动窗口进行扫描时,获得所述卷积滑动窗口内的所述输入电压的复用次数;
基于所述输入电压的复用次数的不同,将所述输入电压进行分组;
将相同分组内的所述输入电压提取一次,并分别与卷积核进行卷积计算,获得每个分组所对应的结果;
基于所述每个分组所对应的结果,获得卷积操作结果,以实现卷积神经网络中的卷积操作。
2.如权利要求1所述的方法,其特征在于,所述在对所述输入电压通过卷积滑动窗口进行扫描时,获得所述卷积滑动窗口内的所述输入电压的复用次数,包括:
在对所述输入电压通过卷积滑动窗口进行扫描时,获得所述卷积滑动窗口按照预设步长从第一位置、第二位置、直到第Q位置的过程中,所述输入电压出现在所述卷积滑动窗口的次数,即为复用次数,Q为正整数。
3.如权利要求1所述的方法,其特征在于,所述输入电压具体为m个通道的输入电压,所述卷积核包括m×n个卷积滑动窗口,n和m均为正整数;
其中,所述输入电压的尺寸为p×p时,所述卷积滑动窗口的尺寸为w×w,则2≤w<p,p和w均为正整数。
4.如权利要求1所述的方法,其特征在于,所述将相同分组内的所述输入电压提取一次,并分别与卷积核进行卷积计算,获得每个分组中所对应的结果,包括:
将所述相同分组内的所述输入电压提取一次,并分别与所述卷积核进行乘累加运算,获得每个分组中执行一次复用次数时所对应的结果;
将所述每个分组中执行一次复用次数所对应的结果按照复用次数进行累加,以获得每个分组所对应的结果。
5.如权利要求1所述的方法,其特征在于,所述基于所述每个分组所对应的结果,获得卷积操作结果,以实现卷积神经网络中的卷积操作,包括:
将所述每个分组所对应的结果相加,获得卷积操作结果,以实现卷积神经网络中的卷积操作。
6.一种卷积神经网络的卷积操作装置,其特征在于,包括:
获取模块,用于获取用于表征像素值的输入电压;
第一获得模块,用于在对所述输入电压通过卷积滑动窗口进行扫描时,获得所述卷积滑动窗口内的所述输入电压的复用次数;
分组模块,用于基于所述输入电压的复用次数的不同,将所述输入电压进行分组;
第二获得模块,用于将相同分组内的所述输入电压提取一次,并分别与卷积核进行卷积计算,获得每个分组所对应的结果;
第三获得模块,用于基于所述每个分组所对应的结果,获得卷积操作结果,以实现卷积神经网络中的卷积操作。
7.如权利要求6所述的装置,其特征在于,所述第一获得模块用于:
在对所述输入电压通过卷积滑动窗口进行扫描时,获得所述卷积滑动窗口按照预设步长从第一位置、第二位置、直到第Q位置的过程中,所述输入电压出现在所述卷积滑动窗口的次数,即为复用次数,Q为正整数。
8.如权利要求6所述的装置,其特征在于,所述第二获得模块,包括:
提取单元,用于将所述相同分组内的所述输入电压提取一次,并分别与所述卷积核进行先乘后加的运算,获得每个分组中执行一次复用次数时所对应的结果;
累加单元,用于将所述每个分组中执行一次复用次数所对应的结果按照复用次数进行累加,以获得每个分组所对应的结果。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的方法步骤。
CN202110025418.8A 2021-01-08 2021-01-08 一种卷积神经网络的卷积操作方法及装置 Pending CN114757328A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110025418.8A CN114757328A (zh) 2021-01-08 2021-01-08 一种卷积神经网络的卷积操作方法及装置
US17/753,140 US20230162007A1 (en) 2021-01-08 2021-02-22 Method and apparatus for convolution operation of convolutional neural network
PCT/CN2021/077283 WO2022147890A1 (zh) 2021-01-08 2021-02-22 一种卷积神经网络的卷积操作方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110025418.8A CN114757328A (zh) 2021-01-08 2021-01-08 一种卷积神经网络的卷积操作方法及装置

Publications (1)

Publication Number Publication Date
CN114757328A true CN114757328A (zh) 2022-07-15

Family

ID=82325533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110025418.8A Pending CN114757328A (zh) 2021-01-08 2021-01-08 一种卷积神经网络的卷积操作方法及装置

Country Status (3)

Country Link
US (1) US20230162007A1 (zh)
CN (1) CN114757328A (zh)
WO (1) WO2022147890A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110716751B (zh) * 2018-07-12 2022-10-18 赛灵思公司 高并行度计算平台、系统及计算实现方法
CN112149047A (zh) * 2019-06-27 2020-12-29 深圳市中兴微电子技术有限公司 数据的处理方法及装置、存储介质和电子装置
CN111105018B (zh) * 2019-10-21 2023-10-13 深圳云天励飞技术有限公司 一种数据处理方法及装置
CN111552652B (zh) * 2020-07-13 2020-11-17 深圳鲲云信息科技有限公司 基于人工智能芯片的数据处理方法、装置和存储介质

Also Published As

Publication number Publication date
WO2022147890A1 (zh) 2022-07-14
US20230162007A1 (en) 2023-05-25

Similar Documents

Publication Publication Date Title
CN109165732B (zh) 神经网络处理装置及其执行向量乘加指令的方法
CN108537330B (zh) 应用于神经网络的卷积计算装置及方法
CN108205700B (zh) 神经网络运算装置和方法
CN108734269A (zh) 产生输入图像的分类的卷积神经网络及计算机实现方法
CN108960418A (zh) 神经网络处理装置及其执行矩阵向量乘指令的方法
CN111860276B (zh) 人体关键点检测方法、装置、网络设备及存储介质
WO2019172262A1 (ja) 処理装置、処理方法、コンピュータプログラム及び処理システム
CN111768458A (zh) 一种基于卷积神经网络的稀疏图像处理方法
JP6839641B2 (ja) 演算処理装置
CN111210004B (zh) 卷积计算方法、卷积计算装置及终端设备
CN113313247A (zh) 基于数据流架构的稀疏神经网络的运算方法
CN110580522A (zh) 卷积计算方法及相关设备
CN114757328A (zh) 一种卷积神经网络的卷积操作方法及装置
CN112765540A (zh) 数据处理方法、装置及相关产品
CN116090530A (zh) 可配置卷积核大小和并行计算数目的脉动阵列结构及方法
JP7251354B2 (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
CN110930290B (zh) 一种数据处理方法及装置
CN112102305A (zh) 多骨骼发育等级检测方法及终端设备
CN113902088A (zh) 神经网络结构搜索的方法、装置与系统
CN112215338A (zh) 神经网络计算方法和装置、电子设备及存储介质
CN107832832A (zh) 卷积神经网络的池化运算方法及装置
CN115511094B (zh) 量子线路执行结果确定方法、装置及量子计算机操作系统
CN112308217B (zh) 一种卷积神经网络加速方法及系统
CN116304507A (zh) 卷积结果获取方法、装置、电子设备及存储介质
JP2021071772A (ja) ニューラルネットワーク回路及びニューラルネットワーク演算方法

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