CN110651273B - 一种数据处理方法及设备 - Google Patents
一种数据处理方法及设备 Download PDFInfo
- Publication number
- CN110651273B CN110651273B CN201780090949.7A CN201780090949A CN110651273B CN 110651273 B CN110651273 B CN 110651273B CN 201780090949 A CN201780090949 A CN 201780090949A CN 110651273 B CN110651273 B CN 110651273B
- Authority
- CN
- China
- Prior art keywords
- layer
- layers
- convolutional
- convolution
- feature
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000007906 compression Methods 0.000 claims abstract description 136
- 230000006835 compression Effects 0.000 claims abstract description 127
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 70
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 59
- 230000015654 memory Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 10
- 238000004364 calculation method Methods 0.000 description 45
- 238000010586 diagram Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 16
- 230000000694 effects Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 238000011176 pooling Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000003287 optical effect Effects 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
- 238000005265 energy consumption Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Error Detection And Correction (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供一种数据处理方法及设备,涉及数据处理技术领域,在采用卷积神经网络处理数据时,能够通过分组方式压缩卷积层的特征层数量,降低计算量。方案为:卷积神经网络包括压缩层,压缩层包括第一卷积层和第二卷积层,第二卷积层的输出特征层的第二数量小于第一卷积层的输出特征层的第一数量,压缩层包括n个分组,n为大于1的整数,n个分组包括第i个分组,i为1到n的所有正整数。该方法包括:电子设备获取第i个分组对应的多个预设权重,根据第i个分组对应的多个预设权重以及第i个分组中的第一卷积层的输出特征层进行卷积运算,以获得第i个分组中的第二卷积层的输出特征层。本申请实施例用于数据处理。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据处理方法及设备。
背景技术
卷积神经网络(convolutional neural network,CNN)是近年来引起广泛关注的一种数据处理方法,可以应用于图像数据处理(例如图像分类或图像增强等),或者音频数据处理等多个方面。由于卷积神经网络的模型较为复杂,因而通过卷积神经网络进行数据处理的计算量较大。
现有技术中一种常见的减少计算量的方法是,参见图1,通过使用核大小为k×k的池化(pooling)层将特征层(feature map)的图像分辨率降低为原本的1/k2,从而通过减小图像输入的大小达到降低计算量的目的。
通过池化层降低计算量的方法适用于部分数据处理场景(例如图像分类),但并不适用于很多其它数据处理场景,例如在进行图像增强或超分辨率等的数据处理时,输出图像分辨率一般大于或者约等于输入图像的分辨率,使用池化层减少计算量会损失大量的图像信息。
发明内容
本申请实施例提供一种数据处理方法及设备,在卷积神经网络的各种数据处理场景中,能够通过分组方式压缩卷积层(convolutional layer)的特征层数量,从而降低计算量。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供了一种数据处理方法,应用于卷积神经网络,卷积神经网络包括压缩层,压缩层包括第一卷积层和第二卷积层,第二卷积层的输出特征层的第二数量小于第一卷积层的输出特征层的第一数量,压缩层包括n个分组,n为大于1的整数,n个分组包括第i个分组,i为1到n的所有正整数。该方法包括:首先,电子设备获取第i个分组对应的多个预设权重。而后,电子设备根据第i个分组对应的多个预设权重以及第i个分组中的第一卷积层的输出特征层进行卷积运算,以获得第i个分组中的第二卷积层的输出特征层。
由于压缩层中第二卷积层的输出特征层的第二数量小于第一卷积层的输出特征层的第一数量,即压缩层可以降低特征层数量,从而可以使得后续根据降低后的特征层进行进一步数据处理时的计算量较小。
在一种可能的实现方式中,压缩层还包括第三卷积层,第三卷积层的输出特征层的第三数量小于或者等于第一数量,且大于或者等于第二数量。电子设备获取第i个分组对应的多个预设权重包括:电子设备获取第i个分组中的第三卷积层对应的第一预设权重,和第i分组中的第二卷积层对应的第二预设权重。电子设备根据第i个分组对应的多个预设权重以及第i个分组中的第一卷积层的输出特征层进行卷积运算,以获得第i个分组中的第二卷积层的输出特征层包括:电子设备根据第i个分组中的第三卷积层对应的第一预设权重以及第i个分组中的第一卷积层的输出特征层进行卷积运算,以获得第i个分组中的第三卷积层的输出特征层。而后,电子设备根据第i分组中的第二卷积层对应的第二预设权重以及第i个分组中的第三卷积层的输出特征层进行卷积运算,以获得第i个分组中的第二卷积层的输出特征层。
这样,用于进行特征层压缩的特征层可以包括3个或3个以上连续的卷积层,电子设备可以通过多个卷积层对特征层数量进行分级压缩。
结合上述可能的实现方式,在另一种可能的实现方式中,第三数量小于第一数量,第二数量小于第三数量。
这样,手机可以通过多个卷积层逐步压缩卷积层的数量。
结合上述可能的实现方式,在另一种可能的实现方式中,第一数量与第三数量的比值小于或者等于第一预设值,第三数量与第二数量的比值小于或者等于第一预设值。
这样,手机可以通过压缩比较低的多个卷积层压缩特征层的数量,避免采用一个压缩率比较高的卷积层一次性压缩特征层数量导致特征信息损失严重,从而在特征抽象过程中保留更多的特征信息。
结合上述可能的实现方式,在另一种可能的实现方式中,第i个分组中的第二卷积层的输出特征层的第四数量,小于或者等于第i个分组中的第三卷积层的输出特征层的第五数量;第i个分组中的第三卷积层的输出特征层的第五数量,小于或者等于第i个分组中的第一卷积层的输出特征层的第六数量。
这样,在压缩层的每个分组中,每个卷积层的输出特征层的数量都小于该卷积层的前一卷积层的输出特征层的数量,从而可以保证压缩层达到压缩特征层数量的效果。
结合上述可能的实现方式,在另一种可能的实现方式中,n个分组中的每个分组分别对应的第一卷积层的输出特征层的数量相等,n个分组中的每个分组分别对应的第二卷积层的输出特征层的数量相等。
这样,可以更多地降低特征层数量压缩过程中的计算量。
结合上述可能的实现方式,在另一种可能的实现方式中,压缩层的每个第一卷积层的输出特征层对应n个分组中的至少一个分组。
这样,不同分组中的第一卷积层的输出特征层之间有重叠,这样可以提高分组的灵活性。
结合上述可能的实现方式,在另一种可能的实现方式中,压缩层的每个第一卷积层的输出特征层对应n个分组中的一个分组。
这样,不同分组中的第一卷积层的输出特征层之间没有重叠,这样可以更多地降低连接冗余。
结合上述可能的实现方式,在另一种可能的实现方式中,压缩层之后的卷积层的第七数量大于压缩层之前的卷积层的第八数量。
这样,压缩层包括的卷积层为卷积神经网络的前几个卷积层。
第二方面,本申请实施例提供了一种电子设备,应用于卷积神经网络,卷积神经网络包括压缩层,压缩层包括第一卷积层和第二卷积层,第二卷积层的输出特征层的第二数量小于第一卷积层的输出特征层的第一数量,压缩层包括n个分组,n为大于1的整数,n个分组包括第i个分组,i为1到n的所有正整数,该电子设备包括:存储单元,用于存储第i个分组对应的多个预设权重。处理单元,用于从存储单元获取第i个分组对应的多个预设权重,根据第i个分组对应的多个预设权重以及第i个分组中的第一卷积层的输出特征层进行卷积运算,以获得第i个分组中的第二卷积层的输出特征层。
在一种可能的实现方式中,压缩层还包括第三卷积层,第三卷积层的输出特征层的第三数量小于或者等于第一数量,且大于或者等于第二数量。存储单元具体用于,存储第i个分组中的第三卷积层对应的第一预设权重,和第i分组中的第二卷积层对应的第二预设权重。处理单元具体用于:从存储单元获取第i个分组中的第三卷积层对应的第一预设权重,和第i分组中的第二卷积层对应的第二预设权重;根据第i个分组中的第三卷积层对应的第一预设权重以及第i个分组中的第一卷积层的输出特征层进行卷积运算,以获得第i个分组中的第三卷积层的输出特征层;并且,根据第i分组中的第二卷积层对应的第二预设权重以及第i个分组中的第三卷积层的输出特征层进行卷积运算,以获得第i个分组中的第二卷积层的输出特征层。
结合上述可能的实现方式,在另一种可能的实现方式中,第三数量小于第一数量,第二数量小于第三数量。
结合上述可能的实现方式,在另一种可能的实现方式中,第一数量与第三数量的比值小于或者等于第一预设值,第三数量与第二数量的比值小于或者等于第一预设值。
结合上述可能的实现方式,在另一种可能的实现方式中,第i个分组中的第二卷积层的输出特征层的第四数量,小于或者等于第i个分组中的第三卷积层的输出特征层的第五数量;第i个分组中的第三卷积层的输出特征层的第五数量,小于或者等于第i个分组中的第一卷积层的输出特征层的第六数量。
结合上述可能的实现方式,在另一种可能的实现方式中,n个分组中的每个分组分别对应的第一卷积层的输出特征层的数量相等,n个分组中的每个分组分别对应的第二卷积层的输出特征层的数量相等。
结合上述可能的实现方式,在另一种可能的实现方式中,每个第一卷积层的输出特征层对应n个分组中的至少一个分组。
结合上述可能的实现方式,在另一种可能的实现方式中,每个第一卷积层的输出特征层对应n个分组中的一个分组。
结合上述可能的实现方式,在另一种可能的实现方式中,压缩层之后的卷积层的第七数量大于压缩层之前的卷积层的第八数量。
第三方面,本申请实施例提供一种电子设备,包括:一个或多个处理器和一个或多个存储器。一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,电子设备执行如第一方面任一项的数据处理方法。
第四方面,本申请实施例提供一种计算机可读存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面任一项的数据处理方法。
第五方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一项的数据处理方法。
第六方面,本申请实施例提供一种芯片,包括处理器和存储器,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器执行计算机指令时,电子设备执行如第一方面任一项的数据处理方法。
其中,关于上述第二方面至第六方面的有益效果可以参见上述第一方面中的描述,这里不再赘述。
附图说明
图1为现有技术提供的一种卷积神经网络结构示意图;
图2为本申请实施例提供的一种电子设备的结构示意图;
图3a为本申请实施例提供的一种卷积神经网络的结构示意图;
图3b为本申请实施例提供的另一种卷积神经网络的结构示意图;
图4a为本申请实施例提供的另一种卷积神经网络的结构示意图;
图4b为本申请实施例提供的另一种卷积神经网络的结构示意图;
图5a为本申请实施例提供的一种压缩层的结构示意图;
图5b为本申请实施例提供的一种数据处理方法流程图;
图6a为现有技术提供的一种特征层数量压缩示意图;
图6b为现有技术提供的另一种特征层数量压缩示意图;
图7a为本申请实施例提供的另一种压缩层的结构示意图;
图7b为本申请实施例提供的另一种压缩层的结构示意图;
图8a为本申请实施例提供的另一种压缩层的结构示意图;
图8b为本申请实施例提供的另一种数据处理方法流程图;
图9a为本申请实施例提供的另一种压缩层的结构示意图;
图9b为本申请实施例提供的另一种压缩层的结构示意图;
图10为本申请实施例提供的另一种压缩层的结构示意图;
图11a为现有技术提供的另一种卷积神经网络的结构示意图;
图11b为现有技术提供的另一种特征层数量压缩示意图;
图12a为本申请实施例提供的另一种卷积神经网络的结构示意图;
图12b为本申请实施例提供的另一种压缩层的结构示意图;
图13a为本申请实施例提供的一种图像数据处理效果图;
图13b为本申请实施例提供的另一种图像数据处理效果图;
图13c为本申请实施例提供的另一种图像数据处理效果图;
图13d为本申请实施例提供的另一种图像数据处理效果图;
图14为本申请实施例提供的另一种压缩层的结构示意图;
图15为本申请实施例提供的另一种压缩层的结构示意图;
图16为本申请实施例提供的另一种电子设备的结构示意图。
具体实施方式
在采用卷积神经网络进行数据处理时,现有技术中采用池化层降低计算量的方法会降低图像的分辨率,并不适用于很多其它场景。而本申请实施例提供的数据处理方法中,在采用卷积神经网络处理数据时,可以通过分组方式压缩卷积层的特征层数量,降低计算量,而并不会影响图像的分辨率,因而可以适用于多种数据处理场景。
为了便于理解,示例的给出了部分与本申请实施例相关概念的说明以供参考。如下所示:
峰值信噪比(peak signal to noise ratio,PSNR):表示信号最大可能功率和影响信号的表示精度的噪声功率的比值。
卷积核(convolutional kernel):卷积时使用到的权矩阵,该矩阵与使用的图像区域大小相同。
感受野(receptive field):卷积神经网络每一层输出的特征层上的像素点在原输入图像上映射的区域大小。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
本申请实施例涉及的数据处理设备为利用卷积神经网络对图像、语音等数据进行处理的电子设备,例如可以是服务器或终端。示例性的,当电子设备为终端时,电子设备具体可以是台式机、便携式电脑、掌上电脑(personal digital assistant,PDA)、平板电脑、嵌入式设备、手机、智能外设(例如智能手表、手环、眼镜等)、电视机机顶盒、监视摄像头等。本申请实施例不限定电子设备的具体类型。
示例性的,图2示出了本申请实施例涉及的电子设备200的硬件结构示意图。电子设备200可以包括至少一个处理器201,通信总线202和存储器203。电子设备200还可以包括至少一个通信接口204。
处理器201可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU),现场可编程门阵列(field programmable gatearray,FPGA),或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线202可包括一通路,在上述组件之间传送信息。
通信接口204,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器203用于存储执行本申请实施例提供的方案的应用程序代码,以及采用本申请实施例提供的方案的卷积神经网络模型结构、权重、处理器201运算时的中间结果,并由处理器201来控制执行。处理器201用于执行存储器203中存储的应用程序代码,从而实现本申请下述实施例提供的数据处理的方法。
在具体实现中,作为一种实施例,处理器201可以包括一个或多个CPU,例如图2中的CPU0和CPU1。
在具体实现中,作为一种实施例,电子设备200可以包括多个处理器,例如图2中的处理器201和处理器207。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,电子设备200还可以包括输出设备205和输入设备206。输出设备205和处理器201通信,可以以多种方式来显示信息。例如,输出设备205可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备206和处理器201通信,可以以多种方式接受用户的输入。例如,输入设备206可以是鼠标、键盘、摄像头、麦克风、触摸屏设备或传感设备等。
卷积神经网络可以用于处理各种数据,例如图像数据、音频数据等。卷积神经网络可以包括多个神经网络层,该神经网络层可以包括卷积层、全连接层、池化层、归一化层、激活函数层或反置卷积层等中的一层或多层。其中,卷积层可以用于根据卷积核进行卷积运算,从而对待处理数据进行特征提取;全连接层的每一个节点都与上一神经网络层中的所有节点相连,用于把前边提取到的特征综合起来;池化层用于通过减小分辨率的方法对特征层进行压缩;归一化层可以用于将有量纲的表达式,经过变换,转化为无量纲的表达式;激活函数层可以用于给卷积神经网络加入非线性因素。此外,卷积神经网络还可以包括反置卷积层(deconvolution layer),可以用于在处理图像数据时,放大图像特征的分辨率。示例性的,卷积神经网络的一种简单结构示意图可以参见图3a。在另外的划分方式中,参见图3b,还可以将池化层、归一化层或激活函数层划分到卷积层中。示例性的,在图像超分辨率这一具体应用场景中,一种卷积神经网络模型(SRCNN)可以参见图4a,另一种卷积神经网络模型(FSRCNN)可以参见图4b。其中,在图4a和图4b中,Conv(x,y,z)表示输入特征层数量为z,输出特征层数量为y,卷积核小为x×x的卷积层;Deconv(x,y,z,m)表示输入特征层数量为z,输出特征层数量为y,卷积核小为x×x,且卷积横向步长与纵向步长为m的反置卷积层。
在卷积神经网络中,不同神经网络层对输入特征层的计算方式不同,所依据的权重也不同,这些权重决定了神经网络层的计算系数,这些权重可以通过训练获得。神经网络层的结构与权重决定了最后输出信息的维度与数值。
在卷积神经网络中,特征层是卷积层中数据维度为一维或多维的数据结构。卷积层的输入为第一预设数量(例如为正整数p)的输入特征层,卷积层的输出为第二预设数量(例如为正整数q)的输出特征层,输出特征层和输入特征层中间的操作是针对每一个输出特征层,使用不同权重的卷积核分别对所有输入特征层进行卷积运算,得到p个处理后的特征层,将这p个处理后的特征层相加并加入偏置(bias),即得到该输出特征层的数据。而后一个卷积层的输入特征层为前一个卷积层的输出特征层。也就是说,在卷积神经网络中,前一个卷积层的每个输出特征层都与后一个卷积层的每个输出特征层相连。
其中,影响卷积层结构的参数可以包括输入特征层数量、输出特征层数量、卷积核长度以及卷积核宽度等。卷积层对应的权重类型包括每个卷积核内的权重系数(数量为卷积核长度×卷积核宽度),和每个卷积核对应的偏置(数量为1),因而卷积层的权重总量的计算公式可以参见如下式1:
卷积层的权重总量=(卷积核长度×卷积核宽度+1)×输入特征层数量×输出特征层数量 式1
在忽略偏置的情况下,卷积层的权重总量的计算公式可以参见如下式2:
卷积层的权重总量=卷积核长度×卷积核宽度×输入特征层数量×输出特征层数量 式2
由上述式1或式2可知,特征层数量越多,卷积层的权重总量也越大。
卷积运算实际上是矩阵内的点乘与累加,所以在忽略偏置所引起的计算量的前提下,每个卷积核做一次卷积运算所需乘法数量=卷积核长度×卷积核宽度。又因为卷积操作是在特征层上滑动进行的,其操作次数=特征层长度/卷积横向步长×特征层宽度/卷积纵向步长。所以,在忽略偏置所引起的计算量的情况下,每个卷积层所需乘法数量可以参见如下式3:
卷积层乘法数量=输入特征层数量×输出特征层数量×卷积核长度×卷积核宽度×特征层长度/卷积横向步长×特征层宽度/卷积纵向步长式3
由上述式1-式3可知,特征层数量越多,卷积层的权重总量越大,卷积层的计算量越大,从而使得整个卷积神经网络的计算量也越大。减少特征层的数量,可以减少卷积层的权重总量,降低卷积层的计算量,从而降低使得整个卷积神经网络的计算量。
以下将以电子设备为手机为例,对本申请实施例提供的数据处理方法进行详细说明。
在本申请实施例中,参见图5a,卷积神经网络可以包括压缩层,该压缩层可以包括第一卷积层和第二卷积层。其中,压缩层中第二卷积层的输出特征层的第二数量小于第一卷积层的输出特征层的第一数量。若第二数量为a,第一数量为b,a和b均为正整数,则a小于b。可见,压缩层可以用于压缩、减少卷积神经网络中特征层的数量。
在本申请实施例中,压缩层可以包括n个分组,n为大于1的整数,即压缩层中的第一卷积层和第二卷积层可以对应n个分组。参见图5b,对于n个分组中的第i个分组,i为1到n的所有正整数,手机可以执行以下操作:
101、手机获取第i个分组对应的多个预设权重。
在该步骤中,手机可以从本地或异地存储单元中读取第i个分组对应的多个预设权重,该预设权重可以是多次训练获得的系数值。
102、手机根据第i个分组对应的多个预设权重以及第i个分组中的第一卷积层的输出特征层进行卷积运算,以获得第i个分组中的第二卷积层的输出特征层。
由于压缩层中第二卷积层的输出特征层的第二数量小于第一卷积层的输出特征层的第一数量,即压缩层可以降低特征层数量,从而可以使得后续根据降低后的特征层进行进一步数据处理时的计算量较小。
与现有技术中通过池化层降低计算量相比,本申请实施例提供的方法在处理图像数据时并不会影响图像的分辨率,因而可以适用于多种数据处理场景,例如图像增强、超分辨率、图像降噪、图像分类以及音频数据处理等。
在本申请实施例中,对于压缩层中的n个分组,每个分组分别根据该分组对应的一定数量的输入特征层,使用独立于其它分组的卷积核和预设权重进行卷积运算,且每个分组分别输出一定数量的经过卷积运算的输出特征层;每个分组中的第一卷积层的输出特征层用于计算相同分组中的第二卷积层的输出特征层;该种类型的卷积层结构可以称为多分支卷积层,该种结构的压缩层可以称为多分支压缩层。从模型结构和数据流的角度来说,在多分支卷积层中,数据被分成了n个分组,各分组数据进行卷积操作时获得的结果相互独立,每个分组依次进行多层卷积层的卷积操作以及该分组对应的数据流,可以被认为是一个分支。
并且,在本申请实施例中,压缩层包括的卷积层是连续的多个卷积层,其中的连续是指,在相邻的两个卷积层中,前一个卷积层的输出特征层用于作为后一个卷积层的输入特征层,从而计算后一个卷积层的输出特征层。
具体的,由于每个分组中的第二卷积层的输出特征层根据该分组中的第一卷积层的输出特征层计算获得,因而第一卷积层输出特征层的分组情况与第二卷积层输入特征层的分组情况相对应,压缩层中的每个分组以及每个分组中的数据都是连续的。比如,在第一层卷积中,假设共有输出8个输出特征层,对应在4个分组中各含2个输出特征层,那么在第二层卷积层中,也只能有4个分组,且分组中每个输入特征层都对应第一卷积层4个分组中对应的输出特征层,以保证数据和分组的连续性。
本申请实施例提供的方法可以称为特征层压缩法,现有技术中还存在其它的特征层压缩法。例如,在现有技术的第一种方案中,可以通过采用多个卷积层进行分层压缩来达到高压缩比,例如,参见图6a,通过两个特征层数量压缩比为2的卷积层达到特征层数量压缩比为4的压缩效果。在现有技术的第二种方案中,参见图6b,通过使用一个卷积层来实现较大的特征层数量压缩比(例如4)。
值得注意的是,当采用现有技术中的第一种方案、现有技术中的第二种方案以及本申请实施例中的方案将特征层的数量从相等的一个数值压缩到相等的另一数值时,均可以使得后续根据减少数量后的特征层进行进一步数据处理时的计算量较小。但采用不同特征层数量压缩方法分别进行特征层数量压缩时,压缩过程所需要的计算量的大小不同。
举例来说,当将卷积神经网络中特征层的数量从24压缩到6,特征层数量压缩比为4时,假设特征层长度、卷积横向步长、特征层宽度、卷积纵向步长相同,则采用不同的特征层数量压缩方法进行特征层数量压缩时,压缩过程所需要的计算量可以参见以下描述:
若采用现有技术中的第一种方案,通过两个特征层数量压缩比为2的卷积层实现特征层数量压缩比为4,则根据上述式3计算获得的进行特征层数量压缩时的乘法数量1为:
乘法数量1=24×12×第一个卷积层卷积核长度×第一个卷积层卷积核宽度×特征层长度/卷积横向步长×特征层宽度/卷积纵向步长+12×6×第二个卷积层卷积核长度×第二个卷积层卷积核宽度×特征层长度/卷积横向步长×特征层宽度/卷积纵向步长。
根据上述式2计算获得的进行特征层数量压缩时的权重总量1为:
权重总量1=第一个卷积层卷积核长度×第一个卷积层卷积核宽度×24×12+第二个卷积层卷积核长度×第二个卷积层卷积核宽度×12×6。
若采用现有技术中的第二种方案,通过一个特征层数量压缩比为4的卷积层进行特征层数量压缩,则根据上述式3计算获得的进行特征层数量压缩时的乘法数量2为:
乘法数量2=24×6×卷积核长度×卷积核宽度×特征层长度/卷积横向步长×特征层宽度/卷积纵向步长。
根据上述式2计算获得的进行特征层数量压缩时的权重总量2为:
权重总量2=卷积核长度×卷积核宽度×24×6。
若采用本申请实施例提供的多分支卷积层,则示例性的,在图7a所示情况下,第一卷积层和第二卷积层对应2个分组,且第一分组中的第一卷积层的输出特征层的数量为12,第一分组中的第二卷积层的输出特征层的数量为3,且第一分组中的第一卷积层的12个输出特征层为第一分组中的第二卷积层的输入特征层;第二分组中的第一卷积层的输出特征层的数量为12,第二分组中的第二卷积层的输出特征层的数量为3,且第二分组中的第一卷积层的12个输出特征层为第二分组中的第二卷积层的输入特征层;并且,第一卷积层的所有输出特征层的数量为24,第一分组中的第一卷积层的12个输出特征层与第二分组中的第一卷积层的12个输出特征层不同,第二卷积层的所有输出特征层的数量为6。该种情况下,根据上述式3计算获得的进行特征层数量压缩时的乘法数量3为:
乘法数量3=(12×3×第二卷积层卷积核长度×第二卷积层卷积核宽度×特征层长度/卷积横向步长×特征层宽度/卷积纵向步长)×2。
根据上述式2计算获得的进行特征层数量压缩时的权重总量3为:
权重总量3=(第二卷积层卷积核长度×第二卷积层卷积核宽度×12×3)×2。
若采用本申请实施例提供的多分支卷积层,则示例性的,在图7b所示情况下,第一卷积层和第二卷积层对应3个分组,且第一分组中的第一卷积层的输出特征层的数量为8,第一分组中的第二卷积层的输出特征层的数量为2,且第一分组中的第一卷积层的8个输出特征层为第一分组中的第二卷积层的输入特征层;第二分组中的第一卷积层的输出特征层的数量为8,第二分组中的第二卷积层的输出特征层的数量为2,且第二分组中的第一卷积层的8个输出特征层为第二分组中的第二卷积层的输入特征层;第三分组中的第一卷积层的输出特征层的数量为8,第三分组中的第二卷积层的输出特征层的数量为2,且第三分组中的第一卷积层的8个输出特征层为第三分组中的第二卷积层的输入特征层;并且,第一卷积层的所有输出特征层的数量为24,第一分组、第二分组和第三分组分别对应的第一卷积层的8个输出特征层均不同,第二卷积层的所有输出特征层的数量为6。该种情况下,根据上述式3计算获得的进行特征层数量压缩时的乘法数量4为:
乘法数量4=(8×2×第二卷积层卷积核长度×第二卷积层卷积核宽度×特征层长度/卷积横向步长×特征层宽度/卷积纵向步长)×3。
根据上述式2计算获得的进行特征层数量压缩时的权重总量4为:
权重总量4=(第二卷积层卷积核长度×第二卷积层卷积核宽度×8×2)×3。
当不同卷积层采用相同大小的卷积核长度、卷积核宽度时,对比乘法数量1、乘法数量2、乘法数量3和乘法数量4可知,当采用现有技术中的第一种方案进行特征层数量压缩时,乘法数量较多,计算量较大;当采用现有技术中的第二种方案进行特征层数量压缩时,乘法数量居中,计算量居中;当采用本申请实施例提供的方案进行特征层压缩时,乘法数量最少,计算量也最小。因而,与采用现有技术中的特征层数量压缩方法相比,当采用本申请实施例提供的特征层数量压缩方法时,计算量最小,卷积神经网络的数据处理速度最快,手机的能耗也最小。
并且,对比权重总量1、权重总量2、权重总量3和权重总量4可知,当采用本申请实施例提供的特征层压缩方案时,权重总量较少,根据权重进行卷积计算时得到的中间结果的数量也较少,权重和中间结果所占用的存储空间较小,手机读写权重和中间结果所需要的时间和能耗也较小,因而手机的能耗也较小。
此外,在上述图7a、图7b所示的方案和现有技术的第二种方案中,手机通过一个卷积层实现特征层数量的压缩,尤其地,该类方案更适用于压缩层的特征数量压缩比(例如为2)较小的情况。
进一步地,参见图8a,本申请实施例中的压缩层还可以包括第三卷积层,第三卷积层的输出特征层的第三数量小于或者等于第一数量,且大于或者等于第二数量,这样可以使得第二数量小于第一数量,从而达到减少特征层数量的目的。
在此基础上,参见图8b,手机在上述步骤101中获取第i个分组对应的多个预设权重可以包括:
1010、手机获取第i个分组中的第三卷积层对应的第一预设权重,和第i分组中的第二卷积层对应的第二预设权重。
手机在上述步骤102中根据第i个分组对应的多个预设权重以及第i个分组中的第一卷积层的输出特征层进行卷积运算,以获得第i个分组中的第二卷积层的输出特征层可以包括:
1021、手机根据第i个分组中的第三卷积层对应的第一预设权重以及第i个分组中的第一卷积层的输出特征层进行卷积运算,以获得第i个分组中的第三卷积层的输出特征层。
1022、手机根据第i分组中的第二卷积层对应的第二预设权重以及第i个分组中的第三卷积层的输出特征层进行卷积运算,以获得第i个分组中的第二卷积层的输出特征层。
也就是说,压缩层也可以包括3个或3个以上的卷积层,手机可以通过多个卷积层对特征层数量进行分级压缩。其中,第一预设权重和第二预设权重可以分别包括多个具体的权重值。当手机通过多个卷积层对特征层数量进行压缩时,该多个卷积层中的每个卷积层的输出特征层数量均小于输入特征层数量。
在本申请实施例中,为了使得达到压缩特征层数量的目的,压缩层的每个分组包括的两个相邻卷积层中,后一个卷积层的输出特征层的数量可以小于或者等于前一个卷积层的输出特征层的数量。示例性的,参见图9a,压缩层包括连续的第一卷积层、第三卷积层、第二卷积层和第X卷积层,且第三卷积层的输出特征层的数量小于第一卷积层的输出特征层的数量,第二卷积层的输出特征层的数量等于第三卷积层的输出特征层的数量,第X卷积层的输出特征层的数量小于第二卷积层的输出特征层的数量。手机可以通过第三卷积层和第X卷积层对特征层数量进行压缩。尤其地,压缩层的每个分组包括的每两个相邻卷积层中,后一个卷积层的输出特征层的数量都小于前一个卷积层的输出特征层的数量。示例性的,参见图9b,压缩层包括连续的第一卷积层、第三卷积层和第二卷积层,且第三卷积层的输出特征层的数量小于第一卷积层的输出特征层的数量,第二卷积层的输出特征层的数量小于第三卷积层的输出特征层的数量。与图9a所示情况相比,采用图9b中的压缩层时,可以通过较少的卷积层达到压缩特征层数量的目的。
当压缩层的特征层数量压缩比较高(例如大于2)时,若采用现有技术中的第二种方案,或采用本申请实施例如图7a、图7b所示的方案,通过一个卷积层实现较大的压缩特征层数量比,则由于卷积层一次性实现的特征层数量压缩比较高,从而将使得该卷积层压缩后的特征层提取的特征信息损失严重,导致卷积神经网络的数据处理效果较差。若采用现有技术中的第一种方案,通过多个卷积层对特征层进行分级压缩,则由于不会通过一个卷积层一次性实现较高的特征层数量压缩比,因而可以使得压缩后的特征层提取到更多的特征信息,但由于该方案在特征层压缩过程本身的计算量较大,从而使得数据处理过程的计算量也较大。当采用本申请实施例提供的压缩层,通过多个卷积层对特征层数量进行分级压缩时,由于不会通过一个卷积层一次性实现较高的特征层数量压缩比,因而可以使得压缩后的特征层提取到较多的特征信息,并且可以降低特征层数量压缩过程计算量。因而,本申请实施例提供的通过多个卷积层对特征层数量进行分级压缩的多分支压缩层,更适用于压缩层的特征层数量压缩比较高的情况。
其中,现有技术中的第二种方案可以称为非分支一次性特征层高压缩比法,现有技术中的第一种方案可以称为非分支分级特征层压缩法,本申请实施例中通过多分支结构的压缩层中的一个卷积层实现较高压缩比的方法可以称为多分支一次性特征层高压缩比法,本申请实施例中通过多分支结构的压缩层中的多个卷积层分级压缩的方法可以称为多分支分级特征层压缩法。
示例性的,参见图10,第一卷积层、第三卷积层和第二卷积层对应2个分组,且第一分组中的第一卷积层的输出特征层的数量为12,第一分组中的第三卷积层的输出特征层的数量为6,第一分组中的第二卷积层的输出特征层的数量为3;第二分组中的第一卷积层的输出特征层的数量为12,第二分组中的第三卷积层的输出特征层的数量为6,第二分组中的第三卷积层的输出特征层的数量为3;并且,第一卷积层的所有输出特征层的数量为24,第三卷积层的所有输出特征层的数量为12,第三卷积层的所有输出特征层的数量为6。该种情况下,根据上述式3计算获得的进行特征层数量压缩时的乘法数量5为:
乘法数量5=(12×6×第三卷积层卷积核长度×第三卷积层卷积核宽度×特征层长度/卷积横向步长×特征层宽度/卷积纵向步长+6×3×第二卷积层卷积核长度×第二卷积层卷积核宽度×特征层长度/卷积横向步长×特征层宽度/卷积纵向步长)×2。
根据上述式2计算获得的进行特征层数量压缩时的权重总量5为:
权重总量5=(第三卷积层卷积核长度×第三卷积层卷积核宽度×12×6+第二卷积层卷积核长度×第二卷积层卷积核宽度×6×3)×2。
对比乘法数量1与乘法数量5,以及权重总量1和权重总量5可知,与现有技术中的第一种方案通过多个卷积层进行特征层数量压缩相比,采用本申请实施例提供的特征层压缩方法,通过相同数量的卷积层进行特征层压缩时,可以降低特征层压缩过程中的计算量。
在本申请实施例的一种可能的实现方式中,压缩层的每个分组包括的两个相邻卷积层中,前一个卷积层的输出特征层的数量与后一个卷积层的输出特征层的数量的比值可以小于或者等于第一预设值。其中,该第一预设值较小,具体可以根据需要进行设定,例如可以为2。这样,手机可以通过多个压缩比较低的卷积层逐步分级压缩特征层数量,避免由于卷积层一次性压缩的特征层数量较高,从而使得压缩后的特征层提取的特征信息损失严重的问题。
示例性的,上述第一数量与第三数量的比值小于或者等于第一预设值(例如为2),第三数量与第二数量的比值小于或者等于第一预设值。这样,手机可以通过多个卷积层逐步压缩卷积层的数量。当压缩层的特征层数量压缩比较高时,与采用一个卷积层一次性压缩特征层数量导致特征信息损失严重相比,采用多个卷积层压缩特征层数量可以提取更多的特征信息。
虽然现有技术中的第二种方案也可以使得特征层压缩时的计算量较小,但与现有技术中的第二种方案相比,本申请实施例通过多个卷积层进行特征层数量压缩,可以使得压缩层的每个卷积层单次压缩的压缩比较低,从而不会损失过多的特征信息,因而可以在压缩特征层数量的过程中,在降低计算量的前提下,提取到更多的特征信息。
并且,现有技术中采用的特征层压缩方法的主要原理在于,在特征抽象过程中,主要通过采用更少的数据量表达更为抽象的特征层,从而达到降低计算量的目的。而本申请实施例提供的特征层数量压缩方法的主要原理在于,在特征抽象过程中,主要通过减少后一卷积层的输出特征层与前一卷积层的输出特征层之间的连接冗余关系,达到降低计算量的目的。
具体的,在卷积神经网络中,在相邻的两个卷积层之间,并不是所有特征层之间的连接都是对后一个卷积层的输出特征层的特征信息做出重要贡献的连接关系。推导后一个卷积层的一个输出特征层并不需要根据前一个卷积层的所有输出特征层才能得到,而根据前一个卷积层的部分输出特征层就可以得到。而在现有非分支结构的卷积层中,前一个卷积层的每个输出特征层都与后一个卷积层的每个输出特征层相连接。也就是说,在非分支结构的卷积层中,相邻两个卷积层之间的连接出现信息冗余的可能性较大,前一个卷积层的低层特征层向后一个卷积层的高层特征层之间的部分连接利用率低,从而导致整体连接利用率较低。
当采用本申请实施例提供的多分支结构的压缩层时,由于分组之间的卷积运算是独立进行的,前一个卷积层的输出特征层只与同一个分组内的后一个卷积层的输出特征层有连接关系,而与其它分组内的后一个卷积层的输出特征层不具有连接关系,因而可以减少前后特征层之间的连接冗余,从而降低卷积神经网络的复杂度,减少乘法数量,降低计算量。
对于一个卷积神经网络模型,如果模型想要达到一个好的处理效果,其训练后的权重参数必定使得每一层特征层都很好的保留并提取了上一次层特征层中的有效信息。当同一个输出特征层与不同输入层对应的卷积权重差异较大时,该输出特征层主要是由权重值较大的一小部分输入特征层的数值决定的,也就是只有一小部分输入特征层对这个输出特征层的结果产生较大作用,而大部分输入特征层的数值对于这个输出特征层来说影响较小,这就意味着存在较多的信息和计算的冗余;当同一个输出特征层与不同输入层对应的卷积权重值较大且差异较小时,输出层的结果是由大部分输入层决定的,这也就意味着存在较少的信息和计算的冗余。
示例性的,若采用如图11a所示的现有卷积神经网络模型进行超分辨率图像处理,当采用大小为1×1的卷积核和如图11b所示的非分支卷积层,将特征层数量从24压缩到12时,图11b中卷积层A进行卷积运算时的权重可以参见如下表1。其中,图11b中的卷积层A对应于图11a中所示的卷积层Conv(1,12,24)。表1中,绝对值大于第二预设值(例如0.1)的权重,用下划线标注如下。其中,由于后一个卷积层的输出特征层为前一个卷积层的输出特征层,权重绝对值的大小代表了输出特征层对输入特征层的引用关系,也就代表了后一个卷积层的输出特征层与前一个卷积层的输出特征层之间的连接关系。
表1
由表1可知,只有少量权重的数值的绝对值大于0.1,从而也就说明了在相邻的卷积层A与卷积层D之间的所有连接中,起关键作用的连接只是少数,大多数连接没有起到重要作用,因而非分支结构卷积层中连接利用率低,连接冗余度较大,存在较多的信息和计算的冗余。
示例性的,若采用如图12a所示的4分支卷积神经网络模型进行超分辨率图像处理,当采用大小为1×1的卷积核和如图12b所示的对应4个分组的第三卷积层,将特征层数量从24压缩到12时,图12b中第三卷积层进行卷积运算时的权重可以参见如下表2。其中,图12b中的卷积层A对应于图12a中所示的卷积层Conv(1,12,24)。在图12b中,每个分组中包括的第一卷积层的输出特征层的数量为6,每个分组中包括的第三卷积层的输出特征层的数量为3。对于图12中的第三卷积层进行卷积运算时的权重可以参见如下表2。表2中,绝对值大于第二预设值(例如0.1)的权重,用下划线标注如下。
表2
在表2对应的分支结构的卷积层中,卷积运算被分为了4个分组,第三卷积层的每个输出特征层的计算只使用了非分支结构卷积层1/4数量的输入特征层,即6个输入特征层,所以表2为6×12的矩阵。并且,由表2可知,用以根据输入特征层计算输出特征层的绝大多数权重的绝对值都大于第二预设值0.1,也即输出特征层与输入特征层的关联性很强,第三卷积层的特征提取更为有效地利用了第一卷积层同分组中的大部分特征层,每个分组中第一卷积层和第三卷积层之间连接利用率较高,连接的冗余较少。
与表1相比,表2中包括的绝对值大于0.1的权重的比例更大,从而可以说明,与现有技术中的第一种方案相比,本申请实施例提供的多分支结构的压缩层时,卷积层之间连接利用率更高,连接冗余度更小。
可见,本申请实施例提供的多分支分级特征层压缩法,可以通过分组减少卷积层之间的连接,降低卷积层之间的连接冗余、信息冗余和计算冗余来降低压缩过程中的计算量。因而,与现有技术中的非分支分级特征层压缩法相比,当采用本申请实施例提供的多分支分级特征层压缩法时,虽然减少了部分连接从而丢失了部分特征信息,但由于减少的是连接冗余,因而丢失的有用信息很少,压缩后的特征层可提取到的特征信息仍然很多,对数据处理结果的影响也很小。也就是说,多分支结构的卷积层可以用丢失很小一部分有用信息作为代价,达到大量降低压缩过程计算量的效果。
另外,由图11a和图12a可知,卷积层Conv(1,12,24)位于卷积神经网络的前几个卷积层中,从而提取的特征信息是待处理图像的浅层特征。卷积神经网络中靠后的卷积层提取的是待处理图像的深层特征。
示例性的,当采用图12a所示的4分支超分辨率卷积神经网络模型对一幅图像进行处理时,卷积层Conv(1,12,24)的输出特征成对应的4个分组中,每个分组分别对应的第三卷积层的3个输出特征层的效果图可以参见图13a、图13b、图13c和图13d。由图13a-图13d中每个分组分别对应的输出特征层可知,每个分组在特征提取方面有着不同的趋向性,因而也从另一个角度说明了多分支结构的卷积层对图像特征的获取并不是简单的将单支获取的特征重复四倍,而是提取了多种不同的特征信息,从而可以使得压缩后的特征层提取到的特征信息较多。
采用本申请实施例中的多分支分级特征层压缩法的数据处理效果,与现有技术中的非分支分级特征层压缩法的数据处理效果的差距很小。示例性的,在分别采用图11a所示的现有超分辨率卷积神经网络模型和图12a所示的多分支卷积神经网络模型,对图片测试集进行3倍图像放大时,实测得到的两种方法输出图像峰值信噪比的差值只有0.1dB(分贝)左右,但采用图12a所示的多分支卷积神经网络模型带来的计算量减少这一收益很明显。当采用图12a所示的多分支卷积神经网络模型时,特征层压缩过程中4分支卷积层的计算量可以降低75%,模型整体计算量可以降低29%左右。对于智能终端等对功耗敏感的应用和设备,计算量降低所带来的可观受益远大于图像处理效果的微小下降。
此外,在同样执行3倍放大任务时,采用图12a所示的多分支超分辨率卷积神经网络所对应的分支分级特征层压缩法与采用现有技术中的非分支一次性特征层高压缩比法相比,计算量基本一致,但采用图12a所示的多分支超分辨率卷积神经网络带来了超过0.2dB的输出图像峰值信噪比的提升,因而也从另一方面体现了本申请实施例提供的分支分级特征层压缩法在数据处理方面的优势。
在本申请实施例中,n个分组中的每个分组分别对应的第一卷积层的输出特征层的数量可以相等也可以不等,n个分组中的每个分组分别对应的第二卷积层的输出特征层的数量可以相等也可以不等,i为1到n的所有正整数。当n个分组中的每个分组分别对应的第一卷积层的输出特征层的数量相等,n个分组中的每个分组分别对应的第二卷积层的输出特征层的数量也相等时,第一卷积层输出的特征层的数量平均分配至n个分组中,第二卷积层输出特征层的数量也平均分配到n个分组中。当采用平均分配时,可以使得计算量更小。
以上实施例是以第一卷积层中的每个输出特征层仅对应一个分组为例进行说明的,即在以上实施例中,不同分组中的第一卷积层的输出特征层之间没有重叠,这样可以更多地降低连接冗余。在另一些实施例中,每个第一卷积层的输出特征层可以对应一个或多个输出特征层,也即不同分组中的第一卷积层的输出特征层之间有重叠,这样可以提高分组的灵活性。示例性的,图14示出了该种情况下的一种压缩层的结构示意图。在图14中,第一卷积层的第三输出特征层和第四输出特征层对应2个分组即第一分组和第二分组,第一卷积层的其它输出特征层仅对应一个分组。与现有非分支结构的卷积层中前一个卷积层的每个输出特征层都与后一个卷积层中的每个输出特征层相连接相比,在本申请实施例的该种情况下,第一卷积层与第二卷积层之间的输出特征层仍然只在分组内具有连接关系,因而也可以减少连接冗余,减少乘法数量,降低计算量。
以上实施例是以每个分组中每个卷积层的输出特征层数量小于输入该分组该卷积层的输入特征层数量为例进行说明的。实际上,每个分组中每个卷积层的输出特征层数量可以小于或者输入该分组该卷积层的输入特征层数量。但是,压缩层的输出特征层的数量仍然小于输入特征层的数量。其中,压缩层的输出特征层的数量为压缩层包括的最后一个卷积层的输出特征层的数量,压缩层的输入特征层数量为该压缩层包括的最前边的第一个卷积层的输出特征层的数量。例如,当压缩层包括第一卷积层、第三卷积层和第二卷积层时,第i个分组中的第二卷积层的输出特征层的第四数量,小于或者等于第i个分组中的第三卷积层的输出特征层的第五数量;第i个分组中的第三卷积层的输出特征层的第五数量,小于或者等于第i个分组中的第一卷积层的输出特征层的第六数量。
在另一些实施例中,压缩层中的第一卷积层的输出特征层为第四卷积层的输出特征层,第二卷积层的输出特征层为第五卷积层的输入特征层。也就是说,压缩层包括的卷积层为位于卷积神经网络处理流程中间的卷积层,不是卷积神经网络中的第一个卷积层,也不是卷积神经网络的最后一个卷积层。尤其地,压缩层之后的卷积层的第七数量可以大于压缩层之前的卷积层的第八数量。也就是说,压缩层包括的卷积层为卷积神经网络的前几个卷积层(但不包括第一个卷积层)。
其中,在卷积神经网络中,卷积层的叠加是将图像信息抽象化的提取过程,为了保证提取的特征层可以更好的表现原始图片所含带的图像特征信息,靠前的卷积层的特征层数量一般较多。随着卷积层数的增加,后一层的卷积层对前一层的特征层图像信息进行再次抽象,可以使用较少的特征层数量表现上一层传递的图像信息。因而,手机可以在卷积神经网络的前几个卷积层进行特征层数量压缩。
需要说明的是,以上举例仅是对本申请实施例提供的分支结构的压缩层的示例性说明,应理解,采用分支结构且减少特征层数量的多个连续的卷积层的结构均在本申请实施例的保护范围内。
此外,值得注意的是,本申请实施例提供的多分支结构的卷积层还可以与现有第二种方案中的非分支结构的卷积层结合,形成混合压缩层,用以进行特征层数量的压缩。示例性的,参见图15,卷积层w与卷积层e为多分支结构的卷积层,卷积层r为非多分支结构的卷积层,且卷积层r的输出特征层的数量小于卷积层w的输出特征层的数量;卷积层r的输出特征层的数量小于或者等于卷积层e的输出特征层的数量,卷积层e的输出特征层的数量小于或者等于卷积层w的输出特征层的数量。
另外,需要说明的是,在本申请实施例中,在压缩层第i个分组的两个相邻卷积层中,手机根据前一个卷积层(例如上述第一卷积层)的输出特征层,计算后一个卷积层(例如上述第三卷积层)的输出特征层时,可以首先将前一个卷积层的输出特征层进行运算处理后再计算后一个卷积层的输出特征层。其中,这里的运算处理可以包括增加偏置、池化处理、归一化处理或根据激活函数进行非线性处理等中的至少一种。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图16示出了上述和实施例中涉及的电子设备300的一种可能的组成示意图。其中,该电子设备可以应用于卷积神经网络,卷积神经网络包括压缩层,压缩层包括第一卷积层和第二卷积层,第二卷积层的输出特征层的第二数量小于第一卷积层的输出特征层的第一数量,压缩层包括n个分组,n为大于1的整数,n个分组包括第i个分组,i为1到n的所有正整数。如图16所示,该电子设备300可以包括存储单元31和处理单元32。其中,存储单元31可以用于支持电子设备300存储第i个分组对应的多个预设权重。处理单元32可以用于支持电子设备300从存储单元获取第i个分组对应的多个预设权重,并根据第i个分组对应的多个预设权重以及第i个分组中的第一卷积层的输出特征层进行卷积运算,以获得第i个分组中的第二卷积层的输出特征层。
此外,存储单元31还可以用于存储执行本申请实施例提供的方案的应用程序代码,以及采用本申请实施例提供的方案的卷积神经网络模型结构、权重、处理单元32运算时的中间结果;处理单元32还可以用于支持电子设备300执行图8b中的步骤1010、步骤1021和步骤1022;和/或本文所描述的技术的其它过程。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
当然,电子设备包括但不限于上述所列举的单元模块,例如,电子设备还可以包括通信单元,该通信单元可以包括用于向其他设备发送数据或者信号的发送单元,接收其他设备发送数据或者信号的接收单元等。并且,上述功能单元的具体所能够实现的功能也包括但不限于上述实例的方法步骤对应的功能,电子设备的其他单元的详细描述可以参考其所对应方法步骤的详细描述,本申请实施例这里不再赘述。
其中,图16中的处理单元32可以是处理器或控制器,例如可以是中央处理器CPU,通用处理器,数字信号处理器(digital signal processor,DSP),专用集成电路ASIC,现场可编程门阵列FPGA,图形处理器GPU,或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。存储单元可以是存储器。通信单元可以是收发器、射频电路或通信接口等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (20)
1.一种数据处理方法,应用于实现图像增强处理的卷积神经网络,其特征在于,所述卷积神经网络包括压缩层,所述压缩层包括第一卷积层和第二卷积层,所述第二卷积层的输出特征层的第二数量小于所述第一卷积层的输出特征层的第一数量,所述压缩层包括n个分组,n为大于1的整数,所述n个分组包括第i个分组,i为1到n的所有正整数,所述方法包括:
将待处理的图像数据输入所述卷积神经网络,以进行特征提取获取至少一个图像特征层;
将所述至少一个图像特征层输入所述压缩层中的所述第一卷积层,得到所述第一卷积层的输出特征层;
所述压缩层还包括第三卷积层,所述第三卷积层的输出特征层的第三数量小于或者等于所述第一数量,且大于或者等于所述第二数量,
获取所述第i个分组中的所述第三卷积层对应的第一预设权重,和所述第i分组中的所述第二卷积层对应的第二预设权重;
根据所述第i个分组中的所述第三卷积层对应的第一预设权重以及所述第i个分组中的所述第一卷积层的输出特征层进行卷积运算,以获得所述第i个分组中的所述第三卷积层的输出特征层;
根据所述第i分组中的所述第二卷积层对应的第二预设权重以及所述第i个分组中的所述第三卷积层的输出特征层进行卷积运算,以获得所述第i个分组中的所述第二卷积层的输出特征层。
2.根据权利要求1所述的方法,其特征在于,所述第三数量小于所述第一数量,所述第二数量小于所述第三数量。
3.根据权利要求2所述的方法,其特征在于,所述第一数量与所述第三数量的比值小于或者等于第一预设值,所述第三数量与所述第二数量的比值小于或者等于所述第一预设值。
4.根据权利要求2或3所述的方法,其特征在于,所述第i个分组中的所述第二卷积层的输出特征层的第四数量,小于或者等于所述第i个分组中的所述第三卷积层的输出特征层的第五数量;所述第i个分组中的所述第三卷积层的输出特征层的第五数量,小于或者等于所述第i个分组中的所述第一卷积层的输出特征层的第六数量。
5.根据权利要求1或2所述的方法,其特征在于,所述n个分组中的每个分组分别对应的所述第一卷积层的输出特征层的数量相等,所述n个分组中的每个分组分别对应的所述第二卷积层的输出特征层的数量相等。
6.根据权利要求1或2所述的方法,其特征在于,每个所述第一卷积层的输出特征层对应所述n个分组中的至少一个分组。
7.根据权利要求6所述的方法,其特征在于,每个所述第一卷积层的输出特征层对应所述n个分组中的一个分组。
8.根据权利要求1或2所述的方法,其特征在于,所述压缩层之后的卷积层的第七数量大于所述压缩层之前的卷积层的第八数量。
9.一种电子设备,应用于实现图像增强处理的卷积神经网络,其特征在于,所述卷积神经网络包括压缩层,所述压缩层包括第一卷积层和第二卷积层,所述第二卷积层的输出特征层的第二数量小于所述第一卷积层的输出特征层的第一数量,所述压缩层包括n个分组,n为大于1的整数,所述n个分组包括第i个分组,i为1到n的所有正整数,所述电子设备包括:
存储单元,用于存储所述第i个分组对应的多个预设权重;
处理单元,用于将待处理的图像数据输入所述卷积神经网络,以进行特征提取获取至少一个图像特征层;将所述至少一个图像特征层输入所述压缩层中的所述第一卷积层,得到所述第一卷积层的输出特征层;
所述压缩层还包括第三卷积层,所述第三卷积层的输出特征层的第三数量小于或者等于所述第一数量,且大于或者等于所述第二数量;
所述存储单元具体用于,存储所述第i个分组中的所述第三卷积层对应的第一预设权重,和所述第i分组中的所述第二卷积层对应的第二预设权重;
所述处理单元具体用于,从所述存储单元获取所述第i个分组中的所述第三卷积层对应的第一预设权重,和所述第i分组中的所述第二卷积层对应的第二预设权重;
根据所述第i个分组中的所述第三卷积层对应的第一预设权重以及所述第i个分组中的所述第一卷积层的输出特征层进行卷积运算,以获得所述第i个分组中的所述第三卷积层的输出特征层;
根据所述第i分组中的所述第二卷积层对应的第二预设权重以及所述第i个分组中的所述第三卷积层的输出特征层进行卷积运算,以获得所述第i个分组中的所述第二卷积层的输出特征层。
10.根据权利要求9所述的设备,其特征在于,所述第三数量小于所述第一数量,所述第二数量小于所述第三数量。
11.根据权利要求10所述的设备,其特征在于,所述第一数量与所述第三数量的比值小于或者等于第一预设值,所述第三数量与所述第二数量的比值小于或者等于所述第一预设值。
12.根据权利要求10或11所述的设备,其特征在于,所述第i个分组中的所述第二卷积层的输出特征层的第四数量,小于或者等于所述第i个分组中的所述第三卷积层的输出特征层的第五数量;所述第i个分组中的所述第三卷积层的输出特征层的第五数量,小于或者等于所述第i个分组中的所述第一卷积层的输出特征层的第六数量。
13.根据权利要求9或10所述的设备,其特征在于,所述n个分组中的每个分组分别对应的所述第一卷积层的输出特征层的数量相等,所述n个分组中的每个分组分别对应的所述第二卷积层的输出特征层的数量相等。
14.根据权利要求9或10所述的设备,其特征在于,每个所述第一卷积层的输出特征层对应所述n个分组中的至少一个分组。
15.根据权利要求14所述的设备,其特征在于,每个所述第一卷积层的输出特征层对应所述n个分组中的一个分组。
16.根据权利要求9或10所述的设备,其特征在于,所述压缩层之后的卷积层的第七数量大于所述压缩层之前的卷积层的第八数量。
17.一种电子设备,其特征在于,包括:一个或多个处理器和一个或多个存储器;
所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述电子设备执行如权利要求1-8任一项所述的数据处理方法。
18.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-8任一项所述的数据处理方法。
19.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-8任一项所述的数据处理方法。
20.一种芯片,其特征在于,所述芯片实现如权利要求1-8任一项所述的数据处理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/111752 WO2019095333A1 (zh) | 2017-11-17 | 2017-11-17 | 一种数据处理方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110651273A CN110651273A (zh) | 2020-01-03 |
CN110651273B true CN110651273B (zh) | 2023-02-14 |
Family
ID=66539364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780090949.7A Active CN110651273B (zh) | 2017-11-17 | 2017-11-17 | 一种数据处理方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110651273B (zh) |
WO (1) | WO2019095333A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580772B (zh) * | 2019-09-30 | 2024-04-26 | 华为技术有限公司 | 卷积神经网络的压缩方法及装置 |
CA3163323C (en) * | 2019-12-09 | 2023-08-08 | Eris Digital Holdings, Llc | Electronic trading and settlement system for blockchain-integrated cryptographic difficulty-based financial instruments |
CN112508734B (zh) * | 2020-11-27 | 2024-04-26 | 国网浙江省电力有限公司杭州供电公司 | 基于卷积神经网络的电力企业发电量的预测方法及装置 |
CN113570035B (zh) * | 2021-07-07 | 2024-04-16 | 浙江工业大学 | 一种利用多层卷积层信息的注意力机制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326985A (zh) * | 2016-08-18 | 2017-01-11 | 北京旷视科技有限公司 | 神经网络训练方法和装置及数据处理方法和装置 |
CN107239824A (zh) * | 2016-12-05 | 2017-10-10 | 北京深鉴智能科技有限公司 | 用于实现稀疏卷积神经网络加速器的装置和方法 |
CN107316079A (zh) * | 2017-08-08 | 2017-11-03 | 珠海习悦信息技术有限公司 | 终端卷积神经网络的处理方法、装置、存储介质及处理器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107209864B (zh) * | 2015-01-27 | 2018-03-30 | 北京市商汤科技开发有限公司 | 人脸识别方法和装置 |
CN106203619B (zh) * | 2015-05-29 | 2022-09-13 | 三星电子株式会社 | 数据优化的神经网络遍历 |
CN106250981B (zh) * | 2015-06-10 | 2022-04-01 | 三星电子株式会社 | 减少存储器访问和网络内带宽消耗的脉冲神经网络 |
US10002415B2 (en) * | 2016-04-12 | 2018-06-19 | Adobe Systems Incorporated | Utilizing deep learning for rating aesthetics of digital images |
CN106096531B (zh) * | 2016-05-31 | 2019-06-14 | 安徽省云力信息技术有限公司 | 一种基于深度学习的交通图像多类型车辆检测方法 |
-
2017
- 2017-11-17 CN CN201780090949.7A patent/CN110651273B/zh active Active
- 2017-11-17 WO PCT/CN2017/111752 patent/WO2019095333A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326985A (zh) * | 2016-08-18 | 2017-01-11 | 北京旷视科技有限公司 | 神经网络训练方法和装置及数据处理方法和装置 |
CN107239824A (zh) * | 2016-12-05 | 2017-10-10 | 北京深鉴智能科技有限公司 | 用于实现稀疏卷积神经网络加速器的装置和方法 |
CN107316079A (zh) * | 2017-08-08 | 2017-11-03 | 珠海习悦信息技术有限公司 | 终端卷积神经网络的处理方法、装置、存储介质及处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN110651273A (zh) | 2020-01-03 |
WO2019095333A1 (zh) | 2019-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110651273B (zh) | 一种数据处理方法及设备 | |
CN110363279B (zh) | 基于卷积神经网络模型的图像处理方法和装置 | |
CN109032669B (zh) | 神经网络处理装置及其执行向量最小值指令的方法 | |
CN114186632B (zh) | 关键点检测模型的训练方法、装置、设备、存储介质 | |
CN103546158A (zh) | 压缩深度高速缓存 | |
CN107909583A (zh) | 一种图像处理方法、装置及终端 | |
CN110175641A (zh) | 图像识别方法、装置、设备和存储介质 | |
US20230120054A1 (en) | Key point detection method, model training method, electronic device and storage medium | |
CN115311730B (zh) | 一种人脸关键点的检测方法、***和电子设备 | |
CN111985597A (zh) | 模型压缩方法及装置 | |
US20230135109A1 (en) | Method for processing signal, electronic device, and storage medium | |
CN113094746A (zh) | 基于本地化差分隐私的高维数据发布方法及相关设备 | |
US10929755B2 (en) | Optimization processing for neural network model | |
CN112990440A (zh) | 用于神经网络模型的数据量化方法、可读介质和电子设备 | |
WO2022111002A1 (zh) | 用于训练神经网络的方法、设备和计算机可读存储介质 | |
CN114092708A (zh) | 特征图像的处理方法、装置和存储介质 | |
CN112748899A (zh) | 一种数据处理方法和相关设备 | |
CN116704200A (zh) | 图像特征提取、图像降噪方法及相关装置 | |
WO2021081854A1 (zh) | 一种卷积运算电路和卷积运算方法 | |
CN114399028B (zh) | 信息处理方法、图卷积神经网络训练方法及电子设备 | |
CN113191208B (zh) | 一种用于遥感图像实例分割的特征提取方法和计算机设备 | |
CN113989121A (zh) | 归一化处理方法及装置、电子设备、存储介质 | |
CN115880416A (zh) | 三维模型的显示方法、装置、服务器及存储介质 | |
CN113139490B (zh) | 一种图像特征匹配方法、装置、计算机设备及存储介质 | |
CN117454930B (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 |