模型优化方法、装置、存储介质及服务器与流程

文档序号:19894676发布日期:2020-02-11 13:07阅读:304来源:国知局
模型优化方法、装置、存储介质及服务器与流程

本申请涉及计算机技术领域,尤其涉及一种模型优化方法、一种模型优化装置、一种计算机存储介质及一种服务器。



背景技术:

随着机器学习技术的发展,机器学习技术被广泛应用于多种应用场景中,如人脸识别、语言识别、数据挖掘、语言翻译等应用场景。所谓机器学习技术可以是指通过机器学习模型学习样本数据的内在规律和特征,以使机器学习模型具有分析学习能力、能够识别文字、图像和声音等的技术。实践中发现,随着机器学习技术被广泛应用,用户对机器学习模型的学习能力及识别能力的要求也越来越高。因此,如何对机器学习模型进行优化,以提高机器学习模型的学习能力和识别能力是当前亟待解决的问题。



技术实现要素:

本申请实施例所要解决的技术问题在于,提供一种模型优化方法、装置、存储介质及电子设备,能够通过已优化的机器学习模型对待优化的机器学习模型进行优化。

一方面,本发明实施例提供一种模型优化方法,该方法包括:

获取第一机器学习模型及第二机器学习模型,所述第一机器学习模型为已优化的模型,所述第二机器学习模型为待优化的模型;

获取所述第一机器学习模型与所述第二机器学习模型之间的迁移学习信息,所述迁移学习信息包括被迁移的知识总量;

根据所述迁移学习信息对所述第一机器学习模型进行迁移学习,得到机器学习子模型;

采用所述机器学习子模型对所述第二机器学习模型进行优化,得到优化的第二机器学习模型。

一方面,本发明实施例提供一种模型优化装置,该装置包括:

获取单元,用于获取第一机器学习模型及第二机器学习模型,所述第一机器学习模型为已优化的模型,所述第二机器学习模型为待优化的模型;获取所述第一机器学习模型与所述第二机器学习模型之间的迁移学习信息,所述迁移学习信息包括被迁移的知识总量;

迁移学习单元,用于根据所述迁移学习信息对所述第一机器学习模型进行迁移学习,得到机器学习子模型;

优化单元,用于采用所述机器学习子模型对所述第二机器学习模型进行优化,得到优化的第二机器学习模型。

又一方面,本发明实施例提供了一种服务器,包括输入设备和输出设备,还包括:

处理器,适于实现一条或多条指令;以及,

计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如下步骤:

获取第一机器学习模型及第二机器学习模型,所述第一机器学习模型为已优化的模型,所述第二机器学习模型为待优化的模型;

获取所述第一机器学习模型与所述第二机器学习模型之间的迁移学习信息,所述迁移学习信息包括被迁移的知识总量;

根据所述迁移学习信息对所述第一机器学习模型进行迁移学习,得到机器学习子模型;

采用所述机器学习子模型对所述第二机器学习模型进行优化,得到优化的第二机器学习模型。

又一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如下步骤:

获取第一机器学习模型及第二机器学习模型,所述第一机器学习模型为已优化的模型,所述第二机器学习模型为待优化的模型;

获取所述第一机器学习模型与所述第二机器学习模型之间的迁移学习信息,所述迁移学习信息包括被迁移的知识总量;

根据所述迁移学习信息对所述第一机器学习模型进行迁移学习,得到机器学习子模型;

采用所述机器学习子模型对所述第二机器学习模型进行优化,得到优化的第二机器学习模型。

本申请实施例通过对已优化的第一机器学习模型进行迁移学习的方式,来对第二机器学习模型进行优化,在此过程中无需为第二机器学习模型的优化提供大量训练数据,这就降低了模型优化过程的数据获取难度,同时也可以提高模型优化的效率;另外,通过对已优化的第一机器学习模型进行迁移学习,能够得到适于目标任务的机器学习子模型,再采用机器学习子模型来对第二机器学习模型进行优化,这样使得被优化后的第二机器学习模型既包括第一机器学习模型中处理任务的知识,还包括第二机器学习模型自身用于处理任务的知识,这样使得优化后的第二机器学习模型变得更为定制化和个性化,且处理目任务的能力更优质。再次,本申请实施例的优化处理方案由于无需准备大量的训练数据,也无需对大量的训练数据进行迭代学习训练,这大大减少了模型优化过程所需要的资源,可适用于快速地对批量的机器学习模型进行优化,以满足各种优化需求。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种模型优化系统的架构示意图;

图2是本申请实施例提供的一种模型优化方法的流程示意图;

图3是本申请实施例提供的第一机器学习模型和机器学习子模型的结构示意图;

图4是本申请实施例提供的一种根据机器学习子模型的表达函数得到优化的第二机器学习模型的示意图;

图5是本申请实施例提供的另一种模型优化方法的流程示意图;

图6是本发明实施例提供的一种模型优化装置的结构示意图;

图7是本发明实施例提供的一种服务器的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实例中的机器学习模型是指具有分析学习能力、能够识别文字、图像或声音等功能的模型。按照学习训练的方式进行划分,机器学习模型可包括监督学习模型和无监督学习模型;监督学习模型是指采用带标注信息的训练数据进行学习训练所获得的满足性能要求的机器学习模型;无监督学习模型是指采用未带标注信息的训练数据进行学习训练所获得的满足性能要求的机器学习模型。按照处理任务的类别进行划分,机器学习模型可包括分类模型和回归模型;分类模型是指用于处理分类任务的机器学习模型,具体地,分类模型可用于识别待识别物的类别或属性,例如,用于预测明天天气的模型(即学习结果包括阴、晴或雨)、用于识别图像上的动物的类别的模型(如学习结果包括猫或狗)等等,此处学习结果是指机器学习模型对待处理的数据进行处理后的输出结果,即可以是指识别结果、预测结果等。尤其需要注意的是,分类模型输出的学习结果通常是离散的。回归模型是指用于处理回归任务的机器学习模型,回归模型的输出的学习结果通常是连续的,例如,用于预测明天温度的模型(如学习结果包括23度、24度或25度)等。进一步,分类模型具体可以包括但不限于:神经网络模型、决策树模型、随机森林模型、支持向量机模型等等;回归模型具体可以包括但不限于:线性回归模型、多项式回归模型、岭回归模型等等。在使用这些机器学习模型处理任务之前,通常需要对这些机器学习模型进行优化,以提高这些机器学习模型处理任务的性能,如提高学习准确度、提高学习效率等,此处任务可以是指数据分析处理、识别文字、图像或声音等任务。目前,通常采用大量训练数据来对待优化的机器学习模型进行训练,以对待优化的机器学习模型进行优化。实践中发现,上述现有的优化方案存在如下问题:1)训练数据可能涉及到个人隐私、企业机密等,导致获取大量训练数据的难度较大;2)优化的过程中需要消耗大量的资源,如时间资源、运算资源及存储资源。基于此,本申请实施例提出一种模型优化方案,本方案在优化过程中可以不需要大量训练数据,降低了对机器学习模型进行优化的难度以及避免获取大量训练数据所耗费的资源,同时可降低优化过程中所使用到的时间资源、运算资源及存储资源等等,并且本方案可适用于快速地对批量机器学习模型进行优化,以满足各种优化需求。

图1示出了本申请一个示例性实施例提供的一种模型优化系统的结构示意图,该模型优化系统包括服务器及至少一个终端。其中,终端是指面向用户的终端,终端可以是指面向使用机器学习模型的用户(即使用者)的终端,即终端具体可以是使用者用于执行机器学习模型获取操作,以及使用机器学习模型处理任务的终端。终端具体可以是智能手机、平板电脑、便携式个人计算机、智能手表、手环及智能电视等智能设备。服务器可以是一台独立的服务器、或由若干台服务器组成的服务器集群、或云计算中心。服务器能够用于为用户提供各种各样的机器学习模型,即服务器可以是指机器学习模型提供者用于建立及优化机器学习模型的设备,此处机器学习模型提供者可以是指提供机器学习模型的用户,如云服务商等。

图1所示的模型优化系统所运行的模型优化方案包括如下步骤1-4:1、获取已优化的第一机器学习模型及待优化的第二机器学习模型;2、获取第一机器学习模型与第二机器学习模型之间的迁移学习信息;此处迁移学习信息包括被迁移的知识总量,被迁移的知识总量为第一机器学习模型向第二机器学习模型迁移学习的知识总量;迁移学习是指以第一机器学习模型为参考对象,对第二机器学习模型进行调整,以实现对第二机器学习模型进行优化的过程;被迁移学习的知识是指第一机器学习模型的各个层级的参数。3、根据迁移学习信息对第一机器学习模型进行迁移学习,得到机器学习子模型。4、根据该机器学习子模型对第二机器学习模型进行优化,得到优化的第二机器学习模型。如上步骤可知,本申请实施例通过对已优化的第一机器学习模型进行迁移学习的方式,来对第二机器学习模型进行优化,在此过程中无需为第二机器学习模型的优化提供大量训练数据,这就降低了模型优化过程的数据获取难度,同时也可以提高模型优化的效率;另外,通过对已优化的第一机器学习模型进行迁移学习,能够得到适于目标任务的机器学习子模型,再采用机器学习子模型来对第二机器学习模型进行优化,这样使得被优化后的第二机器学习模型既包括第一机器学习模型中处理任务的知识,还包括第二机器学习模型自身用于处理任务的知识,这样使得优化后的第二机器学习模型变得更为定制化和个性化,且处理目任务的能力更优质。再次,本申请实施例的优化处理方案由于无需准备大量的训练数据,也无需对大量的训练数据进行迭代学习训练,这大大减少了模型优化过程所需要的资源,可适用于快速地对批量的机器学习模型进行优化,以满足各种优化需求。

图2示出了本申请一个示例性实施例提供的一种模型优化方法的流程图,该方法可应用于图1中的服务器,即该方法可以由图1所示的服务器来执行,该方法具体包括如下步骤s101~s104。

s101、获取第一机器学习模型及第二机器学习模型,该第一机器学习模型为已优化的模型,该第二机器学习模型为待优化的模型。

机器学习模型通常是由多个层级联接而成的,各个层级具备不同的功能,相应地,各个层级具有不同的功能特征;例如,一个用于识别猫的机器学习模型可包括输入层、至少一个中间层、输出层;其中,输入层用于输入待识别数据(如一帧包含猫的图像),中间层用于获取该图像中的特征信息(例如识别该图像中的对象的特征如眼睛、腿等),输出层用于根据特征信息输出识别结果(如识别这些特征信息是否属于猫的特征信息,并给出识别结果)。当一个机器学习模型被建立后,该机器学习模型的每个层级的功能特征也是相对固定的,但每个机器学习模型的各个层级处理任务的性能是可优化的,即每个机器学习模型的各个层的参数是可优化的。由于不同的任务的处理逻辑是完全不同或部分不相同的,导致针对不同任务的机器学习模型的层级的功能特征存在完全不相同或部分不相同的情况。因此,不同的机器学习模型适用于处理不同的任务。当存在目标任务需要处理时,服务器需要获取一个新的机器学习模型来处理目标任务,目标任务是指待处理的任务,如数据分析处理、识别文字、图像或声音等任务。

为了提高机器学习模型处理任务的性能,服务器可以获取第一机器学习模型和第二机器学习模型。此处第一机器学习模型与第二机器学习模型可用于处理不同任务,但第一机器学习模型与第二机器学习模型相关联。此处相关联可以是指第一机器学习模型的模型类别与第二机器学习模型的模型类别相同或相似,或者,第一机器学习模型的层级与第二机器学习模型的层级具有相同或相似的功能特征,或者,这两个机器学习模型的层级的功能特征和模型类别均相似或相同。例如,假设第一机器学习模型为用于识别猫的机器学习模型,第二机器学习模型为用于识别狗的机器学习模型;第一机器学习模型中包括识别猫的特征(如眼睛、腿)的中间层,第二机器学习模型中包括识别狗的特征(如眼睛、腿)的中间层。由于猫的眼睛与狗的眼睛具有相似性,因此,第一机器学习模型中用于识别猫的眼睛的中间层与第二机器学习模型中用于识别狗的眼睛的中间层之间相似,即第一机器学习模型的层级与第二机器学习模型的层级具有相似的功能特征。同时,第一机器学习模型与第二机器学习模型均为分类模型,因此,可称第一机器学习模型与第二机器学习模型之间相关联。其中,第一机器学习模型为已优化的模型,即第一机器学习模型处理任务的性能已经被优化到收敛状态,也即第一机器学习模型处理任务的性能比较好,可用于对第二机器学习模型进行优化。在一种实施方式中,服务器的机器学习模型库中存储了已优化的机器学习模型,当用户具有优化需求时,可以根据优化需求从机器学习模型库中筛选多个可用于对第二机器学习模型进行优化训练的机器学习模型的列表,由用户从列表中选择与第二机器学习模型相关联的第一机器学习模型。在另一种实施方式中,第一机器学习模型可以是服务器根据目标任务随机从机器学习模型库中选取或自动匹配得到的。第二机器学习模型为待优化的模型,即在第二机器学习模型被优化之前处理任务的性能比较差,此处第二机器学习模型可以根据少量与目标任务相关的训练数据训练得到的;第二机器学习模型被优化后,用于处理目标任务。

s102、获取该第一机器学习模型与该第二机器学习模型之间的迁移学习信息,该迁移学习信息包括被迁移的知识总量。

服务器可获取该第一机器学习模型与第二机器学习模型之间的迁移学习信息,以便可以根据迁移学习信息对第二机器学习模型进行优化。此处迁移学习信息包括被迁移的知识总量,即被迁移的知识总量为一次迁移学习过程中从第一机器学习模型向第二机器学习模型迁移学习的知识总量,被迁移的知识总量可以是机器学习模型的层级结构确定的,如层级结构包括层级数量或层级的功能特征。例如,被迁移的知识总量是根据第一机器学习模型的层级数量确定的,即被迁移的知识总量为大于等于0且小于等于第一机器学习模型的层级数量的整数。再如,被迁移的知识总量可以是根据机器学习模型的层级的功能特征确定的,即如果第一机器学习模型的层级的功能特征与第二机器学习模型的层级的功能特征的相似度较高,则被迁移的知识总量较多,这样可使优化的第二机器学习模型更加接近第一机器学习模型;如果第一机器学习模型的层级的功能特征与第二机器学习模型的层级的功能特征的相似度越小,则被迁移的知识总量较少,这样可使优化的第二机器学习模型与第一机器学习模型保持一定的差异。

s103、根据该迁移学习信息对该第一机器学习模型进行迁移学习,得到机器学习子模型。

s104、采用该机器学习子模型对该第二机器学习模型进行优化,得到优化的第二机器学习模型。

步骤s103~s104中,服务器可以根据该迁移学习信息将第一机器学习模型的知识向第二机器学习模型进行迁移,即将迁移学习信息作为迁移约束条件,并以第一机器学习模型为参考对象,对第二机器学习模型进行调整,得到调整后的第二机器学习模型,将该调整后的机器学习模型确定为机器学习子模型。进一步,采用机器学习子模型对第二机器学习模型进行优化,得到优化的第二机器学习模型。

需要说明的是,迁移学习信息还可包括迁移学习的次数,此时被迁移的知识总量可以是指一次迁移学习过程中被迁移的知识总量;迁移学习的次数可以为大于或等于1的正整数,对第一机器学习模型执行一次迁移学习,可得到一个机器学习子模型。因此,当迁移学习的次数为1时,根据迁移学习信息对第一机器学习模型进行迁移学习得到一个机器学习子模型,可将该机器学习子模型作为优化的第二机器学习模型。当迁移学习的次数为多次时,根据迁移学习信息对第一机器学习模型进行迁移学习,得到多个机器学习子模型,可从该多个机器学习子模型中筛选出最优的机器学习子模型(如处理任务的性能最优的机器学习子模型),将最优的机器学习子模型作为优化的第二机器学习模型;或者,对该多个机器学习子模型对应的表达函数进行平均化处理,以根据处理后的函数确定优化的第二机器学习模型。机器学习子模型对应的表达函数可以是指由机器学习子模型的各个层级的参数所构成的函数。

本申请实施例通过对已优化的第一机器学习模型进行迁移学习的方式,来对第二机器学习模型进行优化,在此过程中无需为第二机器学习模型的优化提供大量训练数据,这就降低了模型优化过程的数据获取难度,同时也可以提高模型优化的效率;另外,通过对已优化的第一机器学习模型进行迁移学习,能够得到适于目标任务的机器学习子模型,再采用机器学习子模型来对第二机器学习模型进行优化,这样使得被优化后的第二机器学习模型既包括第一机器学习模型中处理任务的知识,还包括第二机器学习模型自身用于处理任务的知识,这样使得优化后的第二机器学习模型变得更为定制化和个性化,且处理目任务的能力更优质。再次,本申请实施例的优化处理方案由于无需准备大量的训练数据,也无需对大量的训练数据进行迭代学习训练,这大大减少了模型优化过程所需要的资源,可适用于快速地对批量的机器学习模型进行优化,以满足各种优化需求。

在一个实施例中,上述步骤s101中获取第二机器学习模型的具体可包括如下步骤s11~s13。

s11、接收针对用于处理目标任务的模型建立请求,该模型建立请求包括该目标任务的第一属性信息及与该目标任务相关的训练数据集。

s12、根据该第一属性信息建立待训练的机器学习模型。

s13、采用与该目标任务相关的训练数据集对该待训练的机器学习模型进行训练,得到待优化的第二机器学习模型。

在步骤s11~s13中,当需要获取一个新的机器学习模型来处理目标任务时,终端可在各类用户界面输出模型获取操作的接口,此处的目标任务为待处理的任务,用户界面可包括但不限于:应用程序的服务页面、网页界面等。该接口可以是按键或选项,用户可通过操作该接口调起任务信息配置界面,该任务信息配置界面用于输入目标任务的相关信息,终端可从该任务信息配置界面获取目标任务的相关信息。此处目标任务的相关信息可包括目标任务的第一属性信息及与目标任务相关的训练数据集,目标任务的第一属性信息用于指示适用于处理目标任务的机器学习模型,与目标任务相关的训练数据集可用于对机器学习模型进行训练。此处与目标任务相关的训练数据集中所包含的训练数据量小于预设数据量阈值,即训练数据集中仅包含少量训练数据。进一步,终端可生成针对用于处理目标任务的模型建立请求,并将该模型建立请求发送至服务器,该模型建立请求携带目标任务的相关信息。服务器可接收该模型建立请求,根据第一属性信息建立待训练的机器学习模型,并采用与该目标任务相关的训练数据集对该待训练的机器学习模型进行训练,得到待优化的第二机器学习模型。需要说明是的,由于与目标任务相关的训练数据集中所包含的训练数据量小于预设数据量阈值,使采用训练数据集训练得到第二机器学习模型处理任务的性能较差,因此,需要对第二机器学习模型进一步优化。

在此实施例中,上述步骤s101中获取第一机器学习模型的具体可包括如下步骤s21~s22。

s21、接收对该第二机器学习模型进行优化的请求。

s22、从机器学习模型库中获取与该第一属性信息匹配的第一机器学习模型,该机器学习模型库包括至少一个已优化的机器学习模型。

其中,该第一属性信息包括:处理该目标任务的机器学习模型的模型类别、层级的功能特征信息、或处理该目标任务的机器学习模型的模型类别及层级的功能特征信息。

在步骤s21~s22中服务器可自动匹配与第二机器学习模型关联的第一机器学习模型,提高获取第一机器学习模型的效率。具体的,在获取到第二机器学习模型后,服务器可以向终端返回第二机器学习模型及第二机器学习模型的属性信息,此处第二机器学习模型的属性信息可包括第二机器学习模型处理任务的性能、适用范围、层级结构等。如果用户想要进一步优化第二机器学习模型时,可触发终端向服务器发送对该第二机器学习模型进行优化的请求。服务器可接收优化请求,并从机器学习模型库中获取与该第一属性信息匹配的第一机器学习模型,以便采用第一机器学习模型对第二机器学习模型进行优化。此处第一机器学习模型与第一属性信息匹配是指:第一机器学习模型与适用于处理目标任务的机器学习模型相关联,即第一机器学习模型与第二机器学习模型相关联。

可选的,上述步骤s101中获取第一机器学习模型的具体可包括如下步骤s31~s33。

s31、接收对该第二机器学习模型进行优化的请求。

s32、输出至少一个已优化的机器学习模型,及每个已优化的机器学习模型的第二属性信息,其中,该第二属性信息包括层级的功能特征信息、模型类别、或层级的功能特征信息和模型类别,该第二属性信息用于提示从至少一个已优化的机器学习模型选择与第二机器学习模型相关联的模型。

s33、响应于对该至少一个已优化的机器学习模型中任一模型执行的选择操作,将所选择的模型作为第一机器学习模型。

在步骤s31~s33中用户可手动选择与第二机器学习模型相关联的第一机器学习模型,提高人机交互性。具体的,服务器可以接收对该第二机器学习模型进行优化的请求,响应该请求,并向终端输出至少一个已优化的机器学习模型,及每个已优化的机器学习模型的第二属性信息。终端可在用户界面上展示该至少一个已优化的机器学习模型,及每个已优化的机器学习模型的第二属性信息,第二属性信息用于提示用户从至少一个已优化的机器学习模型中选择与第二机器学习模型相关联的模型。该用户界面上还可包括每个机器学习模型的选择项,该选择项用于用户对至少一个已优化的机器学习模型中模型执行选择操作。终端可从用户界面中获取用户所选择的机器学习模型,并将所选择的机器学习模型发送至服务器,服务器将所选择的机器学习模型作为第一机器学习模型。

在一个实施例中,步骤s102包括如下步骤s41~s43。

s41、按照该第一机器学习模型的层级结构对该第一机器学习模型进行拆分,得到多个参考层,每个该参考层对应一个层级序号。

s42、按照该第二机器学习模型的层级结构对该第二机器学习模型进行拆分,得到多个学习层;每个该学习层对应一个层级序号;具备相同层级序号的该参考层与该学习层相对应。

s43、根据该第一机器学习模型的参考层的数量确定该第一机器学习模型与该第二机器学习模型之间的迁移学习信息,该被迁移的知识总量为正整数且小于或等于该参考层的数量。

其中,该被迁移的知识为该第一机器学习模型中各参考层的参数;该迁移学习信息用于指示将该第一机器学习模型中的参考层的参数向该第二机器学习模型中对应的学习层进行迁移。

在步骤s41~s43中,为了实现更精细化的迁移学习,服务器可以按照该第一机器学习模型的层级结构对该第一机器学习模型进行拆分,得到多个参考层。此处多个参考层可包括输入参考层、至少一个特征参考层、输出参考层。其中,每个参考层对应一个层级序号,如输入参考层至输出参考层每层对应层级序号依次递增或递减。同理,服务器可按照该第二机器学习模型的层级结构对该第二机器学习模型进行拆分,得到多个学习层;多个学习层包括输入学习层、至少一个特征学习层、输出学习层。每个该学习层对应一个层级序号,如从输入学习层至输出学习层每层对应的层级序号依次递增或递减。第一机器学习模型的参考层的数量与第二机器学习模型的学习层的数量可以相同或不相同;由于第一机器学习模型与第二机器学习模型之间相关联,通常第一机器学习模型与第二机器学习模型的层级结构相同或相似;因此,具备相同层级序号的该参考层与该学习层相对应。例如,如图3所示,第一机器学习模型包括第一参考层、第二参考层及第三参考层,第一参考层、第二参考层及第三参考层对应的层级序号分别为1、2、3;第二机器学习模型包括第一学习层、第二学习层、第三学习层及输出学习层,第一学习层、第二学习层、第三学习层及输出学习层的层级序号分别为1、2、3、4。因此,第一参考层与第一学习层相对应,第二参考层与第二学习层相对应,第三参考层与第三学习层相对应,第一机器学习模型的输出参考层(图3中未示出)与第二机器学习模型的输出学习层相对应。通常具备相同层级序号的参考层与学习层之间功能特征相似度比较大,因此,迁移学习信息可指示将该第一机器学习模型中的参考层的参数向该第二机器学习模型中对应的学习层进行迁移,即可实现在特征功能的相似度较大的参考层与学习层之间进行知识迁移,提高迁移效率及迁移的准确度。

需要说明是的是,上述称第一机器学习模型包括输入参考层、特征参考层、输出参考层,第二机器学习模型包括输入学习层、特征学习层、输出学习层仅是便于区分。实质上,输入参考层是指第一机器学习模型的输入层,特征参考层是指第一机器学习模型的中间层,输出参考层是指第一机器学习模型的输出层。同理,输入学习层是指第二机器学习模型的输入层,特征学习层是指第二机器学习模型的中间层,输出学习层是指第二机器学习模型的输出层。

在此实施例中,步骤s103包括如下步骤s51~s53。

s51、根据该被迁移的知识总量确定在一次迁移学习过程中该第一机器学习模型中的各个参考层被迁移的知识量。

s52、根据该在一次迁移学习过程中该第一机器学习模型中的各个参考层被迁移的知识量确定该第一机器学习模型中的各个参考层的迁移方式。

s53、按照确定的该迁移方式对该第一机器学习模型中的各个参考层进行迁移学习,得到机器学习子模型。

在步骤s51~s53中可以实现以第一机器学习模型的参考层的参数为迁移单位进行迁移学习,可实现精细化的迁移学习,提高迁移学习的精度,即提高对模型优化的准确度。具体的,服务器可根据该被迁移的知识总量确定在一次迁移学习过程中该第一机器学习模型中的各个参考层被迁移的知识量,即该第一机器学习模型中的各个参考层被迁移的知识量之和等于被迁移的知识总量。各个参考层被迁移的知识量可以是根据参考层与对应学习层的功能特征的相似度确定的,如功能特征的相似度越大,对应参考层被迁移的知识量越多,以使对应的学习层与参考层更接近;功能特征的相似度越小,对应参考层被迁移的知识量越少,以使对应的学习层与参考层保持一定的差异;或者,功能特征不相似,则不对对应参考层的知识进行迁移,以使优化后的机器学习模型保持个性化。

进一步,服务器可以根据该在一次迁移学习过程中该第一机器学习模型中的各个参考层被迁移的知识量确定该第一机器学习模型中的各个参考层的迁移方式,可根据每个参考层被迁移的知识量自动学习出适合每个参考层的迁移学习方式,提高迁移学习的灵活性。此处迁移学习方式可包括冻结迁移方式、中间迁移方式、精调迁移方式。其中,冻结迁移方式是指采用第一机器学习模型的参考层的参数替换第二机器学习模型对应学习层的参数;精调迁移方式是指保持第二机器学习模型的学习层的参数不变,即不从第一机器学习模型对应的参考层迁移知识;中间迁移方式处于冻结迁移方式和精调迁移方式之间,具体是指根据第一机器学习模型的参考层的参数调整第二机器学习模型对应学习层的参数,以使第二机器学习模型对应学习层的参数接近第一机器学习模型的参考层的参数。确定迁移方式后,可按照确定的该迁移方式对该第一机器学习模型中的各个参考层进行迁移学习,得到机器学习子模型。

在此实施例中,该被迁移的知识总量与在一次迁移学习过程中该第一机器学习模型中的各个参考层被迁移的知识量满足约束函数规定的约束条件,该约束函数可采用如下公式(1)表示。

在公式(1)中,λi为一次迁移学习的过程中第一机器学习模型的第i个参考层被迁移学习的知识量,i∈[0,l],l为第一机器学习模型的参考层的层数。α为约束函数的控制系数,该控制系数为一个经验值,可以为一个大于0且小于或等于1的数。该约束函数用于约束在一次迁移学习过程中该第一机器学习模型中的各个参考层被迁移的知识量均位于预设数值范围内,该约束函数与各个参考层被迁移的知识量之间的关系可采用如下公式(2)表示。

∑i∈lσ(λi)=c(2)

在公式(2)中,c为该一次迁移学习过程中被迁移的知识总量。另外,该约束函数还包括约束条件,该约束条件可采用如下公式(3)表示。

∑i∈lλi=c(3)

公式(3)中的该约束函数的约束条件规定:该被迁移的知识总量为在一次迁移学习的过程中该第一机器学习模型中的各个参考层被迁移的知识量之和。

在此实施例中,步骤s51可包括如下步骤s61~s62。

s61、获取目标函数和该约束函数,该目标函数为一次迁移学习的过程对应的代价函数。

s62、采用该约束函数对该目标函数进行最小值求解处理,得到处理结果,该处理结果包括在一次迁移学习过程中该第一机器学习模型中的各个参考层被迁移的知识量。

在步骤s61和s62中,服务器可获取目标函数和该约束合适,该目标函数为一次迁移学习的过程对应的代价函数,即该目标函数用于描述优化后的第二机器学习模型的学习准确度。服务器可采用该约束函数对该目标函数进行最小值求解处理,得到处理结果,即在该目标函数的取值最小时,得到处理结果。该处理结果包括在一次迁移学习过程中该第一机器学习模型中的各个参考层被迁移的知识量,可选的,该处理结果还可以包括机器学习子模型的参数,如机器学习子模型的各层的参数。

其中,该目标函数包括第一距离函数、第二距离函数与损失函数,该目标函数可采用如下公式(4)表示。

在公式(4)中,lt表示损失函数,该损失函数用于指示该第二机器学习模型的学习准确度。∑i∈ll2(wt(i),ws(i),λi)表示第一距离函数,该第一距离函数用于表示该第一机器学习模型的各参考层的参数与该第二机器学习模型的各学习层的参数之间的距离。wt(i)表示第一机器学习模型的第i个参考层的参数,ws(i)表示第二机器学习模型的第i个学习层的参数。该第二距离函数lcls用于指示该第二机器学习模型的输出学习层的参数到坐标原点的距离,该第二机器学习模型的输出学习层是该第二机器学习模型中的多个学习层中层级序号最大的学习层。b1和b2均为大于0且小于1的权重系数,该权重系数可以是经验值,如b1可以为0.1,b2可以为0.01。

其中,该第二机器学习模型的损失函数是根据第二机器学习模型的类别确定的。例如,如果该第二机器学习模型为分类模型,则该第二机器学习模型的损失函数为交叉熵函数,这时lt可采用如下公式(5)表示。

在公式(5)中,为了降低计算量,可从与目标任务对应的训练数据集中随机采样得到部分训练数据,采用该部分训练数据来计算第二机器学习模型的损失函数,即b是指与目标任务对应的训练数据集中的部分训练数据。x,y表示b中的一个训练数据,x是指第二机器模型的输入数据,y是指第二机器学习模型的输出数据。表示输出向量,k表示k个待分类的类别,y=1,2,……k,代表x所属的类别,代表向量的第y个分量。

其中,fn(x)、fn(x,wt,ws,λ)是指第n个第二机器学习模型的函数,fn(x)满足如下公式(6)的递归函数。

其中,f(i)(·|w(i))表示第二机器学习模型的第i个学习层对应函数,x(i-1)表示第二机器学习模型的第i-1个学习层的输出结果。如果该第二机器学习模型为回归模型,则该第二机器学习模型的损失函数lt可采用如下公式(7)表示。

其中,第一距离函数中的l2(wt(i),ws(i),λi)可采用如下公式(8)表示。

其中,公式(8)主要用于第一机器学习模型的参考层被迁移的知识量λi小于第一数值且大于第二数值时,使优化的第二机器学习模型的第i个学习层的参数接近第一机器学习模型的第i个参考层的参数,且这两个参数的接近程度随着λi的增加而增大。接近程度可用这两个参数之间的差值表示,即差值越小,接近程度越大,差值越大,接近程度越小。

其中,该第二距离函数lcls可采用如下公式(9)表示。

在公式(9)中,wcls表示第二机器学习模型的输出学习层的所有参数,wi,j表示第二机器学习模型输出学习层的第i个输入对j个输出的影响,或者权重。在wi,j趋于0时,第二距离函数是递减的;当wi,j等于0时,第二距离函数取得最小值,这样才能使目标函数取得最小值。因此,这个第二距离函数用于指示输出参考层与输出学习层不具有迁移关系时,使优化的第二机器学习模型的输出学习层的参数趋向0。这样可以缓解优化的第二机器学习模型的输出学习层的参数过大,造成的过拟合问题,即通过在第二距离函数可缓解过拟合问题,以提高优化的第二机器学习模型鲁棒性。此处过拟合是指优化的第二机器学习模型能够对已知数据(即带标注的数据)预测得到较好的效果,但对未知数据(未带标注的数据)预测得到较差效果的现象。

在此实施例中,步骤s52包括如下步骤s71~s73。

s71、若该在一次迁移学习过程中该第一机器学习模型中的目标参考层被迁移的知识量大于第一数值,则确定该目标参考层的迁移方式为冻结迁移方式。

s72、若该在一次迁移学习过程中该第一机器学习模型中的目标参考层被迁移的知识量小于该第一数值且大于第二数值,则确定该目标参考层的迁移方式为中间迁移方式。

s73、若该在一次迁移学习过程中该第一机器学习模型中的目标参考层被迁移的知识量等于第二数值,则确定该目标参考层的迁移方式为精调迁移方式。其中,该目标参考层为该第一机器学习模型中的任一参考层。

在步骤s71~s73中,若该在一次迁移学习过程中该第一机器学习模型中的目标参考层被迁移的知识量大于第一数值,则表明第一机器学习模型的目标参考层与第二机器学习模型对应的学习层的功能特征相似度较大;可确定该目标参考层的迁移方式为冻结迁移方式,以使第二机器学习模型对应的学习层与第一机器学习模型的目标参考层相同。若该在一次迁移学习过程中该第一机器学习模型中的目标参考层被迁移的知识量小于该第一数值且大于第二数值,此时表明第一机器学习模型的目标参考层与第二机器学习模型对应的学习层的功能特征具有一定的相似度;则确定该目标参考层的迁移方式为中间迁移方式,以使第二机器学习模型对应的学习层与第一机器学习模型的目标参考层更加接近。若该在一次迁移学习过程中该第一机器学习模型中的目标参考层被迁移的知识量等于第二数值,此时表明第一机器学习模型的目标参考层与第二机器学习模型对应的学习层的功能特征不相似,即第二机器学习模型对应的学习层与第一机器学习模型的目标参考层之间不具有迁移关系;则确定该目标参考层的迁移方式为精调迁移方式。即不从第一机器学习模型的目标参考层中迁移知识,以使第一机器学习模型的目标层与第二机器学习模型对应的参考层之间保持一定的差异。其中,该目标参考层为该第一机器学习模型中的任一参考层。第一数值可以为近似或等于1的数值,第二数值可以为近似或等于0的数值,第一数值和第二数值可以是用户手动设置的,或者服务器中的缺省值。

在此实施例中,步骤s53包括如下步骤s81~s84。

s81、若该目标参考层的迁移方式为冻结迁移方式,则采用该第一机器学习模型中的目标学习层的参数替换该第二机器学习模型对应的学习层的参数。

s82、若该目标参考层的迁移方式为中间迁移方式,则根据该第一机器的目标参考层的参数调整该第二机器学习模型对应的学习层的参数。

s83、若该目标参考层的迁移方式为精调迁移方式,则采用该第二机器学习模型中对应的学习层的参数。

s84、当该第一机器学习模型中的各个参考层完成迁移学习之后,得到该机器学习子模型,该机器学习子模型中各层级的参数为迁移学习后该第二机器学习模型的各学习层的参数。

在步骤s81~s84中,若该目标参考层的迁移方式为冻结迁移方式,则采用该第一机器学习模型中的目标参考层的参数替换该第二机器学习模型对应的学习层的参数。以使优化的第二机器学习模型中对应的学习层的参数与目标参考层的参数相同,即使优化的第二机器学习模型中只包括第一机器学习模型处理任务的知识。若该目标参考层的迁移方式为中间迁移方式,则可根据该第一机器的目标参考层的参数调整该第二机器学习模型对应的学习层的参数;可使第二机器学习模型对应的学习层的参数接近于目标学习层的参数,使优化的第二机器学习模型包括第一机器学习模型的部分知识和第二机器学习模型的部分知识。此处对调整该第二机器学习模型对应的学习层的参数的调整力度与从目标参考层迁移的知识量相关。即从目标参考层迁移的知识量越大,调整力度越大,使优化的第二机器学习模型对应的学习层的参数与目标参考层的参数的接近程度越大;从目标参考层迁移的知识量越小,调整力度越小,使优化的第二机器学习模型对应的学习层的参数与目标参考层的参数的接近程度越小。若该目标参考层的迁移方式为精调迁移方式,则采用该第二机器学习模型中对应的学习层的参数。这时第二机器学习模型的对应的学习层的参数仅与目标任务相关,这样使优化的第二机器学习模型中仅包括与处理目标任务相关的知识,可实现对模型的定制化和个性化。当该第一机器学习模型中的各个参考层完成迁移学习之后,得到该机器学习子模型,该机器学习子模型中各层级的参数为迁移学习后该第二机器学习模型的各学习层的参数。

在一个实施例中,该迁移学习信息还包括迁移学习次数,该迁移学习的次数为大于1的正整数,根据该迁移学习信息对该第一机器学习模型进行迁移学习,得到多个机器学习子模型,该机器学习子模型的数量与该迁移学习的次数相对应。

为了提高模型的精度,服务器可以对第一机器学习模型进行多次迁移学习,即对第一机器学习模型每执行一次迁移学习,得到一个机器学习子模型,当对第一机器学习模型执行完迁移学习后,可得到多个机器学习子模型。

在此实施例中,步骤s104还包括如下步骤s911和s912。

s911、对该多个机器学习子模型的表达函数进行平均化处理。

s912、根据处理后的表达函数确定优化的第二机器学习模型。

在步骤s911和s912中,服务器可以对该多个机器学习子模型的表达函数进行平均化处理,根据处理后的表达函数确定优化的第二机器学习模型。例如,假设迁移学习的次数为nm,每次被迁移知识总量可以不同,每次被迁移知识总量c∈[0,l]。根据一次学习过程中被迁移知识总量对第一机器学习模型进行迁移学习,得到一个机器学习子模型。

需要说明的是,当迁移学习的次数为多次时,每次迁移学习过程中被迁移的知识总量可以是逐渐递减的。由于每两次迁移学习的过程中被迁移的知识总量差别不大,使在这两次迁移学习的过程中对第一机器学习模型的部分参考层所迁移的知识量是相同的。因此,可以采用上次迁移学习得到机器学习子模型对第二机器学习模型的各个学习层的参数进行初始化,然后,根据本次迁移学习过程中被迁移的知识总量对第一机器学习模型进行迁移学习,这样可以提高迁移学习的效率。如图4所示,第一次迁移学习过程中被迁移的知识总量为c=l,第二次迁移学习过程被迁移学习的知识总量为c=l-2,……第nm次迁移学习的过程被迁移学习的知识总量为c=0。第一次迁移学习过程中,可以根据第一次迁移学习过程被迁移的知识总量对第一机器学习模型进行迁移学习,得到第一机器学习子模型,第一机器学习子模型的表达函数为f1。由于第一迁移学习过程被迁移的知识总量与第二次迁移学习过程中被迁移的知识总量之间的差别不大,因此,第二次迁移学习过程中,采用第一机器学习子模型的各个层级的参数对第二机器学习模型各个层级的参数进行初始化,并根据第二次迁移学习过程中被迁移的知识总量对第一机器学习模型进行迁移学习,得到第二机器学习子模型。即以第二次迁移学习过程中被迁移的知识总量为迁移学习的约束条件,以第一机器学习模型为迁移学习对象,对初始化后的第二机器学习模型的各个层级的参数进行优化,得到第二机器学习子模型,第二次迁移学习子模型的表达函数为f2。此处对初始化后的第二机器学习模型的各个层级的参数的优化过程可参见对第二机器学习模型的各个层级的参数的优化过程,重复之处不在赘述。以此类推,在进行nm次迁移学习后,可得到nm个机器学习子模型。迁移学习完成后,服务器可以对该nm个机器学习子模型对应的表达函数进行平均化处理,得到处理后的函数,该处理后的函数采用如下公式(10)表示。

在公式(10)中,fi表示第i次迁移学习得到机器学习子模型的表达函数。

下面以第一机器学习模型为用于识别猫的机器学习模型,第二机器学习模型为识别狗的机器学习模型为例,对本申请实施例的模型优化方法进行说明,请参见图5,图5为本申请实施例提供的模型优化方法的流程示意图。

如图5所示,用户想要建立一个识别狗的机器学习模型时,用户可以向服务器上传数据。此处数据可包括目标任务的第一属性信息及与目标任务相关的训练数据集,此时目标任务可以是指识别狗的任务,第一属性信息用于指示识别狗的机器学习模型的模型类别(即为分类模型)或层级的功能特征信息;与目标任务相关的训练数据集包括多张包括狗的图像。服务器可接收用户上传的数据,根据第一属性信息建立一个待训练的机器学习模型,并采用训练数据集对待训练的机器学习模型进行训练,得到待优化的第二机器学习模型。进一步,服务器可以从机器学习模型库中获取与第二机器学习模型关联的第一机器学习模型,此处第一机器学习模型也可以为分类模型,如具体可以为识别猫的机器学习模型。

如图5所示,服务器可以确定迁移学习信息,根据该迁移学习信息对第一机器学习模型进行迁移学习,得到多个机器学习子模型。假设第一机器学习模型与机器学习子模型的层级结构如图3所示,该第一机器学习模型包括4个参考层(图3中未示出输出参考层),服务器可根据该第一机器学习模型的层级结构确定迁移学习信息。如迁移次数为3,3次迁移学习被迁移的知识总量分别为0,1和3。首先,被迁移的知识总量为3时,服务器可根据该被迁移的知识总量确定本次迁移学习过程中对第一机器学习模型的各个参考层迁移的知识量,此时由于第一机器学习模型的输出参考层所输出的学习结果用于指示图像中是否包括猫,第二机器学习模型的输出学习层所输出的学习结果用于指示图像中是否包括狗;即第一机器学习模型的输出参考层与第二机器学习模型的输出学习层所输出的结果不一致,也即输出参考层与输出学习层之间没有迁移关系,因此,输出参考层的被迁移的知识量为0,输出学习层不对输出参考层的参数进行迁移学习。因此,第一参考层、第二参考层、第三参考层的被迁移的知识量可以均为1。根据各个参考层被迁移的知识量选择迁移学习方式,即第一参考层、第二参考层、第三参考层对应的迁移学习方式均为冻结迁移学习方式,输出参考层的迁移学习方式为精调迁移学习方式。进一步,根据各个参考层的迁移学习方式对对应参考层的参数进行迁移学习得到第一机器学习子模型。接着,当被迁移的知识总量为1,采用第一机器学习子模型的各个层级的参数对第二机器学习模型的各个层级的参数进行初始化,同时重复以上步骤,以被迁移的知识总量1为约束条件,以第一机器学习模型为迁移学习对象,对本次初始化后的第二机器学习模型的各个层级的参数进行优化,得到第二机器学习子模型。最后,当被迁移的知识总量为0,采用第二机器学习子模型的各个层级的参数对第二机器学习模型的各个层级的参数进行初始化,同时重复以上步骤,以被迁移的知识总量0为约束条件,以第一机器学习模型为迁移学习对象,对本次初始化后的第二机器学习模型的各个层级的参数进行优化,得到第三机器学习子模型。

如图5所示,在得到第一机器学习子模型、第二机器学习子模型、及第三机器学习子模型后,服务器可以根据第一机器学习子模型、第二机器学习子模型、及第三机器学习子模型对第二机器学习模型进行优化,得到优化的第二机器学习模型。具体的,服务器可以从第一机器学习子模型、第二机器学习子模型、及第三机器学习子模型中筛选出处理目标任务的性能最优的机器学习子模型,将最优的机器学习子模型作为优化的第二机器学习模型;或者,可对第一机器学习子模型、第二机器学习子模型、及第三机器学习子模型对应的表达函数进行平均化处理,根据处理后的表达函数确定为优化的第二机器学习模型。该优化的第二机器学习模型可用于需要识别狗的场景中,如禁止携带狗进入的场景,即商场、餐厅等。

本发明实施例提供一种模型优化装置,该模型优化装置可设置于服务器中,请参见图6,该装置包括:

获取单元601,用于获取第一机器学习模型及第二机器学习模型,所述第一机器学习模型为已优化的模型,所述第二机器学习模型为待优化的模型;获取所述第一机器学习模型与所述第二机器学习模型之间的迁移学习信息,所述迁移学习信息包括被迁移的知识总量。

迁移学习单元602,用于根据所述迁移学习信息对所述第一机器学习模型进行迁移学习,得到机器学习子模型。

优化单元603,用于采用所述机器学习子模型对所述第二机器学习模型进行优化,得到优化的第二机器学习模型。

可选的,获取单元601,具体用于按照所述第一机器学习模型的层级结构对所述第一机器学习模型进行拆分,得到多个参考层,每个所述参考层对应一个层级序号;以及,按照所述第二机器学习模型的层级结构对所述第二机器学习模型进行拆分,得到多个学习层;每个所述学习层对应一个层级序号;具备相同层级序号的所述参考层与所述学习层相对应;根据所述第一机器学习模型的参考层的数量确定所述第一机器学习模型与所述第二机器学习模型之间的迁移学习信息,所述被迁移的知识总量为正整数且小于或等于所述参考层的数量;其中,所述被迁移的知识为所述第一机器学习模型中各参考层的参数;所述迁移学习信息用于指示将所述第一机器学习模型中的参考层的参数向所述第二机器学习模型中对应的学习层进行迁移。

可选的,迁移学习单元602,具体用于根据所述被迁移的知识总量确定在一次迁移学习过程中所述第一机器学习模型中的各个参考层被迁移的知识量;根据所述在一次迁移学习过程中所述第一机器学习模型中的各个参考层被迁移的知识量确定所述第一机器学习模型中的各个参考层的迁移方式;按照确定的所述迁移方式对所述第一机器学习模型中的各个参考层进行迁移学习,得到机器学习子模型。

可选的,所述被迁移的知识总量与在一次迁移学习过程中所述第一机器学习模型中的各个参考层被迁移的知识量满足约束函数规定的约束条件;所述约束函数的约束条件规定:所述被迁移的知识总量为在一次迁移学习的过程中所述第一机器学习模型中的各个参考层被迁移的知识量之和;所述约束函数用于约束在一次迁移学习过程中所述第一机器学习模型中的各个参考层被迁移的知识量均位于预设数值范围内。

可选的,获取单元601,具体用于获取目标函数和所述约束函数,所述目标函数为一次迁移学习的过程对应的代价函数;采用所述约束函数对所述目标函数进行最小值求解处理,得到处理结果,所述处理结果包括在一次迁移学习过程中所述第一机器学习模型中的各个参考层被迁移的知识量;其中,所述目标函数包括第一距离函数、第二距离函数与损失函数;所述第一距离函数用于表示所述第一机器学习模型的各参考层的参数与所述第二机器学习模型的各学习层的参数之间的距离;所述损失函数用于指示所述第二机器学习模型的学习准确度;所述第二距离函数用于指示所述第二机器学习模型的输出学习层的参数到坐标原点的距离;所述第二机器学习模型的输出学习层是所述第二机器学习模型中的多个学习层中层级序号最大的学习层。

可选的,迁移学习单元602,具体用于若所述在一次迁移学习过程中所述第一机器学习模型中的目标参考层被迁移的知识量大于第一数值,则确定所述目标参考层的迁移方式为冻结迁移方式;若所述在一次迁移学习过程中所述第一机器学习模型中的目标参考层被迁移的知识量小于所述第一数值且大于第二数值,则确定所述目标参考层的迁移方式为中间迁移方式,所述第一数值大于所述第二数值;若所述在一次迁移学习过程中所述第一机器学习模型中的目标参考层被迁移的知识量等于第二数值,则确定所述目标参考层的迁移方式为精调迁移方式;其中,所述目标参考层为所述第一机器学习模型中的任一参考层。

可选的,迁移学习单元602,具体用于若所述目标参考层的迁移方式为冻结迁移方式,则采用所述第一机器学习模型中的目标参考层的参数替换所述第二机器学习模型对应的学习层的参数;若所述目标参考层的迁移方式为中间迁移方式,则根据所述第一机器的目标参考层的参数调整所述第二机器学习模型对应的学习层的参数;若所述目标参考层的迁移方式为精调迁移方式,则采用所述第二机器学习模型中对应的学习层的参数;当所述第一机器学习模型中的各个参考层完成迁移学习之后,得到所述机器学习子模型,所述机器学习子模型中各层级的参数为迁移学习后所述第二机器学习模型的各学习层的参数。

可选的,所述迁移学习信息还包括迁移学习次数,可选的,迁移学习单元602,还用于根据所述迁移学习信息对所述第一机器学习模型进行迁移学习,得到多个机器学习子模型,所述机器学习子模型的数量与所述迁移学习的次数相对应。

可选的,优化单元603,具体用于对所述多个机器学习子模型的表达函数进行平均化处理;根据处理后的表达函数确定优化的第二机器学习模型。

可选的,获取单元601,具体用于接收针对用于处理目标任务的模型建立请求,所述模型建立请求包括所述目标任务的第一属性信息及与所述目标任务相关的训练数据集;根据所述第一属性信息建立待训练的机器学习模型;采用与所述目标任务相关的训练数据集对所述待训练的机器学习模型进行训练,得到待优化的第二机器学习模型。

可选的,获取单元601,具体用于接收对所述第二机器学习模型进行优化的请求;从机器学习模型库中获取与所述第一属性信息匹配的第一机器学习模型,所述机器学习模型库包括至少一个已优化的机器学习模型;其中,所述第一属性信息包括:处理所述目标任务的机器学习模型的模型类别、层级的功能特征信息、或处理所述目标任务的机器学习模型的模型类别及层级的功能特征信息。

可选的,获取单元601,具体用于接收对所述第二机器学习模型进行优化的请求;输出至少一个已优化的机器学习模型,及每个已优化的机器学习模型的第二属性信息,其中,所述第二属性信息包括层级的功能特征信息、模型类别、或层级的功能特征信息和模型类别,所述第二属性信息用于提示从至少一个已优化的机器学习模型选择与所述第二机器学习模型相关联的模型;响应于对所述至少一个已优化的机器学习模型中任一模型执行的选择操作,将所选择的模型作为第一机器学习模型。

本申请实施例通过对已优化的第一机器学习模型进行迁移学习的方式,来对第二机器学习模型进行优化,在此过程中无需为第二机器学习模型的优化提供大量训练数据,这就降低了模型优化过程的数据获取难度,同时也可以提高模型优化的效率;另外,通过对已优化的第一机器学习模型进行迁移学习,能够得到适于目标任务的机器学习子模型,再采用机器学习子模型来对第二机器学习模型进行优化,这样使得被优化后的第二机器学习模型既包括第一机器学习模型中处理任务的知识,还包括第二机器学习模型自身用于处理任务的知识,这样使得优化后的第二机器学习模型变得更为定制化和个性化,且处理目任务的能力更优质。再次,本申请实施例的优化处理方案由于无需准备大量的训练数据,也无需对大量的训练数据进行迭代学习训练,这大大减少了模型优化过程所需要的资源,可适用于快速地对批量的机器学习模型进行优化,以满足各种优化需求。

本发明实施例提供一种服务器,请参见图7。该服务器包括:处理器151、用户接口152、网络接口154以及存储装置155,处理器151、用户接口152、网络接口154以及存储装置155之间通过总线153连接。

用户接口152,用于实现人机交互,用户接口可以包括显示屏或键盘等等。网络接口154,用于与外部设备之间进行通信连接。存储装置155与处理器151耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储装置155可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储装置155可以存储操作系统(下述简称系统),例如android,ios,windows,或者linux等嵌入式操作系统。存储装置155还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个应用服务器,一个或多个服务器进行通信。存储装置155还可以存储用户接口程序,该用户接口程序可以通过图形化的操作界面将应用程序的内容形象逼真的显示出来,并通过菜单、对话框以及按键等输入控件接收用户对应用程序的控制操作。存储装置155还可以存储优化的机器学习模型等。

在一个实施例中,所述存储装置155可用于存储一条或多条的指令;所述处理器151可以调用所述一条或多条的指令时能够实现模型优化方法,具体地,所述处理器151调用所述一条或多条的指令,执行如下步骤:

获取第一机器学习模型及第二机器学习模型,所述第一机器学习模型为已优化的模型,所述第二机器学习模型为待优化的模型;

获取所述第一机器学习模型与所述第二机器学习模型之间的迁移学习信息,所述迁移学习信息包括被迁移的知识总量;

根据所述迁移学习信息对所述第一机器学习模型进行迁移学习,得到机器学习子模型;

采用所述机器学习子模型对所述第二机器学习模型进行优化,得到优化的第二机器学习模型。

可选的,所述处理器调用指令,执行如下步骤:

按照所述第一机器学习模型的层级结构对所述第一机器学习模型进行拆分,得到多个参考层,每个所述参考层对应一个层级序号;以及,

按照所述第二机器学习模型的层级结构对所述第二机器学习模型进行拆分,得到多个学习层;每个所述学习层对应一个层级序号;具备相同层级序号的所述参考层与所述学习层相对应;

根据所述第一机器学习模型的参考层的数量确定所述第一机器学习模型与所述第二机器学习模型之间的迁移学习信息,所述被迁移的知识总量为正整数且小于或等于所述参考层的数量;

其中,所述被迁移的知识为所述第一机器学习模型中各参考层的参数;所述迁移学习信息用于指示将所述第一机器学习模型中的参考层的参数向所述第二机器学习模型中对应的学习层进行迁移。

可选的,所述处理器调用指令,执行如下步骤:

根据所述被迁移的知识总量确定在一次迁移学习过程中所述第一机器学习模型中的各个参考层被迁移的知识量;

根据所述在一次迁移学习过程中所述第一机器学习模型中的各个参考层被迁移的知识量确定所述第一机器学习模型中的各个参考层的迁移方式;

按照确定的所述迁移方式对所述第一机器学习模型中的各个参考层进行迁移学习,得到机器学习子模型。

可选的,所述处理器调用指令,执行如下步骤:

所述约束函数的约束条件规定:所述被迁移的知识总量为在一次迁移学习的过程中所述第一机器学习模型中的各个参考层被迁移的知识量之和;

所述约束函数用于约束在一次迁移学习过程中所述第一机器学习模型中的各个参考层被迁移的知识量均位于预设数值范围内。

可选的,所述处理器调用指令,执行如下步骤:

获取目标函数和所述约束函数,所述目标函数为一次迁移学习的过程对应的代价函数;

采用所述约束函数对所述目标函数进行最小值求解处理,得到处理结果,所述处理结果包括在一次迁移学习过程中所述第一机器学习模型中的各个参考层被迁移的知识量;

其中,所述目标函数包括第一距离函数、第二距离函数与损失函数;所述第一距离函数用于表示所述第一机器学习模型的各参考层的参数与所述第二机器学习模型的各学习层的参数之间的距离;所述损失函数用于指示所述第二机器学习模型的学习准确度;所述第二距离函数用于指示所述第二机器学习模型的输出学习层的参数到坐标原点的距离;所述第二机器学习模型的输出学习层是所述第二机器学习模型中的多个学习层中层级序号最大的学习层。

可选的,所述处理器调用指令,执行如下步骤:

若所述在一次迁移学习过程中所述第一机器学习模型中的目标参考层被迁移的知识量大于第一数值,则确定所述目标参考层的迁移方式为冻结迁移方式;

若所述在一次迁移学习过程中所述第一机器学习模型中的目标参考层被迁移的知识量小于所述第一数值且大于第二数值,则确定所述目标参考层的迁移方式为中间迁移方式,所述第一数值大于所述第二数值;

若所述在一次迁移学习过程中所述第一机器学习模型中的目标参考层被迁移的知识量等于第二数值,则确定所述目标参考层的迁移方式为精调迁移方式;

其中,所述目标参考层为所述第一机器学习模型中的任一参考层。

可选的,所述处理器调用指令,执行如下步骤:

若所述目标参考层的迁移方式为冻结迁移方式,则采用所述第一机器学习模型中的目标参考层的参数替换所述第二机器学习模型对应的学习层的参数;

若所述目标参考层的迁移方式为中间迁移方式,则根据所述第一机器的目标参考层的参数调整所述第二机器学习模型对应的学习层的参数;

若所述目标参考层的迁移方式为精调迁移方式,则采用所述第二机器学习模型中对应的学习层的参数;

当所述第一机器学习模型中的各个参考层完成迁移学习之后,得到所述机器学习子模型,所述机器学习子模型中各层级的参数为迁移学习后所述第二机器学习模型的各学习层的参数。

可选的,所述迁移学习信息还包括迁移学习次数,所述迁移学习的次数为大于1的正整数;所述处理器调用指令,执行如下步骤:

根据所述迁移学习信息对所述第一机器学习模型进行迁移学习,得到多个机器学习子模型,所述机器学习子模型的数量与所述迁移学习的次数相对应。

可选的,所述处理器调用指令,执行如下步骤:

对所述多个机器学习子模型的表达函数进行平均化处理;

根据处理后的表达函数确定优化的第二机器学习模型。

可选的,所述处理器调用指令,执行如下步骤:

接收针对用于处理目标任务的模型建立请求,所述模型建立请求包括所述目标任务的第一属性信息及与所述目标任务相关的训练数据集;

根据所述第一属性信息建立待训练的机器学习模型;

采用与所述目标任务相关的训练数据集对所述待训练的机器学习模型进行训练,得到待优化的第二机器学习模型。

可选的,所述处理器调用指令,执行如下步骤:

接收对所述第二机器学习模型进行优化的请求;

从机器学习模型库中获取与所述第一属性信息匹配的第一机器学习模型,所述机器学习模型库包括至少一个已优化的机器学习模型;

其中,所述第一属性信息包括:处理所述目标任务的机器学习模型的模型类别、层级的功能特征信息、或处理所述目标任务的机器学习模型的模型类别及层级的功能特征信息。

可选的,所述处理器调用指令,执行如下步骤:

接收对所述第二机器学习模型进行优化的请求;

输出至少一个已优化的机器学习模型,及每个已优化的机器学习模型的第二属性信息,其中,所述第二属性信息包括层级的功能特征信息、模型类别、或层级的功能特征信息和模型类别,所述第二属性信息用于提示从至少一个已优化的机器学习模型选择与所述第二机器学习模型相关联的模型;

响应于对所述至少一个已优化的机器学习模型中任一模型执行的选择操作,将所选择的模型作为第一机器学习模型。

本申请实施例通过对已优化的第一机器学习模型进行迁移学习的方式,来对第二机器学习模型进行优化,在此过程中无需为第二机器学习模型的优化提供大量训练数据,这就降低了模型优化过程的数据获取难度,同时也可以提高模型优化的效率;另外,通过对已优化的第一机器学习模型进行迁移学习,能够得到适于目标任务的机器学习子模型,再采用机器学习子模型来对第二机器学习模型进行优化,这样使得被优化后的第二机器学习模型既包括第一机器学习模型中处理任务的知识,还包括第二机器学习模型自身用于处理任务的知识,这样使得优化后的第二机器学习模型变得更为定制化和个性化,且处理目任务的能力更优质。再次,本申请实施例的优化处理方案由于无需准备大量的训练数据,也无需对大量的训练数据进行迭代学习训练,这大大减少了模型优化过程所需要的资源,可适用于快速地对批量的机器学习模型进行优化,以满足各种优化需求。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序解决问题的实施方式以及有益效果可以参见上述图2所述的一种模型优化方法的实施方式以及有益效果,重复之处不再赘述。

以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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