CN112106034B - 一种用于神经网络的卷积方法及装置 - Google Patents
一种用于神经网络的卷积方法及装置 Download PDFInfo
- Publication number
- CN112106034B CN112106034B CN201880093347.1A CN201880093347A CN112106034B CN 112106034 B CN112106034 B CN 112106034B CN 201880093347 A CN201880093347 A CN 201880093347A CN 112106034 B CN112106034 B CN 112106034B
- Authority
- CN
- China
- Prior art keywords
- data
- convolution
- neural network
- processed
- sampling
- 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.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 153
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000005070 sampling Methods 0.000 claims abstract description 138
- 239000013074 reference sample Substances 0.000 claims abstract description 74
- 238000004364 calculation method Methods 0.000 claims abstract description 34
- 239000000523 sample Substances 0.000 claims description 35
- 238000004891 communication Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 32
- 230000008569 process Effects 0.000 abstract description 25
- 238000013135 deep learning Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 26
- 230000000875 corresponding effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000033001 locomotion Effects 0.000 description 9
- 230000005284 excitation Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 102100034112 Alkyldihydroxyacetonephosphate synthase, peroxisomal Human genes 0.000 description 1
- 101000799143 Homo sapiens Alkyldihydroxyacetonephosphate synthase, peroxisomal Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供一种用于神经网络的卷积方法及装置,涉及计算机技术领域,实现避免深度学习过程中的无效操作,以节约处理计算能力以及节省数据带宽。具体包括:对原始数据采样,以获取至少一个采样数据和该原始数据中除采样数据以外的至少一个剩余数据,剩余数据包括待处理剩余数据;当该参考采样数据与该卷积核的卷积结果不满足预设条件时,将该待处理剩余数据与卷积核的卷积结果设置为0。本申请用于卷积计算。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种用于神经网络的卷积方法及装置。
背景技术
神经网络在图像、语音识别等领域有广泛的应用前景,神经网络中的深度学习过程中卷积运算占据总计算量的90%或以上,是最主要的计算量来源。在卷积运算时,由于Relu等激活函数的广泛应用,导致很多卷积运算的最终结果为0。而0值在后续的计算中对结果不会产生任何贡献,顾业界广泛认为计算结果为0的卷积运算在深度学习中是无效操作。
无效操作不仅浪费了处理单元的计算能力,无效操作所引起的数据搬移还会导致数据带宽的浪费。
发明内容
本申请实施例提供一种用于神经网络的卷积方法及装置,避免深度学习过程中的无效操作,以节约处理计算能力以及节省数据带宽。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供一种用于神经网络的卷积方法,该方法可以包括:对原始数据采样,以获取至少一个采样数据和该原始数据中除采样数据以外的至少一个剩余数据,剩余数据包括待处理剩余数据;当该待处理剩余数据的参考采样数据与神经网络中的卷积核的卷积结果满足预设条件时,将该待处理剩余数据与该卷积核进行卷积计算,以获得该待处理剩余数据与该卷积核的卷积结果;当该参考采样数据与该卷积核的卷积结果不满足预设条件时,将该待处理剩余数据与卷积核的卷积结果设置为0。其中,参考采样数据为采样数据中的至少一个数据,且参考采样数据存在于原始数据中的位置与待处理剩余数据存在于原始数据中的位置呈预设位置关系。
通过本申请提供的用于神经网络的卷积方法,对参考采样数据与卷积核的卷积结果不满足预设条件的待处理数据,直接将其与该卷积核的卷积结果设置为0,跳略卷积计算步骤,预测性得到卷积结果,而不进行实际计算,节省了处理计算,避免了无效操作;同时,跳略计算步骤则不再加载卷积核相关参数,省略数据搬移节省了数据带宽。
其中,待处理数据为至少一个剩余数据中的一个数据。对于每一个待处理数据,均执行相同的过程,以获取其与神经网络中每一个卷积核的卷积结果。该获取过程根据待处理数据的参考采样数据与卷积核的卷积结果是否满足预设条件,进行计算或者预测设置。
可选的,参考采样数据可以为采样数据中一个数据或者多个数据,可以根据实际需求配置参考采样数据的数量,本申请对此不进行具体限定。
结合第一方面,在一种可能的实现方式中,参考采样数据为采样数据中的一个数据,待处理剩余数据的参考采样数据与神经网络中的卷积核的卷积结果满足预设条件,可以包括:参考采样数据与该卷积核的卷积结果大于0。
结合第一方面,在另一种可能的实现方式中,参考采样数据为采样数据中的多个数据,待处理剩余数据的参考采样数据与神经网络中的卷积核的卷积结果满足预设条件,可以包括:多个所述参考采样数据与所述卷积核的卷积结果的平均值大于0;或者,多个参考采样数据与卷积核的卷积结果中的最大值大于0;或者,多个参考采样数据与卷积核的卷积结果中的最小值大于0。
可选的,预设条件的内容可以根据实际需求配置,考虑将产生正激励的条件配置为预设条件。
其中,对于预设条件中的判断阈值,可以根据实际需求配置,本申请对此不进行具体限定。示例性的,一般情况下,可以将0作为判断阈值(是否产生正激励),此时,将预设条件的内容配置为与阈值0对比。当然,对于产生正激励的判断阈值,也可以把非常接近0的一个负小数(比如-0.002)作为判断阈值,那么预设条件就可以配置为与阈值-0.002对比。需要说明的是,此处对于预设条件的配置过程,均为示例性说明,并不是对此的具体限定。
结合第一方面或上述任一种可能的实现方式,在另一种可能的实现方式中,参考采样数据存在于原始数据中的位置与待处理剩余数据存在于原始数据中的位置呈预设位置关系,可以包括:在原始数据中,参考采样数据与待处理剩余数据所处的位置相邻。
其中,相邻位置可以根据实际需求配置,本申请对于相邻位置的定义不进行具体限定。
示例性的,若原始数据为一帧图像中的像素,相邻位置可以为距离待处理数据K个像素内,待处理数据的参考采样数据可以为采样数据中,距离该待处理数据K个像素内的采样数据。其中,K大于或等于1。
示例性的,若原始数据为语音数据,相邻位置可以为待处理数据之前或者之后。相应的,待处理数据的参考采样数据可以为位于待处理数据之前或之后的一个或多个采样数据,或者,待处理数据的参考采样数据可以为位于待处理数据之前的M个采样数据和位于待处理数据之后的N个采样数据。其中,M、N大于或等于1。
结合第一方面或上述任一种可能的实现方式,在另一种可能的实现方式中,该神经网络可以包括多个卷积核,本申请提供的用于神经网络的卷积方法还可以包括:将每个采样数据与该神经网络中每个卷积核的卷积结果,以及每个剩余数据与该神经网络中每个卷积核的卷积结果,按照每个采样数据和每个剩余数据存在于原始数据中的位置进行组合,以得到原始数据在神经网络中的卷积结果。
需要说明的是,按照卷积计算原理,A×B格式的原始数据,与C×C的卷积核进行卷积运算,得到的卷积结果的格式为(A-C+1)×(B-C+1),因此,卷积运算的输入数据与输出数据的格式可能不同,并不是一一映射的关系。本申请按照原始数据与卷积运算的输出数据的位置是强相关的,描述的组合是指按照位置布局排列分布。
结合第一方面或上述任一种可能的实现方式,在另一种可能的实现方式中,原始数据为一帧图像中的像素。对应的,对原始数据采样,以获取至少一个采样数据和原始数据中除采样数据以外的至少一个剩余数据,可以包括:对图像中的像素进行采样,以获得至少一个采样像素集合和至少一个剩余像素集合。对应的,参考采样数据为采样数据中的至少一个数据,且参考采样数据存在于原始数据中的位置与待处理剩余数据存在于原始数据中的位置呈预设位置关系,可以包括:参考采样数据为至少一个采样像素集合中的第一像素集合,待处理剩余数据为至少一个剩余像素集合中的第二像素集合,且在图像中,第一像素集合和第二像素集合相邻。
第二方面,提供一种用于神经网络的卷积装置,包括:采样单元,用于对原始数据采样,以获取至少一个采样数据和所述原始数据中除采样数据以外的至少一个剩余数据,剩余数据包括待处理剩余数据;卷积单元,用于将每个采样数据与神经网络中的卷积核进行卷积计算,以获得每个采样数据与卷积核的卷积结果;判断单元,用于判断待处理剩余数据的参考采样数据与神经网络中的卷积核的卷积结果是否满足预设条件;卷积单元还用于,当判断单元判断待处理剩余数据的参考采样数据与神经网络中的卷积核的卷积结果满足预设条件时,将待处理剩余数据与卷积核进行卷积计算,以获得待处理剩余数据与卷积核的卷积结果;设置单元,用于当判断单元判断参考采样数据与卷积核的卷积结果不满足预设条件时,将待处理剩余数据与卷积核的卷积结果设置为0。其中,参考采样数据为采样数据中的至少一个数据,且参考采样数据存在于原始数据中的位置与待处理剩余数据存在于原始数据中的位置呈预设位置关系。
通过本申请提供的用于神经网络的卷积装置,对参考采样数据与卷积核的卷积结果不满足预设条件的待处理数据,直接将其与该卷积核的卷积结果设置为0,跳略卷积计算步骤,预测性得到卷积结果,而不进行实际计算,节省了处理计算,避免了无效操作;同时,跳略计算步骤则不再加载卷积核相关参数,省略数据搬移节省了数据带宽。
结合第二方面,在一种可能的实现方式中,参考采样数据为采样数据中的一个数据,待处理剩余数据的参考采样数据与神经网络中的卷积核的卷积结果满足预设条件,包括:参考采样数据与卷积核的卷积结果大于0。
结合第二方面,在一种可能的实现方式中,参考采样数据为采样数据中的多个数据,待处理剩余数据的参考采样数据与神经网络中的卷积核的卷积结果满足预设条件,包括:多个参考采样数据与所述卷积核的卷积结果的平均值大于0;或者,多个参考采样数据与卷积核的卷积结果中的最大值大于0;或者,多个参考采样数据与卷积核的卷积结果中的最小值大于0。
结合第二方面或上述任一种可能的实现方式,在另一种可能的实现方式中,参考采样数据存在于原始数据中的位置与待处理剩余数据存在于原始数据中的位置呈预设位置关系,包括:在原始数据中,参考采样数据与待处理剩余数据所处的位置相邻。
结合第二方面或上述任一种可能的实现方式,在另一种可能的实现方式中,神经网络包括多个卷积核,所述装置还包括:组合单元,用于将每个采样数据与每个卷积核的卷积结果以及每个剩余数据与每个卷积核的卷积结果,按照每个采样数据和每个剩余数据存在于原始数据中的位置进行组合,以得到原始数据在神经网络中的卷积结果。
结合第二方面或上述任一种可能的实现方式,在另一种可能的实现方式中,原始数据为一帧图像中的像素;对应的,采样单元具体用于:对图像中的像素进行采样,以获得至少一个采样像素集合和至少一个剩余像素集合;对应的,参考采样数据为采样数据中的至少一个数据,且参考采样数据存在于原始数据中的位置与待处理剩余数据存在于原始数据中的位置呈预设位置关系,包括:参考采样数据为至少一个采样像素集合中的第一像素集合,待处理剩余数据为至少一个剩余像素集合中的第二像素集合,且在该图像中,第一像素集合和第二像素集合相邻。
需要说明的是,第二方面提供的用于神经网络的卷积装置,用于执行上述第一方面提供的用于神经网络的卷积方法,其具体实现可以参考上述第一方面的具体实现,此处不再进行赘述。
第三方面,提供一种用于神经网络的卷积装置,该装置可以包括:一个或多个处理器、存储器和通信接口;存储器、通信接口与一个或多个处理器连接;用于神经网络的卷积装置通过通信接口与其他设备通信,存储器用于存储计算机程序代码,计算机程序代码包括指令,当一个或多个处理器执行所述指令时,该装置执行上述第一方面或任一种可能的实现方式提供的用于神经网络的卷积方法。
第四方面,提供一种计算机可读存储介质,包括指令,当该指令在用于神经网络的卷积装置上运行时,使得该用于神经网络的卷积装置执行上述第一方面或任一种可能的实现方式提供的用于神经网络的卷积方法。
第五方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在用于神经网络的卷积装置上运行时,使得该用于神经网络的卷积装置执行上述第一方面或任一种可能的实现方式提供的用于神经网络的卷积方法。
本申请中第三方面至第五方面及其各种实现方式的具体描述,可以参考上述第一方面的详细描述;并且,第三方面至第五方面及其各种实现方式的有益效果,可以参考上述第一方面的有益效果分析,此处不再赘述。
在本申请中,上述用于神经网络的卷积装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本申请实施例中卷积计算原理的示意图;
图2为本申请实施例中手机的结构示意图;
图3为本申请实施例提供的一种用于神经网络的卷积方法的流程示意图;
图4为本申请实施例中的采样结果示意图;
图5为本申请实施例提供的另一种用于神经网络的卷积方法的流程示意图;
图6为本申请实施例中的组合方法示意图;
图7为本申请实施例中用于神经网络的卷积方法的执行过程示意图;
图8为本申请实施例提供的一种用于神经网络的卷积装置的结构示意图;
图9为本申请实施例提供的一种用于神经网络的卷积装置的结构示意图;
图10为本申请实施例提供的一种用于神经网络的卷积装置的结构示意图。
具体实施方式
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
神经网络通过建立模型来模拟人类大脑的神经连接结构,在处理图像、声音和文本等信号时,通过多个变换阶段分层对数据特征进行描述,在图像识别、语音处理、智能机器人等应用领域取得了令人瞩目的成果。一般的,神经网络由多个网络层(如卷积层、全连接层等)构成,每个网络层对其输入数据进行处理,并将处理后的输出数据传输至下一网络层。具体的,在每个网络层中,使用与该网络层对应的权重值对输入数据进行卷积、乘加等处理,该权重值称之为卷积核。具体的,神经网络的每个网络层对于输入数据的处理方式是由网络层的属性确定的,每个网络层中使用的卷积核是在训练神经网络的过程中确定出的。
当前,网络层进行卷积运算的计算原理如图1所示。图1示意了图像处理时的卷积运算过程。输入图像如图1中的(a)所示,为4×3的数据格式,该网络层配置了两个2×2卷积核,分别记录为卷积核1和卷积核2。卷积运算的过程利用一个2×2滑动窗口对输入数据中的所有与滑动窗口大小相同的区域进行卷积运算。具体的,滑动窗口从图像左上角开始按照预设步进(图1中预设步进为1个像素)移动,每次移动之后与图像的对应位置数据进行卷积运算。如图1中的(b)所示,滑动窗口在该输入图像中按照预设步进移动,得到6个区域分别记录为区域1~区域6。这6个区域分别与卷积核1进行卷积运算,得到输入图像与卷积核1的卷积运算结果(图1中的卷积结果1),这6个区域分别于卷积核2进行卷积运算,得到输入图像与卷积核2的卷积运算结果(图1中的卷积结果2)。其中,卷积运算是指滑动窗口选定的区域与卷积核对应位置的数据相乘后累加。
有上述卷积运算的计算原理可知,滑动窗口移动选取的多个区域均需要与每个卷积核进行卷积运算,不可避免的进行了无效操作,多次加载卷积核进行卷积运算导致的数据搬移造成数据带宽的浪费。
基于此,本申请提供一种用于神经网络的卷积方法,其基本原理为:对原始数据采样得到采样数据,对采样数据与卷积核进行卷积运算,并对原始数据中除采样数据之外的剩余数据配置其参考采样数据,当剩余数据的参考采样数据与一个卷积核的卷积结果满足预设条件,直接设置该剩余数据与该卷积核的卷积结果为0,无需加载卷积核进行卷积运算,避免了无效操作以及节省了数据带宽。
本申请实施例提供的用于神经网络的卷积方法,应用于用于神经网络的卷积装置,该装置可以为使用神经网络的电子设备的部分或全部。
上述电子设备可以是允许用户输入处理操作指示电子设备执行相关操作事件的手机(如图2所示的手机200)、平板电脑、个人计算机(Personal Computer,PC)、个人数字助理(Personal Digital Assistant,PDA)、智能手表、上网本、可穿戴电子设备等,本申请实施例对该电子设备的具体形式不做特殊限制。
如图2所示,以手机200作为上述电子设备举例。手机200具体可以包括:处理器201、射频(Radio Frequency,RF)电路202、存储器203、触摸屏204、蓝牙装置205、一个或多个传感器206、无线保真(Wireless Fidelity,Wi-Fi)装置207、定位装置208、音频电路209、外设接口210以及电源装置211等部件。这些部件可通过一根或多根通信总线或信号线(图2中未示出)进行通信。本领域技术人员可以理解,图2中示出的硬件结构并不构成对手机的限定,手机200可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图2对手机200的各个部件进行具体的介绍:
处理器201是手机200的控制中心,利用各种接口和线路连接手机200的各个部分,通过运行或执行存储在存储器203内的应用程序,以及调用存储在存储器203内的数据,执行手机200的各种功能和处理数据。在一些实施例中,处理器201可包括一个或多个处理单元。在本申请实施例一些实施例中,上述处理器201还可以包括指纹验证芯片,用于对采集到的指纹进行验证。
本申请实施例中,处理器201对原始数据采样,以获取至少一个采样数据和该原始数据中除采样数据以外的至少一个剩余数据,剩余数据包括待处理剩余数据。处理器201将每个采样数据与神经网络中的卷积核进行卷积计算,以获得每个采样数据与卷积核的卷积结果;处理器201判断待处理剩余数据的参考采样数据与神经网络中的卷积核的卷积结果是否满足预设条件。当该待处理剩余数据的参考采样数据与神经网络中的卷积核的卷积结果满足预设条件时,处理器201将该待处理剩余数据与该卷积核进行卷积计算,以获得该待处理剩余数据与该卷积核的卷积结果;当该参考采样数据与该卷积核的卷积结果不满足预设条件时,处理器201将该待处理剩余数据与卷积核的卷积结果设置为0。
射频电路202可用于在收发信息或通话过程中,无线信号的接收和发送。特别地,射频电路202可以将基站的下行数据接收后,给处理器201处理;另外,将涉及上行的数据发送给基站。通常,射频电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频电路202还可以通过无线通信和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统、通用分组无线服务、码分多址、宽带码分多址、长期演进、电子邮件、短消息服务等。
存储器203用于存储应用程序以及数据,处理器201通过运行存储在存储器203的应用程序以及数据,执行手机200的各种功能以及数据处理。存储器203主要包括存储程序区以及存储数据区,其中,存储程序区可存储操作系统以及至少一个功能所需的应用程序(比如声音播放功能、图像处理功能等);存储数据区可以存储根据使用手机200时所创建的数据(比如音频数据、电话本等)。此外,存储器203可以包括高速随机存取存储器(RAM),还可以包括非易失存储器,例如磁盘存储器件、闪存器件或其他易失性固态存储器件等。存储器203可以存储各种操作系统,例如,操作系统,/>操作系统等。上述存储器203可以是独立的,通过上述通信总线与处理器201相连接;存储器203也可以和处理器201集成在一起。
本申请实施例中用于神经网络的卷积装置可以为存储程序区中能够实现图像处理、文字处理、语音处理等功能的应用程序。神经网络中每个网络层的卷积核均存储于上述存储数据区中。
触摸屏204具体可以包括触控板204-1和显示器204-2。
其中,触控板204-1可采集手机200的用户在其上或附近的触摸事件(比如用户使用手指、触控笔等任何适合的物体在触控板204-1上或在触控板204-1附近的操作),并将采集到的触摸信息发送给其他器件(例如处理器201)。其中,用户在触控板204-1附近的触摸事件可以称之为悬浮触控;悬浮触控可以是指,用户无需为了选择、移动或拖动目标(例如图标等)而直接接触触控板,而只需用户位于设备附近以便执行所想要的功能。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型来实现触控板204-1。
显示器(也称为显示屏)204-2可用于显示由用户输入的信息或提供给用户的信息以及手机200的各种菜单。可以采用液晶显示器、有机发光二极管等形式来配置显示器204-2。触控板204-1可以覆盖在显示器204-2之上,当触控板204-1检测到在其上或附近的触摸事件后,传送给处理器201以确定触摸事件的类型,随后处理器201可以根据触摸事件的类型在显示器204-2上提供相应的视觉输出。虽然在图2中,触控板204-1与显示屏204-2是作为两个独立的部件来实现手机200的输入和输出功能,但是在某些实施例中,可以将触控板204-1与显示屏204-2集成而实现手机200的输入和输出功能。可以理解的是,触摸屏204是由多层的材料堆叠而成,本申请实施例实施例中只展示出了触控板(层)和显示屏(层),其他层在本申请实施例实施例中不予记载。另外,触控板204-1可以以全面板的形式配置在手机200的正面,显示屏204-2也可以以全面板的形式配置在手机200的正面,这样在手机的正面就能够实现无边框的结构。
另外,手机200还可以具有指纹识别功能。例如,可以在手机200的背面(例如后置摄像头的下方)配置指纹识别器212,或者在手机200的正面(例如触摸屏204的下方)配置指纹识别器212。又例如,可以在触摸屏204中配置指纹采集器件212来实现指纹识别功能,即指纹采集器件212可以与触摸屏204集成在一起来实现手机200的指纹识别功能。在这种情况下,该指纹采集器件212配置在触摸屏204中,可以是触摸屏204的一部分,也可以以其他方式配置在触摸屏204中。本申请实施例实施例中的指纹采集器件212的主要部件是指纹传感器,该指纹传感器可以采用任何类型的感测技术,包括但不限于光学式、电容式、压电式或超声波传感技术等。
手机200还可以包括蓝牙装置205,用于实现手机200与其他短距离的设备(例如手机、智能手表等)之间的数据交换。本申请实施例实施例中的蓝牙装置可以是集成电路或者蓝牙芯片等。
手机200还可以包括至少一种传感器206,比如光传感器、运动传感器以及其他传感器。具体的,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节触摸屏204的显示器的亮度,接近传感器可在手机200移动到耳边时,关闭显示器的电源。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机200还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
Wi-Fi装置207,用于为手机200提供遵循Wi-Fi相关标准协议的网络接入,手机200可以通过Wi-Fi装置207接入到Wi-Fi接入点,进而帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。在其他一些实施例中,该Wi-Fi装置207也可以作为Wi-Fi无线接入点,可以为其他设备提供Wi-Fi网络接入。
定位装置208,用于为手机200提供地理位置。可以理解的是,该定位装置208具体可以是全球定位系统(Global Positioning System,GPS)或北斗卫星导航系统、俄罗斯GLONASS等定位系统的接收器。定位装置208在接收到上述定位系统发送的地理位置后,将该信息发送给处理器201进行处理,或者发送给存储器203进行保存。在另外的一些实施例中,该定位装置208还可以是辅助全球卫星定位系统(Assisted Global PositioningSystem,AGPS)的接收器,AGPS系统通过作为辅助服务器来协助定位装置208完成测距和定位服务,在这种情况下,辅助定位服务器通过无线通信网络与设备例如手机200的定位装置208(即GPS接收器)通信而提供定位协助。在另外的一些实施例中,该定位装置208也可以是基于Wi-Fi接入点的定位技术。由于每一个Wi-Fi接入点都有一个全球唯一的媒体访问控制(Media Access Control,MAC)地址,设备在开启Wi-Fi的情况下即可扫描并收集周围的Wi-Fi接入点的广播信号,因此可以获取到Wi-Fi接入点广播出来的MAC地址;设备将这些能够标示Wi-Fi接入点的数据(例如MAC地址)通过无线通信网络发送给位置服务器,由位置服务器检索出每一个Wi-Fi接入点的地理位置,并结合Wi-Fi广播信号的强弱程度,计算出该设备的地理位置并发送到该设备的定位装置208中。
音频电路209、扬声器213、麦克风214可提供用户与手机200之间的音频接口。音频电路209可将接收到的音频数据转换后的电信号,传输到扬声器213,由扬声器213转换为声音信号输出;另一方面,麦克风214将收集的声音信号转换为电信号,由音频电路209接收后转换为音频数据,再将音频数据输出至RF电路202以发送给比如另一手机,或者将音频数据输出至存储器203以便进一步处理。
外设接口210,用于为外部的输入/输出设备(例如键盘、鼠标、外接显示器、外部存储器、用户识别模块卡等)提供各种接口。例如通过通用串行总线(Universal Serial Bus,USB)接口与鼠标连接,通过用户识别模块卡卡槽上的金属触点与电信运营商提供的用户识别模块卡(Subscriber Identification Module,SIM)卡进行连接。外设接口210可以被用来将上述外部的输入/输出外围设备耦接到处理器201和存储器203。
在本申请实施例中,手机200可通过外设接口210与设备组内的其他设备进行通信,例如,通过外设接口210可接收其他设备发送的显示数据进行显示等,本申请实施例对此不作任何限制。
手机200还可以包括给各个部件供电的电源装置211(比如电池和电源管理芯片),电池可以通过电源管理芯片与处理器201逻辑相连,从而通过电源装置211实现管理充电、放电、以及功耗管理等功能。
尽管图2未示出,手机200还可以包括摄像头(前置摄像头和/或后置摄像头)、闪光灯、微型投影装置、近场通信(Near Field Communication,NFC)装置等,在此不再赘述。
下面对本申请提供的用于神经网络的卷积方法进行详细描述。本申请提供的用于神经网络的卷积方法,可以应用于神经网络的网络层中,具体可以应用于神经网络的卷积层或全连接层或其他网络层,本申请实施例对于该方法的应用场景不进行具体限定。
如图3所示,本申请实施例提供的用于神经网络的卷积方法可以包括:
S301、对原始数据采样,以获取至少一个采样数据和原始数据中除采样数据以外的至少一个剩余数据。
其中,原始数据为神经网络网络层的输入数据,原始数据可以为图像数据、语音数据等,本申请实施例对于原始数据的类型不进行具体限定。示例性的,原始图像可以为一帧图像中的像素。
具体的,在S301中,按照预设采样规则对原始数据采样,以获取至少一个采样数据和原始数据中除采样数据以外的至少一个剩余数据。
其中,采样规则包括采样方式以及采样频率。示例性的,采样方式可以包括但不限于均价采样、非均采样等。在实际应用中,可以根据实际需求配置采样规则的内容,本申请实施例对此不进行具体限定。
可选的,在一种可能的实现中,可以将采样规则预先配置存储在神经网络的网络层中,直接使用存储的采样规则执行S301。若需调整采样规则,则调整存储在神经网络的网络层中的采样规则。
可选的,在另一种可能的实现中,可以预先配置输入数据的参数与采样规则的对应关系,并将该对应关系存储于神经网络的网络层中。在执行S301时,根据输入数据的参数,查找该预设对应关系,获取对应的采样规则以执行S301。
其中,输入数据的参数包括但不限于输入数据的大小和/或输入数据的格式等。
需要说明的是,对于该对应关系的内容,可以根据实际需求配置,本申请实施例对此不进行具体限定。
一种可能的实现中,当原始数据为一帧图像中的像素,S301中对原始数据采样,以获取至少一个采样数据和原始数据中除采样数据以外的至少一个剩余数据,具体可以实现为:对图像中的像素进行采样,以获得至少一个采样像素集合和至少一个剩余像素集合。
可选的,S301中对原始数据采样,可以实现为在原始数据中按照预设采样规则标注采样点得到采样数据,或者,可以实现为在原始数据中按照预设采样规则提取生成采样数据。本申请实施例对于采样过程的具体实现不进行限定。
其中,剩余数据包括待处理剩余数据。也就是说,待处理数据为剩余数据中的一个数据,可以将剩余数据中的每个数据均称之为待处理数据。
具体的,在S301之后,对剩余数据中的每一个待处理数据,确定其与神经网络中每个卷积核的卷积结果。确定每一个待处理数据与每个卷积核的卷积结果的过程完全相同,下文中以处理一个待处理数据的过程为例进行描述,不再一一赘述。
可选的,对一个待处理数据,确定其与一个卷积核的卷积结果执行S302或S303。具体的,根据待处理数据的参考采样数据与卷积核的卷积结果是否满足预设条件决定执行S302或S303。
其中,参考采样数据为采样数据中的至少一个数据,且参考采样数据存在于原始数据中的位置与待处理剩余数据存在于原始数据中的位置呈预设位置关系。参考采样数据的数量,可以根据实际需求配置,本申请实施例对此不进行具体限定。参考采样数据的数量越大,本申请提供的用于神经网络的卷积方法的准确度越高,但是计算量大;参考采样数据的数量越小,计算量小但是准确度降低。在实际应用中,可以根据实际需求权衡准确度与计算量,进而确定参考采样数据的数量。
可选的,预设位置关系可以根据实际需求配置,本申请实施例对此不进行具体限定。
一种可能的实现中,参考采样数据存在于原始数据中的位置与待处理剩余数据存在于原始数据中的位置呈预设位置关系,可以包括:在原始数据中,参考采样数据与待处理剩余数据所处的位置相邻。
具体的,位置相邻可以是原始数据中一个维度上的相邻,也可以为多个维度上的位置相邻,本申请实施例对此不进行具体限定。
示例性的,原始数据为一维数据,定义剩余数据之前或之后的一个或多个采样数据为其参考采样数据。例如,一维语音数据中,定于原始数据中位于剩余数据之前的一个采样语音数据为其参考采样数据。
示例性的,原始数据为二维图像数据,采样时由滑动窗从图像左上角按照采样频率移动采样,定义剩余数据的参考采样数据为,原始图像中按照采样轨迹该剩余数据之后的两个采样数据为其参考采样数据。
图4示意了对原始数据采样得到的结果。如图4所示,对原始图像采样得到4个采样数据,分别记录为采样数据A、采样数据B、采样数据C、采样数据D,以及2个剩余数据记录为剩余数据X和剩余数据Y。定义剩余数据的参考采样数据为,原始图像中按照采样轨迹该剩余数据之前的1个采样数据为其参考采样数据,因此,在图4中,剩余数据X的参考采样数据为采样数据A,剩余数据Y的参考采样数据为采样数据C。
需要说明的是,上述示例只是举例描述参考采样数据的定义,并不是对参考采样数据与剩余数据位置关系的具体限定。在实际应用中,均可以按照实际需求配置剩余属于的参考采样数据。
一种可能的视线中,原始数据为一帧图像中的像素;参考采样数据为采样数据中的至少一个数据,且参考采样数据存在于原始数据中的位置与待处理剩余数据存在于原始数据中的位置呈预设位置关系,包括:参考采样数据为至少一个采样像素集合中的第一像素集合,待处理剩余数据为至少一个剩余像素集合中的第二像素集合,且在图像中,第一像素集合和第二像素集合相邻。
可选的,一种可能的实现中,参考采样数据存在于原始数据中的位置与待处理剩余数据存在于原始数据中的位置呈预设位置关系,可以包括:在原始数据中,参考采样数据与待处理剩余数据所处的位置间隔预设长度。该预设长度可以为原始数据的一个或多个基本数据单元。该预设长度可以根据实际需求配置,本申请实施例对此不进行具体限定。
其中,基本数据单元是指原始数据中的最小单元。例如,图像数据中的基础数据单元为像素,语音数据中的基本数据单元为语音帧。
预设条件为确定一个待处理数据与一个卷积核的卷积结果时选择处理方法的依据。若待处理数据的参考采样数据与卷积核的卷积结果满足预设条件,执行S302计算待处理数据与该卷积核的卷积结果;若待处理数据的参考采样数据与卷积核的卷积结果不满足预设条件,执行S303直接设置待处理数据与该卷积核的卷积结果为0。
可选的,预设条件的内容可以根据实际需求定义,本申请实施例对此不进行具体限定。
示例性的,考虑将产生正激励的条件配置为预设条件。对于产生正激励的条件,可以根据实际需求配置定义,本申请实施例对此不进行具体限定。
一种可能的实现方式中,参考采样数据为采样数据中的一个数据,待处理剩余数据的参考采样数据与神经网络中的卷积核的卷积结果满足预设条件,具体可以包括:参考采样数据与该卷积核的卷积结果大于0。
在另一种可能的实现方式中,参考采样数据为采样数据中的多个数据,待处理剩余数据的参考采样数据与神经网络中的卷积核的卷积结果满足预设条件,可以包括:多个所述参考采样数据与所述卷积核的卷积结果的平均值大于0;或者,多个参考采样数据与卷积核的卷积结果中的最大值大于0;或者,多个参考采样数据与卷积核的卷积结果中的最小值大于0。当然,参考采样数据为采样数据中的多个数据时,预设条件的内容还可以有其他配置,此处不再一一列举。
其中,对于预设条件中的判断阈值,可以根据实际需求配置,本申请对此不进行具体限定。
示例性的,一般情况下,可以将0作为判断阈值(是否产生正激励),此时,将预设条件的内容配置为与阈值0对比。当然,对于产生正激励的判断阈值,也可以把非常接近0的一个负小数(比如-0.002)作为判断阈值,那么预设条件就可以配置为与阈值-0.002对比。需要说明的是,此处对于预设条件的配置过程,均为示例性说明,并不是对此的具体限定。
S302、当待处理剩余数据的参考采样数据与神经网络中的卷积核的卷积结果满足预设条件时,将待处理剩余数据与卷积核进行卷积计算,以获得待处理剩余数据与卷积核的卷积结果。
具体的,S302中将待处理剩余数据与卷积核进行卷积计算,可以包括:加载该卷积核,将待处理数据与卷积核的对应位置相乘再相加,得到待处理剩余数据与卷积核的卷积结果。此处对于卷积计算的过程不再进行赘述。
S303、当参考采样数据与卷积核的卷积结果不满足预设条件时,将待处理剩余数据与卷积核的卷积结果设置为0。
具体的,当参考采样数据与卷积核的卷积结果不满足预设条件时,认为待处理数据与该卷积核的卷积运算为无效操作,直接将待处理剩余数据与卷积核的卷积结果设置为0,进行预测性执行,避免无效操作。
通过本申请提供的用于神经网络的卷积方法,对参考采样数据与卷积核的卷积结果不满足预设条件的待处理数据,直接将其与该卷积核的卷积结果设置为0,跳略卷积计算步骤,预测性得到卷积结果,而不进行实际计算,节省了处理计算,避免了无效操作;同时,跳略计算步骤则不再加载卷积核相关参数,省略数据搬移节省了数据带宽。
进一步的,如图5所示,在S301之后,S302、S303之前,本申请实施例提供的用于神经网络的卷积方法还可以包括S304。
S304、判断待处理数据的参考采样数据与神经网络的卷积核的卷积结果是否满足预设条件。
在S304中,可以先计算待处理数据的参考采样数据与神经网络的卷积核的卷积结果再判断;也可以在S304之前,计算每个采样数据与每个卷积核的卷积结果并保存,在S304中直接读取待处理数据的参考采样数据与神经网络的卷积核的卷积结果判断。本申请实施例对于待处理数据的参考采样数据与神经网络的卷积核的卷积结果的计算时机不进行具体限定。对于卷积计算的过程已经在前进行了描述,此处不再进行赘述。
在S304中若判断结果为是,则执行S302,否则执行S303。
进一步的,如图5所示,在S302、S303之后,本申请实施例提供的用于神经网络的卷积方法还可以包括S305:
S305、将每个采样数据与每个卷积核的卷积结果以及每个剩余数据与每个卷积核的卷积结果,按照每个采样数据和每个剩余数据存在于原始数据中的位置进行组合,以得到原始数据在神经网络中的卷积结果。
具体的,在S305之前相当于分别获取了采样数据与卷积核的卷积结果以及剩余数据与卷积核的卷积结果,S305中是将之前获取的卷积结果组合,得到原始数据在神经网络中的卷积结果,以完成神经网络对于原始数据的处理。
其中,按照卷积计算原理,A×B格式的原始数据,与C×C的卷积核进行卷积运算,得到的卷积结果的格式为(A-C+1)×(B-C+1),因此,卷积运算的输入数据与输出数据的格式可能不同,并不是一一映射的关系,也就是说,原始数据与原始数据在神经网络中的卷积结果的格式可能不同,但是卷积结果与原始数据的位置关系是强相关的,因此,此处的组合是将卷积结果按照得到卷积结果的原始数据的排列位置进行排列。
示例性的,如图6所示,示意了S305中的组合过程。在图6中,原始数据为4×3格式的图像数据,对该原始数据采样得到4个采样数据及2个剩余数据,获取4个采样数据与神经网络卷积核的卷积结果以及2个剩余数据与该卷积核的卷积结果,并对卷积结果进行组合,得到原始数据在神经网络中的卷积结果。从图6内容可以看出,每个采样数据和每个剩余数据与卷积核的卷积结果,存在于组合后原始数据在神经网络中的卷积结果中的位置,存在于原始数据中的位置,与每个采样数据和每个剩余数据存在于原始数据中的位置分布一致。
需要说明的是,本申请实施例中描述了确定一个待处理数据与神经网络中一个卷积核的卷积结果的过程。在实际应用中,剩余数据中的每个数据均可以看作待处理数据,神经网络中可以包括至少一个卷积核,在实际应用中,需对每个剩余数据与每个卷积核确定其卷积结果,其处理过程均相同,不再一一赘述。
下面通过举例的方式,对本申请提供的用于神经网络的卷积方法进行示例性描述。
如图7所示,示意了用于神经网络的卷积方法的处理过程。在图7中的(a)所示,原始数据为4×3格式的图像数据,神经网络中包括2个卷积核(卷积核1和卷积核2)。对该原始数据按照采样频率为2个像素采样得到4个采样数据,分别记录为采样数据A、采样数据B、采样数据C及采样数据D。并得到2个剩余数据,记录为剩余数据X和剩余数据Y。如图7中(b)所示,计算得到4个采样数据与神经网络的2个卷积核的卷积结果,与卷积核1的卷积结果记录为卷积结果E,与卷积核2的卷积结果记录为卷积结果F。
假设定义剩余数据的参考采样数据为位于前一像素的采样数据,定义预设条件为大于0。分别确定每个剩余数据与每个卷积核的卷积结果:
剩余数据X的参考采样数据(采样数据A)与卷积核1的卷积结果为0,不满足预设条件,则将剩余数据X与卷积核1的卷积结果设置为0,不计算。
剩余数据X的参考采样数据(采样数据A)与卷积核2的卷积结果为1,满足预设条件,则加载卷积核2,计算剩余数据X与卷积核2的卷积结果为1。
剩余数据Y的参考采样数据(采样数据C)与卷积核1的卷积结果为1,满足预设条件,则加载卷积核1,计算剩余数据Y与卷积核1的卷积结果为1。
剩余数据Y的参考采样数据(采样数据C)与卷积核2的卷积结果为0,不满足预设条件,则将剩余数据Y与卷积核2的卷积结果设置为0,不计算。
然后如图7中(c)所示,将卷积结果E与剩余数据X与卷积核1的卷积结果以及剩余数据Y与卷积核1的卷积结果合并,得到原始数据在神经网络中的卷积结果1;将卷积结果F与剩余数据X与卷积核2的卷积结果以及剩余数据Y与卷积核2的卷积结果合并,得到原始数据在神经网络中的卷积结果2。
本申请实施例提供一种用于神经网络的卷积装置,该装置可以为电子设备。具体的,用于神经网络的卷积装置用于执行上述用于神经网络的卷积方法中的步骤。本申请实施例提供的用于神经网络的卷积装置可以包括相应步骤所对应的模块。
本申请实施例可以根据上述方法示例对处理装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图8示出上述实施例中所涉及的用于神经网络的卷积装置的一种可能的结构示意图。如图8所示,用于神经网络的卷积装置80包括采样单元801、卷积单元802、判断单元803以及设置单元804。
其中,采样单元801用于支持该用于神经网络的卷积装置80执行图3或图5示意的用于神经网络的卷积方法中的步骤S301,和/或用于本文所描述的技术的其它过程。
卷积单元802用于支持该用于神经网络的卷积装置80执行图3或图5示意的用于神经网络的卷积方法中的步骤S302,和/或用于本文所描述的技术的其它过程。
判断单元803用于支持该用于神经网络的卷积装置80执行图5示意的用于神经网络的卷积方法中的步骤S304,和/或用于本文所描述的技术的其它过程。
设置单元804用于支持该用于神经网络的卷积装置80执行图5示意的用于神经网络的卷积方法中的步骤S303,和/或用于本文所描述的技术的其它过程。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
当然,本申请实施例提供的用于神经网络的卷积装置80包括但不限于上述模块。如图9所示,用于神经网络的卷积装置80还可以包括组合单元805,用于支持该用于神经网络的卷积装置80执行图5示意的用于神经网络的卷积方法中的步骤S305,和/或用于本文所描述的技术的其它过程。
在采用集成的单元的情况下,本申请实施例提供的用于神经网络的卷积装置的结构示意图如图10所示。在图10中,用于神经网络的卷积装置100包括:处理模块1001和通信模块1002。处理模块1001用于对处理装置的动作进行控制管理,例如,执行上述采样单元801、卷积单元802、判断单元803及设置单元804执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块1002用于支持用于神经网络的卷积装置100与其他设备之间的交互。如图10所示,用于神经网络的卷积装置100还可以包括存储模块1003,存储模块1003用于存储用于神经网络的卷积装置100的程序代码和数据。
其中,处理模块1001可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1002可以是收发器、RF电路或通信接口等。存储模块1003可以是存储器。
若用于神经网络的卷积装置100为手机,则上述处理模块1001可以是图2中的处理器201,上述通信模块1002可以是图2中的天线,上述存储模块1003可以是图2中的存储器203。
本申请另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码,该一个或多个程序包括指令,当用于神经网络的卷积装置中的处理器在执行该程序代码时,该用于神经网络的卷积装置执行上述用于神经网络的卷积方法。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;用于神经网络的卷积装置的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得用于神经网络的卷积装置实施执行上述用于神经网络的卷积方法的步骤。
在上述实施例中,可以全部或部分的通过软件,硬件,固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式出现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种用于神经网络的卷积方法,其特征在于,包括:
对原始数据采样,以获取至少一个采样数据和所述原始数据中除所述采样数据以外的至少一个剩余数据,所述剩余数据包括待处理剩余数据;所述原始数据为图像数据或语音数据;
当所述待处理剩余数据的参考采样数据与所述神经网络中的卷积核的卷积结果满足预设条件时,将所述待处理剩余数据与所述卷积核进行卷积计算,以获得所述待处理剩余数据与所述卷积核的卷积结果;
当所述参考采样数据与所述卷积核的卷积结果不满足所述预设条件时,将所述待处理剩余数据与所述卷积核的卷积结果设置为0;
其中,所述参考采样数据为所述采样数据中的至少一个数据,且所述参考采样数据存在于所述原始数据中的位置与所述待处理剩余数据存在于所述原始数据中的位置呈预设位置关系。
2.根据权利要求1所述的用于神经网络的卷积方法,其特征在于,所述参考采样数据为所述采样数据中的一个数据,所述待处理剩余数据的参考采样数据与所述神经网络中的卷积核的卷积结果满足预设条件,包括:
所述参考采样数据与所述卷积核的卷积结果大于0。
3.根据权利要求1所述的用于神经网络的卷积方法,其特征在于,所述参考采样数据为所述采样数据中的多个数据,所述待处理剩余数据的参考采样数据与所述神经网络中的卷积核的卷积结果满足预设条件,包括:
多个所述参考采样数据与所述卷积核的卷积结果的平均值大于0;
或者,
多个所述参考采样数据与所述卷积核的卷积结果中的最大值大于0;
或者,
多个所述参考采样数据与所述卷积核的卷积结果中的最小值大于0。
4.根据权利要求1至3任一项所述的用于神经网络的卷积方法,其特征在于,所述参考采样数据存在于所述原始数据中的位置与所述待处理剩余数据存在于所述原始数据中的位置呈预设位置关系,包括:
在所述原始数据中,所述参考采样数据与所述待处理剩余数据所处的位置相邻。
5.根据权利要求1至3任一项所述的用于神经网络的卷积方法,其特征在于,所述神经网络包括多个所述卷积核,所述方法还包括:
将每个所述采样数据与每个所述卷积核的卷积结果以及每个所述剩余数据与每个所述卷积核的卷积结果,按照每个所述采样数据和每个所述剩余数据存在于所述原始数据中的位置进行组合,以得到所述原始数据在所述神经网络中的卷积结果。
6.根据权利要求1至3任一项所述的用于神经网络的卷积方法,其特征在于,所述原始数据为一帧图像中的像素;
对应的,所述对原始数据采样,以获取至少一个采样数据和所述原始数据中除所述采样数据以外的至少一个剩余数据,包括:
对所述图像中的像素进行采样,以获得至少一个采样像素集合和至少一个剩余像素集合;
对应的,所述参考采样数据为所述采样数据中的至少一个数据,且所述参考采样数据存在于所述原始数据中的位置与所述待处理剩余数据存在于所述原始数据中的位置呈预设位置关系,包括:
所述参考采样数据为所述至少一个采样像素集合中的第一像素集合,所述待处理剩余数据为所述至少一个剩余像素集合中的第二像素集合,且在所述图像中,所述第一像素集合和所述第二像素集合相邻。
7.一种用于神经网络的卷积装置,其特征在于,包括:
采样单元,用于对原始数据采样,以获取至少一个采样数据和所述原始数据中除所述采样数据以外的至少一个剩余数据,所述剩余数据包括待处理剩余数据;所述原始数据为图像数据或语音数据;
卷积单元,用于将每个所述采样数据与所述神经网络中的卷积核进行卷积计算,以获得每个所述采样数据与所述卷积核的卷积结果;
判断单元,用于判断所述待处理剩余数据的参考采样数据与所述卷积核的卷积结果是否满足预设条件;
所述卷积单元还用于,当所述判断单元判断所述待处理剩余数据的参考采样数据与所述神经网络中的卷积核的卷积结果满足所述预设条件时,将所述待处理剩余数据与所述卷积核进行卷积计算,以获得所述待处理剩余数据与所述卷积核的卷积结果;
设置单元,用于当所述判断单元判断所述参考采样数据与所述卷积核的卷积结果不满足所述预设条件时,将所述待处理剩余数据与所述卷积核的卷积结果设置为0;
其中,所述参考采样数据为所述采样数据中的至少一个数据,且所述参考采样数据存在于所述原始数据中的位置与所述待处理剩余数据存在于所述原始数据中的位置呈预设位置关系。
8.根据权利要求7所述的用于神经网络的卷积装置,其特征在于,所述参考采样数据为所述采样数据中的一个数据,所述待处理剩余数据的参考采样数据与所述神经网络中的卷积核的卷积结果满足预设条件,包括:
所述参考采样数据与所述卷积核的卷积结果大于0。
9.根据权利要求7所述的用于神经网络的卷积装置,其特征在于,所述参考采样数据为所述采样数据中的多个数据,所述待处理剩余数据的参考采样数据与所述神经网络中的卷积核的卷积结果满足预设条件,包括:
多个所述参考采样数据与所述卷积核的卷积结果的平均值大于0;
或者,
多个所述参考采样数据与所述卷积核的卷积结果中的最大值大于0;
或者,
多个所述参考采样数据与所述卷积核的卷积结果中的最小值大于0。
10.根据权利要求7至9任一项所述的用于神经网络的卷积装置,其特征在于,所述参考采样数据存在于所述原始数据中的位置与所述待处理剩余数据存在于所述原始数据中的位置呈预设位置关系,包括:
在所述原始数据中,所述参考采样数据与所述待处理剩余数据所处的位置相邻。
11.根据权利要求7至9任一项所述的用于神经网络的卷积装置,其特征在于,所述神经网络包括多个所述卷积核,所述装置还包括:
组合单元,用于将每个所述采样数据与每个所述卷积核的卷积结果以及每个所述剩余数据与每个所述卷积核的卷积结果,按照每个所述采样数据和每个所述剩余数据存在于所述原始数据中的位置进行组合,以得到所述原始数据在所述神经网络中的卷积结果。
12.根据权利要求7至9任一项所述的用于神经网络的卷积装置,其特征在于,所述原始数据为一帧图像中的像素;
对应的,所述采样单元具体用于:
对所述图像中的像素进行采样,以获得至少一个采样像素集合和至少一个剩余像素集合;
对应的,所述参考采样数据为所述采样数据中的至少一个数据,且所述参考采样数据存在于所述原始数据中的位置与所述待处理剩余数据存在于所述原始数据中的位置呈预设位置关系,包括:
所述参考采样数据为所述至少一个采样像素集合中的第一像素集合,所述待处理剩余数据为所述至少一个剩余像素集合中的第二像素集合,且在所述图像中,所述第一像素集合和所述第二像素集合相邻。
13.一种用于神经网络的卷积装置,其特征在于,所述装置包括:一个或多个处理器、存储器和通信接口;
所述存储器、所述通信接口与所述一个或多个处理器连接;所述用于神经网络的卷积装置通过所述通信接口与其他设备通信,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,当所述一个或多个处理器执行所述指令时,所述装置执行如权利要求1-6任一项所述的用于神经网络的卷积方法。
14.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在用于神经网络的卷积装置上运行时,使得所述用于神经网络的卷积装置执行如权利要求1-6任一项所述的用于神经网络的卷积方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/095713 WO2020010639A1 (zh) | 2018-07-13 | 2018-07-13 | 一种用于神经网络的卷积方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112106034A CN112106034A (zh) | 2020-12-18 |
CN112106034B true CN112106034B (zh) | 2024-05-24 |
Family
ID=69142099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880093347.1A Active CN112106034B (zh) | 2018-07-13 | 2018-07-13 | 一种用于神经网络的卷积方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112106034B (zh) |
WO (1) | WO2020010639A1 (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7444034B1 (en) * | 2002-11-06 | 2008-10-28 | Digivision, Inc. | Systems and methods for image enhancement in multiple dimensions |
CN103384836A (zh) * | 2010-12-22 | 2013-11-06 | 皇家飞利浦电子股份有限公司 | 包含grappa算子的用于任意k空间轨迹的快速两步并行重建 |
CN106022237A (zh) * | 2016-05-13 | 2016-10-12 | 电子科技大学 | 一种端到端的卷积神经网络的行人检测方法 |
CN106326985A (zh) * | 2016-08-18 | 2017-01-11 | 北京旷视科技有限公司 | 神经网络训练方法和装置及数据处理方法和装置 |
CN106971230A (zh) * | 2017-05-10 | 2017-07-21 | 中国石油大学(北京) | 基于深度学习的初至拾取方法及装置 |
CN107563999A (zh) * | 2017-09-05 | 2018-01-09 | 华中科技大学 | 一种基于卷积神经网络的芯片缺陷识别方法 |
WO2018120740A1 (zh) * | 2016-12-29 | 2018-07-05 | 深圳光启合众科技有限公司 | 图片分类方法和装置、机器人 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9552510B2 (en) * | 2015-03-18 | 2017-01-24 | Adobe Systems Incorporated | Facial expression capture for character animation |
US10762894B2 (en) * | 2015-03-27 | 2020-09-01 | Google Llc | Convolutional neural networks |
CN104915322B (zh) * | 2015-06-09 | 2018-05-01 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法 |
CN105260776B (zh) * | 2015-09-10 | 2018-03-27 | 华为技术有限公司 | 神经网络处理器和卷积神经网络处理器 |
CN107995628A (zh) * | 2017-12-18 | 2018-05-04 | 北京工业大学 | 一种深度学习的认知无线网络多用户协作频谱感知方法 |
-
2018
- 2018-07-13 CN CN201880093347.1A patent/CN112106034B/zh active Active
- 2018-07-13 WO PCT/CN2018/095713 patent/WO2020010639A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7444034B1 (en) * | 2002-11-06 | 2008-10-28 | Digivision, Inc. | Systems and methods for image enhancement in multiple dimensions |
CN103384836A (zh) * | 2010-12-22 | 2013-11-06 | 皇家飞利浦电子股份有限公司 | 包含grappa算子的用于任意k空间轨迹的快速两步并行重建 |
CN106022237A (zh) * | 2016-05-13 | 2016-10-12 | 电子科技大学 | 一种端到端的卷积神经网络的行人检测方法 |
CN106326985A (zh) * | 2016-08-18 | 2017-01-11 | 北京旷视科技有限公司 | 神经网络训练方法和装置及数据处理方法和装置 |
WO2018120740A1 (zh) * | 2016-12-29 | 2018-07-05 | 深圳光启合众科技有限公司 | 图片分类方法和装置、机器人 |
CN106971230A (zh) * | 2017-05-10 | 2017-07-21 | 中国石油大学(北京) | 基于深度学习的初至拾取方法及装置 |
CN107563999A (zh) * | 2017-09-05 | 2018-01-09 | 华中科技大学 | 一种基于卷积神经网络的芯片缺陷识别方法 |
Non-Patent Citations (1)
Title |
---|
深度学习中的卷积神经网络系统设计及硬件实现;王昆;周骅;;电子技术应用(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112106034A (zh) | 2020-12-18 |
WO2020010639A1 (zh) | 2020-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107944414B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
US20170109756A1 (en) | User Unsubscription Prediction Method and Apparatus | |
US20210027162A1 (en) | Neural Network Model, Data Processing Method, and Processing Apparatus | |
CN107391198B (zh) | 任务调度方法和装置、计算机可读存储介质、移动终端 | |
CN110147742B (zh) | 一种关键点定位方法、装置及终端 | |
CN110837343B (zh) | 处理快照的方法、装置及终端 | |
KR102184308B1 (ko) | 이미지 합성 방법, 장치 및 비휘발성 컴퓨터 판독 가능 매체 | |
CN104901992B (zh) | 一种资源转移的方法和装置 | |
CN109462732B (zh) | 一种图像处理方法、设备及计算机可读存储介质 | |
CN106294087B (zh) | 一种对业务执行操作的操作频率的统计方法及装置 | |
CN110246561A (zh) | 一种移动距离计算方法、装置以及系统 | |
WO2018214760A1 (zh) | 对焦方法及相关产品 | |
CN116596202A (zh) | 工单处理方法、相关装置及存储介质 | |
CN110708673A (zh) | 一种位置确定方法和便捷式多功能设备 | |
CN112106034B (zh) | 一种用于神经网络的卷积方法及装置 | |
CN112860365B (zh) | 内容显示方法、装置、电子设备和可读存储介质 | |
CN110503084B (zh) | 一种图像中的文字区域识别方法和装置 | |
CN110809234A (zh) | 一种人物类别识别方法和终端设备 | |
CN110967712A (zh) | 一种信息处理方法及电子设备 | |
CN110706158A (zh) | 图像处理方法、图像处理装置及终端设备 | |
CN117234137B (zh) | Mcu时钟频率切换电路、mcu和电子设备 | |
CN117955095B (zh) | 电力负荷预测方法、装置、电子设备及存储介质 | |
CN112733573B (zh) | 表格检测方法、装置、移动终端及存储介质 | |
CN114125151B (zh) | 图像处理方法、移动终端及存储介质 | |
CN111405189B (zh) | 拍摄控制方法及电子设备、拍摄设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |