作为问答的多任务学习

文档序号:1102614 发布日期:2020-09-25 浏览:7次 >En<

阅读说明:本技术 作为问答的多任务学习 (Multitask learning as question and answer ) 是由 N·S·凯斯卡 B·麦卡恩 C·熊 R·佐赫尔 于 2019-01-30 设计创作,主要内容包括:用于作为问答的多任务学习的途径包括用于训练的方法,其包括:接收包括来自多种任务类型的训练样本的多个训练样本,将训练样本呈现给神经模型以生成回答,确定呈现的每个训练样本的生成的回答与自然语言基准真实回答之间的误差,和基于误差调整神经模型的参数。训练样本中的每个包括自然语言语境、问题和基准真实回答。将训练样本呈现给神经模型的次序包括首先根据第一训练策略选择训练样本,并且切换为根据第二训练策略选择训练样本。在一些实施方案中,第一训练策略是依序式训练策略,而第二训练策略是联合训练策略。(Approaches for multi-task learning as questions and answers include methods for training, including: the method includes receiving a plurality of training samples including training samples from a plurality of task types, presenting the training samples to a neural model to generate responses, determining an error between the generated response and a natural language reference true response for each training sample presented, and adjusting parameters of the neural model based on the errors. Each of the training samples includes a natural language context, a question, and a reference true answer. The order in which the training samples are presented to the neural model includes first selecting training samples according to a first training strategy, and switching to selecting training samples according to a second training strategy. In some embodiments, the first training strategy is an in-line training strategy and the second training strategy is a joint training strategy.)

作为问答的多任务学习

发明人:N·S·凯斯卡、B·麦卡恩、C·熊和R·佐赫尔

相关申请

本申请要求2018年2月9日提交的美国临时专利申请号62/628,850和2018年5月8日提交的美国非临时专利申请号15/974,075(标题均为“Multitask Learning asQuestion Answering”)的权益,其全部内容通过引用并入本文。

本申请涉及2018年5月8日提交的标题为“Multitask Learning as QuestionAnswering”的同时提交的美国专利申请号15/974,118(律师案卷号70689.9US02A3341US2),其全部内容通过引用并入本文。

技术领域

本公开文本总体上涉及自然语言处理,并且更具体地涉及回答关于自然语言语境(context)的自然语言问题。

背景技术

自然语言处理和系统回答关于自然语言样本内容的自然语言问题的能力是关于以自然语言形式提供的信息的特定于语境的(context-specific)推理的测试基准。这可能是一项复杂的任务,因为可以提问许多不同类型的自然语言问题,并且回答该自然语言问题可能需要不同类型的推理和/或不同类型的分析。

因此,具有用于同时能够回答不同种类的自然语言问题的统一的(unified)系统和方法将是有利的。

具体实施方式

特定于语境的推理(包括有关自然语言信息的内容的特定于语境的推理)是机器智能和学习应用中的重要问题。特定于语境的推理可以提供有价值的信息用于在解释自然语言文本中使用,并且可以包括不同的任务,比如回答有关自然语言文本的内容的问题、语言翻译、语义语境分析等。然而,这些不同类型的自然语言处理任务中的每种常常涉及不同类型的分析和/或不同类型的期望响应(expected response)。

当任务类型相似时,自然语言处理中的多任务学习已经取得进展。然而,处理不同类型的任务(比如语言翻译、问答和分类)时,参数共享常常受限于词向量(word vector)或参数的子集。通常针对每种任务类型对最终架构进行高度优化和设计,这限制了它们跨越任务类型通用化的能力。

然而,当构造为单个任务类型时,这些任务类型中的许多可以由相同的架构和模型处理。例如,可能将许多(如果不是全部的话)自然语言处理任务视为问答任务。例如,分类、语言翻译和问答的任务类型均可以被构造为问答任务。图1中示出了问答形式的这三种任务类型中的每种的实施例。

图2是根据一些实施方案的计算设备200的简化图。如在图2中所示出的,计算设备200包括联接至存储器220的处理器210。计算设备200的操作由处理器210控制。而且,尽管示出了计算设备200仅具有一个处理器210,但是应当理解计算设备200中的处理器210可以代表:一个或多个中央处理单元、一个或多个多核处理器、一个或多个微处理器、一个或多个微控制器、一个或多个数字信号处理器、一个或多个现场可编程门阵列(FPGA)、一个或多个专用集成电路(ASIC)、一个或多个图形处理单元(GPU)等。计算设备200可以被实施为独立式子系统,添加至计算设备的板(board),和/或虚拟机。

存储器220可以被用于存储由计算设备200执行的软件和/或在计算设备200的操作期间使用的一个或多个数据结构。存储器220可以包括一种或多种类型的机器可读介质。机器可读介质的一些常见形式可以包括软盘、软磁盘、硬盘、磁带、任何其他磁性介质、CD-ROM、任何其他光学介质、打孔卡、纸带、具有孔图案的任何物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储器芯片或盒和/或处理器或计算机适于由其读取的任何其他介质。

可以以任何合适的物理排布安置处理器210和/或存储器220。在一些实施方案中,处理器210和/或存储器220可以被实施在相同的板上、相同的封装(例如,系统封装(system-in-package))中、相同的芯片(例如,系统芯片(system-on-chip))上等。在一些实施方案中,处理器210和/或存储器220可以包括分布式、虚拟化和/或容器化(containerized)计算资源。与这样的实施方案一致,处理器210和/或存储器220可以位于一个或多个数据中心和/或云计算设施中。

如所示出的,存储器220包括问答模块230,其可以被用于实施和/或仿真(emulate)本文进一步描述的问答系统与模型和/或实施本文进一步描述的任何方法。在一些实施例中,问答模块230可以被用于回答关于自然语言语境的自然语言问题。在一些实施例中,问答模块230还可以处理问答系统或模型(其用于回答关于自然语言语境的自然语言问题)的迭代训练和/或评价。在一些实施例中,存储器220可以包括非暂时性的、有形的机器可读介质,该机器可读介质包括可执行代码,当由一个或多个处理器(例如,处理器210)运行时,该可执行代码可以使一个或多个处理器执行本文进一步详细描述的计数方法。在一些实施例中,可以使用硬件、软件和/或硬件与软件的组合实施问答模块230。如所示出的,计算设备200接收自然语言语境240和关于自然语言语境240的自然语言问题250,它们被提供给问答模块230,问答模块230然后基于自然语言语境240的内容生成自然语言问题250的自然语言回答260。

图3是根据一些实施方案的用于多任务问答的系统300的简化图。系统300接收自然语言语境c和自然语言问题q。语境c和问题q中的每个被编码为用于由系统300处理的向量。在一些实施例中,使用词编码,编码语境c和问题q中的每个词。在一些实施例中,每个词的编码基于GloVe编码,其中每个词被编码为的元素。在一些实施例中,每个词的编码基于字符n-gram编码,其中每个词被编码为

Figure BDA0002626002130000042

的元素。在一些实施例中,每个词的编码基于GloVe和字符engram编码的级联(concatenation)。在一些实施例中,当不存在用于词的GloVe和/或字符n-gram编码(例如,词不是英语)时,从正态分布选择随机编码,对各自的词的每次出现一致地使用相同的随机编码,该正态分布具有与GloVe编码相同的平均值和标准偏差(例如,零的平均值和0.4的标准偏差)。

然后将用于语境c的编码传送至线性层310,并且将用于问题q的编码传送至线性层315。线性层310和315中的每个实施与等式1一致的各自的传递函数(transferfunction),在等式1中,W和b是各自的线性层310或315的权重(weight)和偏差(bias),a是各自的线性层310或315的输出,x是给各自的线性层310或315的输入,并且f是各自的线性层310或315的线性传递函数,比如纯(pure)线性函数、饱和线性函数等。在一些实施例中,线性层310和315减小用于语境c和问题q的编码的维数。在一些实施例中,将编码的维数减小为每个编码是

Figure BDA0002626002130000051

的元素。

a=f(Wx+b) 等式1

分别通过单层双向长短期记忆网络(biLSTM)320和biLSTM 325进一步编码由线性层310和315输出的编码以形成

Figure BDA0002626002130000052

在一些实施例中,biLSTM 320和/或325可以进一步减小用于语境c和问题q的编码的维数。biLSTM 320和325中的每个在每个时间步长(timestep)i处根据等式2生成输出hi(作为

Figure BDA0002626002130000055

的级联),在等式2中,x是给各自的biLSTM的输入,而LSTM对应于长期短期记忆网络。在一些实施例中,biLSTM 320和/或biLSTM 325具有200的隐藏大小,并且将

Figure BDA0002626002130000057

的编码的维数进一步减小为的元素。

Figure BDA0002626002130000059

然后将输出

Figure BDA00026260021300000511

Figure BDA00026260021300000512

传送至协同注意(coattention)层330。协同注意层330首先在

Figure BDA00026260021300000513

前面追加(prepend)语境哨兵(sentinel)向量并且在

Figure BDA00026260021300000514

前面追加问题哨兵向量。哨兵向量允许协同注意层330的协同注意机制以避免对齐两个序列之间的所有记号(token)。然后,协同注意层330沿着时间维度堆叠向量

Figure BDA00026260021300000521

以分别获取

Figure BDA00026260021300000515

然后,协同注意层330根据等式3生成关联矩阵(affinity matrix)A。

Figure BDA00026260021300000517

然后,协同注意层330使用等式4在每个序列上生成注意权重Ac和Aq,在等式4中softmax(X)在X的列上进行归一化。

Ac=softmax(A)

Aq=softmax(AT) 等式4

然后,使用等式5,协同注意层330使用注意权重Ac和Aq分别生成语境和问题的加权总和

然后,协同注意层330生成协同注意汇总(summary)S作为

Figure BDA0002626002130000064

的级联。协同注意汇总S包括向量s的序列,并且可以从s去除与哨兵位置相对应的第一向量。然后将s传送至biLSTM 340。biLSTM 340生成位置编码被添加至其的输出

Figure BDA0002626002130000065

然后将输出

Figure BDA0002626002130000066

传送至基于自我注意的(self-attention-based)多层转换器,其生成用于基于自我注意的多层转换器的层i中的每层的编码如在图3中所示出的,基于自我注意的多层转换器包括转换器层351和352。而且,尽管示出了基于自我注意的多层转换器具有两层,但是在一些实施方案中,基于自我注意的多层转换器可以包括仅单层或三层或更多层。转换器层351和352各自包括多头(multi-head)自我注意机制,接着是位置连接的(position-wise)全连接前馈网络,连同残差连接(residual connection)和层归一化,如下面相对于图4和5进一步详细地描述的。

图4是根据一些实施方案的注意网络400的简化图。如图4中所示出的,注意网络400接收询问键(key)和值根据等式6-8,q、k和v中的每个接受各自的权重WQ 410、WK 420和WV 430。在训练期间使用反向传播(back propagation)更改权重WQ 410、WK 420和WV 430。

Figure BDA00026260021300000611

通过注意传递函数440传送得到的Q、K和V向量,该注意传递函数440生成Q和K的点积(dot product),然后根据等式9将该点积应用于V。

然后,加法和归一化模块450被用于将询问q与来自我注意传递函数的输出组合,以提供提高注意网络400的学***均值和标准偏差,gi是用于缩放层归一化的增益参数。来自加法和归一化模块450的输出是注意网络400的输出。

LayerNorm(Attention(Q,K,V)+q)

常常以两种变体形式使用注意网络400。第一变体形式是多头注意层,其中并行实施与注意网络400一致的多个注意网络,其中多头注意网络中的每个“头”具有其自身的权重WQ 410、WK 420和WV 430,它们被初始化为不同的值并且因而被训练学习不同的编码。然后,将来自每个头的输出级联在一起,以形成多头注意层的输出。第二变体形式是自我注意层,其是q、k和v输入对于注意网络的每个头均相同的多头注意层。

VaSwani等人2017年6月12日提交的“Attention is All You Need”,arXivpreprint arXiv:1706.03762中进一步描述了基于自我注意的层,其全部内容通过引用并入本文。

图5是根据一些实施方案的用于基于注意的转换器网络的层500的简化图。根据一些实施方案,系统300的每个转换器层351和/或352均与层500一致。如在图5中所示出的,层500包括编码层510和解码层520。

编码层510接收(例如,来自用于编码堆栈中的第一层的输入网络或来自用于编码堆栈中的所有其他层的下一个最低层的层输出的)层输入,并且将其提供给多头注意层511的所有三个(q、k和v)输入,因而多头注意层511被配置为自我注意网络。多头注意层511的每个头与注意网络400一致。在一些实施例中,多头注意层511包括三个头,然而,其他数目的头比如两个或三个以上也是可能的。在一些实施例中,每个注意层具有200的尺寸和128的隐藏大小。多头注意层511的输出被提供至前馈网络512,而前馈网络512的输入和输出二者被提供至加法和归一化模块513(其生成用于编码层510的层输出)。在一些实施例中,前馈网络512是实施等式11的双层感知器(perceptron)网络,在等式11中,γ是给前馈网络512的输入,并且Mi和bi分别是感知器网络中每个层的权重和偏差。在一些实施例中,加法和归一化模块513基本上类似于加法和归一化模块450。

FF(γ)=max(0,γM1+b1)M2+b2 等式11

解码层530接收(例如,来自用于解码堆栈中的第一层的输入网络或来自用于解码堆栈中的所有其他层的下一个最低层的层输出的)层输入,并且将其提供至多头注意层521的所有三个(q、k和v)输入,因而多头注意层521被配置为自我注意网络。多头注意层521的每个头与注意网络400一致。在一些实施例中,多头注意层521包括三个头,然而,其他数目的头比如两个或三个以上也是可能的。多头注意层511的输出被提供为给另一个多头注意层522的q输入,并且多头注意层522的k和v输入与由对应的编码层输出的编码~s i一起被提供。多头注意层521的每个头与注意网络400一致。在一些实施例中,多头注意层522包括三个头,然而,其他数目的头比如两个或三个以上也是可能的。在一些实施例中,每个注意层具有200的尺寸和128的隐藏大小。多头注意层522的输出被提供至前馈网络523,而前馈网络523的输入和输出二者被提供至加法和归一化模块524(其生成用于编码层510的层输出)。在一些实施例中,前馈网络523与加法和归一化模块524分别基本上类似于前馈网络512与加法和归一化模块513。

再次参考图3,基于自我注意的多层转换器的编码侧的输出(例如,图3的实施例中的)被传送至biLSTM 360(其生成最终的编码序列h)。然后,将最终的编码序列h传送至词发生器370,如下面关于图6进一步详细地描述的。在一些实施例中,biLSTM 360具有200的隐藏大小。

基于自我注意的多层转换器的解码侧的输出是向量序列z。向量序列z也被传送至词发生器370,并且随着生成回答p中的每个词,它们被传送回基于自我注意的多层转换器的解码侧的第一层。

图6是根据一些实施方案的词发生器370的简化图。词发生器370将z视为输入向量序列,并且将h视为其用于注意的语境。词发生器迭代操作以生成用于系统300的回答p。首先使用哨兵条目初始化回答p,在生成完整的回答p后移除该哨兵条目。在每次迭代t(如图6中的下标所表示的)时,如下面进一步描述的,将回答p中的下一个词生成为pt

在时间步长t处,单层单向LSTM 610基于如下使用等式12产生语境调整的隐藏状态

Figure BDA0002626002130000091

来自基于自我注意的多层转换器的解码器侧的先前的输入zt-1和来自先前的时间步长t的先前的隐藏状态

Figure BDA0002626002130000092

以及先前的语境调整的隐藏状态

Figure BDA0002626002130000093

的级联。

然后,注意层620基于最终编码序列h和语境调整的隐藏状态

Figure BDA0002626002130000095

使用等式13生成注意权重的向量αt,其代表每个编码时间步长与当前的解码器状态的相关性,在等式13中,H是在时间维度上堆叠的h的元素,并且W1和b1是用于注意层620的可训练的权重和偏差。

然后,包括tanh层630和softmax层640的词汇(vocabulary)层生成在词汇pvocab(wt)中的每个词上的分布,这些词作为回答p的下一个词pt的候选。tanh层630基于注意权重αt、最终编码序列h和语境调整的隐藏状态

Figure BDA0002626002130000097

使用等式14生成用于当前的时间步长的隐藏状态在等式14中,H是在时间维度上堆叠的h的元素,并且W2和b2是用于tanh层630的可训练的权重和偏差。

softmax层640基于隐藏状态

Figure BDA00026260021300000910

使用等式15生成在词汇pvocab(wt)中的每个词上的分布,这些词作为回答p的下一个词pt的候选,在等式15中,Wout和bout是用于softmax层640的可训练的权重和偏差。

Figure BDA00026260021300000911

语境层650基于注意权重αt使用等式16生成在语境c(pcopy(wt))中的每个词上的分布,这些词作为回答p的下一个词pt的候选。

切换器(switch)660决定如何对pvocab(wt)和pcopy(wt)分布相对于彼此进行加权。切换器660首先基于隐藏状态语境调整的隐藏状态和来自基于自我注意的多层转换器的解码器侧的先前的输入zt-1的级联,使用等式17生成加权因子γ,在等式17中,σ表示S型(sigmoid)传递函数(比如对数S型、双曲正切S型等),并且Wswitch是用于加权因子层的可训练的权重。在一些实施例中,可以使用可训练的偏差bswitch进一步确定加权因子γ。

Figure BDA0002626002130000104

然后,切换器660使用加权因子γ使用等式18生成词汇中的词与语境中的词的并集上的最终输出分布。然后,可以基于p(wt)中具有最大权重的词来确定回答p中的下一个词pt

p(wt)=γpvocab(wt)+(1–γ)pcopy 等式18

如上所讨论并且在此进一步强调,图3仅仅是实施例,其不应当不适当地限制权利要求的范围。本领域普通技术人员将认识到许多变化、替代和修改。根据一些实施方案,系统300中的一个或多个层是可选的并且可以被省略。在一些实施例中,线性层310和/或315是可选的,并且在如下情况下可以被省略:用于语境c和问题q的编码分别被直接传送至biLSTM 320和325。在一些实施例中,biLSTM 320和/或325是可选的,并且在如下情况下可以被省略:线性层310和315的输出被直接传送至协同注意层330。在一些实施例中,线性层310与315和biLSTM 320与325是可选的,并且在如下情况下可以被省略:用于语境c和问题q的编码被直接传送至协同注意层330。

由于系统300被用于多个任务(例如,分类(比如情感分析)、语言翻译和问答),并且跨越所有任务类型为各个层共享其参数,因此如果系统300不被仔细地训练,则可能遭受灾难性遗忘。为解决这个问题,在一些实施方案中,可以根据联合策略训练系统300,在该联合策略中,使用训练样本被呈现的排序来训练系统300,以便针对每种任务类型的平衡的混合同时地训练系统300。也就是说,训练样本被呈现给系统300的次序从不同的任务类型选择连续的训练样本或连续的(例如,2至10个左右)训练样本小组。在一些实施例中,联合策略包括在训练的每次迭代的情况下,从任务类型中的一个不同的任务类型选择训练样本(语境c、问题q和基准真实(ground truth)回答)。联合策略的目标是针对每种任务类型同时训练,而不是过度关注于某一种任务类型。然而,在实践中,虽然系统300学习每种任务类型,但是它并非很好地学习了任意任务类型。Collobert等人的“A Unified Architecturefor Natural Language Processing:Deep Neural Networks with Multitask Learning”(2008年机器学习国际会议,第160-167页)和Hashimoto等人的“A Joint Many-taskModel:Growing a Neural Network for Multiple NLP Tasks”(2017年自然语言处理经验方法会议,第1923-1933页)对联合训练策略进行了更详细的描述,其通过引用以其整体并入本文。

在一些实施方案中,可以根据依序式(sequential)训练策略训练系统300,在该依序式训练策略中,使用训练样本被呈现的排序来训练系统300,以便针对每个任务类型单独地训练系统300。也就是说,将训练样本呈现给系统300进行训练的排序是呈现用于第一任务类型的每个样本,然后呈现用于第二任务类型的每个训练样本,依此类推,然后再次呈现再次用于第一任务类型的每个样本等。在依序式训练策略中,当针对任务类型中的一种的训练完成并且训练切换为第二种任务类型时,开始出现第一种任务类型的灾难性遗忘。然而,在依次多次传送用于每种任务类型的训练样本后,系统300开始更快速地恢复每种先前训练的任务类型的训练,并且收集休眠的知识(dormant knowledge)。在一些实施例中,由于当在任务类型之间切换训练时发生灾难性遗忘,系统300通常仅展现出对最后训练任务类型的强烈学习。Kirkpatrick等人的“Overcoming Catastrophic Forgetting in NeuralNetworks”(美国国家科学院院刊,2017年,第3521至3526页)对依序式训练策略进行了更详细的描述,其全部内容通过引用并入本文。

在一些实施方案中,已经提出了解决联合训练策略和依序式训练策略的局限的尝试。在一些实施例中,这些包括生成计算成本昂贵的费希尔信息(Fisher information)、使用特定于任务的修改(例如,打包策略和/或适应策略)等,该特定于任务的修改对用于所有任务类型的统一系统的目标造成负面影响。

在一些实施方案中,可以根据混合训练策略训练系统300。在混合训练策略中,最初使用依序式训练策略训练系统300。这允许系统300收集每种任务类型的休眠的知识。在通过用于每种任务类型的训练样本进行多次传送后,然后使用联合训练策略训练系统300。由于来自初始依序式训练的休眠的知识,与没有初始依序式训练的单独的联合训练相比,即使在执行多任务处理时,接下来的联合训练能够更有效地学习每种任务类型。通过允许系统300在初始依序式训练期间将先前训练的任务类型完全抑制(repress)为休眠的知识,混合训练策略给予系统300更多时间专注于针对每种任务类型进行特化。在一些实施例中,混合训练策略使学习每种任务类型的目标从学习如何一起完成所有任务类型分离。因此,当训练切换为联合训练策略时,系统300很好地准备学习每种任务类型。

在一些实施方案中,根据合成训练策略训练系统300,该合成训练策略是混合训练策略的变化。在合成训练策略中,最初使用依序式训练策略训练系统300,但是在依序式训练期间以固定的间隔和进行固定数目的迭代,训练切换为跨越先前已经训练的每种任务类型的联合训练策略,然后返回依序式训练策略。通过临时切换至用于先前学习的任务类型的联合训练策略,系统300更常常被提醒旧的任务类型,并且还被迫将旧知识与新知识合成。

图7是根据一些实施方案的多任务学习方法700的简化图。可以至少部分地以存储在非暂时性的、有形的机器可读介质上的可执行代码的形式实施方法700的过程710-780中的一个或多个,当由一个或多个处理器运行时,可执行代码可能使一个或多个处理器执行过程710-780中的一个或多个。在一些实施方案中,方法700可以被用作用于训练系统300的混合训练策略,然而,方法700还可以被用于训练系统300以外的其他多任务系统。在一些实施方案中,通过方法700训练的任务类型可以包括各个自然语言处理任务(比如语言翻译、分类(例如,情感分析)、问答等)中的任何一个。

在过程710,根据第一训练策略选择训练样本。在一些实施方案中,第一训练策略是依序式训练策略,其中从用于第一任务类型的训练样本选择训练样本,直到用于第一任务类型的每个训练样本均被选择,然后从不同于第一任务类型的第二任务类型选择训练样本,直到用于第二任务类型的每个训练样本均被选择。然后,从附加的任务类型(如果有的话)选择训练样本,进而在用于每种任务类型的每个训练样本均被选择后,发生向下一个任务类型的切换。在一些实施例中,选择的训练样本包括自然语言语境、自然语言问题和对应于语境与问题的基准真实自然语言回答。

在过程720,将选择的训练样本呈现给系统。在一些实施例中,系统是系统300。当训练样本被应用于系统时,系统根据当前训练的参数(例如,权重和偏差)通过系统的各个层进行前馈,并且生成回答。在一些实施例中,回答是自然语言短语。

在过程730,基于误差调整系统。将在过程720期间由系统生成的回答与选择的训练样本的基准真实回答进行比较,并且确定选择的训练样本的误差。然后,可以使用反向传播将误差反馈回至系统300,以更新层的各种参数(例如,权重和偏差)。在一些实施例中,可以使用随机梯度下降(SGD)训练算法、自适应矩估计(adaptive moment estimation,ADAM)训练算法等执行反向传播。在一些实施例中,用于反向传播的梯度可以被裁剪(clip)为1.0。在一些实施例中,学习衰减率(learning decay rate)可以与Vaswani等人2017年6月12日提交的“Attention is All You Need”,arXiv preprint arXiv:1706.03762使用的速率相同。

在过程740,确定是否从第一训练策略切换为第二训练策略。在一些实施例中,在用于每种任务类型的每个训练样本已经被选择了预定次数后,出现切换为第二训练策略的决定。在一些实施例中,预定次数可以是五次,但是也可以使用任何其他数目比如三次、四次和/或六次或更多次。在一些实施例中,一个或多个其他因素可以被用于做出何时切换为第二训练策略的决定。在一些实施例中,一个或其他因素可以包括:在每次传送训练样本的情况下,监测用于每种任务类型的性能指标的变化,并且当在每次传送后每个性能指标的改进的低于阈值量时进行切换。当确定不切换为第二训练策略时,方法700返回过程710,在该过程710中,继续根据第一训练策略选择训练样本。当确定切换为第二学习训练策略时,使用第二训练策略选择训练样本的选择的出现开始于过程750。

在过程750,根据第二训练策略选择训练样本。在一些实施例中,第二训练策略是联合训练策略,其中从用于每种任务类型的训练样本均等地选择训练样本。

在过程760,使用与过程720基本上相同的过程将选择的训练样本呈现给系统。

在过程770,使用与过程730基本上相同的过程,基于误差调整系统。

在过程780,确定训练是否完成。在一些实施例中,训练在已经将用于每种任务类型的训练样本呈现给系统预定次数后完成。在一些实施例中,预定次数可以是八次,但是也可以使用任何其他数目比如两次至七次和/或九次或更多次。在一些实施例中,可以使用一个或多个其他因素做出何时完成训练的决定。在一些实施例中,一个或其他因素可以包括:在每次通过训练样本传送的情况下,监测用于每种任务类型的性能指标的变化,并且当在每次传送后每个性能指标的改进低于阈值量时,记录完成训练。当确定训练未完成时,方法700返回过程740,在该过程740中,根据第二训练策略继续选择训练样本。当确定训练完成时,方法700结束,并且经训练的系统现在可以被用于其被训练的任何任务。

在训练完成后,可以使用与过程720和/或760基本上类似的过程将经训练的系统用于任何任务类型,其中可以将语境c和问题q呈现给系统并且根据(根据方法700训练的)参数(例如,权重和偏差)通过系统的各个层进行前馈。然后,生成的回答对应于呈现的语境c和问题q的答复。

如上面讨论并且在此进一步强调的,图7仅仅是实施例,其不应当不适当地限制权利要求的范围。本领域普通技术人员将认识到许多变化、替代和修改。在一些实施方案中,方法700适于使用合成训练策略。在合成训练策略中,第一训练策略是依序式训练策略的变化,而第二训练策略可以是联合训练策略。依序式训练策略的变化通常包括除在根据联合训练策略选择训练样本的间隔期间之外,根据依序式训练策略选择训练样本。在一些实施例中,联合训练策略间隔的位置和放置可以基于用于每种任务类型的多个训练迭代(例如,呈现给系统的多个训练样本)。作为非限制性实施例,训练样本的选择可以包括选择用于第一任务类型的10,000个训练样本、从每种任务类型联合地选择1000个训练样本、选择用于第一任务类型的另外10,000个训练样本、从每种任务类型选择1000个训练样本联合,并且然后重复,直到给出第一任务类型的每个训练样本,并且然后选择用于第二任务类型的10,000个训练样本等。在一些实施例中,在依序式类型选择与联合类型选择之间交替之前的训练样本的数目可以基于用于每种任务类型的训练样本数目的百分比(例如,在用于各自的任务类型的训练样本数目的10%至25%的任意位置后)。

图8是根据一些实施方案的训练性能的简化图。更具体地,图8示出了根据四种任务类型的训练系统300的结果:英语到德语(EN-DE)语言翻译、英语到法语(EN-FR)语言翻译、问答和情感分类。

用于英语到德语和英语到法语翻译任务类型的训练样本基于口语翻译国际研讨会英语到德语(IWSLT EN->DE)训练集和英语到法语(IWSLT EN->FR)训练集,这些训练集包含从TED演讲转录(transcribe)的大约210,000个句对(sentence pair)。用于两种语言翻译任务类型的性能指标是BLEU分数。

用于问答任务类型的训练样本基于斯坦福问答数据集(SQuAD),其包含10,570个基于与来自***文章的段落样本有关的问题的训练样本。用于问答任务类型的性能指标是F1分数。

用于情感分类任务类型的训练样本基于斯坦福情感树库(SST),其中去除了中性实例。SST包含大约56,400个基于电影评论及其情感的训练样本。用于情感分类任务类型的性能指标是准确匹配的百分比。

图8进一步示出了根据先前描述的性能指标的每种任务类型的学习结果。示出了每种任务类型的三个结果。单个列指示当仅使用用于指示的任务类型的训练样本训练系统300时的各自的性能指标。联合列指示当使用联合训练策略训练系统300时的相同的性能指标。混合列指示当使用方法700的混合训练策略训练系统300时的相同的性能指标。如预期的,由于允许系统300的每个版本特化于单个任务,单个任务类型训练结果具有最高的性能指标。联合列示出使用联合训练策略导致明显较差的结果,并且混合列示出使用方法700的混合训练策略相对于联合训练策略改进。进一步,除情感分类任务类型之外,方法700的混合训练策略导致相对于联合训练策略明显更优越的性能结果。

图9A至9C是根据一些实施方案的训练性能的简化图。图9A跟踪当针对每种任务类型分别训练系统300时,用于每种任务类型的训练迭代上的各自的性能指标。(例如,与图8的单个列比较。)因而,图9A示出了系统300的四个单独训练版本的结果。图9B跟踪当根据联合训练策略训练系统300时的各自的性能指标。如图9B的性能指标指示的,除SST分类任务类型之外,使用联合训练策略训练的系统300的版本没有特别好地学习任意任务类型。图9C跟踪当根据方法700的混合训练策略训练系统300时的各自的性能指标。图9C中清晰可见得是,随着训练样本在初始依序式训练期间从一种任务类型切换为另一种任务类型的灾难性遗忘的影响。在使用依序式训练策略已经呈现来自每种任务类型的训练样本五次并且训练策略切换为联合训练策略(在大约迭代250,000处)后,性能指标迅速提高至比图9B的仅仅联合训练策略的途径的性能指标更好并且更紧密地达到图9A中的系统300的单独训练的版本的性能指标的值。

图10A和10B是根据一些实施方案的基于训练次序的训练性能的简化图。图10A和10B证实了在混合训练策略的初始依序式训练期间改变将用于各种任务类型的训练呈现给系统300的次序的影响。如图10A中所示出的,当首先使用来自英语到德语(IWSLT EN->DE)语言翻译任务类型的训练样本训练系统300时(在使用来自情感分类(SST)任务类型的训练样本训练系统300之前),当再次从英语到德语翻译任务类型提取(draw)训练样本时,系统300能够快速恢复其英语到德语翻译知识。相反,图10B示出了当首先针对情感分类任务类型训练系统300时(在针对英语到德语翻译任务类型训练系统300之前),系统300不能够很好地学习英语到德语翻译任务类型。据推测,这是由于针对英语到德语的翻译任务类型的初始训练(由于培训样本更高的复杂性和丰富性)导致了更好的初始编码知识。

计算设备(比如计算设备100)的一些实施例可以包括非暂时性的、有形的机器可读介质,机器可读介质包括可执行代码,当由一个或多个处理器(例如,处理器210)运行时,可执行代码可以使一个或多个处理器执行方法700的过程。可以包括方法700的过程的机器可读介质的一些常见形式例如是软盘、软磁盘、硬盘、磁带、任何其他磁性介质、CD-ROM、任何其他光学介质、打孔卡、纸带、具有孔图案的任何物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储器芯片或盒和/或处理器或计算机适于由其读取的任何其他介质。

展示发明方面、实施方案、实施或应用的描述和附图不应当被视为限制性的。在不脱离本说明书和权利要求书的精神和范围的情况下,可以进行各种机械、组成、结构、电气和操作上的改变。在其他实例中,未详细示出或描述众所周知的方法、结构或技术,以免模糊对本说明书的理解。两个或更多个图中相似的附图标记表示相同或相似的要素。

在描述中,阐述了描述与本公开文本一致的一些实施方案的特定细节。在以下说明中,阐述了许多特定细节以便提供对实施方案的透彻理解。然而,对于本领域的技术人员来说明显的,可以在没有这些特定细节的一些或全部情况下实施这些实施方案。本文公开的特定实施方案意在是说明性的而非限制性的。尽管这里没有特定地描述,但是本领域技术人员可以认识到在本公开文本的范围和精神内的其他要素。此外,为避免不必要的重复,除非另外特定地说明或如果一个或多个特征使一个实施方案不起作用,否则与一个实施方案相关联示出和描述的一个或多个特征可以结合至其他实施方案。

尽管已经示出和描述了说明性实施方案,但是在前述公开内容中设想了广泛的修改、改变和替换,并且在一些情况下,可以采用实施方案的一些特征而不分别使用其他特征。本领域普通技术人员将认识到许多变化、替代和修改。因此,发明的范围应当仅由所附权利要求书限制,并且权利要求书被广泛地解释并且以与本文公开的实施方案的范围一致的方式是适当的。

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:对抗性概率正则化

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!