1.一种基于离散系数的深度神经网络近似模型分析方法,其特征在于,包括以下步骤:
步骤一、构建待分析的深度神经网络:
步骤101、构建待分析的某一深度神经网络的模型架构;
步骤102、利用某一数据集对构建的深度神经网络模型进行训练,获得训练好的网络权重;
步骤二、按类别输入数据集样本,获取各类别深度神经网络的特征图:
步骤201、根据数据集标签对数据集进行分类,若数据集包含n个类别,得到各类别数据集样本di,其中i=1,2...n为样本类别序号;
步骤202、将各类别数据集样本di依次输入待分析深度神经网络中,获得各类别数据集样本在待分析网络各中间隐藏层所对应的特征图,若各类别数据集样本中样本数为mi,以及待分析网络有k个卷积层,则得到的第i个类别的特征图可表示为
步骤三、利用得到的各类别特征图度量深度神经网络中各节点激活值变化情况,进而计算各节点贡献度:
步骤301、对深度神经网络中每个卷积核所对应的特征图取最大值,得到卷积核的激活值
步骤302、将同类别所有激活值样本对取平均值,得到各类别平均激活值样本
其中,mi为第i个类别数据集样本总数,d=1,2...k为深度神经网络中卷积层序号,i=1,2...n为样本类别序号;
步骤303、利用各类别平均激活值样本
其中,μ[d]表示各类别样本在深度神经网络第d层卷积层上平均激活值的均值,σ[d]表示各类别样本在深度神经网络第d层卷积层上平均激活值的标准差。
步骤304、利用各类别平均激活值样本vs来度量深度神经网络中各节点的重要程度r:
r[d]=vs[d]
其中,d=1,2...k为深度神经网络中卷积层序号,r[d]为长度为cd的一维向量,表示第d层卷积层中的cd个节点的重要程度;
步骤305、对深度神经网络中各层节点重要程度进行归一化,得到各层节点的贡献度,第d层节点贡献度c[d]:
其中,d=1,2...k为深度神经网络中卷积层序号,c[d]为长度为cd的一维向量,表示第d层卷积层中各节点的贡献度;
步骤四、根据深度神经网络各层节点贡献度,对卷积核进行删除,获得深度神经网络的近似模型:
步骤401、从网络中提取深度神经网络卷积层中的权重及偏置项wd、bd,d=1,2...k,wd维度为(cd,cd-1,kernel_sizew,d,kernel_sizeh,d),bd维度为(cd,),当d=1时,cd-1为输入样本通道数;
步骤402、设定阈值td,td表示第d层节点删除后网络性能降低的最大限度;
步骤403、选定最后一层(第k层)卷积核进行节点删除;
步骤404、将该层卷积层中贡献度最低卷积核对应进行删除;
步骤405、将数据集输入删除节点后网络计算性能,若性能下降小于设定阈值td,则重复步骤504,若性能下降大于设定阈值td,则将最后删除节点恢复;
步骤406、若在满足阈值要求时,当前层删除卷积核数量为nd,则删除卷积核后权重wd′维度为(cd-nd,cd-1,kernel_sizew,d,kernel_sizeh,d),删除卷积核后偏置项bd′维度为(cd-nd,);
步骤407、选定前一层卷积核进行节点删除,重复步骤404、步骤405、步骤406,直至整个网络节点删除完毕,获得深度神经网络的近似模型。
联系客服