一种数据处理方法、装置及存储介质与流程

文档序号:20514579发布日期:2020-04-24 18:56阅读:120来源:国知局
一种数据处理方法、装置及存储介质与流程

本申请涉及神经网络领域,尤其涉及一种数据处理方法、装置及存储介质。



背景技术:

随着深度学习的发展,神经网络越来越深,其计算量以及参数量越来越多,对于一些计算能力有限的设备来说,很难进行部署。很多研究证明庞大的参数中有着大量的冗余,但大量的参数量在模型训练优化阶段是非常必要的,其使得模型优化问题更为简单、可使模型收敛到一个更好的解。

因此在模型训练收敛后,如何剪枝掉模型中不重要的通道,对于减少模型参数量、降低模型计算量有着非常重要的意义。



技术实现要素:

本申请实施例提供一种数据处理方法、装置及存储介质,用以减少模型参数量、降低模型计算量,从而实现在保证效果的同时,提升模型运算的速度,并降低对部署设备的要求。

第一方面,提供一种数据处理方法,包括:

获取待处理数据的训练样本,并将所述训练样本输入到已训练的初始神经网络模型中,分别获取所述初始神经网络模型中各个卷积层输出的特征图;

针对所述初始神经网络模型的每个卷积层,计算该卷积层中各通道对应的特征图与其它通道对应的特征图之间的条件熵;

针对所述初始神经网络模型的每个卷积层,对该卷积层中各通道对应的特征图与其它通道对应的特征图之间的条件熵进行平均,得到各通道对应的特征图与其它通道对应的特征图之间的平均条件熵;

针对所述初始神经网络模型的每个卷积层,根据该卷积层中的各通道对应的平均条件熵,对所述初始神经网络模型进行剪枝处理,获得优化神经网络模型;

将所述待处理数据输入到所述优化神经网络模型中,获得所述优化神经网络模型输出的处理后数据。

第二方面,提供一种数据处理装置,包括:

特征图获取模块,用于获取待处理数据的训练样本,并将所述训练样本输入到已训练的初始神经网络模型中,分别获取所述初始神经网络模型中各个卷积层输出的特征图;

第一条件熵获取模块,用于针对所述初始神经网络模型的每个卷积层,计算该卷积层中各通道对应的特征图与其它通道对应的特征图之间的条件熵;

平均条件熵获取模块,用于针对所述初始神经网络模型的每个卷积层,对该卷积层中各通道对应的特征图与其它通道对应的特征图之间的条件熵进行平均,得到各通道对应的特征图与其它通道对应的特征图之间的平均条件熵;

剪枝模块,用于针对所述初始神经网络模型的每个卷积层,根据该卷积层中的各通道对应的平均条件熵,对所述初始神经网络模型进行剪枝处理,获得优化神经网络模型;

数据获取模块,用于将所述待处理数据输入到所述优化神经网络模型中,获得所述优化神经网络模型输出的处理后数据。

在一个实施例中,剪枝模块具体用于按照各通道对应的平均条件熵从小到大的顺序,剪枝掉预设数量的通道。

在一个实施例中,确定条件熵单元包括:

第一确定概率和子单元,用于对第一通道在各区间的概率进行求和,得到所述第一通道的概率和;以及;

第二确定概率和子单元,用于对第二通道在各区间相对所述第一通道在各区间的概率的条件概率与所述条件概率的对数的乘积进行求和,得到所述第二通道的概率和;

确定条件熵子单元,用于将所述第一通道的概率和与所述第二通道的概率和的乘积的负数作为所述第二通道对所述第一通道的条件熵。

在一个实施例中,所述装置还包括:

第二条件熵获取模块,用于第一条件熵获取模块针对所述初始神经网络模型的每个卷积层,计算该卷积层中各通道对应的特征图与其它通道对应的特征图之间的条件熵之后,获取各通道对应的特征图与自身对应的特征图之间的条件熵;

生成条件熵矩阵模块,用于根据各通道对应的特征图与其它通道对应的特征图之间的条件熵和各通道对应的特征图与自身对应的特征图之间的条件熵,生成条件熵矩阵;其中,所述条件熵矩阵的行和列为该卷积层的通道数量,且所述条件熵矩阵中每一行中的条件熵均为同一通道对应的特征图与其它通道对应的特征图之间的条件熵。

在一个实施例中,所述装置还包括:

训练模块,用于剪枝模块针对所述初始神经网络模型的每个卷积层,根据该卷积层中的各通道对应的平均条件熵,对所述初始神经网络模型进行剪枝处理,获得优化神经网络模型之后,对所述优化神经网络模型进行训练。

第三方面,提供一种计算装置,包括至少一个处理单元、以及至少一个存储单元,其中,存储单元存储有计算机程序,当程序被处理单元执行时,使得处理单元执行上述任意一种数据处理方法的步骤。

在一个实施例中,计算装置可以使服务器,也可以是终端设备。

第四方面,提供一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当程序在终端设备上运行时,使得终端设备执行上述任意一种数据处理方法的步骤。

本申请实施例提供的一种数据处理方法、装置及存储介质,通过计算初始神经网络模型中各通道对应的特征图之间的条件熵,来确定各通道之间的相对信息;并通过去掉对其他通道影响小的通道,实现对初始神经网络模型的剪枝。这样,通过对初始神经网络模型的剪枝,减少了初始神经网络模型的参数量,降低了初始神经网络模型的计算量,从而实现了在保证效果的同时,提升了模型运算的速度,并降低了对部署设备的要求。

本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例中数据处理方法的流程图;

图2为本申请实施例中一种数据处理方法的流程示意图;

图3为本申请实施例中一种数据处理完整方法的流程示意图;

图4为本申请实施例中一种数据处理装置的结构示意图;

图5为本申请实施方式中终端设备结构示意图。

具体实施方式

为了减少模型参数量、降低模型计算量,从而实现在保证效果的同时,提升模型运算的速度,并降低对部署设备的要求,本申请实施例中提供一种数据处理方法、装置及存储介质。为了更好的理解本申请实施例提供的技术方案,这里对该方案的基本原理做一下简单说明:

为了便于本领域技术人员更好地理解本申请实施例中的技术方案,下面对本申请实施例涉及到的专业术语进行示例说明。

特征图:是指训练样本和神经网络模型中的卷积核卷积后生成的图像特征。在本申请实施例中,一个训练样本和卷积层的一个通道可以得到一个特征图。

条件熵:条件熵标识表示在已知随机变量x的条件下随机变量y的不确定性。在本申请实施例中,条件熵是指一个通道对其他通道的影响。

模型剪枝:评估模型中不重要的部分,将其砍减掉,可以实现降低模型参数和计算量。其中,剪枝通道即是将通道删除掉。

下面对本申请实施例的设计思想进行简要介绍。

如前所述,在模型训练收敛后,如何剪枝掉模型中不重要的通道,对于减少模型参数量、降低模型计算量有着非常重要的意义。在现有技术中,模型剪枝大多都是单独考虑每个通道的重要程度,通常是评估模型中各通道的重要性,并根据重要性剪枝掉不重要的通道。但是现有技术却忽略了不同通道之间的相关性。为了,本申请实施例提供一种数据处理方法、装置及存储介质。在该方法中,通过计算初始神经网络模型中各通道对应的特征图之间的条件熵,来确定各通道之间的相对信息;并通过去掉对其他通道影响小的通道,实现对初始神经网络模型的剪枝。这样,通过对初始神经网络模型的剪枝,减少了初始神经网络模型的参数量,降低了初始神经网络模型的计算量,从而实现了在保证效果的同时,提升了模型运算的速度,并降低了对部署设备的要求。

根据本申请实施例提供了一种数据处理方法、装置及存储介质,可以在保证效果的同时,提升了模型运算的速度,并降低对部署设备的要求。例如:用户通过智能终端浏览网络文章时,并不喜欢在网络文章中看到广告。因此,在向用户推荐网络文章之前,需要通过识别神经网络模型对待推荐的网络文章进行识别,将确定为广告文章的网络文章过滤,并将过滤后的待推荐网络文章推荐给用户。但是由于智能终端的处理器处理速度并不快,从而导致识别时间过长,影响用户的使用体验。通过本申请实施例中提供的方法,对识别神经网络模型进行剪枝处理,可以较快的进行识别,从而提高用户的使用体验。或者,针对行人重识别,通过本申请实施例中提供的方法对识别神经网络模型进行剪枝处理,可以使剪枝后的模型应用在摄像头上,从而可以直接在摄像头上完成识别工作,提升识别效率。

为便于理解,下面结合附图对本申请提供的技术方案做进一步说明。

人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

机器学习(machinelearning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。

在本申请实施例中,本申请提供数据处理方法的流程图如图1所示:分别为模型预训练、基于条件熵的通道剪枝以及对剪枝模型训练。

其中,模型预训练是训练一个神经网络模型,该部分为本申请的前期准备部分,任何训练好的具有多通道的神经网络模型均可以作为本申请的初始神经网络模型。

基于条件熵的通道剪枝为本申请重点介绍的方案,下面对该部分进行详细说明。

在本申请实施例中,为了实现对初始神经网络模型的优化,如图2所示,具体可包括以下步骤:

步骤201:获取待处理数据的训练样本,并将训练样本输入到已训练的初始神经网络模型中,分别获取初始神经网络模型中各个卷积层输出的特征图。

在本申请实施例中,初始神经网络模型具有至少一层卷积层,且每个卷积层中具有多个通道。一个训练样本和一个通道可以得到一个特征图。例如:初始神经网络模型工具有3层卷积层,每个卷积层具有10个通道,将5个训练样本输入到初始神经网络模型中,一共可以得到150个特征图。

需要说明的是,每层卷积层的通道数可以相同可以不同,本申请对此不作限定。

步骤202:针对初始神经网络模型的每个卷积层,计算该卷积层中各通道对应的特征图与其它通道对应的特征图之间的条件熵。

在本申请实施例中,通过确定各特征图的二范数(l2norm),来确定各通道对应的特征图与其它通道对应的特征图之间的条件熵。具体可实施为步骤a1-a3:

步骤a1:针对初始神经网络模型的每个卷积层,确定该卷积层中各通道对应的特征图,并计算各通道对应的特征图的二范数。

在本申请实施例中,二范数通过以下公式进行计算:

其中,i=1,2,3……k;(1);

其中,xl2表示二范数,xi表示特征图中的向量。这样通过计算特征图的二范数,可以实现降维,减少后续计算的计算量。

步骤a2:将各通道对应的特征图的二范数分为预设数量的区间,并根据各通道对应的特征图的二范数在各区间的数量,确定各通道在各区间的概率。

在本申请实施例中,在得到各特征图的二范数后,根据通道,确定二范数所在的通道,并根据二范数的数值,将各通道对应的二范数进行划分,从而确定各通道在各区间的概率。

在一个实施例中,若一层卷积层有2个通道,且该层卷积层共得到40个特征图,即每个通道对应20个特征图。计算40个特征图的二范数,并根据各通道的二范数的数值进行区间划分。

若第一个通道对应的二范数的最大值为4.0,最小值为1.0,则以1.0和4.0为边界进行区域划分,若分为3个区间,则每个区间的范围为[1.0,2.0);[2.0,3.0);[3.0,4.0]。并根据第一个通道对应的二范数在每个区间的数量,确定第一个通道在3个区间中的概率。例如:第一个区间[1.0,2.0)有5个二范数,则第一个区间的概率为0.25;第二个区间[2.0,3.0)有5个二范数,则第二个区间的概率为0.25;第三个区间[3.0,4.0]有10个二范数,则第三个区间的概率为0.5。

若第二个通道对应的二范数的最大值为6.5,最小值为0.5,则以0.5和6.5为边界进行区域划分,若分为3个区间,则每个区间的范围为[0.5,2.5);[2.5,4.5);[4.5,6.5]。并根据第二个通道对应的二范数在每个区间的数量,确定第二个通道在3个区间中的概率。例如:第一个区间[0.5,2.5)有8个二范数,则第一个区间的概率为0.4;第二个区间[2.5,4.5)有2个二范数,则第二个区间的概率为0.1;第三个区间[4.5,6.5]有10个二范数,则第三个区间的概率为0.5。

这样便得到了各通道各区间的概率。需要说明的是,各通道划分区域的数量需要保持相同。

步骤a3:根据各通道在各区间的概率以及条件熵公式,确定各通道对应的特征图与其它通道对应的特征图之间的条件熵。

在本申请实施例中,根据上述得到的各通道的概率以及条件熵公式,来确定条件熵。具体可实施为步骤b1-b3:

步骤b1:对第一通道在各区间的概率进行求和,得到第一通道的概率和。

步骤b2:对第二通道在各区间相对第一通道在各区间的概率的条件概率与条件概率的对数的乘积进行求和,得到第二通道的概率和。

步骤b3:将第一通道的概率和与第二通道的概率和的乘积的负数作为第二通道对第一通道的条件熵。

在本申请实施例中,根据以下公式来确定条件熵:

h(y|x)=-∑x∈xp(x)∑x∈yp(y|x)logp(y|x);(2);

其中,x表示第一个通道,y表示第二个通道,p(x)表示在第一个通道得到的概率;p(y|x)表示第二个通道对第一个通道的条件概率。

在一个实施例中,若要确定第二个通道对第一个通道的条件概率,需要确定第二通道的二范数在第一个通道中各区间的数量。例如:第一个通道分为3个区间,每个区间的范围为[1.0,2.0);[2.0,3.0);[3.0,4.0]。第二个通道有20个二范数,根据第二个通道对应的二范数在每个区间的数量,确定第二个通道对第一个通道的条件概率。例如:第一个区间[1.0,2.0)有2个二范数,则第二个通道对第一个通道在第一个区间的条件概率为0.1;第二个区间[2.0,3.0)有4个二范数,则第二个通道对第一个通道在第二个区间的条件概率为0.2;第三个区间[3.0,4.0]有8个二范数,则第二个通道对第一个通道在第三个区间的条件概率为0.4。

这样,根据条件熵公式,确定第二个通道对第一个通道的条件熵。

需要说明的是,在本申请实施例中,除了用二范数来表示特征图,还可以采用一范数(l1norm)、全局平均池化(globalaveragepooling)来表示特征图,本申请对此不做限定。

步骤203:针对初始神经网络模型的每个卷积层,对该卷积层中各通道对应的特征图与其它通道对应的特征图之间的条件熵进行平均,得到各通道对应的特征图与其它通道对应的特征图之间的平均条件熵。

在一个实施例中,若该卷积层中共有4个通道,且第一通道对第二通道的条件熵为-0.5;第一通道对第三通道的条件熵为-0.3;第一通道对第四通道的条件熵为-0.1;则第一通道对其他通道的平均条件熵为-0.3。

步骤204:针对所述初始神经网络模型的每个卷积层,根据该卷积层中的各通道对应的平均条件熵,对所述初始神经网络模型进行剪枝处理,获得优化神经网络模型。

在本申请实施例中,可以限定剪枝掉一定数量的通道,获得优化神经网络模型,具体可实施为:按照各通道对应的平均条件熵从小到大的顺序,剪枝掉预设数量的通道。

在一个实施例中,若该卷积层中共有4个通道,且第一通道对其他通道的平均条件熵为-0.3;第二通道对其他通道的平均条件熵为-0.5;第三通道对其他通道的平均条件熵为-0.2;第四通道对其他通道的平均条件熵为-0.4。若该卷积层需要剪枝掉2个通道,则按照从小到大的顺序,将-0.5对应的第二通道和-0.4对应的第四通道剪枝掉,从而完成模型优化,得到优化神经网络模型。

这样,通过限定剪枝掉的数量,可以保证各层卷积层剪枝掉的通道数相同。

当然,除了限定剪枝掉一定数量的通道,还可以设定一个阈值,当确定平均条件熵不大于阈值时,则认为该平均条件熵对应的通道的重要性不高,剪枝掉该通道。在一个实施例中,若该卷积层中共有4个通道,且第一通道对其他通道的平均条件熵为-0.3;第二通道对其他通道的平均条件熵为-0.5;第三通道对其他通道的平均条件熵为-0.2;第四通道对其他通道的平均条件熵为-0.4。若限定阈值为-0.4,则将平均条件熵的数据与阈值进行比较,将-0.5对应的第二通道和-0.4对应的第四通道剪枝掉,从而完成模型优化,得到优化神经网络模型。

需要说明的是,若所有通道的平均条件熵均大于阈值,则不会剪枝通道。

步骤205:将待处理数据输入到优化神经网络模型中,获得优化神经网络模型输出的处理后数据。

这样,通过对初始神经网络模型的剪枝,减少了初始神经网络模型的参数量,降低了初始神经网络模型的计算量,从而实现了在保证效果的同时,提升了模型运算的速度,并降低了对部署设备的要求。

为了使或得到条件熵可更加直观的显示,可以采用矩阵的方法为得到的条件熵排列,具体可实施为步骤c1-c2:

步骤c1:获取各通道对应的特征图与自身对应的特征图之间的条件熵。

在本申请实施例中,各通道对应的特征图与自身对应的特征图之间的条件熵为0。

步骤c2:根据各通道对应的特征图与其它通道对应的特征图之间的条件熵和各通道对应的特征图与自身对应的特征图之间的条件熵,生成条件熵矩阵;其中,条件熵矩阵的行和列为该卷积层的通道数量,且条件熵矩阵中每一行中的条件熵均为同一通道对应的特征图与其它通道对应的特征图之间的条件熵。

在一个实施例中,若该卷积层中共有4个通道,则可以得到16个条件熵,分别为:h(1|1)、h(1|2)、h(1|3)、h(1|4)、h(2|1)、h(2|2)、h(2|3)、h(2|4)、h(3|1)、h(3|2)、h(3|3)、h(3|4)、h(4|1)、h(4|2)、h(4|3)、h(4|4)。这样,即可生成一个4*4的条件熵矩阵:

[h(1|1),h(1|2),h(1|3),h(1|4);

h(2|1),h(2|2),h(2|3),h(2|4);

h(3|1),h(3|2),h(3|3),h(3|4);

h(4|1),h(4|2),h(4|3),h(4|4)];

这样,在计算各通道对其他通道的平均条件熵时,只需要将条件熵矩阵逐行求和,并除以各通道对其他通道条件熵的数量即可。

在介绍完基于条件熵的通道剪枝这一部分后,下面对剪枝模型训练进行解释说明。

为了使优化神经网络模型的效果更好,可以对优化神经网络模型进行训练,具体可实施为:对优化神经网络模型进行训练。

具体的,可对优化神经网络模型进行finetune(微调),即通过对优化神经网络模型重新训练,微调优化神经网络模型中的参数。

在本申请实施例中,对优化神经网络模型进行重新训练的方法与第一部分模型预训练的方法相同,将多个带标签的训练样本输入到优化神经网络模型中,并得到输出结果,根据输出结果与标签调整优化神经网络模型中的参数,当优化神经网络模型的输出结果符合要求后,完成优化神经网络模型的重新训练。这样,通过对优化神经网络模型重新进行训练,进一步提高了优化神经网络模型的效果。

如图3所示,本申请实施例还提供了一种数据处理的完整方法,包括:

步骤301:获取待处理数据的训练样本,并将训练样本输入到已训练的初始神经网络模型中,分别获取初始神经网络模型中各个卷积层输出的特征图。

步骤302:针对初始神经网络模型的每个卷积层,确定该卷积层中各通道对应的特征图,并计算各通道对应的特征图的二范数。

步骤303:将各通道对应的特征图的二范数分为预设数量的区间,并根据各通道对应的特征图的二范数在各区间的数量,确定各通道在各区间的概率。

步骤304:根据各通道在各区间的概率以及条件熵公式,确定各通道对应的特征图与其它通道对应的特征图之间的条件熵。

步骤305:获取各通道对应的特征图与自身对应的特征图之间的条件熵。

步骤306:根据各通道对应的特征图与其它通道对应的特征图之间的条件熵和各通道对应的特征图与自身对应的特征图之间的条件熵,生成条件熵矩阵;其中,条件熵矩阵的行和列为该卷积层的通道数量,且条件熵矩阵中每一行中的条件熵均为同一通道对应的特征图与其它通道对应的特征图之间的条件熵。

步骤307:针对初始神经网络模型的每个卷积层,对该卷积层中各通道对应的特征图与其它通道对应的特征图之间的条件熵进行平均,得到各通道对应的特征图与其它通道对应的特征图之间的平均条件熵。

步骤308:针对初始神经网络模型的每个卷积层,在卷积层中按照从小到大的顺序剪枝掉预设数量的平均条件熵对应的通道,获得优化神经网络模型。

步骤309:对优化神经网络模型进行训练。

步骤310:将待处理数据输入到训练好的优化神经网络模型中,获得训练好的优化神经网络模型输出的处理后数据。

基于相同的发明构思,本申请实施例还提供了一种数据处理装置。如图4所示,该装置包括:

特征图获取模块401,用于获取待处理数据的训练样本,并将所述训练样本输入到已训练的初始神经网络模型中,分别获取所述初始神经网络模型中各个卷积层输出的特征图;

第一条件熵获取模块402,用于针对所述初始神经网络模型的每个卷积层,计算该卷积层中各通道对应的特征图与其它通道对应的特征图之间的条件熵;

平均条件熵获取模块403,用于针对所述初始神经网络模型的每个卷积层,对该卷积层中各通道对应的特征图与其它通道对应的特征图之间的条件熵进行平均,得到各通道对应的特征图与其它通道对应的特征图之间的平均条件熵;

剪枝模块404,用于针对所述初始神经网络模型的每个卷积层,根据该卷积层中的各通道对应的平均条件熵,对所述初始神经网络模型进行剪枝处理,获得优化神经网络模型;

数据获取模块405,用于将所述待处理数据输入到所述优化神经网络模型中,获得所述优化神经网络模型输出的处理后数据。

在一个实施例中,剪枝模块404具体用于按照各通道对应的平均条件熵从小到大的顺序,剪枝掉预设数量的通道。

在一个实施例中,第一条件熵获取模块402包括:

确定二范数单元,用于针对所述初始神经网络模型的每个卷积层,确定该卷积层中各通道对应的特征图,并计算各通道对应的特征图的二范数;

确定概率单元,用于将各通道对应的特征图的二范数分为预设数量的区间,并根据各通道对应的特征图的二范数在各区间的数量,确定各通道在各区间的概率;

确定条件熵单元,用于根据所述各通道在各区间的概率以及条件熵公式,确定各通道对应的特征图与其它通道对应的特征图之间的条件熵。

在一个实施例中,确定条件熵单元包括:

第一确定概率和子单元,用于对第一通道在各区间的概率进行求和,得到所述第一通道的概率和;以及;

第二确定概率和子单元,用于对第二通道在各区间相对所述第一通道在各区间的概率的条件概率与所述条件概率的对数的乘积进行求和,得到所述第二通道的概率和;

确定条件熵子单元,用于将所述第一通道的概率和与所述第二通道的概率和的乘积的负数作为所述第二通道对所述第一通道的条件熵。

在一个实施例中,所述装置还包括:

第二条件熵获取模块,用于第一条件熵获取模块402针对所述初始神经网络模型的每个卷积层,计算该卷积层中各通道对应的特征图与其它通道对应的特征图之间的条件熵之后,获取各通道对应的特征图与自身对应的特征图之间的条件熵;

生成条件熵矩阵模块,用于根据各通道对应的特征图与其它通道对应的特征图之间的条件熵和各通道对应的特征图与自身对应的特征图之间的条件熵,生成条件熵矩阵;其中,所述条件熵矩阵的行和列为该卷积层的通道数量,且所述条件熵矩阵中每一行中的条件熵均为同一通道对应的特征图与其它通道对应的特征图之间的条件熵。

在一个实施例中,所述装置还包括:

训练模块,用于剪枝模块404针对所述初始神经网络模型的每个卷积层,针对所述初始神经网络模型的每个卷积层,根据该卷积层中的各通道对应的平均条件熵,对所述初始神经网络模型进行剪枝处理,获得优化神经网络模型之后,对所述优化神经网络模型进行训练。

基于同一技术构思,本申请实施例还提供了一种终端设备500,参照图5所示,终端设备500用于实施上述各个方法实施例记载的方法,例如实施图2所示的实施例,终端设备500可以包括存储器501、处理器502、输入单元503和显示面板504。

存储器501,用于存储处理器502执行的计算机程序。存储器501可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据终端设备500的使用所创建的数据等。处理器502,可以是一个中央处理单元(centralprocessingunit,cpu),或者为数字处理单元等。输入单元503,可以用于获取用户输入的用户指令。显示面板504,用于显示由用户输入的信息或提供给用户的信息,本申请实施例中,显示面板504主要用于显示终端设备中各应用程序的显示界面以及各显示界面中显示的控件实体。可选的,显示面板504可以采用液晶显示器(liquidcrystaldisplay,lcd)或oled(organiclight-emittingdiode,有机发光二极管)等形式来配置显示面板504。

本申请实施例中不限定上述存储器501、处理器502、输入单元503和显示面板504之间的具体连接介质。本申请实施例在图5中以存储器501、处理器502、输入单元503、显示面板504之间通过总线505连接,总线505在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线505可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器501可以是易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,ram);存储器501也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd)、或者存储器501是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器501可以是上述存储器的组合。

处理器502,用于实现如图2所示的实施例,包括:

处理器502,用于调用存储器501中存储的计算机程序执行如实施图2所示的实施例。

本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。

在一些可能的实施方式中,本申请提供的一种生物身份查询的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种生物身份查询的方法中的步骤。例如,终端设备可以执行如实施图2所示的实施例。

程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

本申请的实施方式的用于一种生物身份查询的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在计算设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、rf等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向实体的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。

此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1