CN111160516B - 一种深度神经网络的卷积层稀疏化方法及装置 - Google Patents
一种深度神经网络的卷积层稀疏化方法及装置 Download PDFInfo
- Publication number
- CN111160516B CN111160516B CN201811320668.9A CN201811320668A CN111160516B CN 111160516 B CN111160516 B CN 111160516B CN 201811320668 A CN201811320668 A CN 201811320668A CN 111160516 B CN111160516 B CN 111160516B
- Authority
- CN
- China
- Prior art keywords
- dimension
- same
- units
- weight
- weights
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06N3/045—Combinations of networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供了一种深度神经网络的卷积层稀疏化方法及装置,其中,方法包括:获取深度神经网络中卷积层的张量及结构参数;根据卷积层的结构参数,利用预设维度划分方法,将该卷积层的张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元;针对各维度单元,根据该维度单元中的权值,对该维度单元中的各权值进行相同的稀疏化操作。通过本方案,可以提高内存的访问效率。
Description
技术领域
本申请涉及机器学习技术领域,特别是涉及一种深度神经网络的卷积层稀疏化方法及装置。
背景技术
深度神经网络作为机器学习研究中的一个新兴领域,通过模仿人脑的机制来解析数据,是一种通过建立和模拟人脑进行分析学习的智能模型。深度神经网络已在目标检测与分割、行为检测与识别、语音识别等方面得到了很好的应用。但是,随着深度神经网络的不断发展,深度神经网络的规模不断增大,数据的存储量和计算量越来越大,使得深度神经网络具有较高的计算复杂度,需要强大的硬件资源。
为了降低深度神经网络的计算复杂度、减少硬件资源的压力,需要对深度神经网络的网络模型进行压缩,目前主流的对深度神经网络的网络模型进行压缩的方法有定点化、稀疏化等。其中,稀疏化主要是将深度神经网络中不重要的权值置零、重要的权值保持不变,从而将深度神经网络稠密的权值转换为稀疏的权值,存储量和计算量得以明显降低。
然而,在相应的深度神经网络稀疏化方法中,稀疏化操作针对的是深度神经网络中的每一个权值,而各权值的无规律性导致了各权值的稀疏化也是无规律可循的。在进行后续的网络模型训练等处理时,尽管深度神经网络中有些权值已经置零,但是并不能规律性的确定具体哪些权值置零,则需要从内存中读取每一个权值,导致内存的访问效率较低。
发明内容
本申请实施例的目的在于提供一种深度神经网络的卷积层稀疏化方法及装置,以提高内存的访问效率。具体技术方案如下:
第一方面,本申请实施例提供了一种深度神经网络的卷积层稀疏化方法,所述方法包括:
获取深度神经网络中卷积层的张量及结构参数;
根据所述结构参数,利用预设维度划分方法,将所述张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元;
针对各维度单元,根据该维度单元中的权值,对该维度单元中的各权值进行相同的稀疏化操作。
可选的,所述根据所述结构参数,利用预设维度划分方法,将所述张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元,包括:
根据所述结构参数中滤波器空间维度的行参数,将所述张量中处于同一行的权值划分为同一维度单元,得到多个行维度单元;
或者,
根据所述结构参数中滤波器空间维度的列参数,将所述张量中处于同一列的权值划分为同一维度单元,得到多个列维度单元。
可选的,所述根据所述结构参数,利用预设维度划分方法,将所述张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元,包括:
根据所述结构参数中的滤波器空间维度参数,将所述张量中处于同一滤波器空间内的权值划分为同一维度单元,得到多个空间维度单元。
可选的,所述根据所述结构参数,利用预设维度划分方法,将所述张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元,包括:
根据所述结构参数中的输入通道参数,将所述张量中处于同一输入通道内的权值划分为同一维度单元,得到多个输入通道维度单元。
可选的,所述针对各维度单元,根据该维度单元中的权值,对该维度单元中的各权值进行相同的稀疏化操作,包括:
针对各维度单元,对该维度单元中各权值的绝对值进行求和计算,得到计算结果;
判断所述计算结果是否大于预设阈值;
若不大于,则将该维度单元中的各权值置零;
若大于,则保持该维度单元中的各权值不变。
第二方面,本申请实施例提供了一种深度神经网络的卷积层稀疏化装置,所述装置包括:
获取模块,用于获取深度神经网络中卷积层的张量及结构参数;
划分模块,用于根据所述结构参数,利用预设维度划分方法,将所述张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元;
稀疏模块,用于针对各维度单元,根据该维度单元中的权值,对该维度单元中的各权值进行相同的稀疏化操作。
可选的,所述划分模块,具体用于:
根据所述结构参数中滤波器空间维度的行参数,将所述张量中处于同一行的权值划分为同一维度单元,得到多个行维度单元;
或者,
根据所述结构参数中滤波器空间维度的列参数,将所述张量中处于同一列的权值划分为同一维度单元,得到多个列维度单元。
可选的,所述划分模块,具体用于:
根据所述结构参数中的滤波器空间维度参数,将所述张量中处于同一滤波器空间内的权值划分为同一维度单元,得到多个空间维度单元。
可选的,所述划分模块,具体用于:
根据所述结构参数中的输入通道参数,将所述张量中处于同一输入通道内的权值划分为同一维度单元,得到多个输入通道维度单元。
可选的,所述稀疏模块,具体用于:
针对各维度单元,对该维度单元中各权值的绝对值进行求和计算,得到计算结果;
判断所述计算结果是否大于预设阈值;
若不大于,则将该维度单元中的各权值置零;
若大于,则保持该维度单元中的各权值不变。
第三方面,本申请实施例提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现本申请实施例第一方面提供的深度神经网络的卷积层稀疏化方法的所有步骤。
第四方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,实现本申请实施例第一方面提供的深度神经网络的卷积层稀疏化方法的所有步骤。
本申请实施例提供的一种深度神经网络的卷积层稀疏化方法及装置,获取深度神经网络中卷积层的张量及结构参数,根据卷积层的结构参数,利用预设维度划分方法,将卷积层的张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元,针对各维度单元,根据该维度单元中的权值,对该维度单元中的各权值进行相同的稀疏化操作。通过将卷积层的张量进行维度划分,得到多个维度单元,针对同一个维度单元中的各权值,采用相同的稀疏化操作,使得深度神经网络的卷积层稀疏化具有一定的规律性,在存储稀疏化后的权值时,可以对权值置零的维度进行标记,则从内存中读取权值时,可以基于该标记,只读取未被置零的权值,提高了内存的访问效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为相应的深度神经网络的卷积层稀疏化后的效果示意图;
图2为本申请实施例的深度神经网络的卷积层稀疏化方法的流程示意图;
图3为本申请实施例的行维度单元的结构示意图;
图4为本申请实施例的列维度单元的结构示意图;
图5为本申请实施例的空间维度单元的结构示意图;
图6为本申请实施例的输入通道维度单元的结构示意图;
图7为本申请实施例的深度神经网络的卷积层稀疏化装置的结构示意图;
图8为本申请实施例的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为传统针对模型权值稀疏化后的效果示意图,由于稀疏化操作针对的是单个权值,所以大小为C×K×R×S的深度神经网络的卷积层中每个大小为R×S的滤波器中权值的稀疏效果是无规律的(图1中黑色小框代表保持不变的权值,白色小框代表置零的权值)。理论上这种稀疏化方法会将深度神经网络的卷积层张量转换为非常稀疏的卷积层张量,大大降低了深度神经网络的计算与存储资源消耗。
但是,这种稀疏化方法由于无规律性,在通用的硬件加速平台上(如GPU(GraphicsProcessing Unit,图形处理单元))并不能得到很好的支持,往往需要定制化的硬件加速器来实现,如FPGA(Field-Programmable Gate Array,现场可编程门阵列)、ASIC(Application Specific Integrated Circuit,专用集成电路)等。虽然这种无规律性的权值稀疏化方法能够通过定制化硬件加速器实现,但往往也需要较高的硬件设计代价。
因此,为了提高内存的访问效率、降低定制化的硬件加速器设计成本,本申请实施例提供了一种深度神经网络的卷积层稀疏化方法、装置、电子设备及机器可读存储介质。
下面,首先对本申请实施例所提供的深度神经网络的卷积层稀疏化方法进行介绍。
本申请实施例所提供的深度神经网络的卷积层稀疏化方法的执行主体可以为实现目标检测与分割、行为检测与识别、语音设备等功能的电子设备。实现本申请实施例所提供的深度神经网络的卷积层稀疏化方法的方式可以为设置于执行主体中的软件、硬件电路和逻辑电路中的至少一种方式。
如图2所示,本申请实施例所提供的一种深度神经网络的卷积层稀疏化方法,可以包括如下步骤:
S201,获取深度神经网络中卷积层的张量及结构参数。
深度神经网络为一个较为宽泛的数据处理方法,具体的,深度神经网络可以为CNN(Convolutional Neural Network,卷积神经网络)、RNN(Recurrent Neural Network,循环神经网络)、LSTM(Long Short Term Memory,长短期记忆网络)等数据处理方法中的任意一种。
深度神经网络的每一个网络层由于主要进行卷积运算,故也称为卷积层,卷积层的张量实际就是该卷积层中每一个具体的权值,例如,卷积层W的张量为一个四维张量,是指卷积层表示为C×K×R×S维度时,该四维张量中具体的权值。卷积层的结构参数包括卷积层的输出通道数C、输入通道数K,以及滤波器空间维度大小R×S。
S202,根据卷积层的结构参数,利用预设维度划分方法,将该卷积层的张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元。
考虑到卷积特性,深度神经网络的同一卷积层中处于同一维度的权值往往具有更为相近的数值范围,例如有的卷积层中处于同一行的权值大小较为相近,而在有的卷积层中处于同一列的权值大小较为相近,在另一些卷积层中处于同一滤波器空间维度的权值大小较为相近,这与卷积层结构的初始设置以及深度神经网络的功能设置相关。因此,可以根据卷积层的结构参数,将卷积层的张量中处于同一维度的权值划分为同一维度单元。本申请实施例中所提及的同一维度可以包括但不限于:同一滤波器空间维度、滤波器空间维度上的同一行、同一列、同一输入通道。
本申请实施例可以根据深度神经网络的实际情况,来确定维度单元划分的形式。可选的,对卷积层的张量进行维度单元划分的方式具体可以分为以下几种:
第一种方式,根据卷积层的结构参数中滤波器空间维度的行参数,将该卷积层的张量中处于同一行的权值划分为同一维度单元,得到多个行维度单元。
针对卷积层中同一行的权值差异较小的情况,可以根据该卷积层的结构参数中滤波器空间维度的行参数,将该卷积层的张量中处于同一行的权值划分为同一维度单元,可以得到如图3所示的行维度单元,行维度单元的数学表达式为:
cell=W(c,k,r,:)
第二种方式,根据卷积层的结构参数中滤波器空间维度的列参数,将该卷积层的张量中处于同一列的权值划分为同一维度单元,得到多个列维度单元。
针对卷积层中同一列的权值差异较小的情况,可以根据该卷积层的结构参数中滤波器空间维度的列参数,将该卷积层的张量中处于同一列的权值划分为同一维度单元,可以得到如图4所示的列维度单元,列维度单元的数学表达式为:
cell=W(c,k,:,s)
第三种方式,根据卷积层的结构参数中的滤波器空间维度参数,将该卷积层的张量中处于同一滤波器空间内的权值划分为同一维度单元,得到多个空间维度单元。
针对卷积层中同一滤波器空间内的权值差异较小的情况,可以根据该卷积层的结构参数中的滤波器空间维度参数,将该卷积层的张量中处于同一滤波器空间内的权值划分为同一维度单元,可以得到如图5所示的空间维度单元,空间维度单元的数学表达式为:
cell=W(c,k,:,:)
第四种方式,根据卷积层的结构参数中的输入通道参数,将该卷积层的张量中处于同一输入通道内的权值划分为同一维度单元,得到多个输入通道维度单元。
针对卷积层中同一输入通道内的权值差异较小的情况,可以根据该卷积层的结构参数中的输入通道参数,将该卷积层的张量中处于同一输入通道内的权值划分为同一维度单元,可以得到如图6所示的输入通道维度单元,输入通道维度单元的数学表达式为:
cell=W(c,:,r,s)
以上只是示例性的给出了对卷积层的张量进行维度单元划分的四种方式,但实际维度单元划分的方式不仅限于此,只要将权值大小较为相近的权值划分为同一维度单元即可,例如将多行划分为同一维度单元、多列划分为同一维度单元等,通过维度单元的划分可以保证同一维度单元中的各权值具有一定的规律性。
S203,针对各维度单元,根据该维度单元中的权值,对该维度单元中的各权值进行相同的稀疏化操作。
在对卷积层的张量划分得到各维度单元后,由于同一维度单元中的各权值具有一定的规律性,可以认为维度单元是结构化的单元,可以基于一个维度单元中的权值对该维度单元中的各权值进行相同的稀疏化操作,通过稀疏化操作后,被处理的维度单元整体上被划分为零值或者非零值。
对维度单元中的各权值进行稀疏化操作的依据可以有很多种,例如,可以判断维度单元中最大的权值是否小于一个预设阈值,如果小于,则说明维度单元中的各权值对应深度神经网络运算来讲都不重要,则可以将该维度单元中的各权值都置零;还可以判断维度单元中最小的权值是否大于一个预设阈值,如果大于,则说明维度单元中的各权值对应深度神经网络运算来讲都重要,则可以保留该维度单元中的各权值;还可以计算维度单元中各权值的平均值,判断该平均值是否大于一个预设阈值,如果大于,则说明维度单元中的各权值对应深度神经网络运算来讲都重要,则可以保留该维度单元中的各权值,如果不大于,则明维度单元中的各权值对应深度神经网络运算来讲都不重要,则可以将该维度单元中的各权值都置零;还可以对维度单元中各权值的绝对值进行求和计算,判断计算结果是否大于一个预设阈值,如果大于,则说明维度单元中的各权值对应深度神经网络运算来讲都重要,则可以保留该维度单元中的各权值,如果不大于,则明维度单元中的各权值对应深度神经网络运算来讲都不重要,则可以将该维度单元中的各权值都置零。对维度单元中的各权值进行稀疏化操作的依据不仅限于上述这几种方式,能够通过综合判定维度单元中权值对于深度神经网络运算的重要度的方式均属于本申请实施例的保护范围,这里不再一一赘述。
可选的,S203具体可以为:
针对各维度单元,对该维度单元中各权值的绝对值进行求和计算,得到计算结果;
判断计算结果是否大于预设阈值;
若不大于,则将该维度单元中的各权值置零;
若大于,则保持该维度单元中的各权值不变。
对于维度单元来讲,虽然同一维度单元中各权值的取值较为相近,但不免会偶尔存在有差别较大的权值,但同一维度单元中的各权值整体来讲还是趋近的,因此,为了避免这种情况影响最终的稀疏化,对维度单元中的各权值进行稀疏化操作的依据具体可以通过计算维度单元中各权值的绝对值进行求和计算来评估该维度单元在整个深度神经网络中的重要度,可以将计算结果大的维度单元设置为重要,将计算结果小的维度单元设置为不重要,对于不重要的维度单元,可以将其内部的所有权值置零,对于重要的维度单元,可以保持原有的权值不变。后续的深度神经网络训练过程中,可以仅对重要的维度单元的权值进行精调,从而降低了整个深度神经网络运算的计算量。
应用本实施列,获取深度神经网络中卷积层的张量及结构参数,根据卷积层的结构参数,利用预设维度划分方法,将卷积层的张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元,针对各维度单元,根据该维度单元中的权值,对该维度单元中的各权值进行相同的稀疏化操作。通过将卷积层的张量进行维度划分,得到多个维度单元,针对同一个维度单元中的各权值,采用相同的稀疏化操作,使得深度神经网络的卷积层稀疏化具有一定的规律性,在存储稀疏化后的权值时,可以对权值置零的维度进行标记,则从内存中读取权值时,可以基于该标记,只读取未被置零的权值,提高了内存的访问效率。并且,由于度神经网络的卷积层稀疏化具有一定的规律性,可以在通用的硬件加速平台上实现稀疏化的深度神经网络的运行,大大降低了硬件设计成本。
相应于上述方法实施例,本申请实施例提供了一种深度神经网络的卷积层稀疏化装置,如图7所示,该装置可以包括:
获取模块710,用于获取深度神经网络中卷积层的张量及结构参数;
划分模块720,用于根据所述结构参数,利用预设维度划分方法,将所述张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元;
稀疏模块730,用于针对各维度单元,根据该维度单元中的权值,对该维度单元中的各权值进行相同的稀疏化操作。
可选的,所述划分模块720,具体可以用于:
根据所述结构参数中滤波器空间维度的行参数,将所述张量中处于同一行的权值划分为同一维度单元,得到多个行维度单元;
或者,
根据所述结构参数中滤波器空间维度的列参数,将所述张量中处于同一列的权值划分为同一维度单元,得到多个列维度单元。
可选的,所述划分模块720,具体可以用于:
根据所述结构参数中的滤波器空间维度参数,将所述张量中处于同一滤波器空间内的权值划分为同一维度单元,得到多个空间维度单元。
可选的,所述划分模块720,具体可以用于:
根据所述结构参数中的输入通道参数,将所述张量中处于同一输入通道内的权值划分为同一维度单元,得到多个输入通道维度单元。
可选的,所述稀疏模块730,具体可以用于:
针对各维度单元,对该维度单元中各权值的绝对值进行求和计算,得到计算结果;
判断所述计算结果是否大于预设阈值;
若不大于,则将该维度单元中的各权值置零;
若大于,则保持该维度单元中的各权值不变。
应用本实施列,获取深度神经网络中卷积层的张量及结构参数,根据卷积层的结构参数,利用预设维度划分方法,将卷积层的张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元,针对各维度单元,根据该维度单元中的权值,对该维度单元中的各权值进行相同的稀疏化操作。通过将卷积层的张量进行维度划分,得到多个维度单元,针对同一个维度单元中的各权值,采用相同的稀疏化操作,使得深度神经网络的卷积层稀疏化具有一定的规律性,在存储稀疏化后的权值时,可以对权值置零的维度进行标记,则从内存中读取权值时,可以基于该标记,只读取未被置零的权值,提高了内存的访问效率。
本申请实施例还提供了一种电子设备,如图8所示,可以包括处理器801和机器可读存储介质802,所述机器可读存储介质802存储有能够被所述处理器801执行的机器可执行指令,所述处理器801被所述机器可执行指令促使:实现如上述深度神经网络的卷积层稀疏化方法的所有步骤。
上述机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离上述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
机器可读存储介质802与处理器801之间可以通过有线连接或者无线连接的方式进行数据传输,并且电子设备可以通过有线通信接口或者无线通信接口与其他的设备进行通信。图8所示的仅为处理器801与机器可读存储介质802之间通过总线进行数据传输的示例,不作为具体连接方式的限定。
本实施例中,处理器801通过读取机器可读存储介质802中存储的机器可执行指令,并通过运行该机器可执行指令,能够实现:获取深度神经网络中卷积层的张量及结构参数,根据卷积层的结构参数,利用预设维度划分方法,将卷积层的张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元,针对各维度单元,根据该维度单元中的权值,对该维度单元中的各权值进行相同的稀疏化操作。通过将卷积层的张量进行维度划分,得到多个维度单元,针对同一个维度单元中的各权值,采用相同的稀疏化操作,使得深度神经网络的卷积层稀疏化具有一定的规律性,在存储稀疏化后的权值时,可以对权值置零的维度进行标记,则从内存中读取权值时,可以基于该标记,只读取未被置零的权值,提高了内存的访问效率。
本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,实现如上述深度神经网络的卷积层稀疏化方法的所有步骤。
本实施例中,机器可读存储介质存储有在运行时执行本申请实施例所提供的深度神经网络的卷积层稀疏化方法的机器可执行指令,因此能够实现:获取深度神经网络中卷积层的张量及结构参数,根据卷积层的结构参数,利用预设维度划分方法,将卷积层的张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元,针对各维度单元,根据该维度单元中的权值,对该维度单元中的各权值进行相同的稀疏化操作。通过将卷积层的张量进行维度划分,得到多个维度单元,针对同一个维度单元中的各权值,采用相同的稀疏化操作,使得深度神经网络的卷积层稀疏化具有一定的规律性,在存储稀疏化后的权值时,可以对权值置零的维度进行标记,则从内存中读取权值时,可以基于该标记,只读取未被置零的权值,提高了内存的访问效率。
对于电子设备以及机器可读存储介质实施例而言,由于其所涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (10)
1.一种深度神经网络的卷积层稀疏化方法,其特征在于,应用于硬件加速平台,所述硬件加速平台中包括内存,所述方法包括:
获取深度神经网络中卷积层的张量及结构参数,其中,所述深度神经网络用于目标检测与分割、行为检测与识别、语音识别;
根据所述结构参数,利用预设维度划分方法,将所述张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元;
针对各维度单元,根据该维度单元中的权值,对该维度单元中的各权值进行相同的稀疏化操作;其中,在存储稀疏化后的权值时,对权值置零的维度进行标记,从内存中读取权值时,基于所述标记,只读取未被置零的权值。
2.根据权利要求1所述的方法,其特征在于,所述根据所述结构参数,利用预设维度划分方法,将所述张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元,包括:
根据所述结构参数中滤波器空间维度的行参数,将所述张量中处于同一行的权值划分为同一维度单元,得到多个行维度单元;
或者,
根据所述结构参数中滤波器空间维度的列参数,将所述张量中处于同一列的权值划分为同一维度单元,得到多个列维度单元。
3.根据权利要求1所述的方法,其特征在于,所述根据所述结构参数,利用预设维度划分方法,将所述张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元,包括:
根据所述结构参数中的滤波器空间维度参数,将所述张量中处于同一滤波器空间内的权值划分为同一维度单元,得到多个空间维度单元。
4.根据权利要求1所述的方法,其特征在于,所述根据所述结构参数,利用预设维度划分方法,将所述张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元,包括:
根据所述结构参数中的输入通道参数,将所述张量中处于同一输入通道内的权值划分为同一维度单元,得到多个输入通道维度单元。
5.根据权利要求1所述的方法,其特征在于,所述针对各维度单元,根据该维度单元中的权值,对该维度单元中的各权值进行相同的稀疏化操作,包括:
针对各维度单元,对该维度单元中各权值的绝对值进行求和计算,得到计算结果;
判断所述计算结果是否大于预设阈值;
若不大于,则将该维度单元中的各权值置零;
若大于,则保持该维度单元中的各权值不变。
6.一种深度神经网络的卷积层稀疏化装置,其特征在于,应用于硬件加速平台,所述硬件加速平台中包括内存,所述装置包括:
获取模块,用于获取深度神经网络中卷积层的张量及结构参数,其中,所述深度神经网络用于目标检测与分割、行为检测与识别、语音识别;
划分模块,用于根据所述结构参数,利用预设维度划分方法,将所述张量中处于同一维度的权值划分为同一维度单元,得到多个维度单元;
稀疏模块,用于针对各维度单元,根据该维度单元中的权值,对该维度单元中的各权值进行相同的稀疏化操作;其中,在存储稀疏化后的权值时,对权值置零的维度进行标记,从内存中读取权值时,基于所述标记,只读取未被置零的权值。
7.根据权利要求6所述的装置,其特征在于,所述划分模块,具体用于:
根据所述结构参数中滤波器空间维度的行参数,将所述张量中处于同一行的权值划分为同一维度单元,得到多个行维度单元;
或者,
根据所述结构参数中滤波器空间维度的列参数,将所述张量中处于同一列的权值划分为同一维度单元,得到多个列维度单元。
8.根据权利要求6所述的装置,其特征在于,所述划分模块,具体用于:
根据所述结构参数中的滤波器空间维度参数,将所述张量中处于同一滤波器空间内的权值划分为同一维度单元,得到多个空间维度单元。
9.根据权利要求6所述的装置,其特征在于,所述划分模块,具体用于:
根据所述结构参数中的输入通道参数,将所述张量中处于同一输入通道内的权值划分为同一维度单元,得到多个输入通道维度单元。
10.根据权利要求6所述的装置,其特征在于,所述稀疏模块,具体用于:
针对各维度单元,对该维度单元中各权值的绝对值进行求和计算,得到计算结果;
判断所述计算结果是否大于预设阈值;
若不大于,则将该维度单元中的各权值置零;
若大于,则保持该维度单元中的各权值不变。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811320668.9A CN111160516B (zh) | 2018-11-07 | 2018-11-07 | 一种深度神经网络的卷积层稀疏化方法及装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811320668.9A CN111160516B (zh) | 2018-11-07 | 2018-11-07 | 一种深度神经网络的卷积层稀疏化方法及装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111160516A CN111160516A (zh) | 2020-05-15 |
| CN111160516B true CN111160516B (zh) | 2023-09-05 |
Family
ID=70555336
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201811320668.9A Active CN111160516B (zh) | 2018-11-07 | 2018-11-07 | 一种深度神经网络的卷积层稀疏化方法及装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111160516B (zh) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220147826A1 (en) * | 2020-11-06 | 2022-05-12 | Moffett Technologies Co., Limited | Method and system for convolution with workload-balanced activation sparsity |
| CN114692847B (zh) * | 2020-12-25 | 2024-01-09 | 中科寒武纪科技股份有限公司 | 数据处理电路、数据处理方法及相关产品 |
| CN114692844B (zh) * | 2020-12-25 | 2025-09-23 | 中科寒武纪科技股份有限公司 | 数据处理装置、数据处理方法及相关产品 |
| CN113344200B (zh) * | 2021-06-17 | 2024-05-28 | 阿波罗智联(北京)科技有限公司 | 用于训练可分离卷积网络的方法、路侧设备及云控平台 |
| CN114092708A (zh) * | 2021-11-12 | 2022-02-25 | 北京百度网讯科技有限公司 | 特征图像的处理方法、装置和存储介质 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106127297A (zh) * | 2016-06-02 | 2016-11-16 | 中国科学院自动化研究所 | 基于张量分解的深度卷积神经网络的加速与压缩方法 |
| CN107480770A (zh) * | 2017-07-27 | 2017-12-15 | 中国科学院自动化研究所 | 可调节量化位宽的神经网络量化与压缩的方法及装置 |
| CN107729995A (zh) * | 2017-10-31 | 2018-02-23 | 中国科学院计算技术研究所 | 用于加速神经网络处理器的方法和系统及神经网络处理器 |
| CN107784276A (zh) * | 2017-10-13 | 2018-03-09 | 中南大学 | 微震事件识别方法和装置 |
| CN108073917A (zh) * | 2018-01-24 | 2018-05-25 | 燕山大学 | 一种基于卷积神经网络的人脸识别方法 |
| CN108280514A (zh) * | 2018-01-05 | 2018-07-13 | 中国科学技术大学 | 基于fpga的稀疏神经网络加速系统和设计方法 |
| CN108345831A (zh) * | 2017-12-28 | 2018-07-31 | 新智数字科技有限公司 | 基于点云数据的道路图像分割的方法、装置以及电子设备 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6676165B2 (ja) * | 2015-11-12 | 2020-04-08 | グーグル エルエルシー | 畳み込みゲート制御再帰型ニューラルネットワーク |
| US11055063B2 (en) * | 2016-05-02 | 2021-07-06 | Marvell Asia Pte, Ltd. | Systems and methods for deep learning processor |
| US11501131B2 (en) * | 2016-09-09 | 2022-11-15 | SK Hynix Inc. | Neural network hardware accelerator architectures and operating method thereof |
| US20180082179A1 (en) * | 2016-09-19 | 2018-03-22 | Vicarious Fpc, Inc. | Systems and methods for deep learning with small training sets |
| US10037490B2 (en) * | 2016-12-13 | 2018-07-31 | Google Llc | Performing average pooling in hardware |
| US20180181864A1 (en) * | 2016-12-27 | 2018-06-28 | Texas Instruments Incorporated | Sparsified Training of Convolutional Neural Networks |
-
2018
- 2018-11-07 CN CN201811320668.9A patent/CN111160516B/zh active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106127297A (zh) * | 2016-06-02 | 2016-11-16 | 中国科学院自动化研究所 | 基于张量分解的深度卷积神经网络的加速与压缩方法 |
| CN107480770A (zh) * | 2017-07-27 | 2017-12-15 | 中国科学院自动化研究所 | 可调节量化位宽的神经网络量化与压缩的方法及装置 |
| CN107784276A (zh) * | 2017-10-13 | 2018-03-09 | 中南大学 | 微震事件识别方法和装置 |
| CN107729995A (zh) * | 2017-10-31 | 2018-02-23 | 中国科学院计算技术研究所 | 用于加速神经网络处理器的方法和系统及神经网络处理器 |
| CN108345831A (zh) * | 2017-12-28 | 2018-07-31 | 新智数字科技有限公司 | 基于点云数据的道路图像分割的方法、装置以及电子设备 |
| CN108280514A (zh) * | 2018-01-05 | 2018-07-13 | 中国科学技术大学 | 基于fpga的稀疏神经网络加速系统和设计方法 |
| CN108073917A (zh) * | 2018-01-24 | 2018-05-25 | 燕山大学 | 一种基于卷积神经网络的人脸识别方法 |
Non-Patent Citations (1)
| Title |
|---|
| 深度学习技术兴起将给安贿来什幺;谢迪;《中国安防》;全文 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111160516A (zh) | 2020-05-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111160516B (zh) | 一种深度神经网络的卷积层稀疏化方法及装置 | |
| CN109754066B (zh) | 用于生成定点型神经网络的方法和装置 | |
| WO2019056946A1 (zh) | 一种基于深度神经网络的激活量量化方法及装置 | |
| CN111831254A (zh) | 图像处理加速方法、图像处理模型存储方法及对应装置 | |
| CN112200300B (zh) | 卷积神经网络运算方法及装置 | |
| CN107977229B (zh) | 一种指令生成过程的复用方法及装置、处理装置 | |
| CN110874625B (zh) | 一种数据处理方法及装置 | |
| CN108710941A (zh) | 用于电子设备的神经网络模型的硬加速方法和装置 | |
| CN109840589A (zh) | 一种在fpga上运行卷积神经网络的方法、装置及系统 | |
| CN114819051B (zh) | 用于执行神经网络计算的模拟电路的校准方法及装置 | |
| US20220058450A1 (en) | Tabular convolution and acceleration | |
| CN109766800B (zh) | 一种移动端花卉识别模型的构建方法 | |
| CN112561050B (zh) | 一种神经网络模型训练方法及装置 | |
| WO2020001401A1 (zh) | 深度神经网络中的网络层运算方法及装置 | |
| WO2019001323A1 (zh) | 信号处理的系统和方法 | |
| CN115130672B (zh) | 一种软硬件协同优化卷积神经网络计算的方法及装置 | |
| WO2020026475A1 (ja) | ニューラルネットワーク用プロセッサ、ニューラルネットワーク用処理方法、および、プログラム | |
| CN110837885B (zh) | 一种基于概率分布的Sigmoid函数拟合方法 | |
| CN111160517B (zh) | 一种深度神经网络的卷积层量化方法及装置 | |
| CN111971692A (zh) | 卷积神经网络 | |
| CN113139466A (zh) | 基于单隐层神经网络的图像识别方法及相关设备 | |
| JP7171478B2 (ja) | 情報処理方法、及び情報処理システム | |
| WO2021082851A1 (zh) | 一种神经网络模型的量化方法、装置及计算机可读存储介质 | |
| US20220405561A1 (en) | Electronic device and controlling method of electronic device | |
| TWI889929B (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 |