用于提升深度学习网络预测性能的方法、装置及存储介质与流程

文档序号:16933648发布日期:2019-02-22 20:30阅读:281来源:国知局
用于提升深度学习网络预测性能的方法、装置及存储介质与流程
本申请涉及一种用于提升深度学习网络预测性能的方法、装置及存储介质,属于人工智能及计算机
技术领域

背景技术
:深度学习是指多层神经网络上运用各种机器学习(machinelearning)算法解决图像、文本等各种问题的算法集合。深度学习的核心是特征学习,旨在通过分层网络获取分层次的特征信息。为了提高神经网络模型的预测准确性,可通过对多种情况下的神经网络模型进行融合处理。模型融合包括单模型融合和多模型融合。单模型融合包括多层特征融合和网络快照融合,多层特征融合是将不同层具有互补信息的特征进行一定的融合;网络快照融合是利用网络解空间中的各个局部最优解进行模型融合。多模型融合包括基于同一神经网络模型不同初始化网络参数的多模型融合、基于同一神经网络模型不同训练轮数的多模型融合、基于不同损失函数的多模型融合、基于不同网络结构的多模型融合等。然而,无论是单模型融合还是多模型融合,虽然通过在模型层面的融合能够提升网络的最终预测能力,但是在开发过程中要训练多种情况下的神经网络模型且在预测时要计算多种情况下的神经网络模型的结果,会增加网络模型的训练时间,还会降低网络预测的效率。技术实现要素:本申请提供了一种用于提升深度学习网络预测性能的方法、装置及存储介质,可以解决通过单模型融合或者多模型融合来提升深度学习网络预测性能时训练时间较长和预测时间较长的问题。本申请提供如下技术方案:第一方面,提供了一种用于提升深度学习网络预测性能的方法,所述方法包括:利用预先设置的训练集对第一神经网络模型进行m轮次迭代训练,所述m为正整数;利用预先设置的验证集对训练得到的神经网络模型进行验证,获取每轮训练得到的神经网络模型的多项性能指标;基于所述训练得到的神经网络模型所应用的场景确定出对应的性能指标;从所述m轮次迭代训练得到的神经网络模型中选择确定出的性能指标达到融合标准的多个神经网络模型;获取选择的多个神经网络模型的网络参数;将所述多个神经网络模型的网络参数融合,得到融合后的网络参数;将所述融合后的网络参数赋给所述第二神经网络模型,得到具有所述融合后的网络参数的神经网络模型,所述第二神经网络模型的网络结构与所述第一神经网络模型的网络结构相同。可选地,所述将所述多个神经网络模型的网络参数融合,得到融合后的网络参数,包括:所述根据加权平均法将所述多个神经网络模型的网络参数融合,得到所述融合后的网络参数,包括:设定所述验证集的基础性能指标;确定每个选择的神经网络模型的性能指标与所述基础性能指标之间差值,得到性能指标差值;确定各个性能指标差值之间的和,得到性能指标差值和;对于每个选择的神经网络模型,确定所述选择的神经网络模型对应的性能指标差值与所述性能指标差值和之间的商,得到所述选择的神经网络模型在进行网络参数融合时对应的权重值;将每个所述选择的神经网络模型的网络参数与对应的权重值的乘积相加,得到所述融合后的网络参数。可选地,所述从所述m轮次迭代训练得到的神经网络模型中选择确定出的性能指标达到融合标准的多个神经网络模型,包括:将m次迭代轮次按照迭代顺序划分得到k个迭代轮次区间,所述k为小于或等于所述m的正整数;在所述k个迭代轮次区间的每个迭代轮次区间中,确定验证集性能指标最高的神经网络模型,得到k个神经网络模型。可选地,所述m次迭代轮次是经所述验证集验证的训练后的神经网络模型的性能指标与最高性能指标的差值小于或等于预设差值的迭代轮次,所述最高性能指标是指经所述验证集验证的各个训练后的神经网络模型的性能指标中的最大值。可选地,所述具有所述融合后的网络参数的神经网络模型用于对开车时是否在打电话进行网络预测;所述训练集和所述验证集包括图片数据和每个图片数据的标注信息。可选地,所述基于所述训练得到的神经网络模型所应用的场景确定出对应的性能指标,包括:所述训练得到的神经网络模型所应用的场景为分类识别场景时,确定所述性能指标为准确率;或者,所述训练得到的神经网络模型所应用的场景为检测识别场景时,所述性能指标为精确率或召回率。第二方面,提供了一种用于提升深度学习网络预测性能的装置,所述装置包括:迭代训练模块,用于利用预先设置的训练集对第一神经网络模型进行m轮次迭代训练,所述m为正整数;网络验证模块,用于利用预先设置的验证集对训练得到的神经网络模型进行验证,获取每轮训练得到的神经网络模型的多个性能指标;指标确定模块,用于基于所述训练得到的神经网络模型所应用的场景确定出对应的性能指标;模型选择模块,用于从所述m轮次迭代训练得到的神经网络模型中选择确定出的性能指标达到融合标准的多个神经网络模型;参数融合模块,用于获取选择的多个神经网络模型的网络参数,将所述多个神经网络模型的网络参数融合,得到融合后的网络参数;参数配置模块,用于将所述融合后的网络参数赋给第二神经网络模型,得到具有所述融合后的网络参数的神经网络模型,所述第二神经网络模型的网络结构与所述第一神经网络模型的网络结构相同。第三方面,提供一种用于提升深度学习网络预测性能的装置,所述装置包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现第一方面所述的用于提升深度学习网络预测性能的方法。第四方面,提供一种计算机可读存储介质,所述存储介质中存储有程序,所述程序由所述处理器加载并执行以实现第一方面所述的用于提升深度学习网络预测性能的方法。本申请的有益效果在于:利用预先设置的训练集对第一神经网络模型进行m轮次迭代训练,m为正整数;利用预先设置的验证集对训练得到的神经网络模型进行验证,获取每轮训练得到的神经网络模型的多项性能指标;基于训练得到的神经网络模型所应用的场景确定出对应的性能指标;从m轮次迭代训练得到的神经网络模型中选择确定出的性能指标达到融合标准的多个神经网络模型;将选择的多个神经网络模型的网络参数融合,得到融合后的网络参数;将融合后的网络参数赋给第一神经网络模型,得到具有融合后的网络参数的神经网络模型;可以解决通过单模型融合或者多模型融合来提升深度学习网络预测性能时需要训练多种情况下的神经网络模型,导致神经网络模型的训练时间较长的问题;由于本实施例中只需要训练一种情况下用于网络预测的神经网络模型,对不同迭代训练后的神经网络模型的网络参数进行融合,就可以提高神经网络模型的网络预测性能,因此,可以保证在提升深度学习网络预测性能时未增加神经网络模型的训练时间,从而加快神经网络模型的开发周期。另外,由于在网络参数融合后,网络参数的数量不变,且神经网络模型的数量仍为一个,因此,在实际应用时只需预测一次即可;可以解决传统模型融合时需要针对各个待融合的神经网络模型进行预测,然后再将不同预测结果进行融合,预测时间相当于单次预测时间的几倍的问题,因此,网络参数融合方法可以保证在提升深度学习网络预测性能时不增加网络预测的时间。另外,通过基于训练得到的神经网络模型所应用的场景确定出对应的性能指标,根据该性能指标选择达到融合标准的多个神经网络模型的网络参数进行融合;可以解决神经网络模型基于同一性能指标来进行网络参数融合时,得到的融合后的网络参数无法适应多种应用场景的问题;由于可以根据应用的场景确定对应的性能指标,从而根据该性能指标选择出适应该场景的神经网络模型来进行网络参数融合,因此,可以提高融合后的网络参数与神经网络模型所应用的场景的适配度。上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,并可依照说明书的内容予以实施,以下以本申请的较佳实施例并配合附图详细说明如后。附图说明图1是本申请一个实施例提供的神经网络模型的结构示意图;图2是本申请一个实施例提供的用于提升深度学习网络预测性能的方法的流程图;图3是本申请一个实施例提供的训练集和验证集对应的准确率趋势的示意图;图4是本申请一个实施例提供的用于提升深度学习网络预测性能的装置的框图;图5是本申请一个实施例提供的用于提升深度学习网络预测性能的装置的框图。具体实施方式下面结合附图和实施例,对本申请的具体实施方式作进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。首先,对本申请涉及的若干名词进行解释。神经网络(neuralnetworks,nn)模型:是由大量简单的处理单元(称为神经元)互相连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性深度学习系统。深度学习的神经网络模型具有大规模并行、分布式存储和处理、自组织、自适应和自学能力,可以用于进行网络预测,比如:用于对开车时是否在打电话进行网络预测、人脸识别等网络预测场景,本申请不对神经网络模型进行网络预测的场景作限定。参考图1所示的神经网络模型,图1以神经网络模型为卷积神经网络模型为例进行说明,该卷积神经网络模型包括数据输入层(inputlayer)、卷积层(convolutionlayer,convlayer)、激活函数激励层(rectifiedlinearunitlayer,relulayer)、池化层(poolinglayer)和全连接层(fullyconnectedlayer,fclayer)。其中,数据输入层用于对原始图像数据进行预处理,比如:去均值、归一化等处理。卷积层用于提取数据输入层输入的图像的图像特征。激活函数激励层用于对卷积层输出结果做非线性映射。池化层夹在连续的卷积层之间,用于压缩数据和参数的量,减小过拟合。全连接层在卷积神经网络模型的尾部,全连接层是指相邻两层神经层中的所有神经元之间都有权重连接。可选地,本申请以各个实施例提供的用于提升深度学习网络预测性能的方法应用于电子设备中为例进行说明,该电子设备可以是台式计算机、个人计算机、手机、平板电脑、服务器等具有网络预测功能的设备,本实施例不对该电子设备的类型作限定。图2是本申请一个实施例提供的用于提升深度学习网络预测性能的方法的流程图,该方法至少包括以下几个步骤:步骤201,利用预先设置的训练集对第一神经网络模型进行m轮次迭代训练,m为正整数。可选地,电子设备搭建神经网络模型的网络结构、配置网络训练参数和损失函数;然后,使用训练集按照网络训练参数和损失函数对具有搭建的网络结构的神经网络模型进行迭代训练。可选地,神经网络模型的网络结构、网络训练参数和损失函数是电子设备从配置文件中读取到的;或者,是电子设备随机设置的;或者,是其它设备发送的,本实施例不对电子设备获取网络结构、网络训练参数和损失函数的方式作限定。损失函数是用于衡量神经网络模型优化程度的函数。可选地,损失函数类型可以为交叉熵损失函数。网络训练参数用于指示调试网络参数使神经网络模型快速收敛的过程。可选地,网络训练参数包括但不限于:迭代轮次(epoch)、基础学习率(baselearningrate)和训练批次量(batchsize)。其中,迭代轮次用于指示训练神经网络模型的次数,比如:迭代轮次为400、300等,本实施例不对迭代轮次的取值作限定。基础学习率用于指示通过损失函数调整神经网络模型的网络参数的速度,基础学习率越低,损失函数的值的变化速度就越慢;基础学习率越高,损失函数的值的变化速度就越快,换句话说,基础学习率与损失函数的值的变化速度呈正相关关系。基础学习率可以为0.01、0.001等,本实施例不对基础学习率的取值作限定。训练批次量用于指示一次性输入神经网络模型的样本数据的数量,样本数据为标定数据集中的数据,训练批次量可以是64、128、256等,本实施例不对训练批次量的取值作限定。标定数据集预存在电子设备中。神经网络模型的网络结构可以为稠密卷积神经网络(denseconvolutionalnetwork,densenet)、深度残差网络(deepresidualnetwork,resnet)等神经网络模型的网络结构。网络结构包括神经网络模型的网络层数、每层网络中卷积核的数量、不同层之间的连接关系和相连的两层之间的权重中的至少一种。可选地,电子设备可以同时获取神经网络模型的网络结构和网络训练参数;或者,也可以分别获取神经网络模型的网络结构和网络训练参数,本实施例不对获取网络结构和网络训练参数的先后顺序作限定。可选地,电子设备使用训练集按照网络训练参数和损失函数基于随机梯度下降法(stochasticgradientdescent,sgd)对神经网络模型进行迭代训练。迭代训练的基本思想是:随着迭代轮次的增加,神经网络模型的损失函数逐次逼近最优结果。迭代训练的总体过程为:将训练集中的样本数据输入神经网络模型;相应地,神经网络模型的输入层接收该样本数据;神经网络模型经过运算后输出训练结果;将训练结果和真实结果通过损失函数得到损失值,然后根据该损失值和损失函数对网络参数的梯度值更新神经网络模型内的网络参数,使得该神经网络模型下次再接收到同样的样本数据时,得到的训练结果与真实结果之间的误差能越来越小。可选地,网络参数包括相连的两个神经元之间的权重。梯度下降法的主要思想是:电子设备先随机给出神经网络模型的网络参数的一组值,然后更新该网络参数的值,使每次更新后的网络参数都能够让损失函数的值变小。在梯度下降法中,损失函数可以视为变量为网络参数的函数,即网络参数为损失函数的自变量。可选地,通过梯度下降更新网络参数时,电子设备使用前一次训练时的网络参数的值,根据基础学习率、损失函数对该网络参数的偏导数(如果只有1个网络参数的话,就是导数)等更新当前训练的网络参数。这样可以使原来的损失函数值变低,即减小了训练结果与真实结果之间的误差。梯度下降算法在更新网络参数时要遍历整个训练集,是一种批处理方法。而随机梯度下降法是梯度下降法的一种变体,相对于梯度下降法来说,随机梯度下降的思想是:根据训练集中每个单独的样本数据来更新网络参数。其中常用的最小批学习(mini-batchlearning)是梯度下降和随机梯度下降两者的折中方法,其区别在于梯度下降法每次用全部训练集计算梯度更新网络参数,随机梯度法每次用一个训练样本计算梯度更新网络参数,最小批学习法每次用部分训练样本计算梯度更新网络参数。步骤202,利用预先设置的验证集对训练得到的神经网络模型进行验证,获取每轮训练得到的神经网络模型的多项性能指标。可选地,训练集和验证集是按照指定比例对标定数据集进行划分得到的。指定比例预存在电子设备中;或者,是其它设备发送的,指定比例可以是训练集和验证集之间的比例为7:3、8:2等,本实施例不对指定比例的获取方式和取值作限定。输入神经网络模型的样本数据为训练集中的数据和验证集中的数据。可选地,训练集和验证集中样本数据的格式为{数据,标注信息}。对于不同的网络预测场景,训练集和验证集中的样本数据的类型不同,比如:在网络预测场景为用于对开车时是否在打电话时,训练集和验证集中的样本数据可以为{图片数据,该图片数据的标注信息}。例如:在网络预测场景为用于对开车时是否在打电话时训练集和验证集中的样本数据参见下表一。其中,图片数据是通过图片的编号指示的,标注信息“是”表示对应的图片数据指示开车时在打电话;标注信息“否”表示对应的图片数据指示开车时未在打电话。表一:图片数据标注信息图片1至60000是图片60001至80000否电子设备在进行每轮迭代训练之后,将验证集中的样本数据输入迭代训练得到的的神经网络模型,将训练后的神经网络模型的输出结果与该样本数据中的真实结果相比较,得到训练后的神经网络模型的多项性能指标。可选地,性能指标包括但不限于:准确率(accuracy)、精确率(precision)和召回率(recall)。准确率是指训练后的神经网络模型正确分类的样本数与总样本数之比。精确率是指所有正类判定为正类的样本数占所有判定为正类的样本数的比例。也即,p=tp/tp+fp。召回率是指所有正类判定为正类的样本数占所有正类样本数的比例。也即,r=tp/tp+fn。其中,p指精确率,r指召回率,tp(truepositives)指正类判定为正类,fp(falsepositives)指负类判定为正类,fn(falsenegatives)指正类判定为负类。可选地,性能指标可以通过百分比表示、也可以通过比例表示,本实施例不对性能指标的表示方式作限定。由于测试集中的样本数据和验证集中的样本数据相互独立,因此,通过验证集验证得到的性能指标较准确。比如:参考图3所示的迭代训练的轮次与准确率之间的关系,其中,虚线表示随着迭代训练轮次的增加,训练集对应的准确率的变化趋势;实线表示随着迭代训练轮次的增加,验证集对应的准确率的变化趋势。根据图3可知,在同一轮次的迭代训练中,训练集的准确率接近100时,验证集的准确率低于训练集的准确率。图3仅以性能指标为准确率为例进行说明,在实际实现时,召回率与精确率的情况相同。因此,本实施例中,通过验证集对应的性能指标来确定达到融合标准的神经网络模型,可以提高确定出的达到融合标准的神经网络模型的准确性。步骤203,基于训练得到的神经网络模型所应用的场景确定出对应的性能指标。示意性地,训练得到的神经网络模型所应用的场景为分类识别场景(比如:车身颜色分类识别,车标分类识别等分类识别场景)时,确定性能指标为准确率;或者,训练得到的神经网络模型所应用的场景为检测识别场景(比如:车内打电话检测识别,车辆检测识别等检测识别场景)时,性能指标为精确率或召回率。可选地,电子设备还可以根据用户需求选择性能指标。比如:在训练得到的神经网络模型所应用的场景为检测识别场景时,若客户需求为最大保证检出的样本都是正确的,可以允许部分打电话情况未检出,即寻求最优精确率,可以牺牲部分召回率,此时选取模型以验证集的精确率为性能指标;当客户需求为打电话的情况尽可能被检出,可以允许部分样本被误检,即寻求最优召回率,可以牺牲部分精确率,此时选取模型以验证集的召回率为性能指标。步骤204,从m轮次迭代训练得到的神经网络模型中选择确定出的性能指标达到融合标准的多个神经网络模型。m轮次迭代训练得到的神经网络模型均经过验证集的验证。可选地,本实施例中,电子设备选择的m次迭代轮次是经验证集验证的训练后的神经网络模型的性能指标与最高性能指标的差值小于或等于预设差值的迭代轮次。其中,最高性能指标是指经验证集验证的各个训练后的神经网络模型的性能指标中的最大值。预设差值可以为2%、1%等,本实施例不对预设差值的取值作限定。此时,m次迭代轮次对应的训练后的神经网络模型的性能指标提升速度较缓慢。其中,多个神经网络模型是指至少两个神经网络模型。在一个示例中,电子设备从所述m轮次迭代训练得到的神经网络模型中选择确定出的性能指标达到融合标准的多个神经网络模型,包括:将m次迭代轮次按照迭代顺序划分得到k个迭代轮次区间,k为正整数,且k≤m;在k个迭代轮次区间的每个迭代轮次区间中,确定性能指标最高的训练后的神经网络模型,得到k个神经网络模型。比如:以检测识别场景选择性能指标为精确率为例,将第100次迭代轮次至第400次迭代轮次划分为3个迭代轮次区间,分别为[100,200)、[200,300)和[300,400],然后,电子设备选择迭代轮次区间[100,200)中精确率最高的训练后的神经网络模型、选择迭代轮次区间[200,300)中精确率最高的训练后的神经网络模型、选择迭代轮次区间[300,400]中精确率最高的训练后的神经网络模型,得到3个神经网络模型。在又一个示例中,电子设备从m轮次迭代训练得到的神经网络模型中选择确定出的性能指标达到融合标准的多个神经网络模型,包括:从m轮次中迭代训练得到的神经网络模型中选择性能指标超过性能指标阈值的训练后的神经网络模型。比如:以检测识别场景选择性能指标为精确率为例,在第100次迭代轮次至第400次迭代轮次的训练后的神经网络模型中,选取验证集的精确率超过99%的训练后的神经网络模型。当然,精确率阈值的取值也可以为其他值,比如:99.1%、98.9%、等,本实施例不对精确率阈值的取值作限定。步骤205,获取选择的多个神经网络模型的网络参数,将多个神经网络模型的网络参数融合,得到融合后的网络参数。可选地,电子设备将神经网络模型的网络参数融合,得到融合后的网络参数,包括但不限于以下几种方式:第一种方式:电子设备根据加权平均法将选择的多个神经网络模型的网络参数融合,得到融合后的网络参数。其中,根据加权平均法将神经网络模型的网络参数融合,得到融合后的网络参数,包括:设定验证集的基础性能指标;确定每个选择的神经网络模型的性能指标与基础性能指标之间差值,得到性能指标差值;确定各个性能指标差值之间的和,得到性能指标差值和;对于每个选择的神经网络模型,确定该选择的神经网络模型对应的性能指标差值与性能指标差值和之间的商,得到该选择的神经网络模型在进行网络参数融合时对应的权重;将每个选择的神经网络模型的网络参数与对应的权重之间的乘积相加,得到融合后的网络参数。其中,基础性能指标可以是网络训练参数中的一个参数,当然,也可以是其它设备发送的;或者,是电子设备从预存的文件中读取的,本实施例不对基础性能指标的获取方式作限定。可选地,不同的性能指标可以对应不同的基础性能指标,比如:精确率的基础性能指标为99%、召回率的基础性能指标为99.2%、准确率的基础性能指标为98.9%等,本实施例不对基础性能指标的取值作限定。比如:以检测识别场景选择性能指标为精确率为例,电子设备选择出三个神经网络模型,且各个神经网络模型的网络参数分别为net1、net2和net3。其中,在验证集上,net1对应的精确率为99.13%、net2对应的精确率为99.27%、net3应的精确率为99.53%,基础精确率为99%。此时,对于网络参数为net1的神经网络模型,权重为:对于网络参数为net2的神经网络模型,权重为:对于网络参数为net3的神经网络模型,权重为:此时,融合后的网络参数为:net=w1×net1+w2×net2+w3×net3其中,net为融合后的网络参数。可选地,电子设备还可以根据精确率的大小设置权重,精确率与权重呈正相关关系,本实施例不对电子设备设置权重的方式作限定。第二种方式:电子设备可以计算选择的多个神经网络模型的网络参数的平均值,得到融合后的网络参数。步骤206,将融合后的网络参数赋给第二神经网络模型,得到具有融合后的网络参数的神经网络模型。其中,第二神经网络模型的网络结构与第一神经网络模型的网络结构相同。第二神经网络模型可以是第一神经网络模型;或者,也可以是经过迭代训练后得到的神经神经网络模型;或者,还可以是电子设备重新生成的神经网络模型;或者,还可以是电子设备对第一神经网络模型重新初始化后得到的空白的神经网络模型,本实施例不对第二神经网络模型的获取方式作限定。具有融合后的网络参数的神经网络模型用于进行网络预测,比如:用于对开车时是否在打电话进行网络预测、车标分类识别、车身颜色分类识别、人脸识别、语义识别等。综上所述,本实施例提供的用于提升深度学习网络预测性能的方法,利用预先设置的训练集对第一神经网络模型进行m轮次迭代训练;利用预先设置的验证集对训练得到的神经网络模型进行验证,获取每轮训练得到的神经网络模型的多项性能指标;基于训练得到的神经网络模型所应用的场景确定出对应的性能指标;从m轮次迭代训练得到的神经网络模型中选择确定出的性能指标达到融合标准的多个神经网络模型;获取选择的多个神经网络模型的网络参数,将多个神经网络模型的网络参数融合,得到融合后的网络参数;将融合后的网络参数赋给第二神经网络模型,得到具有融合后的网络参数的神经网络模型,第二神经网络模型的网络结构与第一神经网络模型的网络结构相同;可以解决通过单模型融合或者多模型融合来提升深度学习网络预测性能时需要训练多种情况下神经网络模型,导致神经网络模型的训练时间较长的问题;由于本实施例中只需要训练一种情况下用于网络预测的神经网络模型,对不同迭代训练后的神经网络模型的网络参数进行融合,就可以提高神经网络模型的网络预测性能,因此,可以保证在提升深度学习网络预测性能时未增加神经网络模型的训练时间,从而加快神经网络模型的开发周期。另外,由于在网络参数融合后,网络参数的数量不变,且神经网络模型的数量仍为一个,因此,在使用具有融合后的网络参数的神经网络模型进行网络预测时只需预测一次即可;可以解决传统模型融合时需要针对各个待融合的神经网络模型进行预测,然后再将不同预测结果进行融合,预测时间相当于单次预测时间的几倍的问题,因此,可以保证在提升深度学习网络预测性能时不增加网络预测的时间,从而提高了网络预测效率。另外,通过基于训练得到的神经网络模型所应用的场景确定出对应的性能指标,根据该性能指标选择达到融合标准的多个神经网络模型的网络参数进行融合;可以解决神经网络模型基于同一性能指标来进行网络参数融合时,得到的融合后的网络参数无法适应多种应用的场景的问题;由于可以根据应用的场景确定对应的性能指标,从而根据该性能指标选择出适应该场景的神经网络模型来进行网络参数融合,因此,可以提高融合后的网络参数与神经网络模型所应用的场景的适配度。另外,本实施例中,通过选择验证集对应的性能指标较高的神经网络模型的网络参数进行融合,得到具有融合后的网络参数的神经网络模型的性能指标高于具有未融合的网络参数的神经网络模型的性能指标,可以减轻网络参数的过拟合现象,从而提高具有融合后的网络参数的神经网络模型的鲁棒性。可选地,电子设备可以在得到具有融合后的网络参数的神经网络模型之后,选定一个测试集,使用该测试集验证具有融合后的网络参数的神经网络模型的网络预测结果的第一性能指标是否大于达到融合标准的多个神经网络模型的网络预测结果的第二性能指标;在第一性能指标大于或等于第二性能指标时使用具有融合后的网络参数的神经网络模型进行网络预测;在第一性能指标小于第二性能指标时再次执行步骤204,此时,神经网络模型为具有融合后的网络参数的神经网络模型。这样,电子设备可以验证具有融合后的网络参数的神经网络模型的准确性。可选地,基于上述实施例,为了更清楚地理解本申请提供的用于提升深度学习网络预测性能的方法,下面对该用于提升深度学习网络预测性能的方法举一个实例说明。本实例中,以神经网络模型用于检测识别开车是否打电话的网络预测为例进行说明。此时,检测识别开车是否打电话的场景对应的性能指标为精确率。电子设备设置神经网络模型的网络结构为稠密卷积神经网络,且设置样本数据中图片数据的训练尺寸为48×48×1(其中,48×48为图片的尺寸,1表示颜色通道,比如:1表示灰度图像,3表示彩色图像等)、基础学习率为0.001、训练批次量为256、迭代轮次的数量为400、损失函数为基于softmax的交叉熵损失函数;标定数据集中样本数据的数量为10万张,按8:2的比例划分为训练集和验证集。然后,电子设备基于随机梯度下降法对神经网络模型进行迭代训练。在每轮次迭代训练完成后,电子设备以验证集精确精确率为选择依据,在迭代轮次101-200区间选择精确率最高的网络参数net1(对应第187个轮次的网络,验证集精确率为99.13%),在迭代轮次201-300区间选择精确率最高的网络参数net2(对应第294个轮次的网络,验证集精确率为99.27%),在迭代轮次301-400区间选择精确率最高的网络参数net3(对应第398个轮次的网络,验证集精确率为99.53%)。将网络参数net1,net2,net3按照下述公式进行网络参数融合,并将融合后的网络参数赋值给重新初始化的空白神经网络模型。对于网络参数为net1的神经网络模型,权重为:对于网络参数为net2的神经网络模型,权重为:对于网络参数为net3的神经网络模型,权重为:此时,融合后的网络参数为:net=w1×net1+w2×net2+w3×net3电子设备选定一个测试集,样本数量为一万张,其中,开车打电话与开车未打电话的样本比例为1:3。然后,电子设备使用网络参数net1,net2,net3,对测试集进行预测,图片数据的训练尺寸为48×48×1,得到的网络预测的精确率和时间如下表二所示。根据表二所示可知,使用测试集验证网络预测的精确率时,具有融合后的网络参数的具有融合后的网络参数的神经网络的精确率高于具有未融合的网络参数的具有融合后的网络参数的神经网络的精确率。而单张图片数据对应的运行时间差异不大,也即,具有融合后的网络参数的具有融合后的网络参数的神经网络的预测效率未降低。表二:需要补充说明的是,上例仅以性能指标为精确率为例进行说明,在性能指标为准确率或者召回率时对应的提升深度学习网络预测性能的过程相同,只是将性能指标改为准确率或者召回率,本申请不再一一举例说明。图4是本申请一个实施例提供的用于提升深度学习网络预测性能的装置的框图,本实施例以该装置应用于电子设备中为例进行说明。该装置至少包括以下几个模块:迭代训练模块410、网络验证模块420、指标确定模块430、模型选择模块440、参数融合模块450和参数配置模块460。迭代训练模块410,用于利用预先设置的训练集对第一神经网络模型进行m轮次迭代训练,所述m为正整数;网络验证模块420,用于利用预先设置的验证集对训练得到的神经网络模型进行验证,获取每轮训练得到的神经网络模型的多个性能指标;指标确定模块430,用于基于所述训练得到的神经网络模型所应用的场景确定出对应的性能指标;模型选择模块440,用于从所述m轮次迭代训练得到的神经网络模型中选择确定出的性能指标达到融合标准的多个神经网络模型;参数融合模块450,用于获取选择的多个神经网络模型的网络参数,将所述多个神经网络模型的网络参数融合,得到融合后的网络参数;参数配置模块460,用于将所述融合后的网络参数赋给第二神经网络模型,得到具有所述融合后的网络参数的神经网络模型,所述第二神经网络模型的网络结构与所述第一神经网络模型的网络结构相同。相关细节参考上述方法实施例。可选地,基于图4所述的用于提升深度学习网络预测性能的装置,所述参数融合模块450,用于:根据加权平均法将所述多个神经网络模型的网络参数融合,得到所述融合后的网络参数。可选地,所述参数融合模块450,用于:设定验证集的基础性能指标;确定每个选择的神经网络模型的性能指标与所述基础性能指标之间差值,得到性能指标差值;确定各个性能指标差值之间的和,得到性能指标差值和;对于每个选择的神经网络模型,确定所述选择的神经网络模型对应的性能指标差值与所述性能指标差值和之间的商,得到所述选择的神经网络模型在进行网络参数融合时对应的权重值;将每个所述选择的神经网络模型的网络参数与对应的权重值的乘积相加,得到所述融合后的网络参数。可选地,所述模型选择模块440,用于:将m次迭代轮次按照迭代顺序划分得到k个迭代轮次区间,所述k为小于或等于所述m的正整数;在所述k个迭代轮次区间的每个迭代轮次区间中,确定验证集性能指标最高的神经网络模型,得到k个神经网络模型。可选地,所述m次迭代轮次是经所述验证集验证的训练后的神经网络模型的性能指标与最高性能指标的差值小于或等于预设差值的迭代轮次,所述最高性能指标是指经所述验证集验证的各个训练后的神经网络模型的性能指标中的最大值。可选地,所述具有所述融合后的网络参数的神经网络模型用于对开车时是否在打电话进行网络预测;所述训练集和所述验证集包括图片数据和每个图片数据的标注信息。可选地,所述指标确定模块430,用于:所述训练得到的神经网络模型所应用的场景为分类识别场景时,确定所述性能指标为准确率;或者,所述训练得到的神经网络模型所应用的场景为检测识别场景时,所述性能指标为精确率或召回率。需要说明的是:上述实施例中提供的用于提升深度学习网络预测性能的装置在提升深度学习网络预测性能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将用于提升深度学习网络预测性能的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的用于提升深度学习网络预测性能的装置与用于提升深度学习网络预测性能的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。图5是本申请一个实施例提供的用于提升深度学习网络预测性能的装置的框图,该装置可以是电子设备,比如:智能手机、平板电脑、笔记本电脑、台式电脑或服务器。用于提升深度学习网络预测性能的装置还可能被称为用户设备、便携式终端、膝上型终端、台式终端、控制终端等,本实施例对此不作限定。该装置至少包括处理器501和存储器502。处理器501可以包括一个或多个处理核心,比如:4核心处理器、8核心处理器等。处理器501可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申请中方法实施例提供的用于提升深度学习网络预测性能的方法。在一些实施例中,用于提升深度学习网络预测性能的装置还可选包括有:外围设备接口和至少一个外围设备。处理器501、存储器502和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。示意性地,外围设备包括但不限于:射频电路、触摸显示屏、音频电路、和电源等。当然,用于提升深度学习网络预测性能的装置还可以包括更少或更多的组件,本实施例对此不作限定。可选地,本申请还提供有一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的用于提升深度学习网络预测性能的方法。可选地,本申请还提供有一种计算机产品,该计算机产品包括计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的用于提升深度学习网络预测性能的方法。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1