CN113298248B - 一种针对神经网络模型的处理方法、装置以及电子设备 - Google Patents
一种针对神经网络模型的处理方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN113298248B CN113298248B CN202010701351.0A CN202010701351A CN113298248B CN 113298248 B CN113298248 B CN 113298248B CN 202010701351 A CN202010701351 A CN 202010701351A CN 113298248 B CN113298248 B CN 113298248B
- Authority
- CN
- China
- Prior art keywords
- neural network
- network model
- weight
- target
- mask probability
- 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
- 238000003062 neural network model Methods 0.000 title claims abstract description 398
- 238000003672 processing method Methods 0.000 title claims abstract description 73
- 238000007906 compression Methods 0.000 claims abstract description 49
- 230000006835 compression Effects 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims description 60
- 210000002569 neuron Anatomy 0.000 claims description 35
- 238000000034 method Methods 0.000 claims description 28
- 238000003860 storage Methods 0.000 claims description 19
- 238000005070 sampling Methods 0.000 claims description 17
- 230000000007 visual effect Effects 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 14
- 230000000694 effects Effects 0.000 abstract description 3
- 238000013528 artificial neural network Methods 0.000 abstract description 2
- 238000013527 convolutional neural network Methods 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000013138 pruning Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013140 knowledge distillation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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
- G06N3/047—Probabilistic or stochastic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种针对神经网络模型的处理方法,包括:确定待处理神经网络模型中的权重参数;确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目;根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型。本申请提供的针对神经网络模型的处理方法,能够在确保神经网络精确度基本不变的基础上,最大程度的对神经网络模型进行压缩,从而确保了神经网络模型压缩和精确度之间的平衡效果。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种针对神经网络模型的处理方法。本申请同时涉及一种针对神经网络模型的处理装置、电子设备以及存储介质。
背景技术
神经网络模型已被广泛应用于机器学***台上的重要原因。为了解决这些问题,许多业界学者研究模型压缩方法以最大限度的减小深度神经网络模型对于计算资源消耗和存储空间的需求。
模型压缩可分不同类型的方法,如:低秩近似、网络剪枝、网络量化、知识蒸馏以及紧凑网络设计等。其中,网络剪枝方法是对深度神经网络模型进行压缩优化,从而降低深度神经网络模型对于计算资源消耗和存储空间的需求,是一种常见的模型压缩方法。现有的网络剪枝方法,不管是结构化还是非结构化的,都是通过权重掩码(mask)矩阵,对要剪枝的网络权重进行0,1的树枝意义上的表示,通过微调等手段,将可以去除的权重通过训练最后把权重对应的mask位置置为0,mask中为0的权重,在最后训练完后,全部裁剪,达到网络精简的目的,但是,现有的网络剪枝方法往往无法确保神经网络模型压缩和精确度之间具有较好的平衡效果。
发明内容
本申请提供一种针对神经网络模型的处理方法、装置、电子设备以及存储介质,以确保神经网络模型压缩和精确度之间的平衡效果。
本申请提供一种针对神经网络模型的处理方法,包括:
确定待处理神经网络模型中的权重参数;
确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型。
可选的,所述确定所述权重参数对应的目标权重掩码概率,包括:
通过概率采样的方式生成所述权重参数对应的第一权重掩码概率;
计算所述权重参数根据所述第一权重掩码概率被压缩时的所述第一运算结果与所述第二运算结果的第一精确度差值;
若所述第一精确度差值不在所述第一指定差值范围内,则调整所述第一权重掩码概率,生成所述权重参数对应的第二权重掩码概率。
可选的,还包括:
计算所述权重参数根据所述第二权重掩码概率被压缩时的所述第一运算结果与所述第二运算结果的第二精确度差值;
若所述第二精确度差值不在所述指定差值范围内,则调整第二权重掩码概率,生成所述权重参数对应的第三权重掩码概率,依次调整权重掩码概率,直至精确度差值在所述第一指定差值范围内。
可选的,若所述第一精确度差值在所述第一指定差值范围内,则将所述第一权重掩码概率作为第一候选权重掩码概率;
调整所述第一候选权重掩码概率,获得第二候选权重掩码概率;
计算所述权重参数根据所述第二候选权重掩码概率被压缩时的所述第一运算结果与所述权重参数根据所述第一候选权重掩码概率被压缩时的所述第一运算结果的第一候选精确度差值;
若所述第一候选精确度差值在第二指定差值范围内,则比较所述第一候选权重掩码概率和所述第二候选权重掩码概率为所述指定值的数目,将所述指定值的数目高的权重掩码概率,作为所述目标权重掩码概率。
可选的,若所述第一候选精确度差值不在第二指定差值范围内,则调整第二候选权重掩码概率,生成所述权重参数对应的第三候选权重掩码概率;
计算所述权重参数根据所述第三候选权重掩码概率被压缩时的所述第一运算结果与所述权重参数根据所述第二权重掩码概率被压缩时的所述第一运算结果的第二候选精确度差值;
若所述第二候选精确度差值不在所述第二指定差值范围内,则调整第三权重掩码概率,生成所述权重参数对应的第四候选权重掩码概率,依次调整候选权重掩码概率,直至候选精确度差值在所述第二指定差值范围内。
可选的,所述通过概率采样的方式生成所述权重参数对应的第一权重掩码概率,包括:通过所述概率采样的方式生成所述权重参数对应的第一权重掩码概率矩阵;
所述计算所述权重参数根据所述第一权重掩码概率被压缩时的所述第一运算结果与所述第二运算结果的第一精确度差值,包括:根据所述第一权重掩码概率矩阵,计算所述第一精确度差值。
可选的,所述调整所述第一权重掩码概率,生成所述权重参数对应的第二权重掩码概率,包括:若所述第二精确度差值为正,则增大所述第一权重掩码概率,生成所述第二权重掩码概率,否则减小所述第一权重掩码概率,生成所述第二权重掩码概率。
可选的,所述调整所述第一权重掩码概率,生成所述权重参数对应的第二权重掩码概率,还包括:在调整所述第一权重掩码概率时,对值为所述指定值的所述第一权重掩码概率不进行调整。
可选的,所述根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型,包括:
确定所述目标权重掩码概率中值为所述指定值的所述目标权重掩码概率;
确定所述值为所述指定值的所述目标权重掩码概率对应的所述权重参数,作为目标权重参数;
将所述权重参数中的所述目标权重参数进行裁剪,获得所述目标神经网络模型。
可选的,所述目标权重掩码概率为指定值时,值为所述指定值的所述目标权重掩码对应的所述权重参数在所述待处理神经网络模型的运算时被全部压缩。
可选的,所述权重参数在所述待处理神经网络模型的运算时被压缩的程度与所述目标权重掩码概率的值成反比。
可选的,所述指定值为0。
可选的,所述确定待处理神经网络模型中的权重参数,包括:
获得所述待处理神经网络模型;
获得所述待处理神经网络模型中不同网络层对应的神经元数目;
根据所述待处理神经网络模型中不同网络层对应的神经元数目,确定所述待处理神经网络模型中不同网络层对应的神经元数目对应的权重参数;
根据所述待处理神经网络模型中不同网络层对应的神经元数目对应的权重参数,确定所述待处理神经网络模型中的权重参数。
可选的,所述获得所述待处理神经网络模型,包括:获得待处理深度神经网络模型;
所述获得所述待处理神经网络模型中不同网络层对应的神经元数目,包括:获得所述待处理深度神经网络模型中不同隐藏层对应的神经元数目。
本申请另一方面,提供一种针对神经网络模型的处理装置,包括:
权重参数确定单元,用于确定待处理神经网络模型中的权重参数;
目标权重掩码概率确定单元,用于确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
目标神经网络模型获得单元,用于根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型。
本申请另一方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储针对神经网络模型的处理方法的程序,该设备通电并通过所述处理器运行该针对神经网络模型的处理方法的程序后,执行下述步骤:
确定待处理神经网络模型中的权重参数;
确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型。
本申请另一方面,提供一种存储介质,存储有针对神经网络模型的处理方法的程序,该程序被处理器运行,执行下述步骤:
确定待处理神经网络模型中的权重参数;
确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型。
本申请另一方面,提供一种物联网***,包括:神经网络模型获得设备及用户终端设备,其中,所述神经网络模型获得设备包括权重参数确定模块、目标权重掩码概率确定模块、目标神经网络模型获得模块以及目标神经网络模型嵌入模块;
所述权重参数确定模块,用于确定待处理神经网络模型中的权重参数;
所述目标权重掩码概率确定模块,用于确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
所述目标神经网络模型获得模块,用于根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型;
所述目标神经网络模型嵌入模块,用于将所述目标神经网络模型嵌入所述用户终端设备;
所述用户终端设备,用于根据所述目标神经网络模型进行目标数据处理,所述目标数据处理包括图像处理、语音处理以及文字处理中的一种。
本申请另一方面,提供一种视觉数据处理***,包括:神经网络模型获得设备及视觉芯片设备,其中,所述神经网络模型获得设备包括权重参数确定模块、目标权重掩码概率确定模块、目标神经网络模型获得模块以及目标神经网络模型嵌入模块;
所述权重参数确定模块,用于确定待处理神经网络模型中的权重参数;
所述目标权重掩码概率确定模块,用于确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
所述目标神经网络模型获得模块,用于根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型;
所述目标神经网络模型嵌入模块,用于将所述目标神经网络模型嵌入所述视觉芯片设备;
所述视觉芯片设备,用于根据所述目标神经网络模型进行视觉数据处理。
与现有技术相比,本申请具有以下优点:
本申请提供的针对神经网络模型的处理方法,在确定待处理神经网络模型中的权重参数后,会进一步确定待处理神经网络模型中的权重参数,并根据目标权重掩码概率和指定值,对待处理神经网络模型进行模型压缩,获得目标神经网络模型,由于该目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足预设条件时为指定值的数目,预设条件为权重参数根据当前权重掩码概率被压缩时待处理神经网络模型的第一运算结果与权重参数未被压缩时待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内,因此,本申请第一实施例中提供的针对神经网络模型的处理方法,能够在确保神经网络精确度基本不变的基础上,最大程度的对神经网络模型进行压缩,从而确保了神经网络模型压缩和精确度之间的平衡效果。
附图说明
图1为本申请提供的针对神经网络模型的处理方法的应用场景第一示意图。
图2为本申请第一实施例中提供的一种针对神经网络模型的处理方法的流程图。
图3为本申请第一实施例中提供的一种目标权重掩码概率确定方法的流程图。
图4为本申请第二实施例中提供的一种针对神经网络模型的处理装置的示意图。
图5为本申请实施例中提供的一种电子设备的示意图。
图6为本申请第五实施例中提供的一种物联网***的示意图。
图7为本申请第六实施例中提供的一种视觉数据处理***的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
为了更清楚地展示本申请提供的针对神经网络模型的处理方法,先介绍一下本申请提供的针对神经网络模型的处理方法的应用场景。本申请提供的针对神经网络模型的处理方法由能够提供计算或者应用服务的电子设备上安装的用于进行针对神经网络模型的处理方法的程序或者软件来执行,如:安装在服务器上的用于进行针对神经网络模型的处理方法的程序或者软件。本申请提供的针对神经网络模型的处理方法的应用场景中,在具体实现方式上,一般用于处理深度神经网络模型,另外,也可以用于处理除了深度神经网络模型之外的其它神经网络模型,即,神经网络模型一般包括前馈神经网络模型、卷积神经网络模型以及循环神经网络模型等。神经网络模型一般包括输入层、输出层以及隐藏层三个网络层,当神经网络模型中有多个隐藏层时就被称为深度神经网络模型,以卷积神经网络模型为例,隐藏层包括多个卷积层和一个池化层的卷积神经网络模型即可称为深度卷积神经网络模型;由于深度神经网络模型具有巨大计算资源消耗和高额的存储空间需求,本申请提供的针对神经网络模型的处理方法的应用场景中具体以网络模型为深度卷积神经网络模型为例,对本申请提供的针对神经网络模型的处理方法进行详细的说明,具体过程请参照图1,其为本申请提供的针对神经网络模型的处理方法的应用场景第一示意图。
首先,安装有用于进行针对神经网络模型的处理方法的程序的服务器101获得待处理深度神经网络模型。本申请提供的针对神经网络模型的处理方法的应用场景中,待处理深度神经网络模型为已经训练好能够执行正常模型运算、但想要进一步进行模型压缩的网络模型,常见的深度神经网络模型有:用于图像识别的深度神经网络模型、用于语音处理的深度神经网络模型等,本申请提供的针对神经网络模型的处理方法的应用场景中,进一步以深度神经网络模型为用于图像识别的深度卷积神经网络模型为例,对本申请提供的针对神经网络模型的处理方法进行详细的说明。
其次,服务器101进一步确定待处理深度卷积神经网络模型中的权重参数。神经网络模型中的参数包括模型参数和模型超参数。其中,模型参数是神经网络模型内部的配置变量,其值通过从过去的训练数据中总结或估计得出,用于定义可使用的网络模型,对于神经网络模型而言模型参数一般是指权重参数和偏置参数;模型超参数是模型外部的配置,其值无法从数据中估计,通常用于帮助估计模型参数,一般通过人为指定来确定。
一般情况下,确定待处理神经网络模型中的权重参数的过程为:第一、获得待处理神经网络模型;第二、获得待处理神经网络模型中不同网络层对应的神经元数目;第三、根据待处理神经网络模型中不同网络层对应的神经元数目,确定待处理神经网络模型中不同网络层对应的神经元数目对应的权重参数;第四、根据待处理神经网络模型中不同网络层对应的神经元数目对应的权重参数,确定待处理神经网络模型中的权重参数。当网络模型为深度神经网络模型时,除了输入层和输出层外,每一隐藏层都有多个特征图,每一特征图有多个神经元,每一神经元对应多个输入数据,每一输入数据对应一个权重参数,此时,获得待处理神经网络模型中不同网络层对应的神经元数目即为:获得待处理深度神经网络模型中不同隐藏层对应的神经元数目。
对于用于图像识别的待处理深度卷积神经网络模型而言,对于第一隐藏层来说第一隐藏层的计算方法为:如果输入层输入的图像大小为24*24,第一隐藏层的卷积核大小:5*5,卷积核种类:4,那么第一隐藏层输出的特征图大小为:20*20(20=24-5+1),第一隐藏层对应的神经元数目为:,第一层对应的权重参数为:(5*5)*(20*20*6)。
再次,服务器101进一步确定权重参数对应的目标权重掩码概率。本申请提供的针对神经网络模型的处理方法的应用场景中,目标权重掩码概率用于表示权重参数在待处理深度卷积神经网络模型的运算时被压缩的程度,其中,目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足预设条件时为指定值的数目,预设条件为权重参数根据当前权重掩码概率被压缩时待处理深度卷积神经网络模型的第一运算结果与权重参数未被压缩时待处理深度卷积神经网络模型的第二运算结果的精确度差值在第一指定差值范围内。
本申请提供的针对神经网络模型的处理方法的应用场景中,由于目标权重掩码概率是一种概率,因而,目标权重掩码概率的取值范围在0-1之间,目标权重掩码概率用于在待处理深度卷积神经网络模型的运算时与其对应的权重参数进行相乘,所以,目标权重掩码概率用于表示权重参数在待处理深度卷积神经网络模型的运算时被压缩的程度的方式为:权重参数在待处理深度卷积神经网络模型的运算时被压缩的程度与目标权重掩码概率的值成反比。即,目标权重掩码概率的值越小,目标权重掩码概率对应的权重参数的被压缩程度越大,当目标权重掩码概率的值为0时,值为0的目标权重掩码概率对应的权重参数被完全压缩,视为未参与待处理深度卷积神经网络模型的运算,当目标权重掩码概率的值为1时,值为1的目标权重掩码概率对应的权重参数视为未被压缩。
本申请提供的针对神经网络模型的处理方法的应用场景中,目标权重掩码概率的确定过程如下:
第一、通过概率采样的方式生成权重参数对应的第一权重掩码概率,具体可以以通过概率采样的方式生成权重参数对应的第一权重掩码概率矩阵来实现。即,M1=Bionomial(n=1,P,size=len(mask)),其中,M1表示第一权重掩码概率矩阵,Bionomial()为概率分布函数,len(mask)为计算mask中包含概率数量的函数,P为权重掩码概率。在以通过概率采样的方式生成权重参数对应的第一权重掩码概率矩阵来执行通过概率采样的方式生成权重参数对应的第一权重掩码概率时,也需要根据权重参数,构建针对权重参数的权重参数矩阵W,以便进行神经网络模型的运算。
第二、计算权重参数根据第一权重掩码概率被压缩时的第一运算结果与第二运算结果的第一精确度差值,具体的可以通过以下步骤来实现:首先,计算权重参数根据第一权重掩码概率被压缩时的第一运算结果。然后,确定第一精确度计算公式,该计算公式为:LOSS1=0.5||Y-D||2+λR(M1,P),其中,Y为权重参数根据第一权重掩码概率被压缩时的第一运算结果,D为第二运算结果X输入层获得的输入数据,λ为预先设定的一个超参数,作为引入M1、P的惩罚项,用于约束网络模型压缩的比例,一般需要经过多次尝试才能获取。需要说明是,当求取的精确度不同时,精确度计算公式整体相同,仅需要将原Y、P替换为当前对应的Y、P,将原来的M替换为当前的M即可。
第三、判断第一精确度差值是否在第一指定差值范围内,具体的判断依据为:先计算计算公式为:/>再计算/>是否约等于/>若/>约等于/>则第一精确度差值在第一指定差值范围内,否则第一精确度差值不在第一指定差值范围内。本申请提供的针对神经网络模型的处理方法的应用场景中,若第一精确度差值不在第一指定差值范围内,则调整第一权重掩码概率,生成权重参数对应的第二权重掩码概率,计算公式为:/>需要进一步说明的是值为0权重掩码概率对应的权重参数被完全压缩,视为未参与待处理深度卷积神经网络模型的运算,所以,本申请提供的针对神经网络模型的处理方法的应用场景中,在每次调整权重掩码概率时,也可以同时调整权重参数,即将值为0权重掩码概率对应的权重参数剪切,不参与待处理深度卷积神经网络模型的运算,公式为:/>其中,η1、η2为各自对应的学习率。
需要说明的是,在需要判断其它精确度差值是否在指定差值范围内以及生成权重掩码概率时,计算公式整体相同,仅需要将公式中的参数由原来的值替换为当前计算需要的值即可。
本申请提供的针对神经网络模型的处理方法的应用场景中,若第一精确度差值不在第一指定差值范围内,首先,调整第一权重掩码概率,生成权重参数对应的第二权重掩码概率;然后,计算权重参数根据第二权重掩码概率被压缩时的第一运算结果与第二运算结果的第二精确度差值,最后,若第二精确度差值不在指定差值范围内,则调整第二权重掩码概率,生成权重参数对应的第三权重掩码概率,依次调整权重掩码概率,直至精确度差值在第一指定差值范围内。
本申请提供的针对神经网络模型的处理方法的应用场景中,若第一精确度差值在第一指定差值范围内,则首先,将第一权重掩码概率作为第一候选权重掩码概率;其次,调整第一候选权重掩码概率,获得第二候选权重掩码概率;再次,计算权重参数根据第二候选权重掩码概率被压缩时的第一运算结果与权重参数根据第一候选权重掩码概率被压缩时的第一运算结果的第一候选精确度差值;最后,若第一候选精确度差值在第二指定差值范围内,则比较第一候选权重掩码概率和第二候选权重掩码概率为指定值的数目,将指定值的数目高的权重掩码概率,作为目标权重掩码概率。
本申请提供的针对神经网络模型的处理方法的应用场景中,若第一候选精确度差值不在第二指定差值范围内,则首先,调整第二候选权重掩码概率,生成权重参数对应的第三候选权重掩码概率;然后,计算权重参数根据第三候选权重掩码概率被压缩时的第一运算结果与权重参数根据第二权重掩码概率被压缩时的第一运算结果的第二候选精确度差值;最后,若第二候选精确度差值不在第二指定差值范围内,则调整第三权重掩码概率,生成权重参数对应的第四候选权重掩码概率,依次调整候选权重掩码概率,直至候选精确度差值在第二指定差值范围内。
需要说明的是,在本申请提供的针对神经网络模型的处理方法的应用场景中,整第一权重掩码概率,生成权重参数对应的第二权重掩码概率的方式为:若第二精确度差值为正,则增大第一权重掩码概率,生成第二权重掩码概率,否则减小第一权重掩码概率,生成第二权重掩码概率,此外,在调整第一权重掩码概率时,对值为指定值的第一权重掩码概率不进行调整,相应的,在调整其它权重掩码概率时,也遵循上述权重掩码概率调整规则。
最后,服务器101根据目标权重掩码概率和指定值,对待处理神经网络模型进行模型压缩,获得目标深度卷积神经网络模型,并输出。其中,具体的压缩过程为:第一、确定目标权重掩码概率中值为指定值的目标权重掩码概率,第二、确定值为指定值的目标权重掩码概率对应的权重参数,作为目标权重参数;第三、进一步将权重参数中的目标权重参数进行裁剪,获得目标深度卷积神经网络模型。
本申请的实施例中不对本申请提供的针对神经网络模型的处理方法的应用场景做具体的限定,如:本申请提供的针对神经网络模型的处理方法还可以应用于针对深度神经网络模型之外的其它神经网络模型进行处理。上述针对神经网络模型的处理方法的应用场景,仅仅是本申请提供的针对神经网络模型的处理方法的应用场景的一个实施例,提供该应用场景实施例的目的是便于理解本申请提供的针对神经网络模型的处理方法,而并非用于限定本申请提供的针对神经网络模型的处理方法。本申请实施例中对提供的针对神经网络模型的处理方法的其它应用场景,不再一一赘述。
第一实施例
本申请第一实施例提供一种针对神经网络模型的处理方法,以下结合图2-图3进行说明。
请参照图2,其为本申请第一实施例中提供的一种针对神经网络模型的处理方法的流程图。
在步骤S201中,确定待处理神经网络模型中的权重参数。
本申请第一实施例中,神经网络模型一般包括前馈神经网络模型、卷积神经网络模型以及循环神经网络模型等,神经网络模型一般包括输入层、输出层以及隐藏层三个网络层,本申请第一实施例中的神经网络模型一般是指深度神经网络模型,其中,当神经网络模型中有多个隐藏层时就被称为深度神经网络模型。
本申请第一实施例中,待处理神经网络模型为已经训练好能够执行正常模型运算、但想要进一步进行模型压缩的网络模型。神经网络模型中的权重参数属于神经网络模型中的模型参数的一种,具体的获得方法为:首先,获得待处理神经网络模型。其次,获得待处理神经网络模型中不同网络层对应的神经元数目。再次,根据待处理神经网络模型中不同网络层对应的神经元数目,确定待处理神经网络模型中不同网络层对应的神经元数目对应的权重参数。最后,根据待处理神经网络模型中不同网络层对应的神经元数目对应的权重参数,确定待处理神经网络模型中的权重参数。
本申请第一实施例中,当神经网络模型为深度神经网络模型时,除了输入层和输出层外,每一隐藏层都有多个特征图,每一特征图有多个神经元,每一神经元对应多个输入数据,每一输入数据对应一个权重参数,此时,获得待处理神经网络模型中不同网络层对应的神经元数目即为:获得待处理深度神经网络模型中不同隐藏层对应的神经元数目。
在步骤S202中,确定权重参数对应的目标权重掩码概率,目标权重掩码概率用于表示权重参数在待处理深度神经网络模型的运算时被压缩的程度,其中,目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足预设条件时为指定值的数目。
本申请第一实施例中,预设条件为权重参数根据当前权重掩码概率被压缩时待处理深度神经网络模型的第一运算结果与权重参数未被压缩时待处理深度神经网络模型的第二运算结果的精确度差值在第一指定差值范围内。
本申请第一实施例中,由于目标权重掩码概率是一种概率,因而,目标权重掩码概率的取值范围在0-1之间,目标权重掩码概率用于在待处理卷积神经网络模型的运算时与其对应的权重参数进行相乘,所以,目标权重掩码概率用于表示权重参数在待处理卷积神经网络模型的运算时被压缩的程度的方式为:权重参数在待处理卷积神经网络模型的运算时被压缩的程度与目标权重掩码概率的值成反比。即,目标权重掩码概率的值越小,目标权重掩码概率对应的权重参数的被压缩程度越大,当目标权重掩码概率的值为0时,值为0的目标权重掩码概率对应的权重参数被完全压缩,视为未参与待处理卷积神经网络模型的运算,当目标权重掩码概率的值为1时,值为1的目标权重掩码概率对应的权重参数视为未被压缩。
本申请第一实施例中,确定权重参数对应的目标权重掩码概率的步骤请参照图3,其为本申请第一实施例中提供的一种目标权重掩码概率确定方法的流程图。
步骤S202-1:通过概率采样的方式生成权重参数对应的第一权重掩码概率。
本申请第一实施例中,通过概率采样的方式生成权重参数对应的第一权重掩码概率一般的执行方式为:通过概率采样的方式生成权重参数对应的第一权重掩码概率矩阵,在以通过概率采样的方式生成权重参数对应的第一权重掩码概率矩阵来执行通过概率采样的方式生成权重参数对应的第一权重掩码概率时,也需要根据权重参数,构建针对权重参数的权重参数矩阵,以便进行神经网络模型的运算。
步骤S202-2:计算权重参数根据第一权重掩码概率被压缩时的第一运算结果与第二运算结果的第一精确度差值。
本申请第一实施例中,计算第一精确度差值的过程为:首先,分别计算权重参数根据第一权重掩码概率被压缩时的第一运算结果和第二运算结果。然后,确定第一精确度计算公式,并根据第一精确度计算公式计算第一精确度差值。需要说明的是,当计算其它精确度差值时,精确度差值计算公式与整体相同,仅需要将相关参数由原来的值,替换为当前的值即可。
步骤S202-3:判断第一精确度差值是否在第一指定差值范围内。
本申请第一实施例中,判断第一精确度差值是否在第一指定差值范围内的判断依据为针对第一精确度差值求第一权重掩码概率矩阵方向上的第一偏导,并针对第一精确度差值求第一权重掩码概率方向上的第二偏导,若第一偏导约等于第二偏导,则第一精确度差值在第一指定差值范围内,否则第一精确度差值不在第一指定差值范围内。
本申请第一实施例中,若第一精确度差值不在第一指定差值范围内,首先,调整第一权重掩码概率,生成权重参数对应的第二权重掩码概率;然后,计算权重参数根据第二权重掩码概率被压缩时的第一运算结果与第二运算结果的第二精确度差值,最后,若第二精确度差值不在指定差值范围内,则调整第二权重掩码概率,生成权重参数对应的第三权重掩码概率,依次调整权重掩码概率,直至精确度差值在第一指定差值范围内。
本申请第一实施例中,若第一精确度差值在第一指定差值范围内,则首先,将第一权重掩码概率作为第一候选权重掩码概率;其次,调整第一候选权重掩码概率,获得第二候选权重掩码概率;再次,计算权重参数根据第二候选权重掩码概率被压缩时的第一运算结果与权重参数根据第一候选权重掩码概率被压缩时的第一运算结果的第一候选精确度差值;最后,若第一候选精确度差值在第二指定差值范围内,则比较第一候选权重掩码概率和第二候选权重掩码概率为指定值的数目,将指定值的数目高的权重掩码概率,作为目标权重掩码概率。
本申请第一实施例中,若第一候选精确度差值不在第二指定差值范围内,则首先,调整第二候选权重掩码概率,生成权重参数对应的第三候选权重掩码概率;然后,计算权重参数根据第三候选权重掩码概率被压缩时的第一运算结果与权重参数根据第二权重掩码概率被压缩时的第一运算结果的第二候选精确度差值;最后,若第二候选精确度差值不在第二指定差值范围内,则调整第三权重掩码概率,生成权重参数对应的第四候选权重掩码概率,依次调整候选权重掩码概率,直至候选精确度差值在第二指定差值范围内。
需要说明的是,在本申请第一实施例中,整第一权重掩码概率,生成权重参数对应的第二权重掩码概率的方式为:若第二精确度差值为正,则增大第一权重掩码概率,生成第二权重掩码概率,否则减小第一权重掩码概率,生成第二权重掩码概率,此外,在调整第一权重掩码概率时,对值为指定值的第一权重掩码概率不进行调整,相应的,在调整其它权重掩码概率时,也遵循上述权重掩码概率调整规则。
请再参照图2,在步骤S203中,根据目标权重掩码概率和指定值,对待处理神经网络模型进行模型压缩,获得目标神经网络模型。
本申请第一实施例中,具体的模型压缩过程为:第一、确定目标权重掩码概率中值为指定值的目标权重掩码概率,第二、确定值为指定值的目标权重掩码概率对应的权重参数,作为目标权重参数;第三、进一步将权重参数中的目标权重参数进行裁剪,获得目标深度卷积神经网络模型。
本申请第一实施例中提供的针对神经网络模型的处理方法,在确定待处理神经网络模型中的权重参数后,会进一步确定待处理神经网络模型中的权重参数,并根据目标权重掩码概率和指定值,对待处理神经网络模型进行模型压缩,获得目标神经网络模型,由于该目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足预设条件时为指定值的数目,预设条件为权重参数根据当前权重掩码概率被压缩时待处理神经网络模型的第一运算结果与权重参数未被压缩时待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内,因此,本申请第一实施例中提供的针对神经网络模型的处理方法,能够在确保神经网络精确度基本不变的基础上,最大程度的对神经网络模型进行压缩,从而确保了神经网络模型压缩和精确度之间的平衡效果。
第二实施例
与本申请提供的针对神经网络模型的处理方法的应用场景实施例以及第一实施例提供的针对神经网络模型的处理方法相对应的,本申请第二实施例还提供了一种针对神经网络模型的处理装置。由于装置实施例基本相似于应用场景实施例以及第一实施例,所以描述得比较简单,相关之处参见应用场景实施例以及第一实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
请参照图4,其为本申请第二实施例中提供的一种针对神经网络模型的处理装置的示意图。
该针对神经网络模型的处理装置包括:
权重参数确定单元401,用于确定待处理神经网络模型中的权重参数;
目标权重掩码概率确定单元402,用于确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
目标神经网络模型获得单元403,用于根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型。
可选的,所述目标权重掩码概率确定单元402,包括:
第一权重掩码生成子单元,用于通过概率采样的方式生成所述权重参数对应的第一权重掩码概率;
精确度差值计算子单元,用于计算所述权重参数根据所述第一权重掩码概率被压缩时的所述第一运算结果与所述第二运算结果的第一精确度差值;
第二权重掩码生成子单元,用于若所述第一精确度差值不在所述第一指定差值范围内时,调整所述第一权重掩码概率,生成所述权重参数对应的第二权重掩码概率。
可选的,所述精确度差值计算子单元,还用于计算所述权重参数根据所述第二权重掩码概率被压缩时的所述第一运算结果与所述第二运算结果的第二精确度差值;
所述第二权重掩码生成子单元,还用于若所述第二精确度差值不在所述指定差值范围时,则调整第二权重掩码概率,生成所述权重参数对应的第三权重掩码概率,依次调整权重掩码概率,直至精确度差值在所述第一指定差值范围内。
可选的,所述第一权重掩码生成子单元,还用于若所述第一精确度差值在所述第一指定差值范围内时,将所述第一权重掩码概率作为第一候选权重掩码概率;
所述第二权重掩码生成子单元,还用于调整所述第一候选权重掩码概率,获得第二候选权重掩码概率;若所述第一候选精确度差值在第二指定差值范围内时,比较所述第一候选权重掩码概率和所述第二候选权重掩码概率为所述指定值的数目,将所述指定值的数目高的权重掩码概率,作为所述目标权重掩码概率
所述精确度差值计算子单元,还用于计算所述权重参数根据所述第二候选权重掩码概率被压缩时的所述第一运算结果与所述权重参数根据所述第一候选权重掩码概率被压缩时的所述第一运算结果的第一候选精确度差值。
可选的,所述第一权重掩码生成子单元,还用于若所述第一候选精确度差值不在第二指定差值范围内时,则调整第二候选权重掩码概率,生成所述权重参数对应的第三候选权重掩码概率;
所述精确度差值计算子单元,还用于计算所述权重参数根据所述第三候选权重掩码概率被压缩时的所述第一运算结果与所述权重参数根据所述第二权重掩码概率被压缩时的所述第一运算结果的第二候选精确度差值;
所述第二权重掩码生成子单元,还用于若所述第二候选精确度差值不在所述第二指定差值范围内时,调整第三权重掩码概率,生成所述权重参数对应的第四候选权重掩码概率,依次调整候选权重掩码概率,直至候选精确度差值在所述第二指定差值范围内。
可选的,所述通过概率采样的方式生成所述权重参数对应的第一权重掩码概率,包括:通过所述概率采样的方式生成所述权重参数对应的第一权重掩码概率矩阵;
所述计算所述权重参数根据所述第一权重掩码概率被压缩时的所述第一运算结果与所述第二运算结果的第一精确度差值,包括:根据所述第一权重掩码概率矩阵,计算所述第一精确度差值。
可选的,所述调整所述第一权重掩码概率,生成所述权重参数对应的第二权重掩码概率,包括:若所述第二精确度差值为正,则增大所述第一权重掩码概率,生成所述第二权重掩码概率,否则减小所述第一权重掩码概率,生成所述第二权重掩码概率。
可选的,所述调整所述第一权重掩码概率,生成所述权重参数对应的第二权重掩码概率,还包括:在调整所述第一权重掩码概率时,对值为所述指定值的所述第一权重掩码概率不进行调整。
可选的,所述目标神经网络模型获得单元403,具体用于确定所述目标权重掩码概率中值为所述指定值的所述目标权重掩码概率;确定所述值为所述指定值的所述目标权重掩码概率对应的所述权重参数,作为目标权重参数;将所述权重参数中的所述目标权重参数进行裁剪,获得所述目标神经网络模型。
可选的,所述目标权重掩码概率为指定值时,值为所述指定值的所述目标权重掩码对应的所述权重参数在所述待处理神经网络模型的运算时被全部压缩。
可选的,所述权重参数在所述待处理神经网络模型的运算时被压缩的程度与所述目标权重掩码概率的值成反比。
可选的,所述指定值为0。
可选的,所述权重参数确定单元401,具体用于所述确定待处理神经网络模型中的权重参数,包括:获得所述待处理神经网络模型;获得所述待处理神经网络模型中不同网络层对应的神经元数目;根据所述待处理神经网络模型中不同网络层对应的神经元数目,确定所述待处理神经网络模型中不同网络层对应的神经元数目对应的权重参数;根据所述待处理神经网络模型中不同网络层对应的神经元数目对应的权重参数,确定所述待处理神经网络模型中的权重参数。
可选的,所述获得所述待处理神经网络模型,包括:获得待处理深度神经网络模型;
所述获得所述待处理神经网络模型中不同网络层对应的神经元数目,包括:获得所述待处理深度神经网络模型中不同隐藏层对应的神经元数目。
第三实施例
与本申请提供的针对神经网络模型的处理方法得应用场景实施例以及第一实施例提供的针对神经网络模型的处理方法相对应的,本申请第三实施例还提供一种电子设备。
如5所示,图5为本申请实施例中提供的一种电子设备的示意图。
该电子设备包括:
处理器501;以及
存储器502,用于存储针对神经网络模型的处理方法的程序,该设备通电并通过所述处理器运行该针对神经网络模型的处理方法的程序后,执行下述步骤:
确定待处理神经网络模型中的权重参数;
确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型。
需要说明的是,对于本申请第三实施例提供的电子设备的详细描述可以参考对本申请提供的针对神经网络模型的处理方法得应用场景实施例以及第一实施例提供的针对神经网络模型的处理方法的相关描述,这里不再赘述。
第四实施例
与本申请提供的针对神经网络模型的处理方法得应用场景实施例以及第一实施例提供的针对神经网络模型的处理方法相对应的,本申请第四实施例还提供一种存储介质,存储有该针对神经网络模型的处理方法的程序,该程序被处理器运行,执行下述步骤:
确定待处理神经网络模型中的权重参数;
确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型。
要说明的是,对于本申请第四实施例提供的存储介质的详细描述可以参考对本申请提供的针对神经网络模型的处理方法得应用场景实施例以及第一实施例提供的针对神经网络模型的处理方法的相关描述,这里不再赘述。
第五实施例
与本申请提供的针对神经网络模型的处理方法的应用场景以及第一实施例提供的针对神经网络模型的处理方法相对应的,本申请第五实施例还提供了一种物联网***。由于第五实施例基本相似于应用场景以及第一实施例,所以描述得比较简单,相关之处参见应用场景以及第一实施例的部分说明即可。下述描述的第五实施例仅仅是示意性的。
请参照图6,其为本申请第五实施例中提供的一种物联网***的示意图。
该物联网***,包括:神经网络模型获得设备601及用户终端设备602,其中,所述神经网络模型获得设备601包括权重参数确定单元601-1、目标权重掩码概率确定模块601-2、目标神经网络模型获得模块601-3以及目标神经网络模型嵌入模块601-4;
所述权重参数确定模块601-1,用于确定待处理神经网络模型中的权重参数;
所述目标权重掩码概率确定模块601-2,用于确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
所述目标神经网络模型获得模块601-3,用于根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型;
所述目标神经网络模型嵌入模块601-4,用于将所述目标神经网络模型嵌入所述用户终端设备602;
所述用户终端设备602,用于根据所述目标神经网络模型进行目标数据处理,所述目标数据处理包括图像处理、语音处理以及文字处理中的一种。
要说明的是,对于本申请第五实施例提供的物联网***的详细描述可以参考对本申请提供的针对神经网络模型的处理方法得应用场景实施例以及第一实施例提供的针对神经网络模型的处理方法的相关描述,这里不再赘述。
第六实施例
与本申请提供的针对神经网络模型的处理方法的应用场景以及第一实施例提供的针对神经网络模型的处理方法相对应的,本申请第六实施例还提供了一种视觉数据处理***。由于第六实施例基本相似于应用场景以及第一实施例,所以描述得比较简单,相关之处参见应用场景以及第一实施例的部分说明即可。下述描述的第六实施例仅仅是示意性的。
请参照图7,其为本申请第六实施例中提供的一种视觉数据处理***的示意图。
该视觉数据处理***,包括:神经网络模型获得设备701及视觉芯片设备702,其中,所述神经网络模型获得设备701包括权重参数确定单元701-1、目标权重掩码概率确定模块701-2、目标神经网络模型获得模块701-3以及目标神经网络模型嵌入模块701-4;
所述权重参数确定模块701-1,用于确定待处理神经网络模型中的权重参数;
所述目标权重掩码概率确定模块701-2,用于确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
所述目标神经网络模型获得模块701-3,用于根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型;
所述目标神经网络模型嵌入模块701-4,用于将所述目标神经网络模型嵌入所述用户终端设备702;
所述视觉芯片设备702,用于根据所述目标神经网络模型进行目标数据处理,所述目标数据处理包括图像处理、语音处理以及文字处理中的一种。
本申请第六实施例中,所谓视觉数据包括图像、视频以及视频帧等,如:通过智能手机的摄像头拍摄到照片,通过智能手机的摄像头拍采集到的视频,或者网络视频等。
要说明的是,对于本申请第六实施例提供的视觉数据处理***的详细描述可以参考对本申请提供的针对神经网络模型的处理方法得应用场景实施例以及第一实施例提供的针对神经网络模型的处理方法的相关描述,这里不再赘述。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(Flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(TransitoryMedia),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (18)
1.一种针对神经网络模型的处理方法,其特征在于,包括:
确定待处理神经网络模型中的权重参数;
确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型,所述目标神经网络模型用于嵌入用户终端设备或视觉芯片设备,所述用户终端设备用于根据所述目标神经网络模型进行目标数据处理,所述视觉芯片设备用于根据所述目标神经网络模型进行视觉数据处理;
所述根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型,包括:确定所述目标权重掩码概率中值为所述指定值的所述目标权重掩码概率;确定所述值为所述指定值的所述目标权重掩码概率对应的所述权重参数,作为目标权重参数;将所述权重参数中的所述目标权重参数进行裁剪,获得所述目标神经网络模型。
2.根据权利要求1所述的针对神经网络模型的处理方法,其特征在于,所述确定所述权重参数对应的目标权重掩码概率,包括:
通过概率采样的方式生成所述权重参数对应的第一权重掩码概率;
计算所述权重参数根据所述第一权重掩码概率被压缩时的所述第一运算结果与所述第二运算结果的第一精确度差值;
若所述第一精确度差值不在所述第一指定差值范围内,则调整所述第一权重掩码概率,生成所述权重参数对应的第二权重掩码概率。
3.根据权利要求2所述的针对神经网络模型的处理方法,其特征在于,还包括:
计算所述权重参数根据所述第二权重掩码概率被压缩时的所述第一运算结果与所述第二运算结果的第二精确度差值;
若所述第二精确度差值不在所述指定差值范围内,则调整第二权重掩码概率,生成所述权重参数对应的第三权重掩码概率,依次调整权重掩码概率,直至精确度差值在所述第一指定差值范围内。
4.根据权利要求2所述的针对神经网络模型的处理方法,其特征在于,
若所述第一精确度差值在所述第一指定差值范围内,则将所述第一权重掩码概率作为第一候选权重掩码概率;
调整所述第一候选权重掩码概率,获得第二候选权重掩码概率;
计算所述权重参数根据所述第二候选权重掩码概率被压缩时的所述第一运算结果与所述权重参数根据所述第一候选权重掩码概率被压缩时的所述第一运算结果的第一候选精确度差值;
若所述第一候选精确度差值在第二指定差值范围内,则比较所述第一候选权重掩码概率和所述第二候选权重掩码概率为所述指定值的数目,将所述指定值的数目高的权重掩码概率,作为所述目标权重掩码概率。
5.根据权利要求4所述的针对神经网络模型的处理方法,其特征在于,
若所述第一候选精确度差值不在第二指定差值范围内,则调整第二候选权重掩码概率,生成所述权重参数对应的第三候选权重掩码概率;
计算所述权重参数根据所述第三候选权重掩码概率被压缩时的所述第一运算结果与所述权重参数根据所述第二权重掩码概率被压缩时的所述第一运算结果的第二候选精确度差值;
若所述第二候选精确度差值不在所述第二指定差值范围内,则调整第三权重掩码概率,生成所述权重参数对应的第四候选权重掩码概率,依次调整候选权重掩码概率,直至候选精确度差值在所述第二指定差值范围内。
6.根据权利要求2所述的针对神经网络模型的处理方法,其特征在于,所述通过概率采样的方式生成所述权重参数对应的第一权重掩码概率,包括:通过所述概率采样的方式生成所述权重参数对应的第一权重掩码概率矩阵;
所述计算所述权重参数根据所述第一权重掩码概率被压缩时的所述第一运算结果与所述第二运算结果的第一精确度差值,包括:根据所述第一权重掩码概率矩阵,计算所述第一精确度差值。
7.根据权利要求2所述的针对神经网络模型的处理方法,其特征在于,所述调整所述第一权重掩码概率,生成所述权重参数对应的第二权重掩码概率,包括:若所述第二精确度差值为正,则增大所述第一权重掩码概率,生成所述第二权重掩码概率,否则减小所述第一权重掩码概率,生成所述第二权重掩码概率。
8.根据权利要求7所述的针对神经网络模型的处理方法,其特征在于,所述调整所述第一权重掩码概率,生成所述权重参数对应的第二权重掩码概率,还包括:在调整所述第一权重掩码概率时,对值为所述指定值的所述第一权重掩码概率不进行调整。
9.根据权利要求1所述的针对神经网络模型的处理方法,其特征在于,所述目标权重掩码概率为指定值时,值为所述指定值的所述目标权重掩码对应的所述权重参数在所述待处理神经网络模型的运算时被全部压缩。
10.根据权利要求9所述的针对神经网络模型的处理方法,其特征在于,所述权重参数在所述待处理神经网络模型的运算时被压缩的程度与所述目标权重掩码概率的值成反比。
11.根据权利要求10所述的针对神经网络模型的处理方法,其特征在于,所述指定值为0。
12.根据权利要求1所述的针对神经网络模型的处理方法,其特征在于,所述确定待处理神经网络模型中的权重参数,包括:
获得所述待处理神经网络模型;
获得所述待处理神经网络模型中不同网络层对应的神经元数目;
根据所述待处理神经网络模型中不同网络层对应的神经元数目,确定所述待处理神经网络模型中不同网络层对应的神经元数目对应的权重参数;
根据所述待处理神经网络模型中不同网络层对应的神经元数目对应的权重参数,确定所述待处理神经网络模型中的权重参数。
13.根据权利要求12所述的针对神经网络模型的处理方法,其特征在于,所述获得所述待处理神经网络模型,包括:获得待处理深度神经网络模型;
所述获得所述待处理神经网络模型中不同网络层对应的神经元数目,包括:获得所述待处理深度神经网络模型中不同隐藏层对应的神经元数目。
14.一种针对神经网络模型的处理装置,其特征在于,包括:
权重参数确定单元,用于确定待处理神经网络模型中的权重参数;
目标权重掩码概率确定单元,用于确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
目标神经网络模型获得单元,用于根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型,所述目标神经网络模型用于嵌入用户终端设备或视觉芯片设备,所述用户终端设备用于根据所述目标神经网络模型进行目标数据处理,所述视觉芯片设备用于根据所述目标神经网络模型进行视觉数据处理;
所述根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型,包括:确定所述目标权重掩码概率中值为所述指定值的所述目标权重掩码概率;确定所述值为所述指定值的所述目标权重掩码概率对应的所述权重参数,作为目标权重参数;将所述权重参数中的所述目标权重参数进行裁剪,获得所述目标神经网络模型。
15.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储针对神经网络模型的处理方法的程序,该设备通电并通过所述处理器运行该针对神经网络模型的处理方法的程序后,执行下述步骤:
确定待处理神经网络模型中的权重参数;
确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型,所述目标神经网络模型用于嵌入用户终端设备或视觉芯片设备,所述用户终端设备用于根据所述目标神经网络模型进行目标数据处理,所述视觉芯片设备用于根据所述目标神经网络模型进行视觉数据处理;
所述根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型,包括:确定所述目标权重掩码概率中值为所述指定值的所述目标权重掩码概率;确定所述值为所述指定值的所述目标权重掩码概率对应的所述权重参数,作为目标权重参数;将所述权重参数中的所述目标权重参数进行裁剪,获得所述目标神经网络模型。
16.一种存储介质,其特征在于,存储有针对神经网络模型的处理方法的程序,该程序被处理器运行,执行下述步骤:
确定待处理神经网络模型中的权重参数;
确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型,所述目标神经网络模型用于嵌入用户终端设备或视觉芯片设备,所述用户终端设备用于根据所述目标神经网络模型进行目标数据处理,所述视觉芯片设备用于根据所述目标神经网络模型进行视觉数据处理;
所述根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型,包括:确定所述目标权重掩码概率中值为所述指定值的所述目标权重掩码概率;确定所述值为所述指定值的所述目标权重掩码概率对应的所述权重参数,作为目标权重参数;将所述权重参数中的所述目标权重参数进行裁剪,获得所述目标神经网络模型。
17.一种物联网***,其特征在于,包括:神经网络模型获得设备及用户终端设备,其中,所述神经网络模型获得设备包括权重参数确定模块、目标权重掩码概率确定模块、目标神经网络模型获得模块以及目标神经网络模型嵌入模块;
所述权重参数确定模块,用于确定待处理神经网络模型中的权重参数;
所述目标权重掩码概率确定模块,用于确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
所述目标神经网络模型获得模块,用于根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型;
所述目标神经网络模型嵌入模块,用于将所述目标神经网络模型嵌入所述用户终端设备;
所述用户终端设备,用于根据所述目标神经网络模型进行目标数据处理,所述目标数据处理包括图像处理、语音处理以及文字处理中的一种;
所述目标神经网络模型获得模块,进一步用于确定所述目标权重掩码概率中值为所述指定值的所述目标权重掩码概率;确定所述值为所述指定值的所述目标权重掩码概率对应的所述权重参数,作为目标权重参数;将所述权重参数中的所述目标权重参数进行裁剪,获得所述目标神经网络模型。
18.一种视觉数据处理***,其特征在于,包括:神经网络模型获得设备及视觉芯片设备,其中,所述神经网络模型获得设备包括权重参数确定模块、目标权重掩码概率确定模块、目标神经网络模型获得模块以及目标神经网络模型嵌入模块;
所述权重参数确定模块,用于确定待处理神经网络模型中的权重参数;
所述目标权重掩码概率确定模块,用于确定所述权重参数对应的目标权重掩码概率,所述目标权重掩码概率用于表示所述权重参数在所述待处理神经网络模型的运算时被压缩的程度,其中,所述目标权重掩码概率在满足预设条件时为指定值的数目高于其它权重掩码概率在满足所述预设条件时为所述指定值的数目,所述预设条件为所述权重参数根据当前权重掩码概率被压缩时所述待处理神经网络模型的第一运算结果与所述权重参数未被压缩时所述待处理神经网络模型的第二运算结果的精确度差值在第一指定差值范围内;
所述目标神经网络模型获得模块,用于根据所述目标权重掩码概率和所述指定值,对所述待处理神经网络模型进行模型压缩,获得目标神经网络模型;
所述目标神经网络模型嵌入模块,用于将所述目标神经网络模型嵌入所述视觉芯片设备;
所述视觉芯片设备,用于根据所述目标神经网络模型进行视觉数据处理;
所述目标神经网络模型获得模块,进一步用于确定所述目标权重掩码概率中值为所述指定值的所述目标权重掩码概率;确定所述值为所述指定值的所述目标权重掩码概率对应的所述权重参数,作为目标权重参数;将所述权重参数中的所述目标权重参数进行裁剪,获得所述目标神经网络模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010701351.0A CN113298248B (zh) | 2020-07-20 | 2020-07-20 | 一种针对神经网络模型的处理方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010701351.0A CN113298248B (zh) | 2020-07-20 | 2020-07-20 | 一种针对神经网络模型的处理方法、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113298248A CN113298248A (zh) | 2021-08-24 |
CN113298248B true CN113298248B (zh) | 2024-06-18 |
Family
ID=77318620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010701351.0A Active CN113298248B (zh) | 2020-07-20 | 2020-07-20 | 一种针对神经网络模型的处理方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113298248B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10831444B2 (en) * | 2016-04-04 | 2020-11-10 | Technion Research & Development Foundation Limited | Quantized neural network training and inference |
US10776697B2 (en) * | 2017-04-18 | 2020-09-15 | Huawei Technologies Co., Ltd. | System and method for training a neural network |
CN108229681A (zh) * | 2017-12-28 | 2018-06-29 | 郑州云海信息技术有限公司 | 一种神经网络模型压缩方法、***、装置及可读存储介质 |
KR20200052182A (ko) * | 2018-11-06 | 2020-05-14 | 한국전자통신연구원 | 딥러닝 모델 압축 및 압축 해제 방법 그리고 장치 |
CN109829443B (zh) * | 2019-02-23 | 2020-08-14 | 重庆邮电大学 | 基于图像增强与3d卷积神经网络的视频行为识别方法 |
-
2020
- 2020-07-20 CN CN202010701351.0A patent/CN113298248B/zh active Active
Non-Patent Citations (1)
Title |
---|
基于参数共享的卷积神经网络压缩;舒红乔;洪缨;刘岩;;网络新媒体技术(01);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113298248A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230042221A1 (en) | Modifying digital images utilizing a language guided image editing model | |
CN113298096B (zh) | 训练零样本分类模型的方法、***、电子设备及存储介质 | |
CN111357051B (zh) | 语音情感识别方法、智能装置和计算机可读存储介质 | |
CN111105017A (zh) | 神经网络量化方法、装置及电子设备 | |
WO2021218037A1 (zh) | 目标检测方法、装置、计算机设备和存储介质 | |
CN114549913A (zh) | 一种语义分割方法、装置、计算机设备和存储介质 | |
CN114049530A (zh) | 混合精度神经网络量化方法、装置及设备 | |
KR20220001821A (ko) | 텐서 처리 방법, 가속기 및 이를 포함한 가속기 시스템 | |
KR20220097329A (ko) | 딥러닝 네트워크의 동적 양자화 정밀도 가변 알고리즘 및 방법 | |
CN116188878A (zh) | 基于神经网络结构微调的图像分类方法、装置和存储介质 | |
CN114677548A (zh) | 基于阻变存储器的神经网络图像分类***及方法 | |
CN111667069A (zh) | 预训练模型压缩方法、装置和电子设备 | |
CN114861907A (zh) | 数据计算方法、装置、存储介质和设备 | |
CN112307243A (zh) | 用于检索图像的方法和装置 | |
KR102505946B1 (ko) | 인공신경망 모델 학습 방법 및 시스템 | |
US20210224033A1 (en) | Operation device and operation method | |
CN115129831A (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN113298248B (zh) | 一种针对神经网络模型的处理方法、装置以及电子设备 | |
CN110889316B (zh) | 一种目标对象识别方法、装置及存储介质 | |
CN114155388B (zh) | 一种图像识别方法、装置、计算机设备和存储介质 | |
CN112418388A (zh) | 一种实现深度卷积神经网络处理的方法及装置 | |
CN116957006A (zh) | 预测模型的训练方法、装置、设备、介质及程序产品 | |
CN114861671A (zh) | 模型训练方法、装置、计算机设备及存储介质 | |
CN110826726B (zh) | 目标处理方法、目标处理装置、目标处理设备及介质 | |
KR20210156554A (ko) | 텐서 처리 방법, 가속기 및 이를 포함한 전자 장치 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40057974 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |