一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种低数据场景下的对话模型训练方法及计算机设备与流程

2022-11-14 00:13:07 来源:中国专利 TAG:


1.本发明涉及人机交互技术领域,尤其涉及一种低数据场景下的对话模型训练方法及计算机设备。


背景技术:

2.智能人机对话一直是自然语言处理领域的热点问题之一,其主要的功能就是给出自然的、合理的回复给人类对话者,在智能客服、智能家居等场景下广泛应用。其中,检索式端到端对话系统由于训练方便、输出可控的特点更是成为了学术界和工业界的研究热点,它的主要特点是直接使用单个模型完成整个对话流程,而不需要分为多个模块配置训练。
3.如今学术界关注的技术大多为使用基于transformer的大型语言模型来作为回复检索器,此类模型因为参数量巨大,效果比传统基于词向量的模型效果更好,但是也带来了难以训练的问题,即使可以通过微调预训练模型来减轻,但在数据量少的情况下仍然难以获得效果好的模型。尤其是当对话模型需要应用于某个特定领域时,获取大量特定领域相关的训练数据是比较困难的。因此缺乏一种在训练数据较少的情况下快速搭建有效检索对话模型的方法。


技术实现要素:

4.基于此,有必要提供一种低数据场景下依然能够有效工作的低数据场景下的对话模型训练方法及计算机设备。
5.本发明提供一种低数据场景下的对话模型训练方法,包括如下步骤:步骤一、训练附加transformer,具体训练方法如下:s1、在具有transformer和嵌入层语言模型上附加3层transformer,在[cls] 占位符的输出状态上用softmax 层对模型进行二分类训练,形成有对话历史,根据对话历史得到模型的输入序列;s2、输入序列通过嵌入层映射后,得到768维的稠密向量;s3、所述768维的稠密向量经transformer变换,得到768维输出向量;s4、在[cls]占位符的输出向量之上建立一个线性层,将所述步骤s3中768维输出向量映射至2维,经过softmax函数后作为分类的输出;训练过程中,语言模型的transformer的参数和语言模型的嵌入层的参数被固定,不会发生变化;步骤二、将步骤一训练好的3层transformer取下,将步骤一训练完的嵌入层复制下来,然后将训练好的3层transformer与复制下来的嵌入层组成新的transformer模型,将所述新的transformer模型重新执行步骤s2-s4,继续进行训练。
[0006]
优选地,所述附加3层transformer只包含encoder层。
[0007]
优选地,所述步骤二中,重新执行步骤s2-s4,继续训练具体包括如下步骤:s201、输入序列通过新的transformer模型的嵌入层映射后,得到768维的稠密向
量;s202、将768维的稠密向量经3层transformer变换,得到768维输出向量;s203、在[cls]占位符的输出向量之上建立一个线性层,将所述步骤s3中768维输出向量映射至2维,经过softmax函数后作为分类的输出。
[0008]
优选地,所述语言模型为具有12层transformer和嵌入层的bert语言模型。
[0009]
优选地,所述步骤一中当执行步骤s3时,具体为:所述768维的稠密向量经bert语言模型的12层transformer变换,再通过附加的3层transformer变换,得到768维输出向量;所述步骤二中当执行步骤s3时,具体为:所述768维的稠密向量经3层transforme变换,得到768维输出向量。
[0010]
优选地,所述步骤一中当执行步骤s3时,所指的嵌入层为语言模型的嵌入层,所述步骤二中当执行步骤s3时,所指的嵌入层为执行完步骤一复制下来的嵌入层。
[0011]
优选地,所述步骤s2中,输入序列通过嵌入层映射后得到长度与模型输入序列长度相同的向量序列作为输出向量,每个输出向量都是768维的稠密向量。
[0012]
优选地,所述步骤一和步骤二中的训练损失函数为二分类交叉熵,所述训练损失函数满足如下公式:其中,l为损失,i为样本,yi 为样本 i 的真实标签;pi 为模型的预测分类;在步骤一的训练中,pi 为语言模型上附加3层transformer得到的模型的预测分类;在步骤二的训练中,pi 为新的transformer模型的预测分类。
[0013]
优选地,所述步骤s1中,根据对话历史得到模型的输入序列具体为:根据对话历史设置对话序列和候选回复序列;将[cls] 占位符、对话序列、[sep] 占位符和候选回复序列拼接后得到模型的输入序列。
[0014]
本发明还提供一种计算机设备,所述计算机设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器所述的低数据场景下的对话模型训练方法。
[0015]
本发明的有益效果:本发明主要通过固定语言模型参数来训练小型的transformer,训练完成后,将附加transformer取下,再将语言模型的嵌入层参数与取下的附加transformer作为新的transformer模型,再次训练这个transformer模型最终得出一个参数量更小的高效检索模型。能够在缺乏对话数据的情况下,通过本发明的训练方法可以训练得到可用的检索式端到端对话模型,参数量小,不容易过拟合,推理运算速度快。
附图说明
[0016]
通过附图中所示的本发明优选实施例更具体说明,本发明上述及其它目的、特征和优势将变得更加清晰。在全部附图中相同的附图标记指示相同的部分,且并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。
[0017]
图1为本发明提供的低数据场景下的对话模型训练方法流程示意图;
图2为本发明提供的低数据场景下的对话模型训练方法模型示意图;图3为本发明提供的步骤一中流程示意图;图4为本发明提供的步骤一中以bert语言模型为例流程示意图;图5为本发明提供的步骤一中的模型示意图;图6为本发明提供的步骤二具体流程示意。
具体实施方式
[0018]
下面结合附图和具体实施例对本发明技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0019]
请参考图1-2,本发明实施例提供一种低数据场景下的对话模型训练方法,其特征在于,包括如下步骤:步骤一(步骤s100)、在语言模型2上附加小型transformer自注意力层1,训练附加小型transformer自注意层1,此步骤训练中,语言模型的参数被固定不变。
[0020]
步骤二(步骤s200)、将训练好的附加transformer自注意层1与复制下来的嵌入层31组成新的transformer模型3,继续训练新的transformer模型3。
[0021]
本发明提供的数据场景下的对话模型训练方法先训练一个更小的模型,并且使用大语言模型作为高级特征输入,能使模型更快的收敛,实现少数据场景下依然能够较好的训练语言模型。
[0022]
参考图3,步骤一中,训练附加transformer的方法包括如下步骤:s1、在具有transformer和嵌入层语言模型上附加3层transformer,在[cls] 占位符的输出状态上用softmax 层对模型进行二分类训练,形成有对话历史,根据对话历史得到模型的输入序列;s2、输入序列通过嵌入层映射后,得到768维的稠密向量;s3、将768维的稠密向量经transformer变换,得到768维输出向量;s4、在[cls]占位符的输出向量之上建立一个线性层,将步骤s3中768维输出向量映射至2维,经过softmax函数后作为分类的输出。
[0023]
步骤二对新的transformer模型的训练方法为:重新执行步骤s2-s4。
[0024]
本实施例中附加3层transformer只包含encoder层,不含有嵌入层,不能够直接接受输出,因此将步骤一中的语言模型的嵌入层参数复制下来作为新的transformer模型的初始化嵌入层,这样就得到取下的3层transformer与复制下来的嵌入层组成新的transformer模型,对新的transformer模型继续进行训练。
[0025]
本实施例中,步骤一训练完成后,语言模型的transformer的参数和语言模型的嵌入层的参数固定不变,只有附加的3层transformer参数会梯度下降更新;而步骤二训练完成后,新的transformer模型所有的参数都将更新。通过本发明提供的低数据场景下的对话模型训练方法,训练完成后即可得到一个参数量仅为原语言模型1/4的小型模型,推理速度更快,且对数据量小的情况更容易训练,不易过拟合。
[0026]
在优选实施例中,语言模型为具有12层transformer和嵌入层的bert语言模型。步骤一中当执行步骤s3时,“将768维的稠密向量经transformer变换”是指先经bert语言模型的12层transformer变换,再通过附加的3层transformer变换;步骤二中当执行步骤s3时,“将768维的稠密向量经transformer变换”是指经新的transformer模型的3层transforme变换。
[0027]
在优选实施例中,步骤一中当执行步骤s3时,所指的“嵌入层”为bert语言模型的嵌入层,步骤二中当执行步骤s3时,所指的“嵌入层”为执行完步骤一复制下来的嵌入层,也就是从bert语言模型上复制下来的嵌入层,来作为新的transformer模型的初始嵌入层。
[0028]
参考图4-5,以bert语言模型为例,步骤一的具体训练过程如下:s101、在具有12层transformer自注意力层22和嵌入层21的bert语言模型2上附加3层transformer自注意层1,在[cls] 占位符的输出状态上用softmax 层对模型进行二分类训练,形成有对话历史,根据对话历史得到模型的输入序列6。
[0029]
在优选实施例中,步骤s1中,根据对话历史得到模型的输入序列具体为:根据对话历史设置对话序列和候选回复序列;将[cls] 占位符、对话序列、[sep] 占位符和候选回复序列拼接后得到模型的输入序列。例如,对话序列为(c1, c2, c3,
ꢀ…
, cn),当前候选回复序列为 (r1, r2, r3,
ꢀ…
, rm)
(k)
,其中 c 或 r 代表一个汉字,模型的输入序列为([cls], c1, c2, c3,
ꢀ…
, cn, [sep], r1, r2, r3,
ꢀ…
, rm, [sep])。
[0030]
s102、输入序列6通过bert语言模型2的嵌入层21映射后,得到768维的稠密向量;s103、将768维的稠密向量先经bert语言模型2的12层transformer自注意层22变换,再通过附加的3层transformer自注意力层1变换,得到768维输出向量;s104、在[cls]占位符的输出向量之上建立一个线性层4,将768维输出向量映射至2维,经过softmax函数5后作为分类的输出。
[0031]
参考图6,步骤二的具体训练过程如下:s201、输入序列通过新的transformer模型的嵌入层映射后,得到768维的稠密向量;s202、将768维的稠密向量经3层transformer变换,得到768维输出向量;s203、在[cls]占位符的输出向量之上建立一个线性层,将所述步骤s3中768维输出向量映射至2维,经过softmax函数后作为分类的输出。
[0032]
步骤二训练完成后得到的新的transformer模型所有模型都更新,得到一个参数量仅为原语言模型1/4的小型模型,能够在低数据场景下也能有效工作。
[0033]
在优选实施例中,步骤s2中,输入序列通过嵌入层映射后得到长度与模型输入序列长度相同的向量序列作为输出向量,每个输出向量都是768维的稠密向量。输入序列在输入嵌入层前长度为词表大小的独热向量,维度通常超过一万。输入序列在通过嵌入层映射后,得到768维的稠密向量。
[0034]
在优选实施例中,步骤一和步骤二中的训练损失函数为二分类交叉熵,训练损失函数满足如下公式:其中,l为损失,i为样本,yi 为样本 i 的真实标签;pi 为模型的预测分类;在步骤一的训练中,pi 为语言模型上附加3层transformer得到的模型的预测分类;在步骤二的训练中,pi 为新的transformer模型的预测分类。
[0035]
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现的低数据场景下的对话模型训练方法。该计算机设备可以是可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器、处理器。
[0036]
处理器在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器通常用于控制计算机设备的总体操作。本实施例中,处理器用于运行存储器中存储的程序代码或者处理数据,以实现上述实施例的业绩归属方法。
[0037]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献