一种模型参数训练方法及装置
技术领域
本发明实施例涉及机器学习技术,尤其涉及一种模型参数训练方法及装置。
背景技术
根据输入和参数预测输出的模型可用于人工智能,例如根据用户输入的口语化的文本准确识别出用户需要的文件,再如根据输入的图像准确识别出图中的对象。对于一般的机器学习算法而言,模型的性能主要取决于它的参数配置。采用不同的参数组合生成的模型往往具有很大的性能差异。通常模型的参数需要训练。
参数训练的基本定义如下:给定一个训练数据集XT,参数训练的目标是找一个机器学习算法F的参数组合θ,在XT上建立一个模型f,使得f在给定性能评测准则g(·)下最大化(或者最小化)性能评测值。需要进行参数训练来找到最适合的参数才能确定最终的模型性能。
在机器学习过程中,需要利用多个训练样本对训练模型进行多次训练,最终获得精准度符合预定要求的模型,即理想模型。其中,在训练之前,该训练模型中的模型参数是未知的,而经过训练之后,该训练模型中的模型参数即被确定下来且是已知的。
通常情况下,需要提供大量的标注样本{(x,y)}来训练学习模型参数w。其中一种现有技术的方案是:首先初始化模型参数向量w,然后枚举已标注样本集合DL中的每一个已标注样本(x,y),在当前模型参数w下,计算 如果则使用公式更新模型参数,再进行下一个已标注样本的计算,当所有已标注样本都被使用后,整个训练过程结束,所得的模型参数向量即为所训练的模型。这种技术的缺点是需要提供大量的标注样本,然而数据的标注需要大量的人力成本,费力费时。
使用少量的标注样本以及大量的未标注样本来学习模型,从而可以在一定程度上缓解上述现有技术的缺点。另外一种现有技术的方案是:先使用已有的少量标注样本来学习一个比较弱的模型,然后使用该弱模型对未标注样本进行预测,例如预测值是0-1之间的概率值,因此可以设定一个阈值(比如0.9)来筛选出大于该阈值的数据及其预测结果作为“伪标注样本”,并与原有的标注样本一起重新学习一个新的模型,接着再次使用该新的模型来对剩下的未标注样本进行预测,然后再次筛选出大于阈值的数据及其预测结果作为新的“伪标注样本”,如此迭代下去,直到不能再筛选出新的数据作为“伪标注样本”为止。至此,我们已经使用少量的标注样本以及大量的未标注样本来学习一个比只使用少量标注样本学习还要好的模型。该技术的核心是需要设定一个合理的阈值来筛选出“伪标注样本”以增加标注样本的量,从而可以学习一个更好的模型。然而,有些机器学习模型在新的数据上的预测值并没有上限,因此根本给不出一个合理的阈值来筛选“伪标注样本”,从而在这种情况下仍然无法利用未标注样本来缓解第一种现有技术中标注样本稀少的缺点。
现有技术存在两个缺点:要么依赖大量的标注样本、要么需要提供阈值才可以利用未标注样本来缓解标注样本稀少的问题。
发明内容
本发明实施例提供一种模型参数训练方法及装置,可以在缺少标注样本和阈值的情况下训练模型参数。
第一方面,本发明实施例提供了一种模型参数训练方法,包括:获取样本数据集合和根据所述样本数据集合进行预测的数据模型,所述样本数据集合包括已标注样本和未标注样本,所述数据模型包括初始化的第一参数V的向量和第二参数U的向量;根据所述已标注样本训练所述第一参数V和所述第二参数U;对已根据所述已标注样本训练后的第一参数V和第二参数U,根据所述未标注样本再次训练。
第二方面,本发明实施例还提供了一种模型参数训练装置,包括:获取模块,用于获取样本数据集合和根据所述样本数据集合进行预测的数据模型,所述样本数据集合包括已标注样本和未标注样本,所述数据模型包括初始化的第一参数V的向量和第二参数U的向量;第一训练模块,与所述获取模块相连,用于根据所述已标注样本训练所述第一参数V和所述第二参数U;第二训练模块,与所述第一训练模块相连,用于对已根据所述已标注样本训练后的第一参数V和所述第二参数U,根据所述未标注样本再次训练。
本发明实施例所提供的技术方案,对于无法提供预测值上限的预测模型而言,充分利用大量的未标注样本和少量的标注样本来训练模型参数,节省了大量用于标注样本的人力成本。
附图说明
图1是本发明实施例一提供的模型参数训练方法流程图;
图2是本发明实施例二提供的模型参数训练方法流程图;
图3是本发明实施例三提供的模型参数训练装置结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的模型参数训练方法流程图,本实施例可适用于机器学习,该方法可以由模型参数训练装置来执行,该装置可以由软件和/或硬件方式实现,该装置可以集成在任何提供人工智能的设备中,例如典型的是用户终端设备,如手机、平板电脑、智能电视或智能手表等。该方法包括:
S101、获取样本数据集合和根据所述样本数据集合进行预测的数据模型,所述样本数据集合包括已标注样本和未标注样本,所述数据模型包括初始化的第一参数V的向量和第二参数U的向量。
进一步地,所述已标注样本为(x,y),所述未标注样本为z,所述第一参数V为向量wv,所述第二参数U为向量wu。
假设有标注样本集合即有n个标注样本(xi,yi),通常标注样本不易得到,因而数量较少,例如n为100,未标注样本集合即有m个未标注样本zj,未标注样本数量较多,例如m为1000。模型的参数w被划分为wu和wv。
进一步地,所述初始化所述第一参数V和所述第二参数U为将所述第一参数V和所述第二参数U置为0向量。
例如初始化模型参数向量wu←0,wv←0。
数据模型例如可以是:假设x是一个输入,y′∈y(x)是可能的预测输出,向量Φ(x,y′)是特征表示,向量w是参数,score(x,y′)=wT·Φ(x,y′)是y′在参数w下的得分,预测的目标是找出得分最高的作为最终的预测输出,这里,我们关注的是如何训练参数w。
S102、根据所述已标注样本训练所述第一参数V和所述第二参数U。
已标注样本相对可靠,但数量相对较少,根据所述已标注样本训练出来的所述第一参数V和所述第二参数U不够完善。
S103、对已根据所述已标注样本训练后的第一参数V和第二参数U根据所述未标注样本再次训练。
未标注样本相对不可靠,但数量相对较多,根据未标注样本训练第一参数V和第二参数U,使第一参数V和第二参数U更加精确。
模型的参数在经过训练之后,模型的性能得到提高,预测会更加准确,此时所述模型可根据上述步骤训练出的参数和输入准确预测输出。
本实施例将模型参数拆分为两部分,本领域技术人员可以理解的是,模型参数还可拆分为两部分以上,进行多视图学习。
本发明实施例所提供的技术方案,对于无法提供预测值上限的预测模型而言,充分利用大量的未标注样本和少量的标注样本来训练模型参数,节省了大量用于标注样本的人力成本。
实施例二
图2是本发明实施例二提供的模型参数训练方法流程图,实施例二以实施例一为基础。本实施例提供的模型参数训练方法包括以下步骤:步骤S201、步骤S202和步骤S203。其中,步骤S202是对实施例一中的步骤S102的优化,步骤S203是对实施例一中的步骤S103的优化,步骤S201与实施例一中的步骤S101相同,相同的步骤不再赘述。
S201、获取样本数据集合和根据所述样本数据集合进行预测的数据模型,所述样本数据集合包括已标注样本和未标注样本,所述数据模型包括初始化的第一参数V的向量和第二参数U的向量。
S202、对于已标注样本集合DL中的每一个已标注样本:由所述已标注样本的第一特征向量Φv及所述第一参数V算出第一预测结果y1,当所述第一预测结果y1与所述已标注样本不一致时,更新所述第一参数V;由所述已标注样本的第二特征向量Φu及所述第二参数U算出第二预测结果y2,当所述第二预测结果y2与所述已标注样本不一致时,更新所述第二参数U;重复上述两过程直到所有已标注样本都被使用。
进一步地,所述已标注样本的第一特征向量Φv为Φv(x,y′),枚举已标注样本集合DL中的每一个未标注样本(x,y),在当前模型参数wv下,计算如果y1≠y,则使用公式wv←wv+Φv(x,y)-Φv(x,y1)更新第一参数;所述已标注样本的第二特征向量Φu为Φu(x,y′),枚举已标注样本集合DL中的每一个未标注样本(x,y),在当前模型参数wu下,计算如果y2≠y,则使用公式wu←wu+Φu(x,y)-Φu(x,y2)更新第二参数;重复上述两过程直到所有已标注样本都被使用。
S203、对于未标注样本集合DU中的每一个未标注样本:由所述未标注样本的第二特征向量Φu’及所述第二参数U算出第三预测结果z3,由所述未标注样本的第一特征向量Φv’及所述第一参数V算出第四预测结果z4,当所述第三预测结果z3跟所述第四预测结果z4不一致时,更新所述第二参数U以及更新所述第一参数V,重复此过程直到所有未标注样本都被使用。
进一步地,所述未标注样本的第二特征向量Φu’为Φu(z,y′),所述未标注样本的第一特征向量Φv’为Φv(z,y′)。枚举未标注样本集合DU中的每一个未标注样本z,在当前模型参数wu和wv下,计算及如果z3≠z4,则使用公式 更新wu,同时使用公式 更新wv,重复此过程直到所有未标注样本都被使用。
其中
λ、n及m为常数。
进一步地,可以设定迭代循环的次数I,上述步骤S202、步骤S203为每次迭代时所做的操作,当循环了I次后,第一参数V和第二参数U更加精确。
本实施例根据已标注样本更新第一参数及第二参数,根据未标注样本再次更新第一参数和第二参数,对于无法提供预测值上限的预测模型而言,充分利用大量的未标注样本和少量的标注样本来训练模型参数,节省了大量用于标注样本的人力成本。
实施例三
图3是本发明实施例三提供的模型参数训练装置结构示意图。该装置用于执行上述实施例中的模型参数训练方法。该装置包括:获取模块301、第一训练模块302及第二训练模块303。
获取模块301,用于获取样本数据集合和根据所述样本数据集合进行预测的数据模型,所述样本数据集合包括已标注样本和未标注样本,所述数据模型包括初始化的第一参数V的向量和第二参数U的向量。
第一训练模块302,与所述获取模块301相连,用于根据所述已标注样本训练所述第一参数V和所述第二参数U。
第二训练模块303,与所述第一训练模块302相连,用于对已根据所述已标注样本训练后的第一参数V和所述第二参数U,根据所述未标注样本再次训练。
本实施例充分利用大量的未标注样本和少量的标注样本来训练模型参数,在提供不了阈值的情况下充分利用大量的未标注样本来解决已标注样本稀少的问题,也提高了模型的性能。
进一步地,所述第一训练模块具体用于:对于已标注样本集合DL中的每一个已标注样本,由所述已标注样本的第一特征向量Φv及所述第一参数V算出第一预测结果y1,当所述第一预测结果y1与所述已标注样本不一致时,更新所述第一参数V;由所述已标注样本的第二特征向量Φu及所述第二参数U算出第二预测结果y2,当所述第二预测结果y2与所述已标注样本不一致时,更新所述第二参数U;重复上述两过程直到所有已标注样本都被使用。
进一步地,所述第二训练模块具体用于:对于未标注样本集合DU中的每一个未标注样本,由所述未标注样本的第二特征向量Φu’及所述第二参数U算出第三预测结果z3,由所述未标注样本的第一特征向量Φv’及所述第一参数V算出第四预测结果z4,当所述第三预测结果z3跟所述第四预测结果z4不一致时,更新所述第二参数U以及更新所述第一参数V,重复此过程直到所有未标注样本都被使用。
本实施例根据已标注样本更新第一参数及第二参数,并根据未标注样本再次更新第一参数和第二参数。
进一步地,所述第一参数V为向量wv,所述第二参数U为向量wu,所述初始化所述第一参数V和所述第二参数U为将所述第一参数V和所述第二参数U置为0向量,所述已标注样本为(x,y),所述未标注样本为z。对某一候选预测结果y’∈y(x),y(x)表示所有可能的预测结果集合,所述已标注样本的第一特征向量Φv为Φv(x,y′),所述已标注样本的第二特征向量Φu为Φu(x,y′)。对某一候选预测结果y’∈y(z),y(z)表示所有可能的预测结果集合,所述未标注样本的第二特征向量Φu’为Φu(z,y′),所述未标注样本的第一特征向量Φv’为Φv(z,y′)。
进一步地,
所述第一预测结果y1通过如下公式计算:
所述第二预测结果y2通过如下公式计算:
所述第三预测结果z3通过如下公式计算:
所述第四预测结果z4通过如下公式计算:
当所述第一预测结果y1与所述已标注样本不一致时,更新所述第一参数V包括:更新后的第一参数V的向量=wv+Φv(x,y)-Φv(x,y1);当所述第二预测结果y2与所述已标注样本不一致时,更新所述第二参数U包括:更新后的第二参数U的向量=wu+Φu(x,y)-Φu(x,y2);当所述第三预测结果z3跟所述第四预测结果z4不一致时,更新所述第二参数U包括:更新后的第二参数U的 同时更新所述第一参数V包括:再次更新后的第一参数V的
其中
λ、n及m为常数。
本发明实施例所提供的模型参数训练装置可用于执行本发明其他实施例所提供的模型参数训练方法,具备执行该方法相应的功能和有益效果。
实施例四
本实施例是上述实施例的技术方案的应用。本实施例的应用背景是根据用户输入的口语化的文本准确识别出用户需要的文件。
假设输入样本x=唱首周董的东风破,预测任务是识别出x中的实体名(即这里的歌手“周董”,歌曲“东风破”)并将其连接到实体库中(即分别将“周董”和“东风破”连接到表中标号为1003的记录中)。
表1音乐实体库样例
编号 |
歌手(ARTIST) |
歌曲(SONG) |
1001 |
梁伶 |
东风破 |
1002 |
浮瑶 |
东风破 |
1003 |
周杰伦 |
东风破 |
y(x)是可能的预测结果集合,y′∈y(x)是可能的预测结果之一,下表给出部分可能的预测结果:
表2候选答案组合样例
表中的得分使用以下公式计算:score(x,y′)=wT·Φ(x,y′),其中向量w是模型参数,向量Φ(x,y′)是特征表示,假设w=[0.4,0.3,0.2,0.1,0.5,0.5,0.5,0.5]T,Φ(x,y′)=[1,1,1,1,1,1,1,1]T,那么score(x,y′)=wT·Φ(x,y′)=3。
预测的目标是找出得分最高的作为最终的预测结果,上表中得分最高的第20个预测结果 即为预测结果。
本实施例关心的是如何通过标注样本和未标注样本来训练模型参数向量w。
将特征集合Φ(x,y′)分成2个划分,分别为Φu(x,y′)=[1,1,1,1]T和Φv(x,y′)=[1,1,1,1]T。同时,模型参数w也被划分为两个集合wu=[0.4,0.3,0.2,0.1]T和wv=[0.5,0.5,0.5,0.5]T,于是,训练模型参数向量w,即为训练模型参数wu和wv。
假设有标注样本即有n个标注样本(xi,yi),假设n=100个。其中的一个标注样本例如:x=我想听梁伶的东风破,y=我(O)/想(O)/听(O)/梁伶(ARTIST/1001)/的(O)/东风破(SONG/1001)。
未标注样本假设有m个未标注样本xj,假设m=1000。其中的一个未标注样本例如:x=我想听东风破梁伶唱的。
以下为模型参数训练方法的具体过程:
1.初始化模型参数向量wu←0,wv←0(即模型参数向量中每一维的值设为0向量),设定迭代循环的次数I=10,以下步骤2-3为每次迭代时所做的操作,当循环了I=10次后,整个训练过程结束,得到所训练模型的参数向量wu和wv。
2.枚举已标注样本集合DL中的每一个已标注样本(x,y),假设当前(x,y)=(我想听梁伶的东风破,我(O)/想(O)/听(O)/梁伶(ARTIST/1001)/的(O)/东风破(SONG/1001)),在当前模型参数wv下,计算 由于当前wu←0,wv←0,则所有的候选答案组合的得分均为0,随机选择此时则使用公式更新模型参数。假设Φv(x,y)=[1,2,3,4,5]T,于是wv=[0,0,0,0,0]T+[1,2,3,4,5]T-[2,1,2,2,1]T=[-1,1,1,2,4]T;在模型参数wu下的计算过程类似。对每个视图计算并更新模型参数后(如果在某视图下则不需要更新相应的模型参数),返回2继续下一个已标注样本的计算,直到枚举完所有的已标注样本。
3.枚举未标注样本集合DU中的每一个未标注样本x,对两个独立的视图u,v,在当前模型参数wu和wv下,计算
假设当前未标注样本x=我想听东风破梁伶唱的,通过使用当前模型参数wu和wv对所有可能的答案组合计算得分后,得到 此时则使用以下公式更新模型参数。
其中
假设当前wu=[-1,1,1,2,4]T,wv=[1,-1,1,2,3]T,=0.1是常量参数, 于是f1=10,f2=3,g1=5,g2=11,因此,得到最新模型参数为
更新模型后(如果则不需要更新模型参数),返回3继续下一个未标注样本的计算,直到枚举完所有的未标注样本。
本实施例所提供的技术方案,对于无法提供预测值上限的预测模型而言,充分利用大量的未标注样本和少量的标注样本来训练模型参数,根据训练后的模型参数,模型能够根据用户输入的口语化的文本准确识别出用户需要的文件。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。