CN111340245B - 一种模型训练方法及*** - Google Patents
一种模型训练方法及*** Download PDFInfo
- Publication number
- CN111340245B CN111340245B CN202010118876.1A CN202010118876A CN111340245B CN 111340245 B CN111340245 B CN 111340245B CN 202010118876 A CN202010118876 A CN 202010118876A CN 111340245 B CN111340245 B CN 111340245B
- Authority
- CN
- China
- Prior art keywords
- model
- training
- models
- sub
- parameters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Feedback Control In General (AREA)
- Image Analysis (AREA)
Abstract
本说明书实施例公开了一种模型训练方法及***,所述方法包括,获取经过训练数据训练的k个同类型的子模型,所述k为大于或等于2的整数,所述训练数据包括图像数据、文本数据或音频数据;获取所述k个子模型中每个子模型的与模型性能相关的评价参数;基于所述k个子模型及其评价参数,确定最终模型,所述最终模型的模型参数为:所述k个子模型的模型参数以其评价参数为权重的加权运算结果。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种模型训练方法及***。
背景技术
随着计算机科学技术的发展,机器学习在众多的领域中都表现了极为重要的作用。目前,机器学习中使用的模型可以包括监督学习模型、无监督学习模型和强化学习模型等。其中,监督学习模型一般使用训练集训练映射函数,使用测试集来测试训练的映射函数。
由于是有监督的学习方式,训练好的模型往往在未出现的数据集上的表现不如在已出现的数据集上的表现。因此,如何提高模型的泛化能力,是亟需解决的问题。
发明内容
本说明书实施例的一个方面提供一种模型训练方法,包括:获取经过训练数据训练的k个同类型的子模型,所述k为大于或等于2的整数,所述训练数据包括图像数据、文本数据或音频数据;获取所述k个子模型中每个子模型的与模型性能相关的评价参数;基于所述k个子模型及其评价参数,确定最终模型,所述最终模型的模型参数为:所述k个子模型的模型参数以其评价参数为权重的加权运算结果。
本说明书实施例的一个方面提供一种模型训练***,包括子模型获取模块、评价参数获取模块和最终模型确定模块;所述子模型获取模块用于获取经过训练数据训练的k个同类型的子模型,所述k为大于或等于2的整数,所述训练数据包括图像数据、文本数据或音频数据;所述评价参数获取模块用于获取所述k个子模型中每个子模型的与模型性能相关的评价参数;所述最终模型确定模块用于基于所述k个子模型及其评价参数,确定最终模型,所述最终模型的模型参数为:所述k个子模型的模型参数以其评价参数为权重的加权运算结果。
本说明书实施例的一个方面提供一种模型训练装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现如上任一项所述的方法。
本说明书实施例的一个方面提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机运行如上所述的任一项所述的方法。
附图说明
本说明书将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书的一些实施例所示的模型训练***的示例性模块图;
图2是根据本说明书的一些实施例所示的模型训练方法的示例性流程图;
图3是根据本说明书的一些实施例所示的获取k个同类型的子模型的示例性流程图;
图4是根据本说明书的一些实施例所示的获取k个同类型的子模型的另一示例性流程图;
图5是根据本说明书的一些实施例所示的获取k个同类型的子模型的另一示例性流程图;
图6是根据本说明书一些实施例所示的模型训练方法的示例图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本说明书中所使用的“***”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的***所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
在一些实施例中,机器学习模型可以应用于不同的场景以处理不同的数据。例如,可以应用于云客服场景、风险管控场景、放贷审核场景、舆情预警场景、语义理解场景、人脸识别场景、语音识别场景等。机器学习模型所处理的数据可以包括但不限于图像数据、文本数据、视频数据和音频数据等一种或多种的组合。
在一些实施例中,机器学习模型可以应用于云客服场景。例如,可以获取人工客服或智能客服机器人与用户的历史对话内容,将其作为训练数据对机器学习模型进行训练,以获得智能答复模型。该智能答复模型可以处理用户的当前话术和/或结合智能客服机器人与用户对话的上下文内容,确定当前输出话术,以回复用户的当前话术。智能答复模型可以协助智能客服机器人更好的回复用户咨询的问题,或者使智能客服机器人在线完成与相关用户的对话,引导用户完成目标任务。在实际应用中,用户的话术是十分丰富多样的,如果智能答复模型具有较差的泛化能力,对于训练数据以外的样本话术则难以准确反应,导致用户体验不佳。
在一些实施例中,机器学***台的商户的关联信息(例如,商户所有者身份信息、位置信息以及行为信息等),从而确定商户的风险等级,并基于风险等级对商户执行不同的管控操作。实际应用中,需要风险管控模型具有较好的泛化能力,对于训练数据以外的商户信息也能够准确判断出其风险等级,准确采取风险管控措施,以避免造成大的财产损失。
本说明书的一些实施例所示的模型训练***100可以用于对机器学习模型进行训练,同时提高模型的泛化能力。
应当理解的,本说明书中所提到的待训练模型的应用场景仅仅是本说明书一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以将待训练模型应用于其他类似场景,本申请对此不做限制。
图1是根据本说明书的一些实施例所示的示例性模型训练***的模块图。
如图1所示,该模型训练***100可以包括子模型获取模块110、评价参数获取模块120以及最终模型确定模块130。
子模型获取模块110可以用于获取经过训练数据训练的k个同类型的子模型,所述k为大于或等于2的整数。训练数据可以包括但不限于图像数据、文本数据和音频数据等。在一些实施例中,所述k个同类型的子模型的模型参数数量和模型参数类型相同。
在一些实施例中,子模型获取模块110可以进一步用于获取同一初始模型在同一训练集上训练不同迭代轮次的N个迭代模型,所述N为大于或等于2的整数。子模型获取模块110可以采用k个验证集分别对每个迭代模型进行验证,以获得在每个验证集验证下N个迭代模型的评价参数。子模型获取模块110可以选择所述k个验证集中每个验证集所对应的评价参数最优的迭代模型,获得所述k个子模型。关于获取K个子模型的更多细节请参见图3及其相关描述,在此不再赘述。
在一些实施例中,子模型获取模块110可以进一步用于获取k个同类型的初始模型,所述k个初始模型的初始化参数不完全相同。子模型获取模块110可以对所述k个初始模型进行训练,以获得k个子模型。在一些实施例中,子模型获取模块110可以进一步用于:对于k个初始模型中的每一个:利用相同的训练集进行至少一轮迭代训练;对所述至少一轮迭代训练中每一轮迭代输出的模型利用验证集进行验证得到评价参数;将评价参数最优的模型确定为与该初始模型对应的子模型。关于获取K个子模型的更多细节请参见图4及其相关描述,在此不再赘述。
在一些实施例中,子模型获取模块110可以进一步用于:获取初始模型;对所述初始模型进行k折训练,以获得所述k个子模型,其中,所述k折训练包括:将训练数据划分为k份,轮流将其中k-1份作为训练集,1份作为验证集对所述初始模型进行训练。关于获取K个子模型的更多细节请参见图5及其相关描述,在此不再赘述。
评价参数获取模块120可以用于获取k个子模型中每个子模型的与模型性能相关的评价参数。在一些实施例中,评价参数可以反映子模型的以下至少一种模型性能:准确率、精确率、召回率、AUC、决定系数以及轮廓系数。
最终模型确定模块130可以用于基于k个子模型及其评价参数,确定最终模型,所述最终模型的模型参数为:所述k个子模型的模型参数以其评价参数为权重的加权运算结果。在一些实施例中,最终模型的模型参数为:所述k个子模型的模型参数以其评价参数为权重的加权平均值。
应当理解,图1所示的***及其模块可以利用各种方式来实现。例如,在一些实施例中,***及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行***,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和***可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的***及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于模型训练***100及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该***的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子***与其他模块连接。例如,图1中披露的子模型获取模块110、评价参数获取模块120以及最终模型确定模块130可以是一个***中的不同模块,也可以是一个模块实现上述的两个模块的功能。又例如,模型训练***100中各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
图2是根据本说明书的一些实施例所示的模型训练方法的示例性流程图。在一些实施例中,模型训练方法200可以由模型训练***100实现。
步骤202,获取经过训练数据训练的k个同类型的子模型,所述k为大于或等于2的整数,所述训练数据包括图像数据、文本数据或音频数据。具体的,步骤202可以由子模型获取模块110执行。
在一些实施例中,待训练模型可以是监督学习模型,训练数据可以是输入至待训练模型中用于训练模型的数据,经过训练数据对模型的训练可以生成具有特定预测能力的模型。根据模型的应用领域及应用场景的不同,训练数据可以包括不同类型的数据。在一些实施例中,训练数据可以包括但不限于图像数据、文本数据和音频数据等中的一种或多种的组合。在一些实施例中,需要使用不同的训练过程获得多个不同的中间模型,以便后续对这些中间模型进行融合,得到泛化能力更好的最终模型。因此,可以将这些中间模型称为子模型,应当理解,子模型的本质依然是机器学习模型,只是为了在表述上进行区分。
在一些实施例中,同类型的子模型可以理解为这些模型的类型相同。例如,k个同类型的子模型可以同为线性回归模型、神经网络模型、决策树模型、支持向量机模型或朴素贝叶斯模型等。k可以为大于或等于2的整数。例如,k可以为2、3、5、10或15等。
在一些实施例中,k个同类型的子模型的模型参数数量和模型参数类型相同。例如,当子模型为k个神经网络模型时,其模型参数可以均包括输入尺寸、卷积核大小、输出大小和权重等。且该k个神经网络模型的模型参数数量相同,如均包含15个模型参数。
在一些实施例中,子模型获取模块110可以通过多种方式获取k个同类型的子模型。在一些实施例中,子模型获取模块110可以通过同一初始模型进行不同迭代轮次获取k个同类型的子模型。在一些实施例中,子模型获取模块110可以通过k个同类型的初始模型分别进行训练获取k个同类型的子模型。关于获取k个同类型的子模型的更多细节可以参见图3、图4以及图5及其相关描述。
步骤204,获取k个子模型中每个子模型的与模型性能相关的评价参数。具体的,步骤204可以由评价参数获取模块120执行。
评价参数可以用于评价经过训练后的模型的性能。这些性能包括但不限于准确率、精确率、召回率、AUC(ROC曲线下的面积)、RMSE(均方根误差)、MAE(平均绝对误差)、MSE(均方误差)以及Coefficient of determination(决定系数)等。其中,准确率反映模型分类正确的样本占总样本个数的比例。精确率反映模型预测为正的样本中实际也为正的样本占被预测为正的样本的比例。召回率反映实际为正的样本被模型预测为正的样本所占实际为正的样本的比例。AUC(ROC曲线下的面积)反映模型预测任何一对(正、负)样本时,正样本的置信度大于负样本的置信度的概率。RMSE(均方根误差)、MAE(平均绝对误差)以及MSE(均方误差)均反映模型预测值和真实值的偏差。Coefficient of determination(决定系数)反映模型的拟合程度。
在一些实施例中,评价参数获取模块120可以获取子模型在验证集验证下的与模型性能相关的评价参数。对于有监督学习模型而言,验证集同样可以包括输入数据以及标签。在一些实施例中,验证集可以与训练集同分布,也可以不同分布。在对子模型进行验证时,可以将验证集中的输入数据输入到子模型中,得到子模型的预测结果。再将子模型的预测结果与验证集中的标签进行比较,得到相应的评价参数。在一些实施例中,评价参数获取模块120可以跟随子模型的获取过程完成验证,获得相应的评价参数。关于获取k各子模型的评价参数的更多细节可以参见图3、图4以及图5及其相关描述。
步骤206,基于k个子模型及其评价参数,确定最终模型,所述最终模型的模型参数为:所述k个子模型的模型参数以其评价参数为权重的加权运算结果。具体的,步骤206可以由最终模型确定模块130执行。
最终模型可以是基于k个子模型及其评价参数确定的一个模型。在一些实施例中,所述最终模型的模型参数为:所述k个子模型的模型参数以其评价参数为权重的加权运算结果。在一些实施例中,加权运算结果可以包括但不限于加权求和结果和加权平均结果等。可以理解,一个子模型的评价参数可以是在基于k个子模型确定最终模型的过程中,该子模型的模型参数的重要程度的量化表示。
在一些实施例中,最终模型确定模块130可以将k个子模型中各子模型的评价参数作为各子模型的模型参数的权重。示例地,以3个子模型(k=3)分别为子模型1、子模型2以及子模型3为例。若评价参数为准确率,子模型1的准确率为0.90,子模型2的准确率为0.92,子模型3的准确率为0.98,则子模型1的模型参数的权重可以为0.90,子模型2的模型参数的权重可以为0.95,子模型3的模型参数的权重可以为0.98。
在一些实施例中,最终模型的模型参数可以为:所述k个子模型的模型参数以其评价参数为权重的加权平均值。具体地,可以基于下述公式(1)获取最终模型的模型参数:
其中,w为最终模型的模型参数,xi为第i个子模型的权重,neti为第i个子模型的模型参数。其中,w与neti可以为数据集,例如矩阵形式。
仍以上述示例为例,若子模型1的模型参数为net1,子模型2的模型参数为net2,子模型3的模型参数为net3,则最终模型的模型参数可以表示为:
w=(0.90*net1+0.92*net2+0.98*net3)/(0.90+0.92+0.98)。
以上仅是对k个子模型的模型参数做加权运算的示例,在其他实施例中,加权运算还可以是加权求和。本说明书实施例通过对k个子模型的模型参数做加权运算,基于k个子模型生成一个最终模型,极大的减少了最终模型的参数量。同时,最终模型可以反映k个子模型中每个子模型的训练数据的分布,提高了最终模型的泛化能力。
图3是根据本说明书的一些实施例所示的获取k个同类型的子模型的示例性流程图。具体的,该流程图300的步骤302、304和306可以由子模型获取模块110执行。
步骤302,获取同一初始模型在同一训练集上训练不同迭代轮次的N个迭代模型,所述N为大于或等于2的整数。
在一些实施例中,初始模型可以包括用于训练生成子模型的任何监督学习模型,例如,线性回归模型、神经网络模型、决策树模型、支持向量机模型、朴素贝叶斯模型或者KNN模型等。在一些实施例中,训练集可以是指从训练数据中选取的多个训练样本的集合。所述训练数据可以基于不同的应用场景确定,所述应用场景可以包括云客服、风险管控等,训练数据的类型可以是文本数据、图像数据和/或音频数据等。在一些实施例中,一个迭代轮次可以是指使用训练集中的全部训练样本对初始模型进行一次完整训练,如训练集中的全部训练样本通过了初始模型一次并且对初始模型的参数进行了更新。迭代模型可以是指初始模型基于不同迭代轮次生成的对应的模型。
在一些实施例中,子模型获取模块110可以通过对同一初始模型在同一训练集上训练不同迭代轮次,获取N个迭代模型,所述N为大于或等于2的整数。示例地,以N为5为例,则可以利用同一训练集中的全部训练样本对同一初始模型进行1次完整训练,生成迭代模型1。利用同一训练集中的全部训练样本对同一初始模型进行2次完整训练,生成迭代模型2。利用同一训练集中的全部训练样本对同一初始模型进行3次完整训练,生成迭代模型3。依次类推,从而获取5个迭代模型,即迭代模型1、迭代模型2、迭代模型3、迭代模型4以及迭代模型5。
步骤304,采用k个验证集分别对每个迭代模型进行验证,以获得在每个验证集验证下N个迭代模型的评价参数。
在一些实施例中,验证集可以是在初始模型的训练过程中单独留出的样本集,它可以用于对初始模型的能力进行验证和评估。例如,在云客服场景中,验证集可以包括多个样本对,每个样本对可以包括作为验证输入的用户诉求信息和作为标签的人工客服回复信息。
在一些实施例中,子模型获取模块110可以采用k个验证集分别对每个迭代模型进行验证(k为大于等于2的整数),以获得在每个验证集验证下N个迭代模型的评价参数。仍以上述示例为例,若k为3,则可以采用3个验证集(例如验证集1、验证集2以及验证集3)分别对上述迭代模型1、迭代模型2、迭代模型3、迭代模型4以及迭代模型5进行验证,以分别得到验证集1、2和3的验证下迭代模型1、迭代模型2、迭代模型3、迭代模型4以及迭代模型5的评价参数(共计3*5=15个评价参数)。
步骤306,选择所述k个验证集中每个验证集所对应的评价参数最优的迭代模型,获得所述k个子模型。
在一些实施例中,子模型获取模块110可以选择所述k个验证集中每个验证集所对应的评价参数最优的迭代模型,从而组成所述k个子模型。其中,为了便于不同的迭代模型进行对比,评价参数可以为同一种评价参数。例如,以评价参数为准确率为例,则k个子模型为所述k个验证集中每个验证集所对应的准确率最优的迭代模型。仅作为示例,对于云客服场景中训练的用于回答用户诉求的神经网络模型,评价参数可以为该神经网络模型的回答准确率,则k个子模型可以为k个验证集中每个验证集所对应的回答准确率最优的该神经网络模型的迭代模型。
由于不同验证集所对应的评价参数最优的迭代模型可能相同,因此,k个子模型中可能存在相同的迭代模型。仍以上述示例为例,若验证集1所对应的准确率最优的迭代模型为迭代模型1,验证集2所对应的准确率最优的迭代模型为迭代模型3,验证集3所对应的准确率最优的迭代模型为迭代模型1。则k个子模型分别为迭代模型1、迭代模型3以及迭代模型1。由于评价参数最优的迭代模型可能会被重复选中,因此,在基于k个子模型确定最终模型的过程中,表现好的迭代模型的权重可能会相应增加。
可以理解地,不同验证集所对应的评价参数最优的迭代模型也可能不相同,因此,k个子模型中的迭代模型可以均不相同。仍以上述示例为例,若验证集1所对应的准确率最优的迭代模型为迭代模型1,验证集2所对应的准确率最优的迭代模型为迭代模型2,验证集3所对应的准确率最优的迭代模型为迭代模型3。则k个子模型分别为迭代模型1、迭代模型2以及迭代模型3。
本说明书实施例通过选取每个验证集所对应的评价参数最优的迭代模型,获取k个子模型。在此基础上,评价参数获取模块120可以将每个验证集的最优评价参数作为对应子模型的评价参数。通过使得k个子模型中的每个子模型在其对应验证集上的表现能力均最好,可以提高基于k个子模型生成的最终模型的表现能力。同时,采用多个验证集(即k个验证集)同时验证一个迭代模型,可以得到多个验证集所对应的多个结果,在模型调整参数的过程中减少了由训练数据的分布不一致给模型带来的差异影响,且一次训练对应验证多个验证集,减少了训练成本。
图4是根据本说明书的一些实施例所示的获取k个同类型的子模型的另一示例性流程图。具体的,该流程图400的步骤402和404可以由子模型获取模块110执行。
步骤402,获取k个同类型的初始模型,所述k个初始模型的初始化参数不完全相同。
k个同类型的初始模型可以是指每个初始模型的结构相同。例如,k个初始模型的模型参数数量和模型参数类型均相同。在一些实施例中,每个初始模型可以包含多个模型参数,每个模型参数均可以设置一套初始化参数。在一些实施例中,k个初始模型的初始化参数不完全相同可以理解为:任意两个初始模型之间,其各自的所有模型参数的初始化参数中至少有一个不相同。在一些实施例中,子模型获取模块110可以为每个初始模型的部分或全部模型参数赋予一个随机的初始值(即初始化参数)。
步骤404,对所述k个初始模型进行训练,以获得所述k个子模型。
在一些实施例中,子模型获取模块110可以对所述k个初始模型进行训练,以获得所述k个子模型。具体地,子模型获取模块110可以对所述k个初始模型中的每一个执行以下步骤:利用相同的训练集进行至少一轮迭代训练;对所述至少一轮迭代训练中每一轮迭代输出的模型利用验证集进行验证得到评价参数;将评价参数最优的模型确定为与该初始模型对应的子模型。
在一些实施例中,对k个初始模型中的每个初始模型的迭代训练的轮次可以相同。示例地,以k个初始模型分别为初始模型1、初始模型2以及初始模型3为例,则可以对初始模型1、初始模型2以及初始模型3均利用相同的训练集进行10轮迭代训练。在一些实施例中,对k个初始模型中的每个初始模型的迭代训练的轮次可以不完全相同。例如,仍以上述示例为例,可以对初始模型1进行3轮迭代训练,对初始模型2进行5轮迭代训练,对初始模型3进行5轮迭代训练。也可以对初始模型1进行3轮迭代训练,对初始模型2进行4轮迭代训练,对初始模型3进行5轮迭代训练。在一些实施例中,子模型获取模块110可以对所述至少一轮迭代训练中每一轮迭代输出的模型利用相同的验证集进行验证得到评价参数。在一些实施例中,子模型获取模块110可以将评价参数最优(如准确率最优)的模型确定为与该初始模型对应的子模型。在此基础上,评价参数获取模块120可以将该最优的评价参数作为该子模型的评价参数。
在又一些实施例中,也可以对k个初始模型中的每个初始模型仅进行一次迭代训练,将经过一次迭代训练的模型作为所述k个子模型,然后利用验证集对k子模型分别进行验证得到各自的评价参数。
图5是根据本说明书的一些实施例所示的获取k个同类型的子模型的另一示例性流程图。具体的,该流程图500的步骤502和504可以由子模型获取模块110执行。
步骤502,获取初始模型。
在一些实施例中,初始模型可以是指用于训练生成子模型的任何监督学习模型。关于初始模型的更多细节请参见步骤302及其相关描述,在此不再赘述。
步骤504,对所述初始模型进行k折训练,以获得所述k个子模型,其中,所述k折训练包括:将训练数据划分为k份,轮流将其中k-1份作为训练集,1份作为验证集对所述初始模型进行训练。
在一些实施例中,子模型获取模块110可以对所述初始模型进行k折训练,以获得所述k个子模型。在一些实施例中,k为大于等于2的整数。例如,k的取值可以为5、8、10或15等。
在一些实施例中,训练数据可以随机地被划分为k份。在一些实施例中,这k份训练数据没有交集,而这k份训练数据的集合等于原始的训练数据集。在一些实施例中,所述k份训练数据可以有重叠。在每次训练中,子模型获取模块110可以将其中k-1份作为训练集对初始模型进行训练以得到子模型;评价参数获取模块120可以将剩余的1份作为验证集对该获得的子模型进行验证以获得该子模型的评价参数。对初始模型重复执行k次上述训练过程,即可获得k个子模型以及每个子模型对应的评价参数。
为了更加清楚、完整的演绎本说明书一些实施例所示的模型训练过程,现以图6为例进行阐述,其中,图6所示的流程基于图3所示的获取k个模型的流程,但不应将其作为本说明书内容的限制。
示例地,如图6所示,具体可通过以下方式实现模型的泛化训练:
将同一初始模型在同一训练集上训练不同的迭代轮次获得N个迭代模型,分别为迭代模型1、迭代模型2、……以及迭代模型N。采用k个验证集分别对迭代模型1、迭代模型2、……以及迭代模型N进行验证。经过k个验证集分别对上述每个迭代模型进行验证后,可以得到每个迭代模型在k个验证集中的每个验证集验证下的准确率。即,得到迭代模型1分别在验证集1的验证下的准确率1_1、在验证集2的验证下的准确率1_2、……以及在验证集k的验证下的准确率1_k;得到迭代模型2分别在验证集1的验证下的准确率2_1、在验证集2的验证下的准确率2_2、……以及在验证集k的验证下的准确率2_k;……;得到迭代模型N分别在验证集1的验证下的准确率N_1、在验证集2的验证下的准确率N_2、……以及在验证集k的验证下的准确率N_k。
得到每个迭代模型在k个验证集中的每个验证集验证下的准确率之后,可以基于获得的准确率,选择与k个验证集中每个验证集对应的最优准确率。即选择与验证集1对应的最优准确率1(x1)、与验证集2对应的最优准确率2(x2)、……以及与验证集k对应的最优准确率k(xk)。
得到最优准确率之后,可以基于最优准确率,获得与最优准确率对应的迭代模型,该迭代模型为最优模型(也即子模型)。即,获得与最优准确率1对应的最优模型1、与最优准确率2对应的最优模型2、……与最优准确率k对应的最优模型k。在此情况下,最优模型1的评价参数即为最优准确率1、最优模型2的评价参数即为最优准确率2、……最优模型k的评价参数即为最优准确率k。同时,将最优模型1的模型参数表示为net1、最优模型2的模型参数表示为net2、……以及最优模型k的模型参数表示为netk。
最后,基于最优模型1、最优模型2、……以及最优模型k各自的模型参数及其分别对应的评价参数,确定最终模型。最终模型的模型参数为(x1*net1+x2*net2+…+xk*netk)/(x1+x2…+xk)。
本说明书实施例例还提供一种装置,其至少包括处理器以及存储器。所述存储器用于存储指令。当所述指令被所述处理器执行时,所述装置实现本说明书任一实施例所述的模型训练方法。
本说明书实施例还提供一种计算机可读存储介质。所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机实现本说明书任一实施例所述的模型训练方法。
本说明书实施例可能带来的有益效果包括但不限于:(1)通过对k个子模型的模型参数做加权运算,使得k个子模型生成一个最终模型,极大的减少了最终模型的参数量,同时提高了最终模型的泛化能力;(2)可以采用多个验证集同时验证一个迭代模型,得到多个验证集所对应的多个结果,在模型调整参数的过程中减少了由训练数据的分布不一致给模型带来的差异影响,且一次训练对应验证多个验证集,减少了训练成本。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“***”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行***、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的***组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的***。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (17)
1.一种智能答复模型训练方法,包括,
获取经过训练数据训练的k个同类型的子模型,所述k为大于或等于2的整数,所述训练数据包括人工客服或智能客服机器人与用户的历史对话内容;
获取所述k个子模型中每个子模型的与模型性能相关的评价参数;
基于所述k个子模型及其评价参数,确定最终模型,所述最终模型能够根据用户的当前话术和/或智能客服机器人与用户对话的上下文内容,确定当前输出话术,所述最终模型的模型参数为:所述k个子模型的模型参数以其评价参数为权重的加权运算结果。
2.如权利要求1所述的模型训练方法,所述获取经过训练数据训练的k个同类型的子模型包括:
获取同一初始模型在同一训练集上训练不同迭代轮次的N个迭代模型,所述N为大于或等于2的整数;
采用k个验证集分别对每个迭代模型进行验证,以获得在每个验证集验证下N个迭代模型的评价参数;
选择所述k个验证集中每个验证集所对应的评价参数最优的迭代模型,获得所述k个子模型。
3.如权利要求1所述的模型训练方法,所述获取经过训练数据训练的k个同类型的子模型包括:
获取k个同类型的初始模型,所述k个初始模型的初始化参数不完全相同;
对所述k个初始模型进行训练,以获得所述k个子模型。
4.如权利要求3所述的模型训练方法,所述对所述k个初始模型进行训练,以获得所述k个子模型包括,对于k个初始模型中的每一个:
利用相同的训练集进行至少一轮迭代训练;
对所述至少一轮迭代训练中每一轮迭代输出的模型利用验证集进行验证得到评价参数;
将评价参数最优的模型确定为与该初始模型对应的子模型。
5.如权利要求1所述的模型训练方法,所述获取经过训练数据训练的k个同类型的子模型包括:
获取初始模型;
对所述初始模型进行k折训练,以获得所述k个子模型,其中,所述k折训练包括:将训练数据划分为k份,轮流将其中k-1份作为训练集,1份作为验证集对所述初始模型进行训练。
6.如权利要求1所述的模型训练方法,所述k个同类型的子模型的模型参数数量和模型参数类型相同。
7.如权利要求1所述的模型训练方法,所述最终模型的模型参数为:所述k个子模型的模型参数以其评价参数为权重的加权平均值。
8.如权利要求1~7任一项所述的模型训练方法,所述评价参数反映子模型的以下至少一种模型性能:准确率、精确率、召回率、AUC、决定系数以及轮廓系数。
9.一种智能答复模型训练***,包括子模型获取模块、评价参数获取模块和最终模型确定模块;
所述子模型获取模块用于获取经过训练数据训练的k个同类型的子模型,所述k为大于或等于2的整数,所述训练数据包括人工客服或智能客服机器人与用户的历史对话内容;
所述评价参数获取模块用于获取所述k个子模型中每个子模型的与模型性能相关的评价参数;
所述最终模型确定模块用于基于所述k个子模型及其评价参数,确定最终模型,所述最终模型能够根据用户的当前话术和/或智能客服机器人与用户对话的上下文内容,确定当前输出话术,所述最终模型的模型参数为:所述k个子模型的模型参数以其评价参数为权重的加权运算结果。
10.如权利要求9所述的模型训练***,所述子模型获取模块进一步用于:
获取同一初始模型在同一训练集上训练不同迭代轮次的N个迭代模型,所述N为大于或等于2的整数;
采用k个验证集分别对每个迭代模型进行验证,以获得在每个验证集验证下N个迭代模型的评价参数;
选择所述k个验证集中每个验证集所对应的评价参数最优的迭代模型,获得所述k个子模型。
11.如权利要求9所述的模型训练***,所述子模型获取模块进一步用于:
获取k个同类型的初始模型,所述k个初始模型的初始化参数不完全相同;
对所述k个初始模型进行训练,以获得所述k个子模型。
12.如权利要求11所述的模型训练***,所述子模型获取模块进一步用于:对于k个初始模型中的每一个:
利用相同的训练集进行至少一轮迭代训练;
对所述至少一轮迭代训练中每一轮迭代输出的模型利用验证集进行验证得到评价参数;
将评价参数最优的模型确定为与该初始模型对应的子模型。
13.如权利要求9所述的模型训练***,所述子模型获取模块进一步用于:
获取初始模型;
对所述初始模型进行k折训练,以获得所述k个子模型,其中,所述k折训练包括:将训练数据划分为k份,轮流将其中k-1份作为训练集,1份作为验证集对所述初始模型进行训练。
14.如权利要求9所述的模型训练***,所述k个同类型的子模型的模型参数数量和模型参数类型相同。
15.如权利要求9所述的模型训练***,所述最终模型的模型参数为:所述k个子模型的模型参数以其评价参数为权重的加权平均值。
16.如权利要求9~15任一项所述的模型训练***,所述评价参数反映子模型的以下至少一种模型性能:准确率、精确率、召回率、AUC、决定系数以及轮廓系数。
17.一种智能答复模型训练装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现如权利要求1~8任一项所述的智能答复模型训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010118876.1A CN111340245B (zh) | 2020-02-26 | 2020-02-26 | 一种模型训练方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010118876.1A CN111340245B (zh) | 2020-02-26 | 2020-02-26 | 一种模型训练方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111340245A CN111340245A (zh) | 2020-06-26 |
CN111340245B true CN111340245B (zh) | 2022-07-12 |
Family
ID=71185690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010118876.1A Active CN111340245B (zh) | 2020-02-26 | 2020-02-26 | 一种模型训练方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111340245B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112288098A (zh) * | 2020-11-02 | 2021-01-29 | 平安数字信息科技(深圳)有限公司 | 预训练模型的获取方法、装置以及计算机设备 |
CN114047452B (zh) * | 2022-01-13 | 2022-05-13 | 浙江玥视科技有限公司 | 一种确定电池循环寿命的方法及装置 |
CN115524615A (zh) * | 2022-10-08 | 2022-12-27 | 深圳先进技术研究院 | 基于电池制浆工艺的材料参数组合预测电池性能的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309283A (zh) * | 2019-06-28 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 一种智能问答的答案确定方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9508347B2 (en) * | 2013-07-10 | 2016-11-29 | Tencent Technology (Shenzhen) Company Limited | Method and device for parallel processing in model training |
-
2020
- 2020-02-26 CN CN202010118876.1A patent/CN111340245B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309283A (zh) * | 2019-06-28 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 一种智能问答的答案确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111340245A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11790238B2 (en) | Multi-task neural networks with task-specific paths | |
EP3711000B1 (en) | Regularized neural network architecture search | |
US11487954B2 (en) | Multi-turn dialogue response generation via mutual information maximization | |
US20200201871A1 (en) | Systems and Methods for Allocating Capital to Trading Strategies for Big Data Trading in Financial Markets | |
CN111340245B (zh) | 一种模型训练方法及*** | |
US20200410365A1 (en) | Unsupervised neural network training using learned optimizers | |
US11922281B2 (en) | Training machine learning models using teacher annealing | |
US11741370B2 (en) | Transfer learning based on cross-domain homophily influences | |
US11741371B2 (en) | Automatically generating diverse text | |
US11501107B2 (en) | Key-value memory network for predicting time-series metrics of target entities | |
CN111582500A (zh) | 一种提高模型训练效果的方法和*** | |
CN113826125A (zh) | 使用无监督数据增强来训练机器学习模型 | |
CN111461353A (zh) | 一种模型训练的方法和*** | |
US20210064982A1 (en) | Cross-domain homophily quanitifcation for transfer learning | |
CN110955755A (zh) | 一种确定目标标准信息的方法和*** | |
CN114861671A (zh) | 模型训练方法、装置、计算机设备及存储介质 | |
CN113128677A (zh) | 模型生成方法和装置 | |
CN111310794A (zh) | 目标对象的分类方法、装置和电子设备 | |
CN117493530B (zh) | 资源需求分析方法、装置、电子设备以及存储介质 | |
US11886976B1 (en) | Efficient decoding of output sequences using adaptive early exiting | |
US20230019779A1 (en) | Trainable differential privacy for machine learning | |
CN118350944A (zh) | 产品推荐方法、装置、电子设备、介质和计算机程序产品 | |
CN116306985A (zh) | 预测模型训练方法、装置、计算机设备和存储介质 | |
CN117521601A (zh) | 一种文本生成图片的方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |