本说明书涉及机器学习,尤其涉及一种确定目标模型的方法、装置、存储介质及设备。
背景技术:
1、机器学习模型的结构对训练得到的机器学习模型性能有极大的影响。因此,合理确定机器学习模型的结构,以训练得到用于执行指定任务的目标模型,为机器学习领域的热点问题。
2、为了得到合理的目标模型,本说明书提供了一种确定目标模型的方法。
技术实现思路
1、本说明书提供一种确定目标模型的方法、装置、存储介质及设备,以至少部分的解决上述存在的问题。
2、本说明书采用下述技术方案:
3、本说明书提供了一种确定目标模型的方法,包括:
4、获取预先确定的结构不完全相同的各待定模型,构建强化学习的搜索空间;
5、将从所述搜索空间中确定作为目标模型的待定模型的操作,作为动作,并根据执行所述动作后得到的所述目标模型的结构,确定状态;
6、获取训练样本及所述训练样本的标注,以对所述目标模型进行训练,并通过训练得到的所述目标模型,输出所述训练样本的预测结果,以根据所述预测结果确定奖励值;
7、继续根据所述搜索空间中剩余的待定模型,重新确定作为目标模型的待定模型,并训练重新得到的所述目标模型,以重新确定奖励值;
8、根据重新确定的奖励值与历史确定的奖励值中,最高的奖励值对应的所述目标模型的结构,更新所述状态,直至遍历所述各待定模型为止,根据最终确定出的状态,确定所述目标模型的结构。
9、可选地,所述各待定模型为命名实体识别模型;
10、获取训练样本及所述训练样本的标注,以对所述目标模型进行训练,具体包括:
11、获取文本,并将所述文本拆分为各语句;
12、针对每个语句,将该语句作为一个训练样本,并将该语句中各实体的标注,作为所述训练样本的标注;
13、针对每个训练样本,将该训练样本输入所述目标模型,得到所述目标模型输出的预测结果;
14、根据该训练样本的标注与所述预测结果的差异,确定该训练样本的损失;
15、根据各训练样本的损失,对所述目标模型进行训练。
16、可选地,所述各待定模型为命名实体识别模型;所述训练样本为语句;所述各待定模型皆由第一模块以及第二模块构成;所述第一模块包括位置编码模块以及语义编码模块;
17、通过训练得到的所述目标模型,输出所述训练样本的预测结果,以根据所述预测结果确定奖励值,具体包括:
18、确定所述训练样本的各词元;
19、将所述各词元输入训练得到的所述目标模型的语义编码模块,确定所述训练样本的嵌入编码;
20、根据所述训练样本中各词元在所述训练样本中的位置,确定所述训练样本中各词元的位置索引值,并将所述训练样本的各位置索引值输入所述位置编码模块,得到所述训练样本的位置编码;
21、根据所述嵌入编码以及所述位置编码,确定所述训练样本的输入编码,并将所述输入编码输入所述目标模型的第二模块;
22、将所述第二模块输出的所述训练样本中各字符属于预设的各标签类型的分值,作为预测结果,并根据所述预测结果确定奖励值。
23、可选地,所述各待定模型对输入数据的位置编码方式不同;所述各待定模型至少包括:字符位置编码的待定模型、字词统一位置编码的待定模型、字与词分别位置编码的待定模型、字与字词分别位置编码的待定模型、字词与字分别位置编码的待定模型,以及字词与词分别位置编码的待定模型中的部分;
24、当作为所述目标模型的待定模型为字与词分别位置编码的待定模型时,所述语义编码模块包括第一语义模块以及第二语义模块,所述位置编码模块包括第一位置模块以及第二位置模块;
25、当作为所述目标模型的待定模型为字与字词分别位置编码的待定模型时,所述语义编码模块包括第三语义模块以及第四语义模块,所述位置编码模块包括第三位置模块以及第四位置模块;
26、当作为所述目标模型的待定模型为字词与字分别位置编码的待定模型时,所述语义编码模块包括第五语义模块以及第六语义模块,所述位置编码模块包括第五位置模块以及第六位置模块;
27、当作为所述目标模型的待定模型为字词与词分别位置编码的待定模型时,所述语义编码模块包括第七语义模块以及第八语义模块,所述位置编码模块包括第七位置模块以及第八位置模块。
28、可选地,确定所述训练样本的各词元,具体包括:
29、当作为所述目标模型的待定模型为字符位置编码的待定模型时,将所述训练样本以字符为单位切分,得到所述训练样本的各字符词元,作为所述训练样本的各词元;
30、当作为所述目标模型的待定模型为任意剩余的待定模型时,将所述训练样本以字符为单位切分,得到所述训练样本的各字符词元,并将所述训练样本以词汇为单位切分,得到所述训练样本的各词汇词元,以将所述训练样本的各字符词元以及各词汇词元,作为所述训练样本的各词元。
31、可选地,将所述各词元输入训练得到的所述目标模型的语义编码模块,确定所述训练样本的嵌入编码,具体包括:
32、当作为所述目标模型的待定模型为字符位置编码的待定模型时,将所述训练样本的各字符词元输入训练得到的所述目标模型的语义编码模块,得到所述各字符词元对应的嵌入编码,作为所述训练样本的嵌入编码;
33、当作为所述目标模型的待定模型为字词统一位置编码的待定模型时,将所述训练样本的各词汇词元输入训练得到的所述目标模型的语义编码模块,得到所述各词汇词元对应的嵌入编码,作为所述训练样本的嵌入编码;
34、当作为所述目标模型的待定模型为字与词分别位置编码的待定模型时,将所述训练样本的各字符词元作为第一词元组输入所述第一语义模块,得到所述训练样本的第一嵌入编码,并将所述训练样本的各词汇词元作为第二词元组输入所述第二语义模块,得到所述训练样本的第二嵌入编码,并将所述第一嵌入编码与所述第二嵌入编码,作为所述训练样本的嵌入编码;
35、当作为所述目标模型的待定模型为字与字词分别位置编码的待定模型时,将所述训练样本的各字符词元作为第三词元组输入所述第三语义模块,得到所述训练样本的第三嵌入编码,并将所述训练样本的各字符词元以及各词汇词元作为第四词元组输入所述第四语义模块,得到所述训练样本的第四嵌入编码,并将所述第三嵌入编码与所述第四嵌入编码,作为所述训练样本的嵌入编码;
36、当作为所述目标模型的待定模型为字词与字分别位置编码的待定模型时,将所述训练样本的各字符词元以及各词汇词元作为第五词元组输入所述第五语义模块,得到所述训练样本的第五嵌入编码,并将所述训练样本的各字符词元作为第六词元组输入所述第六语义模块,得到所述训练样本的第六嵌入编码,并将所述第五嵌入编码与所述第六嵌入编码,作为所述训练样本的嵌入编码;
37、当作为所述目标模型的待定模型为字词与词分别位置编码的待定模型时,将所述训练样本的各字符词元以及各词汇词元作为第七词元组输入所述第七语义模块,得到所述训练样本的第七嵌入编码,并将所述训练样本的各词汇词元作为第八词元组输入所述第八语义模块,得到所述训练样本的第八嵌入编码,并将所述第七嵌入编码与所述第八嵌入编码,作为所述训练样本的嵌入编码。
38、可选地,将所述训练样本的各位置索引值输入所述位置编码模块,得到所述训练样本的位置编码,具体包括:
39、当作为所述目标模型的待定模型为字符位置编码的待定模型时,将所述训练样本的各字符词元的位置索引值输入所述位置编码模块,得到所述训练样本的位置编码;
40、当作为所述目标模型的待定模型为字词统一位置编码的待定模型时,将所述训练样本的各词汇词元的位置索引值输入所述位置编码模块,得到所述训练样本的位置编码;
41、当作为所述目标模型的待定模型为字与词分别位置编码的待定模型时,将所述训练样本的第一词元组的位置索引值输入所述第一位置模块,得到所述训练样本的第一位置编码,并将所述训练样本的第二词元组的位置索引值输入所述第二位置模块,得到所述训练样本的第二位置编码,并将所述第一位置编码与所述第二位置编码,作为所述训练样本的位置编码;
42、当作为所述目标模型的待定模型为字与字词分别位置编码的待定模型时,将所述训练样本的第三词元组的位置索引值输入所述第三位置模块,得到所述训练样本的第三位置编码,并将所述训练样本的第四词元组的位置索引值输入所述第四位置模块,得到所述训练样本的第四位置编码,并将所述第三位置编码与所述第四位置编码,作为所述训练样本的位置编码;
43、当作为所述目标模型的待定模型为字词与字分别位置编码的待定模型时,将所述训练样本的第五词元组的位置索引值输入所述第五位置模块,得到所述训练样本的第五位置编码,并将所述训练样本的第六词元组的位置索引值输入所述第六位置模块,得到所述训练样本的第六位置编码,并将所述第五位置编码与所述第六位置编码,作为所述训练样本的位置编码;
44、当作为所述目标模型的待定模型为字词与词分别位置编码的待定模型时,将所述训练样本的第七词元组的位置索引值输入所述第七位置模块,得到所述训练样本的第七位置编码,并将所述训练样本的第八词元组的位置索引值输入所述第八位置模块,得到所述训练样本的第八位置编码,并将所述第七位置编码与所述第八位置编码,作为所述训练样本的位置编码。
45、可选地,根据所述嵌入编码以及所述位置编码,确定所述训练样本的输入编码,具体包括:
46、当作为所述目标模型的待定模型为字与词分别位置编码的待定模型时,根据所述训练样本的第一位置编码与第一嵌入编码,确定第一输入编码,并根据所述训练样本的第二位置编码与第二嵌入编码,确定第二输入编码,并将所述第一输入编码与所述第二输入编码,作为所述训练样本的输入编码;
47、当作为所述目标模型的待定模型为字与字词分别位置编码的待定模型时,根据所述训练样本的第三位置编码与第三嵌入编码,确定第三输入编码,并根据所述训练样本的第四位置编码与第四嵌入编码,确定第四输入编码,并将所述第三输入编码与所述第四输入编码,作为所述训练样本的输入编码;
48、当作为所述目标模型的待定模型为字词与字分别位置编码的待定模型时,根据所述训练样本的第五位置编码与第五嵌入编码,确定第五输入编码,并根据所述训练样本的第六位置编码与第六嵌入编码,确定第六输入编码,并将所述第五输入编码与所述第六输入编码,作为所述训练样本的输入编码;
49、当作为所述目标模型的待定模型为字词与词分别位置编码的待定模型时,根据所述训练样本的第七位置编码与第七嵌入编码,确定第七输入编码,并根据所述训练样本的第八位置编码与第八嵌入编码,确定第八输入编码,并将所述第七输入编码与所述第八输入编码,作为所述训练样本的输入编码。
50、可选地,所述各待定模型的第二模块皆由第一子模块与第二子模块构成;所述各待定模型的第一子模块皆由注意力层构成,所述各待定模型的第二子模块不完全相同;
51、将所述输入编码输入所述目标模型的第二模块,具体包括:
52、当作为所述目标模型的待定模型为字符位置编码的待定模型时,将所述输入编码输入所述目标模型的第一子模块,根据所述第一子模块对应的查询参数、键参数以及值参数以及所述输入编码,确定所述训练样本对应的注意力权重,并将所述注意力权重以及所述输入编码,输入所述第二子模块;
53、当作为所述目标模型的待定模型为字词统一位置编码的待定模型时,将所述输入编码输入所述目标模型的第一子模块,根据所述第一子模块对应的查询参数、键参数以及值参数以及所述输入编码,确定所述训练样本对应的注意力权重,并将所述注意力权重以及所述输入编码,输入所述第二子模块;
54、当作为所述目标模型的待定模型为字与词分别位置编码的待定模型时,将所述训练样本的第一输入编码与第二输入编码输入所述目标模型的第一子模块,根据所述第一输入编码与所述第一子模块对应的查询参数、所述训练样本的第二输入编码与所述第一子模块对应的键参数以及值参数,确定所述训练样本对应的注意力权重,并将所述注意力权重以及所述第一输入编码,输入所述第二子模块;
55、当作为所述目标模型的待定模型为字与字词分别位置编码的待定模型时,将所述训练样本的第三输入编码与第四输入编码输入所述目标模型的第一子模块,根据所述第三输入编码与所述第一子模块对应的查询参数、所述训练样本的第四输入编码与所述第一子模块对应的键参数以及值参数,确定所述训练样本对应的注意力权重,并将所述注意力权重以及所述第三输入编码,输入所述第二子模块;
56、当作为所述目标模型的待定模型为字词与字分别位置编码的待定模型时,将所述训练样本的第五输入编码与第六输入编码输入所述目标模型的第一子模块,根据所述第五输入编码与所述第一子模块对应的查询参数、所述训练样本的第六输入编码与所述第一子模块对应的键参数以及值参数,确定所述训练样本对应的注意力权重,并将所述注意力权重以及所述五输入编码,输入所述第二子模块;
57、当作为所述目标模型的待定模型为字词与词分别位置编码的待定模型时,将所述训练样本的第七输入编码与第八输入编码输入所述目标模型的第一子模块,根据所述第七输入编码与所述第一子模块对应的查询参数、所述训练样本的第八输入编码与所述第一子模块对应的键参数以及值参数,确定所述训练样本对应的注意力权重,并将所述注意力权重以及所述第七输入编码,输入所述第二子模块。
58、可选地,根据最终确定出的状态,确定所述目标模型的结构之后,所述方法还包括:
59、将最终得到的目标模型,作为待训练模型;
60、根据所述训练样本及其标注,对所述待训练模型进行训练。
61、本说明书提供了一种确定目标模型的装置,包括:
62、获取模块,用于获取预先确定的结构不完全相同的各待定模型,构建强化学习的搜索空间;
63、确定模块,用于将从所述搜索空间中确定作为目标模型的待定模型的操作,作为动作,并根据执行所述动作后得到的所述目标模型的结构,确定状态;
64、奖励模块,用于获取训练样本及所述训练样本的标注,以对所述目标模型进行训练,并通过训练得到的所述目标模型,输出所述训练样本的预测结果,以根据所述预测结果确定奖励值;
65、迭代模块,用于继续根据所述搜索空间中剩余的待定模型,重新确定作为目标模型的待定模型,并训练重新得到的所述目标模型,以重新确定奖励值;
66、结构确定模块,用于根据重新确定的奖励值与历史确定的奖励值中,最高的奖励值对应的所述目标模型的结构,更新所述状态,直至遍历所述各待定模型为止,根据最终确定出的状态,确定所述目标模型的结构。
67、本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述确定目标模型的方法。
68、本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述确定目标模型的方法。
69、本说明书采用的上述至少一个技术方案能够达到以下有益效果:
70、在上述确定目标模型的方法中,通过获取结构不完全相同的各待定模型构建强化学习的搜索空间,并将从搜索空间中确定作为目标模型的待定模型的操作作为动作,根据执行该动作后得到的目标模型的结构确定状态。并且可通过训练得到的目标模型输出训练样本的预测结果,以根据预测结果确定奖励值。之后则可继续根据搜索空间中剩余的待定模型重新确定作为目标模型的待定模型,并训练重新得到的目标模型以重新确定奖励值。可根据重新确定的奖励值与历史确定的奖励值中,最高的奖励值对应的目标模型的结构更新状态,直至遍历各待定模型为止,根据最终确定出的状态,确定出最优的目标模型的结构。