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

模型训练方法、装置、电子设备及可读存储介质与流程

2022-07-31 06:41:52 来源:中国专利 TAG:


1.本公开涉及人工智能技术领域,尤其涉及机器学习、文本生成领域,提供了一种模型训练方法、装置、电子设备及可读存储介质。


背景技术:

2.生成模型广泛应用于文本生成、摘要生成、翻译等场景中。通常训练生成模型时,可以使用教师逼迫(teacher forcing)方法,对生成模型进行训练。其中,可使用交叉熵损失函数作为模型训练时的损失函数。交叉熵损失是通过将真实结果(ground truth)作为解码端的输入进行预测后,根据交叉熵损失函数得到的。


技术实现要素:

3.本公开提供了一种模型训练方法、装置、电子设备及可读存储介质。
4.根据本公开的第一方面,提供了一种模型训练方法包括:将预测样本输入待训练模型的编码端,得到预测样本的特征向量。根据特征向量和预测样本对应的真实结果,将真实结果输入解码端,得到预测结果。根据真实结果预测结果和第一损失函数,计算得到第一损失值。根据第一损失值调整待训练模型的参数。
5.根据本公开的第二方面,提供了一种模型训练装置,包括:输入模块,用于将预测样本输入待训练模型的编码端,得到预测样本的特征向量。预测模块,用于根据特征向量和预测样本对应的真实结果,将真实结果输入解码端,得到预测结果。计算模块,用于根据真实结果预测结果和第一损失函数,计算得到第一损失值。训练模块,用于根据第一损失值调整待训练模型的参数。
6.根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面中提供的方法。
7.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行第一方面中提供的方法。
8.根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现执行第一方面中提供的方法。
9.本公开中,在计算损失值时考虑了真实结果和预测结果,而非单纯的依赖于真实结果。使得根据损失值训练得到的模型能够同时参考真实结果和预测结果,保留更加多样的预测结果,提高了模型的鲁棒性和生成结果的多样性。
10.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
11.附图用于更好地理解本方案,不构成对本公开的限定。其中:
12.图1是根据本公开提供的一种模型训练方法的流程示意图;
13.图2是根据本公开提供的一种模型训练方法中实现s130的流程示意图;
14.图3为本公开实施例提供的一种模型训练装置的结构框图;
15.图4示出了可以用来实施本公开的实施例的示例电子设备400的示意性框图。
具体实施方式
16.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
17.生成任务,一般用于文本生成、摘要生成、翻译、机器对话等场景。往往需要为每个生成任务训练相应的生成模型。由于生成任务的输入长度和输入长度不定,所以可以使用的生成模型包括序列与序列(seq2seq)模型、编码器-解码器(encoder-decoder)模型等。其基本原理是编码器(也称编码端)用来分析输入序列,解码器(也称解码端)用来生成输出序列。
18.目前,训练生成模型的方法大多会采用teacher forcing的方法进行训练。teacher forcing的方法是指在每一步预测时,将真实结果作为解码端的输入,解码端可以更快的学会预测,训练过程也可以更快收敛。
19.但是,teacher forcing的方法会使模型过度依赖真实结果,导致训练时的效果较好,在实际应用时效果变差,例如会出现预测生成的同义词被纠正为真实结果,而导致模型的预测结果丧失多样性,即存在曝光偏差的问题。
20.为此,本公开提供了一种模型训练方法、装置、电子设备及可读存储介质,通过在计算损失值时考虑了真实结果和预测结果,而非单纯的依赖于真实结果。使得根据损失值训练得到的模型能够同时参考真实结果和预测结果,保留更加多样的预测结果,提高了模型的鲁棒性和生成结果的多样性。
21.一些实施方式中,本公开提供的模型训练方法可以应用于具有计算功能的个人计算机、笔记本电脑、智能手机、平板电脑、服务器、云服务器等电子设备。这些设备的操作系统可以是安卓(android)系统,窗口系统(windows),苹果移动操作系统(ios),苹果操作系统(mac os)或者鸿蒙系统(harmony os)、林纳斯系统(linux)等,本公开对此不作限制。
22.本公开提供的模型训练方法可以应用于多种用途的模型的训练,在本公开中,以用于生成模型为例进行说明。
23.图1是根据本公开提供的一种模型训练方法的流程示意图,该方法可以应用于上述任一电子设备中。
24.参考图1,模型训练方法包括:
25.s110、将预测样本输入待训练模型的编码端,得到预测样本的特征向量。
26.一些实施方式中,待训练的模型可以是生成模型。在生成模型中,每个预测样本可以是一段文本,例如,“你好”、“今天天气如何”或“how are you”等,文本可以包含多种语言、数字、符号等。真实结果是根据预测样本预先设置好的结果。每个预测样本对应一个真实结果。预测样本的真实结果会根据生成模型的用途采取不同的设置。例如,当生成模型用
于机器对话时,预测样本“你好”的真实结果可以是“我有什么可以帮您”,当生成模型用于翻译时,预测样本“你好”的真实结果可以是“hello”。
27.一些实施方式中,以seq2seq模型为例,生成模型的编码端可以包括多个循环神经网络(recurrent neural network,rnn),每个rnn可以为一个隐状态(hidden state)。在将预测样本输入待训练模型的编码端时,会将预测样本中文本的第一个字符输入一个隐状态,然后将该隐状态的输出和文本的第二个字符输入下一个隐状态,直至将所有字符均输入隐状态后,将最后一个隐状态的输出作为该预测样本的特征向量,也就是预测样本中文本的语义向量。
28.s120、根据特征向量和预测样本对应的真实结果,将真实结果输入解码端,得到预测结果。
29.一些实施方式中,待训练模型的解码端也可以包括多个rnn,每个rnn可以为一个隐状态。在生成模型中,可以先将特征向量输入解码端,若特征向量输入编码端的第一个隐状态后,输出的预测结果与真实结果不同,则舍弃预测结果,将真实结果作为下一个隐状态的输入。直至输出预测结果。预测结果可能与真实结果存在偏差,例如,当生成模型用于机器对话时,预测样本“你好”的真实结果可以是“我有什么可以帮您”。而预测结果则可能是不够通顺的语句,如“本人存在能提供的帮助”;或者也有可能是同义但是不同的表达,如“俺有啥能帮你的”。
30.一些实施方式中,预测结果可以从多个候选预测结果中确定。例如,在进行预测时,可能得到多个语义相近的候选预测结果,每个候选预测结果对应一个置信度,即其为真实结果的概率。预测结果可以从多个概率大于预设概率阈值的候选预测结果确定。确定的方法包括但不限定于:选取置信度最高的、随机选取其中一个等。
31.s130、根据真实结果、预测结果和第一损失函数,计算得到第一损失值。
32.s140、根据第一损失值调整待训练模型的参数。
33.一些实施方式中,第一损失函数可以是交叉熵损失函数。交叉熵能够衡量同一个随机变量中的两个不同概率分布的差异程度,也就是表示为真实预测结果分布与预测结果分布之间的差异。交叉熵的值越小,模型预测效果就越好。第一损失值即为将真实结果、预测结果输入第一损失函数后计算得到的数值。然后,可以根据第一损失值求解更新梯度来更新训练的权重和偏置项。
34.在本实施例中,通过在计算损失值时考虑了真实结果和预测结果,而非单纯的依赖于真实结果。使得根据损失值训练得到的模型能够同时参考真实结果和预测结果,保留更加多样的预测结果,提高了模型的鲁棒性和生成结果的多样性。
35.图2是根据本公开提供的一种模型训练方法中实现s130的流程示意图。
36.一些实施方式中,第一损失函数(loss)可以包括第二损失函数和第三损失函数。参考图2,实现s130时,可以通过以下步骤:
37.s1301、将真实结果输入第二损失函数,得到第二损失值。
38.一些实施方式中,第二损失函数用于计算真实结果的交叉熵损失值。例如,第二损失函数可以为其中,y
t
为真实结果。
39.s1302、将预测结果输入第三损失函数,得到第三损失值。
40.一些实施方式中,第三损失函数用于计算预测结果的交叉熵损失值。例如,第三损
失函数可以为其中,y

t
为预测结果。其中,y

t
=argmax
zev
logp(z|y<t,x),v为全部候选预测结果的集合。
41.s1303、根据第二损失值、第三损失值以及第二损失函数的权重、第三损失函数的权重计算得到第一损失值。
42.一些实施方式中,可以将第二损失值乘以第二损失函数的权重,得到第一损失参数,将第三损失值乘以第三损失函数的权重,得到第二损失参数,然后,将第一损失参数和第二损失参数相加并取相反数,得到第一损失值。
43.一些实施方式中,第二损失函数的权重为1减去第三损失函数的权重。其中,当得到的预测结果的概率值符合预设的第一条件时,第三损失函数的权重为预设权重系数乘以已训练的步长后,除以预设的训练步长。当得到的预测结果的概率值不符合预设的第一条件时,第三损失函数的权重为0。
44.第一损失函数(loss)可以通过以下公式表示:
[0045][0046]
其中,(1-αi)为第二损失函数的权重,αi为第三损失函数的权重。αi可以通过以下公式表示:
[0047][0048]
一些实施方式中,β可以设置为0.5,以保证αi最大不超过0.5,step为当前训练的步数,step
all
为总训练步数,为预设的第一条件,表示前m个概率最大的候选预测结果概率和大于γ的样本个数,γ为概率阈值,n为样本总数,θ为阈值。
[0049]
一些实施方式中,当αi不符合时,表示生成模型训练尚不充分,预测结果的置信度不高,这个情况下,还需要根据第二损失函数继续训练,故αi为0,即第三损失函数暂不干预训练。
[0050]
当αi符合时,则表示生成模型已经被训练的较为充分,可以大概率预测到真实结果或真实结果的同义词。这个情况下,为了使训练后的生成模型能够具有更加多样的输出结果,可以将第三损失函数引入,即αi为当β=0.5时,αi在跑完总训练步数时的值为0.5。即当第三损失函数引入后,训练时间越长,第三损失函数的权重越高,即对训练的干预越强。同时,第二损失函数的权重为(1-αi),即当第三损失函数引入后,第二损失函数对训练的干预逐渐减弱。
[0051]
在本实施例中,通过混合第二损失函数和第三损失函数,可以将预测结果用于训练模型,缓解teacher forcing机制的过度纠正问题,减少曝光偏差。也就是说,无论在解码端输入的是真实结果还是预测样本的特征向量,其输出的预测结果一致的概率被大幅度提高。
[0052]
经测试,使用本公开提供的模型训练方法训练得到的生成模型,相比于只使用teacher forcing方法训练的生成模型在多样性上提高30%,准确率基本持平。
[0053]
在本实施例中,通过为第二损失函数和第三损失函数分别设置权重,在符合预设的第一条件后,第二损失函数的权重逐渐减少,第三损失函数接入并逐渐增大,防止模型过早的将预测结果纠正为真实结果,使得根据第一损失函数训练的模型能够兼顾真实结果和预测结果,鲁棒性更好,生成结果的多样性也更好。
[0054]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后。各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
[0055]
对应于上文实施例提供的模型训练方法,图3为本公开实施例提供的一种模型训练装置的结构框图,为了便于说明,仅示出了与本公开实施例相关的部分。
[0056]
参照图3,模型训练装置,包括:
[0057]
输入模块21,用于将预测样本输入待训练模型的编码端,得到预测样本的特征向量。
[0058]
预测模块22,用于根据特征向量和预测样本对应的真实结果,将真实结果输入解码端,得到预测结果。
[0059]
计算模块23,用于根据真实结果预测结果和第一损失函数,计算得到第一损失值。
[0060]
训练模块24,用于根据第一损失值调整待训练模型的参数。
[0061]
一些实施方式中,第一损失函数包括第二损失函数和第三损失函数;
[0062]
计算模块23,具体用于将真实结果输入第二损失函数,得到第二损失值。将预测结果输入第三损失函数,得到第三损失值。根据第二损失值、第三损失值以及第二损失函数的权重、第三损失函数的权重计算得到第一损失值。
[0063]
一些实施方式中,计算模块23,具体用于将第二损失值乘以第二损失函数的权重,得到第一损失参数。将第三损失值乘以第三损失函数的权重,得到第二损失参数。将第一损失参数和第二损失参数相加并取相反数,得到第一损失值。
[0064]
一些实施方式中,每个预测结果对应一个概率值。当得到的预测结果的概率值符合预设的第一条件时,第三损失函数的权重为预设权重系数乘以已训练的步长后,除以预设的训练步长。当得到的预测结果的概率值不符合预设的第一条件时,第三损失函数的权重为0。
[0065]
一些实施方式中,第二损失函数的权重为1减去第三损失函数的权重。
[0066]
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
[0067]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0068]
图4示出了可以用来实施本公开的实施例的示例电子设备400的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0069]
如图4所示,设备400包括计算单元401,其可以根据存储在只读存储器(rom)402中
的计算机程序或者从存储单元404加载到随机访问存储器(ram)403中的计算机程序,来执行各种适当的动作和处理。在ram 403中,还可存储设备400操作所需的各种程序和数据。计算单元401、rom 402以及ram 403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。
[0070]
设备400中的多个部件连接至i/o接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元404,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0071]
计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理,例如模型训练方法。例如,在一些实施例中,模型训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元404。在一些实施例中,计算机程序的部分或者全部可以经由rom 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到ram 403并由计算单元401执行时,可以执行上文描述的模型训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行模型训练方法。
[0072]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0073]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0074]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0075]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0076]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0077]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0078]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0079]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献