超参数确定方法、装置及设备
技术领域
本说明书涉及计算机技术领域,尤其涉及一种超参数确定方法、装置及设备。
背景技术
分类模型的超参数是在模型学习前,就需要设置的模型外部参数,且超参数无法像模型内部参数那样可通过模型学习后得到,还有超参数不仅仅是一个简单的数值,同时控制着模型训练的行为,还在很大程度上影响着模型的分类性能,因此预设的超参数是否合适,不仅会影响模型的学习性能,还会影响模型的分类效果。
目前,经常通过人工手动对超参数进行调优,也就是根据人的经验来选择可能的最优超参数取值,然后将选择的最优超参数作为模型的超参数,通过数据集对模型进行训练得到模型的评价指标,进而通过一遍遍地挑选超参数、训练模型和得到模型的评价指标,最后根据评价指标从这些超参数中确定出模型的最优超参数,这样基于确定出的最优超参数,虽然可能会得到性能较好的模型,但是,由于依靠人的经验,容易出现偏差,很难得到真正最优超参数,且手动调优还费时费力,在大数据应用中也无法同时对模型在应用于多个任务时的超参数进行调优。虽然也有采用自动调优方法,比如网络搜索、随机搜索、贝叶斯优化方法等,但这些方法需要大量算力,以及仍需花费很长时间,这样在大数据应用中,也无法保证在模型应用于多个任务时都能确定出最优超参数。
基于此,需要能够确定分类模型最优超参数的方案。
发明内容
有鉴于此,本说明书实施例提供了一种超参数确定方法、装置及设备,以确定出分类模型的最优超参数。
本说明书实施例采用下述技术方案:
本说明书实施例提供一种超参数确定方法,包括:
获取预设数量的数值组合,所述数值组合包括分类模型的每个超参数的一个取值;
获取所述分类模型在预设数据集上每一所述数值组合对应的若干评价指标;
根据预设的权重规则,计算每一所述数值组合对应的权重,所述权重用于表征在所述分类模型中所述若干评价指标的综合评价;
建立所述数值组合与所述权重的映射关系;
确定所述分类模型的最优超参数,所述最优超参数为在所述映射关系中,最大的所述权重所对应的所述数值组合中的超参数。
本说明书实施例还提供一种超参数确定装置,包括第一获取模块、第二获取模块、计算模块、映射模块和确定模块;
所述第一获取模块用于获取预设数量的数值组合,所述数值组合包括分类模型的每个超参数的一个取值;
所述第二获取模块用于获取所述分类模型在预设数据集上每一所述数值组合对应的若干评价指标;
所述计算模块用于根据预设的权重规则,计算每一所述数值组合对应的权重,所述权重用于表征在所述分类模型中所述若干评价指标的综合评价;
所述映射模块用于建立所述数值组合与所述权重的映射关系;
所述确定模块用于确定所述分类模型的最优超参数,所述最优超参数为在所述映射关系中,最大的所述权重所对应的所述数值组合中的超参数。
本说明书实施例还提供一种用于确定超参数的电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取预设数量的数值组合,所述数值组合包括分类模型的每个超参数的一个取值;
获取所述分类模型在预设数据集上每一所述数值组合对应的若干评价指标;
根据预设的权重规则,计算每一所述数值组合对应的权重,所述权重用于表征在所述分类模型中所述若干评价指标的综合评价;
建立所述数值组合与所述权重的映射关系;
确定所述分类模型的最优超参数,所述最优超参数为在所述映射关系中,最大的所述权重所对应的所述数值组合中的超参数。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:通过将分类模型的各个超参数的一个取值构成预设数量的数值组合,来获得尽可能多的超参数的取值组合;然后将数值组合中超参数的取值作为分类模型的超参数的取值,来获得分类模型在预设数据集上每一所述数值组合对应的若干评价指标,并根据预设的权重规则来获得权重,其中权重融合了多个评价指标,这样权重可有效地表征该数值组合下模型的综合表现,权重规则可根据分类模型在不同任务场景中的分类需要来预设;最后通过建立数值组合与权重的映射关系,可快速地从该映射关系中确定出不同任务中模型的最优超参数,这样可在任务量大的时候,也能保证每个任务中都能确定出最优超参数,提高模型超参数的调优效率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的一种超参数确定方法的整体思路示意图。
图2为本说明书实施例提供的一种超参数确定方法在一任务中确定超参数的示意图。
图3为本说明书实施例提供的一种超参数确定方法的流程图。
图4为本说明书实施例提供的一种超参数确定方法在一任务中映射关系的热力图。
图5为本说明书实施例提供的一种超参数确定装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
正如前述,不管人工调优还是自动调优,通常采用的都是迭代思想,比如根据超参数的重要程度,对重要和次重要的参数进行迭代优化。具体地,先根据经验确定出超参数的一个较大取值范围,然后在该较大取值范围进行粗粒度的超参数的最优值搜索,再然后将表现较好的取值区域确定为新的取值区域,并在该新的取值区域进行更细粒度的超参数的最优值搜索,这样通过不断迭代,来获取出想要的结果。由于在模型中,各个超参数并非完全独立,这样各个超参数的取值也将影响模型,因而迭代后往往可能得到局部的最优超参数,而很难得到真正最优的超参数,且迭代也费时费力。
而本说明书实施例中提供的超参数确定方法,可采用如图1所示的整体思路:先获取出分类模型的每个超参数的取值,然后利用这些取值来构成预设数量的数值组合,比如超参数共n个,这n个超参数的取值可构成m个所述数值组合,其中m、n为自然整数,且每一数值组合包括每个超参数的一个取值,这样就尽可能多的获取到超参数的取值组合,可避免全局最优的超参数在取值时就被漏掉;然后将数值组合中包括的超参数的取值作为模型的超参数的取值,进而获得模型在预设数据集上的若干评价指标,再根据预设的权重规则来获得该数值组合对应的权重,其中权重按权重规则对多个评价指标进行融合,这样权重就可有效地表征该数值组合下模型的综合表现,权重规则可根据模型在不同任务场景中的分类需求来预设;最后通过建立数值组合与权重的映射关系,进而可快速地从该映射关系中确定出任务中模型的最优超参数,提高模型超参数的调优效率,并在大量的任务量中,也能快速、有效地确定出每个任务中模型的最优超参数。
具体实施中,在一个任务采用本说明书实施例中提供的超参数确定方法去确定超参数的流程示意可如图2所示,基于大数据处理,可将前述m组数值组合的超参数的取值作为模型的超参数的取值,进而获取出不同所述数值组合下该任务对应的模型的综合表现(即权重),最后将综合表现最好(即权重的数值最大)所对应的那一组所述数值组合确定出来,这样所确定的数值组合的超参数就作为该任务对应的模型的最优超参数。为说明方便,图中采用方框中灰度多少来表示权重的大小,即权重一栏中方框中灰度越占满权重方框,所代表的权重值也就越大,如图中第1数值组合对应的方框中灰度最满,表示模型的综合表现最好,所以可将第1数值组合的超参数作为该任务中模型的最优超参数。这样,在大数据应用中,就可同时对多个任务采用如图2所示的确定超参数的示意流程来确定任务对应的模型的最优超参数。
以下结合附图,详细说明本申请各实施例提供的技术方案。
如图3所示,本说明书实施例提供一种超参数确定方法,包括以下步骤:
步骤S102、获取预设数量的数值组合,所述数值组合包括分类模型的每个超参数的一个取值。
具体实施中,分类模型的各个超参数通常可根据分类模型预先确定出来,且各个超参数的取值范围也可以根据分类任务的需求预先确定出来。还有,当每个超参数的取值的数量越多,所述数值组合的数量也越多时,越能保证全局最优的超参数能被覆盖到,因而所述数值组合的预设数量可根据具体任务的分类需求、人的经验、算力等因素进行预先确定,在调优中,也可根据调优情况加以调整。
需要说明的是,采用组合的方式,可让两两所述数值组合不同,避免出现超参数的相同组合的情况而浪费算力。
在一个优选的实施方式中,可将各个超参数建立出超参数的域空间,从而采用域空间来表示每个超参数的取值范围,这样通过域空间表示后,超参数就可通过概率分布而非一个个离散值表示,进而在调优时,可根据概率分布来从域空间中为每个超参数选择更有可能最优的一个取值,来构成所述数值组合,这样可快速地得到模型尽可能多的超参数的取值组合,来有效覆盖超参数的可能最优的取值,从而保证全局最优的超参数能被覆盖到。
又在一个优选的实施方式中,可采用随机选取的方式来选取超参数的取值来构成所述数值组合。具体地,获取预设数量的数值组合,可包括:在各个所述超参数的取值范围内,随机选取所述每个超参数的一个取值;根据选取的所述每个超参数的取值构成预设数量的所述数值组合。
步骤S104、获取所述分类模型在预设数据集上每一所述数值组合对应的若干评价指标。
其中,若干评价指标可包括准确率(accuracy)、精确率(precision)、召回率(recall)、ROC曲线(Receiver Operating Characteristic,受试者工作特征曲线)、AUC(Area Under Curve,ROC曲线下的面积)等评价指标中的一种或多种指标,其中准确率表征模型对数据样本进行分类的准确性,精确率表示数据样本中预测为正的样本且预测准确的有多少,召回率表示数据样本中的正例有多少被预测正确,ROC曲线以假正率(FP_rate)和假负率(TP_rate)为轴的曲线,ROC曲线下面的面积为AUC。
具体实施中,可根据具体分类任务的分类需求(即决策需求),确定出用于评估模型的评估方案及评价指标,比如,在数据样本比较均衡时,可采用准确率,从而可直观的评价模型分类的准确性;在数据样本失衡时,由于准确率无法评价失衡样本的准确性,若还依靠准确率评价模型,将使得模型可能无任何意义,这时可采用其他评价指标进行评价,比如精确率、召回率、ROC曲线、AUC等指标,如在推荐任务中,由于希望更精准的了解客户需求,避免向用户推送其不感兴趣的内容,这时需要模型预测的推荐内容符合用户的兴趣,可采用精确率对模型进行评价,又如在疾病检测任务中,不希望查漏任何一项疾病,这时可采用召回率对模型进行评价。还有,在一些任务中,需要对不同评价指标的关注程度不同,这时可预先对不同评价指标赋予不同的权重。
需要说明的是,所述预设数据集可为验证数据、训练数据集和测试数据集之中的至少一种数据集,具体可根据任务需求确定所述数据集。
步骤S106、根据预设的权重规则,计算每一所述数值组合对应的权重,所述权重用于表征在所述分类模型中所述若干评价指标的综合评价。
具体实施中,可根据分类任务需求,预先确定出模型对应的权重规则,进而明确不同评价指标在权重结果中的重要程度,即权重规则反映了任务对评价指标的关注程度,这样通过权重来综合评价模型的超参数。
步骤S108、建立所述数值组合与所述权重的映射关系。
具体实施中,可将所述数值组合与所述权重的建立出搜索矩阵,通过矩阵搜索算法来快速地根据所述权重搜索出对应的所述数值组合,即所述数值组合中的超参数的取值。
步骤S110、确定所述分类模型的最优超参数,所述最优超参数为在所述映射关系中,最大的所述权重所对应的所述数值组合中的超参数。
通过上述步骤S102~S110,采用数组组合可有效地覆盖全局最优的超参数的取值组合,从而使得最优超参数在取值时就被有效覆盖到而得以保留下来,通过采用权重融合多个评价指标,可对所述数值组合下的模型作出有效的综合评价,并在建立数值组合与权重的映射关系后,可快速地从该映射关系中确定出任务中模型的最优超参数,提高调优效率,从而可在大量任务量中,能快速、有效地确定出每个任务对应的模型的最优超参数。
在一个优选的实施方式中,所述若干评价指标包括精确率和召回率,这时所述权重可包括表征所述精确率和所述召回率的F值,其中可按以下公式计算每一所述数值组合对应的F值:
其中,β为预设数值,β用于表征召回率的权重是精确率的权重的倍数。
具体实施中,β可根据具体任务进行预设,例如在精确率和召回率都很重要的任务中,这时β可取1,表示精确率的权重和召回率的权重同等重要,而在精确率更重要的任务中,那就将β预设为小于1的数值,在召回率更重要的任务中,那就将β预设为大于1的数值。因此,通过预设β,增强了分类模型的泛化能力,并在模型应用在多个任务中时,就可利用前述步骤S102~S110,同时对多个任务确定出对应模型的最优超参数,保证了每个任务所采用的模型都能确定出最优超参数。
又在一个优选的实施方式中,在建立所述数值组合与所述权重的映射关系后,还可将所述映射关系通过热力图的方式展示出来,这样调优情况更直观,调优人员也可直观地、快速地判断全局最优超参数的分布情况,调优人员也可直观地判断所确定出的最优超参数是否全局最优,这样调优人员可进一步确定出更符合任务实际情况、实现所需环境等的最优超参数。具体地,在建立所述映射关系后,所述超参数确定方法还包括:采用热力图展示所述映射关系。
再在一个优选的实施方式中,当存在多个最大的所述权重时,可按预设的超参数选取策略,从多个最大的所述权重所对应的所述数值组合中确定一个所述数值组合作为所述分类模型的最优超参数,其中超参数选取策略可根据具体任务需求进行预设,比如,在各个超参数的重要程度不好区分的任务中时,可采用随机策略,随机地从这些最大的权重所对应的数值组合中选取一个作为最优超参数,又比如,在各个超参数可以分出重要程度的任务中,可根据超参数的重要程度,从而可将最重要的超参数作为选取策略的主要参考,如在确定出的最大的权重对应的多个数值组合中,以该最重要的超参数的取值为参考,进而将包括该最重要的超参数的第二个取值的那一组数值组合作为模型的超参数的最优值,进而可避免选取的偶然性。
这里以一个任务中确定模型超参数为例进行说明。为便于理解和说明,评价指标包括精确率和召回率,超参数包括长度和宽度,其中长度在0~5.0取值范围内以步进0.5进行取值,即长度有11个取值,宽度在1~20取值范围内以步进1进行取值,即宽度有20个取值,这样数值组合的数量就为220个,并将这220个数值组合作为模型的超参数的取值,从而获得不同的数值组合下模型的综合评价(即权重),其中前述β取值为2,即在任务中召回率的权重为精确率的权重的2倍,这样以横坐标为长度,纵坐标为宽度,横坐标和纵坐标交叉点为权重,建立一个搜索矩阵(即映射关系),并采用热力图展示所述映射关系,结果如图4所示。从图中可知,所获得的权重的最大值为0.85,此时0.85对应的长度和宽度取值情况有多种组合,即最大的权重对应有多个所述数值组合,具体包括(1.0,16)、(1.0,17)、(1.0,18)、(1.0,19)、(1.0,20)、(3.5,8)、(4.0,4)、(4.0,7)、(4.5,2)、(4.5,3)、(4.5,4)、(4.5,5)、(4.5,6)、(4.5,7)、(5.0,2)、(5.0,3)、(5.0,4)、(5.0,5)、(5.0,6)和(5.0,7),这里以长度为选取策略的主要参考依据,从而将包括长度的第二个取值的(1.0,17)组合(如图中虚线框所示)作为最优超参数。
本说明书实施例中提供的超参数确定方法,可采用分布式缓存系统存储所述数值组合、所述映射关系等数据,其中所述映射关系可采用key-value结构存储,分布式缓存系统可优选Memcached、Redis、Tair等分布式缓存系统。
基于同一个发明构思,本说明书实施例中还提供与前述超参数确定方法对应的装置、设备以及非易失性计算机存储介质。
鉴于前述实施例中对所述超参数确定方法已进行了详细说明,下面实施例中对装置、设备以及非易失性计算机存储介质所涉及的相应内容将不再赘述。
如图5所示,其中虚线方框表示可选的模块,所述超参数确定装置10包括第一获取模块11、第二获取模块12、计算模块13、映射模块14和确定模块15。
本实施中,第一获取模块11用于获取预设数量的数值组合,所述数值组合包括分类模型的每个超参数的一个取值;第二获取模块12用于获取所述分类模型在预设数据集上每一所述数值组合对应的若干评价指标;计算模块13用于根据预设的权重规则,计算每一所述数值组合对应的权重,所述权重用于表征在所述分类模型中所述若干评价指标的综合评价;映射模块14用于建立所述数值组合与所述权重的映射关系;确定模块15用于确定所述分类模型的最优超参数,所述最优超参数为在所述映射关系中,最大的所述权重所对应的所述数值组合中的超参数。
可选地,第一获取模块11用于在各个所述超参数的取值范围内,随机选取所述每个超参数的一个取值,并根据选取的所述每个超参数的取值构成预设数量的所述数值组合。
可选地,所述超参数确定装置10还包括域空间模块16,域空间模块16用于将所述每个超参数采用域空间表示。
可选地,超参数确定装置10还包括展示模块17,展示模块17用于在映射模块14建立所述映射关系后,采用热力图展示所述映射关系。
可选地,当存在多个最大的所述权重时,确定模块15用于按预设的选取策略,从多个最大的所述权重所对应的所述数值组合确定一个所述分类模型的超参数的最优值。
可选地,前述任意一项超参数确定装置10中,所述若干评价指标包括精确率和召回率;此时计算模块13用于按以下公式计算每一所述数值组合对应的权重:
其中,β为预设数值,β用于表征召回率的权重是精确率的权重的倍数。
基于同一个发明构思,本说明书实施例中提供的用于确定超参数的电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取预设数量的数值组合,所述数值组合包括分类模型的每个超参数的一个取值;
获取所述分类模型在数据集上每一所述数值组合对应的若干评价指标;
根据预设的权重规则,计算每一所述数值组合对应的权重,所述权重用于表征在所述分类模型中所述若干评价指标的综合评价;
建立所述数值组合与所述权重的映射关系;
确定所述分类模型的最优超参数,所述最优超参数为在所述映射关系中,最大的所述权重所对应的所述数值组合中的超参数。
基于同样的思路,本说明书实施例提供一种与所述超参数确定方法对应的非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
获取预设数量的数值组合,所述数值组合包括分类模型的每个超参数的一个取值;
获取所述分类模型在数据集上每一所述数值组合对应的若干评价指标;
根据预设的权重规则,计算每一所述数值组合对应的权重,所述权重用于表征在所述分类模型中所述若干评价指标的综合评价;
建立所述数值组合与所述权重的映射关系;
确定所述分类模型的最优超参数,所述最优超参数为在所述映射关系中,最大的所述权重所对应的所述数值组合中的超参数。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备、非易失性计算机存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。