发明内容
本发明实施例提供一种数据处理方法、装置、设备及计算机可读存储介质,用以解决现有技术的方法均严重依赖个人的知识和经验,反复多轮调试耗费大量硬件资源和人力成本,导致模型训练耗时很长,效率很低的问题。
一方面,本发明实施例提供一种数据处理方法,包括:在进行模型训练时,根据元知识资源库进行模型超参数的初始化,所述元知识资源库中包括多条元知识,所述元知识包括数据集的数据元特征和所述数据集用于模型训练时产生的模型元特征;根据所述元知识资源库和预先配置的早停控制策略,提前停止无效超参数组合的训练过程。
在一种可能的设计中,所述在进行模型训练时,基于所述元知识资源库进行模型超参数的初始化,包括:在模型训练时,确定当前所配置的数据集的数据元特征;根据所述当前所配置的数据集的数据元特征与元知识资源库中元知识的数据元特征的相似度,确定至少一条相似元知识;根据所述至少一条相似元知识的模型元特征中的超参数组合,进行模型超参数的初始化。
在一种可能的设计中,所述根据所述元知识资源库和预先配置的早停控制策略,提前停止无效超参数组合的训练过程,包括:在基于当前配置的超参数组合的训练过程中,确定当前的训练曲线;根据模型元特征中的训练曲线与所述当前的训练曲线的相似度,确定至少一条相似元知识;根据所述至少一条相似元知识,以及预先配置的早停控制策略,确定是否提前停止所述超参数组合的训练过程。
在一种可能的设计中,所述根据所述至少一条相似元知识,以及预先配置的早停控制策略,确定是否提前停止所述超参数组合的训练过程,包括:将所述当前的训练曲线与所述至少一条相似元知识的训练曲线进行比对;若根据比对结果以及所述早停控制策略,确定所述当前配置的超参数组合是无效超参数组合,则停止所述超参数组合的训练过程。
在一种可能的设计中,所述训练曲线包括以下至少一项:损失函数曲线,模型精度评估曲线。
在一种可能的设计中,所述方法还包括:获取元知识资源库。
在一种可能的设计中,所述获取元知识资源库,包括:根据数据集的模型训练任务属性,确定数据集的数据元特征;在使用所述数据集进行模型训练的过程中,根据每一组超参数组合的训练过程产生的训练过程数据,生成所述数据集的一个模型元特征;根据所述数据集的标识、数据元特征和一个模型元特征生成一条元知识;将生成的元知识添加到所述元知识资源库。
在一种可能的设计中,所述根据数据集的模型训练任务属性,确定数据集的数据元特征,包括:根据数据集的模型训练任务属性,确定数据集对应的元特征指标集;计算所述数据集对应的元特征指标集中所有元特征指标;根据所述数据集的模型训练任务属性,以及所述所有元特征指标,生成所述数据集的数据元特征。
在一种可能的设计中,在使用所述数据集进行模型训练的过程中,根据每一组超参数组合的训练过程产生的训练过程数据,生成所述数据集的一个模型元特征,包括:针对所述数据集,配置多个模型训练任务;执行每个所述模型训练任务过程中时,根据每一组超参数组合的训练过程产生的训练过程数据,生成所述数据集的一个模型元特征。
在一种可能的设计中,所述方法还包括:在所述模型训练过程中,记录当前所配置的数据集的数据元特征和模型元特征;根据所述当前所配置的数据集的数据元特征和模型元特征生成对应的元知识;将生成的元知识添加到所述元知识资源库。
在一种可能的设计中,所述将生成的元知识添加到元知识资源库,包括:
采用多样性度量算法,确定生成的元知识对所述元知识资源库的多样性贡献值;若所述多样性贡献值大于预设贡献阈值,则将所述生成的元知识添加到所述元知识资源库。
在一种可能的设计中,所述方法还包括:合并所述元知识资源库中相似的元知识;删除所述元知识资源库中满足预设质量条件的元知识。
在一种可能的设计中,所述训练过程数据包括以下至少一项:配置参数,超参数组合,训练曲线和训练结束时的评估指标。
在一种可能的设计中,所述方法还包括:将模型训练过程中的相关信息进行可视化展示。
另一方面,本发明实施例提供一种数据处理装置,包括:超参数初始化模块,用于在进行模型训练时,根据元知识资源库进行模型超参数的初始化,所述元知识资源库中包括多条元知识,所述元知识包括数据集的数据元特征和所述数据集用于模型训练时产生的模型元特征;模型训练早停控制模块,用于根据所述元知识资源库和预先配置的早停控制策略,提前停止无效超参数组合的训练过程。
在一种可能的设计中,所述超参数初始化模块还用于:在模型训练时,确定当前所配置的数据集的数据元特征;根据所述当前所配置的数据集的数据元特征与元知识资源库中元知识的数据元特征的相似度,确定至少一条相似元知识;根据所述至少一条相似元知识的模型元特征中的超参数组合,进行模型超参数的初始化。
在一种可能的设计中,所述模型训练早停控制模块还用于:在基于当前配置的超参数组合的训练过程中,确定当前的训练曲线;根据模型元特征中的训练曲线与所述当前的训练曲线的相似度,确定至少一条相似元知识;根据所述至少一条相似元知识,以及预先配置的早停控制策略,确定是否提前停止所述超参数组合的训练过程。
在一种可能的设计中,所述模型训练早停控制模块还用于:将所述当前的训练曲线与所述至少一条相似元知识的训练曲线进行比对;若根据比对结果以及所述早停控制策略,确定所述当前配置的超参数组合是无效超参数组合,则停止所述超参数组合的训练过程。
在一种可能的设计中,所述训练曲线包括以下至少一项:损失函数曲线,模型精度评估曲线。
在一种可能的设计中,所述装置还包括:元知识处理模块,用于获取元知识资源库。
在一种可能的设计中,所述元知识处理模块还用于:根据数据集的模型训练任务属性,确定数据集的数据元特征;在使用所述数据集进行模型训练的过程中,根据每一组超参数组合的训练过程产生的训练过程数据,生成所述数据集的一个模型元特征;根据所述数据集的标识、数据元特征和一个模型元特征生成一条元知识;将生成的元知识添加到所述元知识资源库。
在一种可能的设计中,所述元知识处理模块还用于:根据数据集的模型训练任务属性,确定数据集对应的元特征指标集;计算所述数据集对应的元特征指标集中所有元特征指标;根据所述数据集的模型训练任务属性,以及所述所有元特征指标,生成所述数据集的数据元特征。
在一种可能的设计中,所述元知识处理模块还用于:针对所述数据集,配置多个模型训练任务;执行每个所述模型训练任务过程中时,根据每一组超参数组合的训练过程产生的训练过程数据,生成所述数据集的一个模型元特征。
在一种可能的设计中,所述元知识处理模块还用于:在所述模型训练过程中,记录当前所配置的数据集的数据元特征和模型元特征;根据所述当前所配置的数据集的数据元特征和模型元特征生成对应的元知识;将生成的元知识添加到所述元知识资源库。
在一种可能的设计中,所述元知识处理模块还用于:采用多样性度量算法,确定生成的元知识对所述元知识资源库的多样性贡献值;若所述多样性贡献值大于预设贡献阈值,则将所述生成的元知识添加到所述元知识资源库。
在一种可能的设计中,所述元知识处理模块还用于:合并所述元知识资源库中相似的元知识;删除所述元知识资源库中满足预设质量条件的元知识。
在一种可能的设计中,所述训练过程数据包括以下至少一项:配置参数,超参数组合,训练曲线和训练结束时的评估指标。
在一种可能的设计中,所述装置还包括:可视化交互模块,用于将模型训练过程中的相关信息进行可视化展示。
另一方面,本发明实施例提供一种数据处理设备,包括:处理器,存储器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序;其中,所述处理器运行所述计算机程序时实现上述所述的数据处理方法。
另一方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的数据处理方法。
本发明实施例提供的数据处理方法、装置、设备及计算机可读存储介质,通过预先创建和维护由包括数据集的数据元特征和数据集用于模型训练时产生的模型元特征的元知识构成的元知识资源库,能够将模型训练的经验数据以结构化地形式存储;进一步地,在进行模型训练时,根据元知识资源库进行模型超参数的初始化;根据元知识资源库和预先配置的早停控制策略,提前停止无效超参数组合的训练过程,既能够依据模型训练的经验数据指导模型训练,无需依赖某个人的知识和经验,还可以减少无需超参数组合的训练过程,缩短模型训练耗时,提高模型训练效率,并且可以减少模型训练的硬件资源和人力成本。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本发明实施例所涉及的术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
另外,本实施例中,所提到的模型训练过程包括使用数据集对初始模型进行训练得到最终的机器学习模型的过程,包括将数据集拆分为训练集和验证集,通过训练集进行训练和通过验证集进行评估的过程。
本发明实施例可以应用于如图1所示的元知识迁移应用系统架构,自下而上可分为“基础设施层”、“引擎框架与任务调度层”、“元知识管理与迁移组件层”和“应用层”四个层次。元知识迁移应用系统用于将采集的元知识资源库用于在模型训练过程中指导模型超参数组合的搜索,以及提前停止无效超参数组合的训练/评估过程,以减少硬件资源占用和时间消耗。
其中,“基础设施层”主要包括处理器设备,用于提供存储服务的存储器设备,和用于提供网络通信服务的通信设备等。例如,如图1所示,处理器设备可以由中央处理器(central processing unit,简称CPU)、图形处理器(Graphics Processing Unit,简称GPU)、或者现场可编程门阵列(Field Programmable Gate Array,简称FPGA)的异构集群等;存储器设备可以是固态驱动器(Solid State Disk或Solid State Drive,简称SSD)、Ceph 分布式文件系统、Hadoop分布式文件系统(Hadoop Distributed File System,简称HDFS)、获取其他能够提供存储服务的存储器设备。
“引擎框架与任务调度层”主要包括“机器学习/深度学习框架”、“自动机器学习引擎”、“模型训练/评估引擎”、“模型训练早停控制器”以及为模型元知识采集、更新和迁移任务提供运行基础的任务调度和服务编排引擎等功能模块。
“元知识管理与迁移组件层”主要包括“元知识采集模块”、“元知识迁移模块”、“元知识更新模块”、“元知识资源库”、超参数的“搜索空间管理模块”、“模型仓库”等功能模块。
“应用层”主要包括“模型训练任务设计器”、“元知识迁移策略设计器”、“模型训练任务监控面板”等功能模块,以及其面向本系统使用用户的可视化界面(如图中所示的WebUI(Web User Interface,网络用户界面))。
元知识迁移应用系统架构中,各组件/模块之间基于微服务架构设计,有机整合,实现模型元知识的采集、更新和迁移应用。
具体地,该系统包含的各功能模块以及功能模块之间相互协作关系如下:
(A)处理器设备:属于基础设施,为模型训练/评估、模型元知识采集、更新和迁移应用以及系统其它基础服务任务提供稳健的运行环境。例如, CPU/GPU/FPGA异构集群。
(B)存储器设备:属于基础设施,为模型训练/评估的数据集、(H)元知识资源库、(I)搜索空间管理模块、(J)模型仓库、镜像仓库以及系统其它基础服务所依赖和产生的数据等提供存储服务。例如,HBase/Ceph/HDFS 等存储服务的设备。
(C)通信设备:属于基础设施,为系统中各组件/模块之间的数据传输、信号传递提供基础网络通信服务。
(D)机器学习/深度学习框架:是模型元知识迁移应用和模型训练/评估的软件框架基础,包括:Tensorflow、Pytorch、Caffe、Keras、MxNet或者 Scikit-Learn等,系统后台根据用户在(N)模型训练任务设计器中配置的对基础框架的偏好基于容器技术自动将对应的框架和依赖的软件包打包成独立、差异化的镜像文件,并将镜像文件及其元信息保存至镜像仓库中;在(E)自动机器学习引擎和(F)模型训练/评估引擎需要进行启动机器学习和模型训练/评估之前,从镜像仓库中获取对应的镜像文件启动1个或多个容器执行超参数搜索和模型训练/评估任务,而无需运维搭建运行环境。
(E)自动机器学习引擎:是指根据用户在(N)模型训练任务设计器中配置的模型自动训练任务,以(L)元知识迁移模块从(H)元知识资源库提取匹配的元知识为指导,进行模型超参数的搜索和模型训练的引擎。(E)自动机器学习引擎,能够根据待处理的任务,在一定的超参数搜索空间中对机器学习模型的超参数进行自动搜索,从而完成机器学习模型的训练,可以实现超参数的自动优化,避免了人工因素的干扰。本实施例中,自动机器学习引擎在超参数搜索时以元知识为指导,解决超参数搜索的“冷启动”问题,减少不必要的超参数搜索次数,并通过(G)模型训练早停控制器来提前终止部分无效超参数组合的训练/评估,从而加快模型的训练,介绍硬件资源占用。
(F)模型训练/评估引擎:基于K8S进行模型训练/评估任务调度和资源分配,提供模型训练/评估所需的弹性硬件资源和基于(N)模型训练任务设计器中配置的容器镜像启动的容器,接收(E)自动机器学习引擎分发的模型训练/评估任务,从(B)HBase/Ceph/HDFS等存储服务中加载(N)模型训练任务设计器中配置的训练集和验证集,进行模型的训练和权重参数的更新,并将模型训练过程的监控信息反馈至(P)元知识迁移策略设计器。其中监控信息可以包括具体模型采用的超参数组合、模型迭代更新过程中模型在训练集和验证集上的性能表现、运行时长、运行状态等。最后,将模型性能最优的N个模型、权重参数及模型元数据信息保存至(J)模型仓库中。
(G)模型训练早停控制器:是指根据用户在(O)元知识迁移策略设计器中配置的早停控制策略,通过将模型训练/评估过程中实时采集的训练曲线与(H)元知识资源库中的详细任务的训练曲线进行计算对比,从而决定是否提前终止部分无效超参数组合的训练/评估过程的控制单元。
(H)元知识资源库:是指对(K)元知识采集模块根据元特征指标体系在历史模型训练任务中计算、采集的元知识进行统一保存和管理的仓库,是(L)元知识迁移模块的核心基础。
(I)搜索空间管理模块:对机器学习基础算法各超参数搜索空间的范围进行管理,一方面为(E)自动机器学习引擎中的超参数搜索任务提供空间搜索范围;另一方面,也可用于用户在(N)模型训练任务设计器中选择高级选项进行搜索空间的定义、编辑、可视化对比等。
(J)模型仓库:是指具体自动机器学习任务学习得到的模型性能最优的 N个模型、权重参数及模型元数据信息的管理仓库,提供模型元数据信息的预览对比、模型的多维度分类、排序、搜索等功能。
(K)元知识采集模块:包括元特征指标体系、元特征计算单元和元特征采集、存储单元等,将模型训练过程中基于元特征指标体系计算、采集的元知识保存至(H)元知识资源库。
(L)元知识迁移模块:包括元知识相似性度量算法库、相似元知识匹配排序单元和元知识迁移单元等,该模块负责两方面的元知识迁移:1)根据用户在(O)元知识迁移策略设计器中配置元知识迁移策略,从元知识相似性度量算法库选择相应的算法,从(H)元知识资源库中匹配出相似的元知识指导模型超参数组合的搜索;2)将模型训练/评估过程中实时采集的训练曲线与(H)元知识资源库中的相似任务的训练曲线进行计算对比,并将结果反馈给(G)模型训练早停控制器,用于减少无效超参数组合训练/评估过程的硬件资源占用和时间消耗。
(M)元知识更新模块:包括元知识多样性度量指标库、元知识多样性计算单元和元知识资源增删改单元等。该模块负责基于元知识多样性度量指标对元知识资源库进行元知识多样性的度量和更新,包括增加新的元知识、剔除重复或低质的元知识和元知识的合并更新等。
(N)模型训练任务设计器:为模型构建人员提供设计自动机器学习任务的直观、可视化配置界面,配置内容包括:1)模型训练需要的加工好的训练集和验证集,包括特征变量和目标变量的配置;2)自动模型训练任务运行的硬件资源类型(例如CPU/GPU)和数量、运行终止条件(例如迭代次数、运行时长阈值、模型精度阈值等)、期望保存的性能最优模型文件以及超参数组合结果的数量等等;3)在(I)搜索空间管理模块中根据具体任务自定义的超参数搜索空间,这是一个可选的配置内容;4)超参数优化算法,系统默认会根据学术界的公开评测选择当前最优算法,这是一个可选的配置内容。
(O)元知识迁移策略设计器:包括两方面元知识迁移策略的设计:1)模型训练早停策略,系统内置多种早停控制方法,用户可选择其中一种或多种,系统将模型训练/评估过程中实时采集的训练曲线与(H)元知识资源库中的相似任务的训练曲线进行计算对比,然后根据选定的早停控制方法决定是否提前终止部分无效超参数组合的训练过程;2)元知识相似性度量和排序策略,系统内置多种相似性度量和排序算法,用户可选择其中一种或多种,也可以根据统一接口自定义相似性度量和排序算法。
(P)模型训练任务监控面板:主要提供具体自动机器学习任务模型训练过程信息的可视化展示、对比,模型构建人员可结合自身专业知识,通过对模型性能表现及其对应的超参数组合、超参数搜索空间分析,从中提取见解,指导(D)超参数搜索空间管理模块中超参数搜索空间的定义优化以及(C)自动机器学习任务设计器中相关参数的设置。其中,训练过程信息可以包括模型采用的超参数组合、模型迭代更新过程中模型在训练集和验证集上的性能表现、运行时长、运行状态、对硬件资源的使用率等等。
本发明实施例提供了一套完整的元知识迁移应用系统,通过抽象出“自动机器学习引擎”、“模型训练/评估引擎”、“训练早停控制器”、“元知识采集模块”、“元知识迁移模块”、“元知识更新模块”、“元知识资源库”、“超参数搜索空间仓库”、“模型仓库”、“模型训练任务设计器”、“元知识迁移策略设计器”等核心功能模块,并进行松耦合的连接交互,对模型元知识的采集、更新以及元知识迁移策略设计、基于迁移的元知识进行模型自动训练等繁琐流程和环节进行了统一的管理和优化。
需要说明的是,上述图1所示的系统架构是本实施例提供的一种可能的设计,本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图2为本发明实施例一提供的数据处理方法流程图。本发明实施例针对现有技术的方法均严重依赖个人的知识和经验,反复多轮调试耗费大量硬件资源和人力成本,导致模型训练耗时很长,效率很低的问题,提供了数据处理方法。如图2所示,该方法具体步骤如下:
步骤S101、在进行模型训练时,根据元知识资源库进行模型超参数的初始化,元知识资源库中包括多条元知识,元知识包括数据集的数据元特征和数据集用于模型训练时产生的模型元特征。
人类在开展一项工作时,会借鉴自己或其他人之前在相似工作上积累的经验知识。类似的,机器学习模型构建人员在具体数据集上训练一个机器学习模型时,往往有许多超参数需要设置和调整,也会参照自己之前的经验或其他人在相似任务上分享的经验总结。
本实施例中,将这种隐式的能够指导相似机器学习模型训练和调优的经验知识进行计算和采集,并以结构化的形式存储形成元知识,获取到的元知识构成元知识资源库。
本实施例中,可以预先创建元知识资源库,元知识资源库中包括多条元知识,元知识包括数据集的数据元特征和数据集用于模型训练时产生的模型元特征。
根据元知识资源库指导机器学习模型的训练过程,能够以系统的、自动化的方式指导如何更好更快的构建机器学习模型。
具体地,在进行模型训练时,根据当前配置的数据集的数据元特征,在知识资源库中匹配与当前配置的数据集的数据元特征相似度较高的元知识,将这些相似的元知识中包含的超参数组合,作为本次模型训练的超参数组合的初始值,来进行模型超参数的初始化,能够基于经验数据进行超参数初始化,解决了现有的超参数搜索算法的“冷启动”问题。
其中,元知识资源库中包括多条元知识,元知识包括数据集的数据元特征和数据集用于模型训练时产生的模型元特征。
数据集的数据元特征可以表示为(ID,Vd),ID表示数据集的标识,Vd为多维向量,Vd包含数据集的模型训练任务属性和特征数据。数据集的特征数据是通过对数据集的一项或者多项元特征指标进行计算得到的。
数据集的模型元特征是指通过数据集进行模型训练过程中产生的相关数据。数据集可以用于训练不同的模型,也可以反复多次用于训练同一个模型,因此一个数据集可以对用多个模型元特征。
另外,本实施例中,所提到的模型训练过程包括使用数据集对初始模型进行训练得到最终的机器学习模型的过程,包括将数据集拆分为训练集和验证集,通过训练集进行训练和通过验证集进行评估的过程。
示例性地,数据集的模型元特征包括使用数据集进行模型训练过程中的训练过程数据,训练过程数据包括以下至少一项:配置参数,各超参数的初始化值,训练曲线,评估指标等。配置参数包括以下至少一项:硬件资源类型(例如CPU/GPU)和数量、迭代次数、模型训练运行时长阈值、模型精度阈值。训练曲线包括以下至少一项:损失函数变化曲线、精度评估指标变化曲线。评估指标包括以下至少一项:准确率、召回率、相关系数的平方、均方根误差。
例如,数据集的模型元特征可以表示为(ID,Vsp,Vc,Vlc,Vac,Vm),其中ID表示数据集的标识,Vsp,Vc,Vlc,Vac,Vm均为多维向量,Vsp包括设置超参数搜索空间中各超参数的初始化值的相关数据,Vc包括硬件资源类型(CPU/GPU)和数量、迭代次数、模型训练运行时长阈值、模型精度阈值等配置参数的相关数据,Vlc包括模型在训练集或验证集上的损失函数变化曲线相关数据,Vac包括模型在训练集或验证集上的精度评估指标变化曲线相关数据, Vm包括模型训练结束时的精度评估指标的相关数据。
通过全局唯一的数据集ID将数据集的数据元特征和模型元特征关联起来,形成元知识。例如,元知识可以表示为(ID,Vd,Vsp,Vc,Vlc,Vac,Vm)。
本实施例中,描述数据集的特征的元特征指标体系如表1所示:
表1
步骤S102、根据元知识资源库和预先配置的早停控制策略,提前停止无效超参数组合的训练过程。
在模型训练过程中,根据配置的早停控制策略,通过将模型训练/评估过程中实时采集的训练曲线与元知识资源库中元知识的模型数据特征的训练曲线进行计算对比,来确定当前的超参数组合是否为无效的超参数组合,从而决定是否提前终止当前超参数组合的训练/评估过程,以提取终止部分无效超参数组合的训练/评估过程。
本发明实施例通过预先创建和维护由包括数据集的数据元特征和数据集用于模型训练时产生的模型元特征的元知识构成的元知识资源库,能够将模型训练的经验数据以结构化地形式存储;进一步地,在进行模型训练时,根据元知识资源库进行模型超参数的初始化;根据元知识资源库和预先配置的早停控制策略,提前停止无效超参数组合的训练过程,既能够依据模型训练的经验数据指导模型训练,无需依赖某个人的知识和经验,还可以减少无需超参数组合的训练过程,缩短模型训练耗时,提高模型训练效率,并且可以减少模型训练的硬件资源和人力成本。
图3为本发明实施例二提供的数据处理方法流程图;图4为本发明实施例二提供的元知识采集流程示意图;图5为本发明实施例二提供的元知识资源库更新流程示意图。在上述实施例一的基础上,本实施例中,创建元知识资源库和使用元知识资源库指导模型训练的过程可以为两个相对独立的过程。示例性地,可以由某一计算机设备专门用于创建元知识资源库,其他计算机设备在进行模型训练时,可以获取已创建的元知识资源库。本实施例对获取元知识资源库的具体流程进行详细地说明。如图3和图4所示,获取元知识资源库具体可以采用如下步骤实现:
步骤S201、数据集采集。
本实施例中,模型训练数据集的来源包括社区公开数据集和系统使用用户训练模型时使用的业务数据集。
对于用于训练模型的数据集,按照其对应的模型训练任务属性的不同,可以将数据集分类存储到如图1所示的Hbase/Ceph/HDFS存储服务等上的数据集仓库中。其中,模型训练任务属性至少包括:二分类、多分类、回归。
其中,社区公开数据集包括UCI、OpenML、Kaggle竞赛等的数据集,社区公开数据集上数据元特征的采集可以采用异步、离线的方式进行计算、处理,一般用于(H)元知识资源库的初始化阶段;业务数据集上的数据元特征可以在系统用户进行模型训练过程中进行计算、处理,系统自动将其保存。无论是对哪种数据集,其数据元特征的采集过程都一样,本实施例中对任意一个数据集的数据元特征为例进行说明,详见步骤S202-S204。
步骤S202、根据数据集的模型训练任务属性,确定数据集的数据元特征。
其中,模型训练任务属性至少包括:二分类、多分类、回归。对于用于训练模型的数据集,按照其对应的模型训练任务属性的不同,可以将数据集分类存储到如图1所示的Hbase/Ceph/HDFS存储服务等上的数据集仓库中。
本实施例中,根据数据集的模型训练任务属性,确定数据集的数据元特征,具体可以采用如下方式实现,包括:根据数据集的模型训练任务属性,确定数据集对应的元特征指标集;计算数据集对应的元特征指标集中所有元特征指标;根据数据集的模型训练任务属性,以及所有元特征指标,生成数据集的数据元特征。
具体的,可以为每种模型训练任务属性的数据集配置其对应的元特征指标集,元特征指标集包括元特征指标体系(如表1中所示)中的一个或者多个元特征指标。在计算数据集的数据元特征时,需要计算数据集对应的元特征指标集中的各项元特征指标的相关数据。
示例性地,如图4左侧部分所示,(K)元知识采集模块在计算数据集的数据元特征时,可以从元特征指标体系中配置需要计算的元特征指标初始化元特征计算单元;然后启动元特征计算任务,计算数据集对应的元特征指标集中所有元特征指标;还可以基于元特征处理单元对计算得到的元特征指标进行进一步地整理处理,然后将处理后的元特征指标与数据集的标识和模型训练任务属性一起,结构化成为预先设定的数据元特征格式,得到数据集的数据元特征(ID,Vd)。例如,可以将处理后的元特征指标与数据集的模型训练任务属性按照预先设定的顺序构成一个多维向量Vd,将数据集标识与该多维向量关联生成数据集的数据元特征(ID,Vd)。
步骤S203、在使用数据集进行模型训练的过程中,根据每一组超参数组合的训练过程产生的训练过程数据,生成数据集的一个模型元特征。
本实施例中,每个数据集可以对应多个模型元特征。为了学习更多的经验数据,在使用数据集进行模型训练的过程中,对于每一种超参数组合,可以生成一个模型元特征,与数据集的数据元特征一起构成一天元知识。
具体地,该步骤具体可以采用如下方式实现:针对数据集,配置多个模型训练任务;执行每个模型训练任务过程中时,根据每一组超参数组合的训练过程产生的训练过程数据,生成数据集的一个模型元特征。
其中,训练过程数据包括以下至少一项:配置参数,各超参数的初始化值,训练曲线,评估指标等。配置参数包括以下至少一项:硬件资源类型(例如CPU/GPU)和数量、迭代次数、模型训练运行时长阈值、模型精度阈值。训练曲线包括以下至少一项:损失函数变化曲线、精度评估指标变化曲线。评估指标包括以下至少一项:准确率、召回率、相关系数的平方、均方根误差。
示例性地,对于上一步骤采集了数据元特征的每个数据集,可以以参数网格的方式在系统的模型训练设计器配置批量的模型训练任务。例如,等间隔地设置硬件资源类型(例如CPU/GPU)和数量、迭代次数、模型训练运行时长阈值、模型精度阈值等配置参数Vc,以及等间隔的设置超参数搜索空间中各超参数的初始化值Vsp,从而得到海量的在不同条件配置下的模型训练任务。然后,启动这些任务,对模型训练/评估状态进行实时采集,包括模型在训练集/验证集上的损失函数变化曲线Vlc、精度评估指标变化曲线Vac等训练曲线,并基于元特征处理单元进行进一步整合处理。例如,对训练曲线的进一步处理包括以下至少一项:计算曲线在不同位点的一阶/二阶导数,不同滑动窗口内损失函数值的平均值和/或中位数,不同滑动窗口内评估指标的平均值和/或中位数等。最后,将数据集的标识与配置参数Vc、各超参数的初始化值Vsp、训练曲线Vlc和Vac和模型训练结束时的评估指标Vm一起,结构化成为预先设定的模型元特征的格式,得到数据集的模型元特征(ID,Vsp,Vc,Vlc, Vac,Vm)。
步骤S204、根据数据集的标识、数据元特征和一个模型元特征生成一条元知识。
本实施例中,在确定数据集的数据元特征和模型元特征之后,通过数据集的唯一标识,可以将数据集的数据元特征和模型元特征关联起来,形成元知识。例如,假设数据集的数据元特征为(ID,Vd),数据集的一个模型元特征(ID,Vsp,Vc,Vlc,Vac,Vm),可以得到数据集的一条元知识(ID,Vd,Vsp, Vc,Vlc,Vac,Vm)。
步骤S205、将生成的元知识添加到元知识资源库。
示例性地,对于生成的数据集的元知识,可以全部加入到元知识资源库。
本实施例中,为了提高元知识资源库中元知识的有效性,对于生成的元知识,并非毫无选择的追加到元知识资源库中,而是基于元知识多样性度量指标对元知识资源库进行元知识多样性的度量和更新,将能够增加元知识资源库多样性的新的元知识添加到元知识资源库,而对于不能够增加元知识资源库多样性的新的元知识,则不再添加到元知识资源库。
步骤S206、合并元知识资源库中相似的元知识,删除元知识资源库中满足预设质量条件的元知识。
如图5所示,对于采集得到的每一条元知识,从元知识多样性度量算法库中选择多样性度量算法;采用多样性度量算法,确定生成的元知识对元知识资源库的多样性贡献值;判断元知识是否增加元知识资源库多样性,如果元知识增加了元知识资源库多样性,则将该元知识增加到元知识资源库中;如果元知识未增加元知识资源库多样性,则继续对知识资源库中相似的元知识进行处理,进一步地从元知识相似性度量算法库中选择相似性度量算法,根据相似性度量算法从元知识资源库中筛选出相似的元知识,进行相似元知识的合并更新。
其中,元知识多样性度量算法库包括至少一个多样性度量算法,可以根据实际应用场景进行设定和修改,例如,可以是多样性指数,香农维纳指数,或者多种用于衡量多样性的指数的组合应用等等,本实施例此处不做具体限定。
相似性度量算法库包括至少一个相似性度量算法,可以根据实际应用场景进行设定和修改,例如,可以是余弦相似度、闵可夫斯基距离(Minkowski distance)、VDM(ValueDifference Metric)距离、KL散度(Kullback-Leibler Divergence)等,本实施例此处不做具体限定。
具体地,判断元知识是否增加元知识资源库多样性具体可以通过判断多样性贡献值是否大于预设贡献阈值来实现。若多样性贡献值大于预设贡献阈值,则确定元知识增加元知识资源库多样性;若多样性贡献值小于或者等于预设贡献阈值,则确定元知识未增加元知识资源库多样性。其中预设贡献阈值可以根据实际应用场景进行设定和修改,本实施例此处不做具体限定。
示例性地,还可以删除元知识资源库中满足预设质量条件的元知识。
满足预设质量条件的元知识为质量较差的元知识。满足预设质量条件包括以下至少一项:至少第一预设数量个维度的值是0,至少第二预设数量个维度的值都在预设范围内,每个维度的值都在预设范围内。其中,预设范围是一个接近0的范围。第一预设数量,第二预设数量和预设范围可以根据实际应用场景进行设定和修改,本实施例此处不做具体限定。
本实施例中,满足预设质量条件元知识是稀疏的元知识,元知识的多个维度的值是0、多个维度的值接近0、或者每个维度都非常接近0。
本实施例通过采集数据集的数据元特征和模型元特征,生成数据集用于模型训练过程的元知识,构成元知识资源库,实现了元知识资源库的构建和更新,可以将历史模型训练过程中的经验数据以结构化的方式存储,有效地将以往模型构建人员积累的宝贵经验以显式结构化的、便于共享复用的方式保存至元知识资源库,可以用于指导新模型进行高效地超参数搜索和训练,能够缩短模型训练耗时,提高模型训练效率。
图6为本发明实施例三提供的数据处理方法流程图;图7为本发明实施例三提供的元知识迁移应用流程示意图。在上述实施例一或实施例二的基础上,本实施例中,对利用元知识资源库进行模型训练的整体流程进行详细地说明。如图6所示,该方法具体步骤如下:
步骤S301、获取元知识资源库,元知识资源库中包括多条元知识,元知识包括数据集的数据元特征和数据集用于模型训练时产生的模型元特征。
本实施例中,创建元知识资源库和使用元知识资源库指导模型训练的过程可以为两个相对独立的过程。
示例性地,可以由某一计算机设备专门用于创建元知识资源库,其他计算机设备在进行模型训练时,可以获取已创建的元知识资源库。
示例性地,还可以由计算机设备在进行模型训练之前,先创建元知识资源库,然后进行模型训练,本实施例此处不做具体限定。
具体地,创建元知识资源库的过程可以参加上述实施例二,本实施例不再赘述。
本实施例中,元知识的迁移应用包括两个方面:一是,根据用户在(O)元知识迁移策略设计器中配置的元知识迁移策略,从元知识相似性度量算法库选择相应的相似性度量算法,从(H)元知识资源库中匹配出相似的元知识,通过相似的元知识来指导模型超参数组合的搜索;可以通过步骤S303实现。二是,将模型训练/评估过程中实时采集的训练曲线与(H)元知识资源库中的相似任务的训练曲线进行计算对比,并将结果反馈给(G)模型训练早停控制器,用于提前停止无效超参数组合的训练/评估过程,减少无效超参数组合训练/评估过程的硬件资源占用和时间消耗,可以通过步骤S304实现。
元知识迁移应用的具体流程如图7所示,图7中箭头线上的标号用于说明数据流转和信息传递的过程。图7中标号为1-12的箭头线表示元知识指导的模型自主训练过程,标号为13-16的箭头线表示训练过程数据采集反馈的过程,标号为17-18的箭头线表示元知识迁移策略控制过程,标号为19-21 的箭头线表示元知识采集和更新的过程,标号为22的箭头线表示模型入库的过程。
首先,如图7中所示,需要完成进行模型训练的一些配置,也就是完成模型训练任务设计。具体地,系统使用用户可以在(N)模型训练任务设计器中进行以下配置:1)模型训练需要的加工好的训练集和验证集,包括特征变量和目标变量的配置;2)自动模型训练任务运行的硬件资源类型(CPU/GPU)和数量、运行终止条件,期望保存的性能最优模型文件以及超参数组合结果的数量等等;其中,运行终止条件可以包括迭代次数、运行时长阈值、模型精度阈值等;3)在(I)搜索空间管理模块中根据具体任务自定义的超参数搜索空间,这是一个可选的配置;4)超参数优化算法,这是一个可选的配置,系统默认会根据学术界的公开评测选择当前最优算法。系统使用用户可以在(O)元知识迁移策略设计器中配置元知识相似性度量策略、排序策略和模型训练早停策略,用于元知识迁移策略控制的过程。
步骤S302、确定当前所配置的数据集的数据元特征。
在完成模型训练任务设计之后,通过元特征计算单元对当前配置的模型训练数据集计算对应的元特征指标,并进行后处理,数据集的数据元特征具体过程详见上述实施例二,本实施例此处不再赘述。
步骤S303、在进行模型训练时,根据元知识资源库进行模型超参数的初始化。
具体地,该步骤具体可以采用如下方式实现:在模型训练时,确定当前所配置的数据集的数据元特征;根据当前所配置的数据集的数据元特征与元知识资源库中元知识的数据元特征的相似度,确定至少一条相似元知识;根据至少一条相似元知识的模型元特征中的超参数组合,进行模型超参数的初始化。
示例性地,如图7所示,基于元知识相似性度量算法,计算步骤S302得到的数据元特征与元知识资源库中对应模型训练任务属性的元知识的数据元特征之间的相似度,然后根据用户在(O)元知识迁移策略设计器中配置的元知识相似性度量策略和排序策略,筛选出相似度高的至少一条相似元知识,确定至少一条相似元知识中对应的超参数组合Vsp;此过程随着模型自动训练过程持续迭代进行。
其中,排序策略可以按照模型训练结束时的精度评估指标Vm中的一个或多个维度进行排序,或者可以综合考虑模型训练所需的硬件资源、训练运行时长等指标进行排序,可以根据实际应用场景进行设定和修改,本实施例此处不做具体限定。然后,将确定的超参数组合Vsp用于(E)自动机器学习引擎中进行模型超参数的初始化,以解决超参数搜索算法的“冷启动”问题。
另外,在选定超参数组合后,(E)自动机器学习引擎将模型的训练/评估任务分发到(F)模型训练/评估引擎中,进行模型的迭代训练和评估,并将结果反馈给(E)自动机器学习引擎,以指导下一轮的超参数组合搜索。
步骤S304、根据元知识资源库和预先配置的早停控制策略,提前停止无效超参数组合的训练过程。
本实施例中,该步骤具体可以采用如下方式实现:在基于当前配置的超参数组合的训练过程中,确定当前的训练曲线;根据模型元特征中的训练曲线与当前的训练曲线的相似度,确定至少一条相似元知识;根据至少一条相似元知识,以及预先配置的早停控制策略,确定是否提前停止超参数组合的训练过程。
具体地,根据至少一条相似元知识,以及预先配置的早停控制策略,确定是否提前停止超参数组合的训练过程,可以采用如下方式实现:可以将当前的训练曲线与至少一条相似元知识的训练曲线进行比对;若根据比对结果以及早停控制策略,确定当前配置的超参数组合是无效超参数组合,则停止超参数组合的训练过程。
其中,训练曲线包括以下至少一项:损失函数曲线,模型精度评估曲线。
示例性地,将当前的训练曲线与至少一条相似元知识的训练曲线中的每一条训练曲线比对,或者将当前的训练曲线与至少一条相似元知识的训练曲线的综合结果进行比对。例如,可以将当前的训练曲线中几个关键位置的值与至少一条相似元知识的训练曲线中对应位置的值的中位数(也可以是平均值)进行比对;或者可以将当前的训练曲线中几个关键位置的斜率与至少一条相似元知识的训练曲线中对应位置的斜率的中位数(也可以是平均值)进行比对。
根据比对结果,如果当前的训练曲线较差,说明确定当前配置的超参数组合的性能较差,则可以确定当前配置的超参数组合是无效超参数组合。例如,如果根据筛选出来的损失函数曲线或精度评估曲线的后续趋势,损失值不会进一步降低或精度评估指标值不会进一步提升,说明当前的训练曲线较差,当前配置的超参数组合的性能较差,可以确定当前配置的超参数组合是无效超参数组合,提前终止当前这一组超参数组合的模型训练。
如图7所示,在某组超参数组合配置下,随着模型的训练迭代,系统计算模型在不同迭代次数处的损失函数值和模型精度评估指标值,即得到当前模型的损失函数曲线Vlc和精度评估曲线Vac,基于(O)元知识迁移策略设计器中配置元知识相似性度量算法和排序策略,计算、匹配出元知识资源库的元知识的训练曲线中,与当前模型的训练曲线Vlc和Vac通阶段相似的训练曲线,然后反馈给(G)模型训练早停控制器,并根据(O)元知识迁移策略设计器中配置早停控制策略决定是否提前停止对该组超参数组合下模型的继续训练和评估,用于减少无效超参数组合训练/评估过程的硬件资源占用和时间消耗。
本实施例中,元知识迁移策略控制过程(如图7中标号为17-18的箭头线),包含以下主要过程:一是元知识相似度度量算法和排序策略。用于元知识指导的模型自动训练过程(如图7中标号为1-12的箭头线)中相似度度量算法的控制和排序方法的控制;二是模型训练早停控制策略,用于元知识指导的模型自动训练过程(如图7中标号为1-12的箭头线)中早停判定方法的控制,例如,如果根据筛选出来的损失函数曲线或精度评估曲线的后续趋势,损失值不会进一步降低或精度评估指标值不会进一步提升,则提前终止本轮的模型训练。
步骤S305、在模型训练过程中,记录当前所配置的数据集的模型元特征。
如图7中标号为13-16的箭头线表示的过程,本实施例还可以包括训练过程数据采集反馈的过程。具体地,在某组超参数组合配置下,随着模型的训练迭代,参照上述实施例二中采集数据集的模型元特征的过程,本实施例此处不再赘述。
采集的训练过程数据的反馈可以包括以下至少一项:一是反馈给元知识相似性度量模块,用于从元知识资源库中匹配曲线相似的元知识;二是反馈给(P)模型训练任务监控面板进行训练状态的可视化,用于指导用户是否需求修改自己设定的元知识迁移策略;三是反馈给(K)元知识采集模块,用于元知识资源库的更新,这一过程可以采用步骤S306-S307实现。
示例性地,还可以将模型训练过程中的相关信息进行可视化展示。
步骤S306、根据当前所配置的数据集的数据元特征和模型元特征生成对应的元知识。
步骤S307、将生成的元知识添加到元知识资源库。
步骤S308、合并元知识资源库中相似的元知识,删除元知识资源库中满足预设质量条件的元知识。
步骤S306-S308与上述步骤S204-S206的实现方式一致,本实施例此处不再赘述。
另外,在模型训练完成后,如图7所示,标号为22的箭头线表示模型入库的过程,可以将最终训练得到模型、权重参数以及模型元数据信息等保存至(J)模型仓库。
本发明实施例能够基于元知识资源库中相似的元知识指导模型超参数组合的搜索,解决超参数搜索算法的“冷启动”问题和效率低下问题;并且基于元知识资源库中的相似任务的训练曲线,通过模型训练早停控制方法,提前终止部分无效超参数组合的训练/评估过程,大幅减少了无效超参数组合训练/评估过程的硬件资源占用和时间消耗。
图8为本发明实施例四提供的数据处理装置的结构示意图。本发明实施例提供的数据处理装置可以执行数据处理方法实施例提供的处理流程。如图8所示,该数据处理装置80包括:超参数初始化模块801和模型训练早停控制模块802。
具体地,超参数初始化模块801用于在进行模型训练时,根据元知识资源库进行模型超参数的初始化,元知识资源库中包括多条元知识,元知识包括数据集的数据元特征和数据集用于模型训练时产生的模型元特征。
模型训练早停控制模块802用于根据元知识资源库和预先配置的早停控制策略,提前停止无效超参数组合的训练过程。
本发明实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过预先创建和维护由包括数据集的数据元特征和数据集用于模型训练时产生的模型元特征的元知识构成的元知识资源库,能够将模型训练的经验数据以结构化地形式存储;进一步地,在进行模型训练时,根据元知识资源库进行模型超参数的初始化;根据元知识资源库和预先配置的早停控制策略,提前停止无效超参数组合的训练过程,既能够依据模型训练的经验数据指导模型训练,无需依赖某个人的知识和经验,还可以减少无需超参数组合的训练过程,缩短模型训练耗时,提高模型训练效率,并且可以减少模型训练的硬件资源和人力成本。
图9为本发明实施例五提供的数据处理装置的结构示意图。在上述实施例四的基础上,本实施例中,超参数初始化模块801还用于:在模型训练时,确定当前所配置的数据集的数据元特征;根据当前所配置的数据集的数据元特征与元知识资源库中元知识的数据元特征的相似度,确定至少一条相似元知识;根据至少一条相似元知识的模型元特征中的超参数组合,进行模型超参数的初始化。
在一种可能的设计中,模型训练早停控制模块802还用于:在基于当前配置的超参数组合的训练过程中,确定当前的训练曲线;根据模型元特征中的训练曲线与当前的训练曲线的相似度,确定至少一条相似元知识;根据至少一条相似元知识,以及预先配置的早停控制策略,确定是否提前停止超参数组合的训练过程。
在一种可能的设计中,模型训练早停控制模块802还用于:将当前的训练曲线与至少一条相似元知识的训练曲线进行比对;若根据比对结果以及早停控制策略,确定当前配置的超参数组合是无效超参数组合,则停止超参数组合的训练过程。
在一种可能的设计中,训练曲线包括以下至少一项:损失函数曲线,模型精度评估曲线。
在一种可能的设计中,如图9所示,数据处理装置80还包括:元知识处理模块803。元知识处理模块803用于获取元知识资源库。
在一种可能的设计中,元知识处理模块803还用于:根据数据集的模型训练任务属性,确定数据集的数据元特征;在使用数据集进行模型训练的过程中,根据每一组超参数组合的训练过程产生的训练过程数据,生成数据集的一个模型元特征;根据数据集的标识、数据元特征和一个模型元特征生成一条元知识;将生成的元知识添加到元知识资源库。
在一种可能的设计中,元知识处理模块803还用于:根据数据集的模型训练任务属性,确定数据集对应的元特征指标集;计算数据集对应的元特征指标集中所有元特征指标;根据数据集的模型训练任务属性,以及所有元特征指标,生成数据集的数据元特征。
在一种可能的设计中,元知识处理模块803还用于:针对数据集,配置多个模型训练任务;执行每个模型训练任务过程中时,根据每一组超参数组合的训练过程产生的训练过程数据,生成数据集的一个模型元特征。
在一种可能的设计中,元知识处理模块803还用于:在模型训练过程中,记录当前所配置的数据集的数据元特征和模型元特征;根据当前所配置的数据集的数据元特征和模型元特征生成对应的元知识;将生成的元知识添加到元知识资源库。
在一种可能的设计中,元知识处理模块803还用于:采用多样性度量算法,确定生成的元知识对元知识资源库的多样性贡献值;若多样性贡献值大于预设贡献阈值,则将生成的元知识添加到元知识资源库。
在一种可能的设计中,元知识处理模块803还用于:合并元知识资源库中相似的元知识;删除元知识资源库中满足预设质量条件的元知识。
在一种可能的设计中,训练过程数据包括以下至少一项:配置参数,超参数组合,训练曲线和训练结束时的评估指标。
在一种可能的设计中,数据处理装置还包括:可视化交互模块。
可视化交互模块用于将模型训练过程中的相关信息进行可视化展示。
本发明实施例提供的装置可以具体用于执行上述实施例二或者实施例三所提供的方法实施例,具体功能此处不再赘述。
本实施例通过采集数据集的数据元特征和模型元特征,生成数据集用于模型训练过程的元知识,构成元知识资源库,实现了元知识资源库的构建和更新,可以将历史模型训练过程中的经验数据以结构化的方式存储,有效地将以往模型构建人员积累的宝贵经验以显式结构化的、便于共享复用的方式保存至元知识资源库,可以用于指导新模型进行高效地超参数搜索和训练,能够缩短模型训练耗时,提高模型训练效率。进一步地,能够基于元知识资源库中相似的元知识指导模型超参数组合的搜索,解决超参数搜索算法的“冷启动”问题和效率低下问题;并且基于元知识资源库中的相似任务的训练曲线,通过模型训练早停控制方法,提前终止部分无效超参数组合的训练/评估过程,大幅减少了无效超参数组合训练/评估过程的硬件资源占用和时间消耗。
图10为本发明实施例六提供的数据处理设备的结构示意图。如图10所示,该数据处理设备100包括:处理器1001,存储器1002,以及存储在存储器1002上并可在处理器1001上运行的计算机程序。其中,处理器1001运行计算机程序时实现上述任一方法实施例提供的数据处理方法。
另外,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现上述任一方法实施例提供的数据处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。