训练方法、装置、计算机设备和可读存储介质与流程

文档序号:15999791发布日期:2018-11-20 19:18阅读:158来源:国知局

本申请涉及人工智能技术领域,尤其涉及一种训练方法、装置、计算机设备和可读存储介质。



背景技术:

通用对话系统可以应用于聊天机器人、手机助手等,其作为人工智能的重要场景,得到越来越多的关注。目前,可以基于检索式和生成式,对通用对话系统中的对话生成网络进行训练。其中,由于检索式需要大量的人工辅助工作,训练的效率较低,并且检索式受限于语料质量,导致通用对话系统输出的准确性较低。因此,基于生成式,对通用对话系统中的对话生成网络进行训练越来越受到重视。

但是,基于生成式进行训练,存在通用对话系统输出的逻辑性较低,且包含一些无信息含量的通用回复的问题。相关技术中,可以通过提取对话上文的主题(topic)或者关键词(keyword),将提取出的主题或者关键词引入到对话下文的生成过程中,而后通过最大化互信息来解决基于生成式进行训练,存在包含无信息含量的通用回复的问题。并且,通过对抗学习的方法,对对话生成网络进行训练,来解决通用对话系统输出的逻辑性较低的问题。

但是,申请人发现,通过将提取出的主题或者关键词引入到对话下文的生成过程中,难度较大,并且,最大化互信息的计算过程极为耗时;通过对抗学习的方法,对对话生成网络进行训练,稳定性较低,且通用对话系统输出的多样性并未明显提高。



技术实现要素:

本申请提出一种训练方法、装置、计算机设备和可读存储介质,用于解决现有技术中通过将提取出的主题或者关键词引入到对话下文的生成过程中,难度较大,并且,最大化互信息的计算过程极为耗时;通过对抗学习的方法,对对话生成网络进行训练,稳定性较低,且通用对话系统输出的多样性并未明显提高的技术问题。

本申请一方面实施例提出了一种训练方法,应用于对话生成网络,所述对话生成网络包括具有对偶关系的第一生成器和第二生成器,还包括第一判别器以及第二判别器;所述训练方法,包括:

对所述第一生成器输出的第一文本,采用所述第一判别器进行质量判别,得到第一判别信息;所述第一文本,是所述第一生成器根据对话上文输出的,用于回复所述对话上文;

对所述第二生成器输出的第二文本,采用所述第二判别器进行质量判别,得到第二判别信息;所述第二文本,是所述第二生成器根据对话下文输出的,用于作为上文接续在所述对话下文之前;

在所述对偶关系的约束下,根据所述第一判别信息对所述第一生成器进行训练,以及根据所述第二判别信息对所述第二生成器进行训练。

本申请实施例的训练方法,通过对第一生成器输出的第一文本,采用第一判别器进行质量判别,得到第一判别信息,其中,第一文本,是第一生成器根据对话上文输出的,用于回复对话上文,而后对第二生成器输出的第二文本,采用第二判别器进行质量判别,得到第二判别信息,其中,第二文本,是第二生成器根据对话下文输出的,用于作为上文接续在对话下文之前,最后在对偶关系的约束下,根据第一判别信息对第一生成器进行训练,以及根据第二判别信息对第二生成器进行训练。由此,无需从对话上文中提取主题或者关键词,从而无需引入新的任务,可以有效降低训练的难度。此外,由于无需计算最大化互信息,可以提升训练的效率。并且,在对偶关系的约束下,利用判别器的输出对生成器进行训练,可以提升对话生成网络的稳定性,且提升对话生成网络输出的逻辑性、真实性和多样性。

本申请又一方面实施例提出了一种训练装置,应用于对话生成网络,所述对话生成网络包括具有对偶关系的第一生成器和第二生成器,用于对所述第一生成器的输出进行质量判别的第一判别器,以及用于对所述第二生成器的输出进行质量判别的第二判别器;所述训练装置,包括:

处理模块,用于对所述第一生成器输出的第一文本,采用所述第一判别器进行质量判别,得到第一判别信息;所述第一文本,是所述第一生成器根据对话上文输出的,用于回复所述对话上文;对所述第二生成器输出的第二文本,采用所述第二判别器进行质量判别,得到第二判别信息;所述第二文本,是所述第二生成器根据对话下文输出的,用于作为上文接续在所述对话下文之前;

训练模块,用于在所述对偶关系的约束下,根据所述第一判别信息对所述第一生成器进行训练,以及根据所述第二判别信息对所述第二生成器进行训练。

本申请实施例的训练装置,通过对第一生成器输出的第一文本,采用第一判别器进行质量判别,得到第一判别信息,其中,第一文本,是第一生成器根据对话上文输出的,用于回复对话上文,而后对第二生成器输出的第二文本,采用第二判别器进行质量判别,得到第二判别信息,其中,第二文本,是第二生成器根据对话下文输出的,用于作为上文接续在对话下文之前,最后在对偶关系的约束下,根据第一判别信息对第一生成器进行训练,以及根据第二判别信息对第二生成器进行训练。由此,无需从对话上文中提取主题或者关键词,从而无需引入新的任务,可以有效降低训练的难度。此外,由于无需计算最大化互信息,可以提升训练的效率。并且,在对偶关系的约束下,利用判别器的输出对生成器进行训练,可以提升对话生成网络的稳定性,且提升对话生成网络输出的逻辑性、真实性和多样性。

本申请又一方面实施例提出了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本申请前述实施例提出的训练方法。

本申请又一方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本申请前述实施例提出的训练方法。

本申请又一方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本申请前述实施例提出的训练方法。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请实施例一所提供的训练方法的流程示意图;

图2为本申请实施例中对话生成网络的结构示意图;

图3为本申请实施例二所提供的训练方法的流程示意图;

图4为本申请实施例三所提供的训练装置的结构示意图;

图5为本申请实施例四所提供的训练装置的结构示意图;

图6示出了适于用来实现本申请实施方式的示例性计算机设备的框图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

本申请主要针对现有技术中通过将提取出的主题或者关键词引入到对话下文的生成过程中,难度较大,并且,最大化互信息的计算过程极为耗时;通过对抗学习的方法,对对话生成网络进行训练,稳定性较低,且通用对话系统输出的多样性并未明显提高的技术问题,提出一种训练方法。

本申请实施例的训练方法,通过对第一生成器输出的第一文本,采用第一判别器进行质量判别,得到第一判别信息,其中,第一文本,是第一生成器根据对话上文输出的,用于回复对话上文,而后对第二生成器输出的第二文本,采用第二判别器进行质量判别,得到第二判别信息,其中,第二文本,是第二生成器根据对话下文输出的,用于作为上文接续在对话下文之前,最后在对偶关系的约束下,根据第一判别信息对第一生成器进行训练,以及根据第二判别信息对第二生成器进行训练。由此,无需从对话上文中提取主题或者关键词,从而无需引入新的任务,可以有效降低训练的难度。此外,由于无需计算最大化互信息,可以提升训练的效率。并且,在对偶关系的约束下,利用判别器的输出对生成器进行训练,可以提升对话生成网络的稳定性,且提升对话生成网络输出的逻辑性、真实性和多样性。

下面参考附图描述本申请实施例的训练方法、装置、计算机设备和可读存储介质。

图1为本申请实施例一所提供的训练方法的流程示意图。

本申请实施例的训练方法,应用于对话生成网络,对话生成网络包括具有对偶关系的第一生成器和第二生成器,还包括第一判别器以及第二判别器。例如,参见图2,图2为本申请实施例中对话生成网络的结构示意图。

其中,表示采用参数θqr的第一生成器,表示采用参数θrq的第二生成器,表示采用参数为φqr的第一判别器,表示采用参数为φrq的第二判别器。第一判别器用于对第一生成器的输出进行质量判别,第二判别器用于对第二生成器的输出进行质量判别。

如图1所示,该训练方法包括以下步骤:

步骤101,对第一生成器输出的第一文本,采用第一判别器进行质量判别,得到第一判别信息;第一文本,是第一生成器根据对话上文输出的,用于回复对话上文。

本申请实施例中,第一生成器用于根据对话上文(query,简称q),输出用于回复对话上文的第一文本。例如,参见图2,可以标记第一文本为简称

可以理解的是,由于第一生成器的参数、精度等不同,输出的第一文本也是不同的,从而第一文本与对话上文之间的逻辑性、关联性也是不同的,因此,本申请实施例中,为了确定第一生成器的性能,可以利用第一判别器,对第一生成器的输出进行质量判别。具体地,可以将第一生成器输出的第一文本,输入至第一判别器,由第一判别器对第一文本进行质量判别,得到第一判别信息(Rqr)。

步骤102,对第二生成器输出的第二文本,采用第二判别器进行质量判别,得到第二判别信息;第二文本,是第二生成器根据对话下文输出的,用于作为上文接续在对话下文之前。

本申请实施例中,第二生成器用于根据对话下文(response,简称r),输出用于作为上文接续在对话下文之前的第二文本。例如,参见图2,可以标记第二文本为简称

可以理解的是,由于第二生成器的参数、精度等不同,输出的第二文本也是不同的,从而第二文本与对话下文之间的逻辑性、关联性也是不同的,因此,本申请实施例中,为了确定第二生成器的性能,可以利用第二判别器,对第二生成器的输出进行质量判别。具体地,可以将第二生成器输出的第二文本,输入至第二判别器,由第二判别器对第二文本进行质量判别,得到第二判别信息(Rrq)。

步骤103,在对偶关系的约束下,根据第一判别信息对第一生成器进行训练,以及根据第二判别信息对第二生成器进行训练。

其中,对偶关系为预先设置的,对偶关系可以根据对话上文q和对话下文r的联合概率P(q,r)确定。

可选地,为了提升第一生成器的参数、精度等,从而保证第一生成器的性能,提升第一生成器输出的第一文本与对话上文之间的逻辑性、关联性,本申请实施例中,可以利用第一判别器输出的第一判别信息对第一生成器进行训练。其中,第一生成器的训练过程可以被看成是强化学习(Reinforcement Learning,简称RL)过程,在对偶关系的约束下,根据第一判别信息对第一生成器进行训练,例如,在对偶关系的约束下,可以根据策略梯度算法和第一判别信息,对第一生成器进行训练,即利用策略梯度算法和第一判别信息,指导第一生成器进行更新,从而可以提升第一生成器参数的准确性,改善第一生成器输出的第一文本与对话上文之间的逻辑性,以及改善第一生成器输出的多样性。

同理,为了提升第二生成器的参数、精度等,从而保证第二生成器的性能,提升第二生成器输出的第二文本与对话下文之间的逻辑性、关联性,本申请实施例中,利用第二判别器输出的第二判别信息对第二生成器进行训练。其中,第二生成器的训练过程同样可以被看成是强化学习过程,在对偶关系的约束下,根据第二判别信息对第二生成器进行训练,例如,在对偶关系的约束下,可以根据策略梯度算法和第二判别信息,对第二生成器进行训练,即利用策略梯度算法和第二判别信息,指导第二生成器进行更新,从而可以提升第二生成器参数的准确性,改善第二生成器输出的第二文本与对话下文之间的逻辑性,以及改善第二生成器输出的多样性。

并且,第一生成器和第二生成器在对偶关系的约束下紧密联系,可以提升对话生成网络的稳定性,以及提升对话生成网络输出的逻辑性。

本申请实施例的训练方法,通过对第一生成器输出的第一文本,采用第一判别器进行质量判别,得到第一判别信息,其中,第一文本,是第一生成器根据对话上文输出的,用于回复对话上文,而后对第二生成器输出的第二文本,采用第二判别器进行质量判别,得到第二判别信息,其中,第二文本,是第二生成器根据对话下文输出的,用于作为上文接续在对话下文之前,最后在对偶关系的约束下,根据第一判别信息对第一生成器进行训练,以及根据第二判别信息对第二生成器进行训练。由此,无需从对话上文中提取主题或者关键词,从而无需引入新的任务,可以有效降低训练的难度。此外,由于无需计算最大化互信息,可以提升训练的效率。并且,在对偶关系的约束下,利用判别器的输出对生成器进行训练,可以提升对话生成网络的稳定性,且提升对话生成网络输出的逻辑性、真实性和多样性。

为了清楚说明上一实施例,本实施例提供了另一种训练方法,图3为本申请实施例二所提供的训练方法的流程示意图。

如图3所示,该训练方法可以包括以下步骤:

步骤201,对第一生成器输出的第一文本,采用第一判别器进行质量判别,得到第一判别信息。

其中,第一文本,是第一生成器根据对话上文输出的,用于回复对话上文。

步骤202,对第二生成器输出的第二文本,采用第二判别器进行质量判别,得到第二判别信息。

其中,第二文本,是第二生成器根据对话下文输出的,用于作为上文接续在对话下文之前。

步骤201~202的执行过程,可以参见上述实施例中步骤101~102的执行过程,在此不做赘述。

步骤203,确定对话下文r在对话中出现的概率Pr(r)。

本申请实施例中,可以采用经过训练的第一语言模型,确定对话下文r在对话中出现的概率Pr(r)。具体地,可以预先对对话集中的各语句出现概率进行标注,利用标注后的对话集,对第一语言模型进行训练。经过训练后的第一语言模型,可以学习到语句与出现概率之间的预设关系。因此,将对话下文r输入至经过训练的第一语言模型后,可以得到对话下文r在对话中出现的概率Pr(r)。

步骤204,确定对话上文q在对话中出现的概率Pq(q)。

同理,可以采用经过训练的第二语言模型,确定对话上文q在对话中出现的概率Pq(q)。经过训练后的第二语言模型已学习得到语句与出现概率之间的预设关系,将对话上文q输入至经过训练的第二语言模型后,可以得到对话上文q在对话中出现的概率Pq(q)。

步骤205,根据概率Pr(r)和概率Pq(q),确定对偶关系为

本实施例中,在确定对话下文r在对话中出现的概率Pr(r)以及对话上文q在对话中出现的概率Pq(q)后,可以根据概率Pr(r)和概率Pq(q),确定对偶关系。具体地,对偶关系可以为对话上文q和对话下文r的联合概率P(q,r):

其中,为将对话上文q输入采用参数θqr的第一生成器,得到第一文本的概率;为将对话下文r输入采用参数θrq的第二生成器,得到第二文本的概率。

步骤206,采用策略梯度算法,计算对偶关系关于第一生成器参数的梯度,得到第一生成器的策略梯度,以及计算对偶关系关于第二生成器参数的梯度,得到第二生成器的策略梯度。

作为一种可能的实现方式,可以对对偶关系进行正则转化,得到损失函数γ:

而后,对损失函数γ计算关于第一生成器参数θqr的梯度,得到第一生成器的策略梯度以及对损失函数γ计算关于第二生成器参数θrq的梯度,得到第二生成器的策略梯度

步骤207,根据第一文本与回复对话上文的期望文本之间的差异,以及根据第一判别信息,确定第一生成器的对抗梯度。

作为一种可能的实现方式,可以根据将对话上文q输入采用参数θqr的第一生成器后,输出第一文本的概率,确定第一生成器的损失函数其中,损失函数取值,是根据第一文本与回复对话上文的期望文本之间的差异确定的。

具体地,第一生成器的损失函数为为:

而后,可以根据第一判别信息,确定第一生成器参数θqr的调整方向最后,可以根据第一生成器的参数调整方向以及第一生成器的损失函数得到第一生成器的对抗梯度

其中,b为常数。

步骤208,根据第二文本与作为上文接续在对话下文之前的期望文本之间的差异,以及根据第二判别信息,确定第二生成器的对抗梯度。

作为一种可能的实现方式,可以根据将对话下文r输入采用参数θrq的第二生成器后,输出第二文本的概率,确定第二生成器的损失函数其中,损失函数取值,是根据第二文本与作为上文接续在对话下文之前的期望文本之间的差异确定的。

具体地,第二生成器的损失函数为:

而后,根据第二判别信息,确定第二生成器的参数θrq调整方向最后,根据第一生成器的参数调整方向以及第一生成器的损失函数得到第一生成器的对抗梯度

步骤209,将第一生成器的对抗梯度与第一生成器的策略梯度合成,得到第一生成器的更新梯度。

具体地,可以将将第一生成器的对抗梯度与第一生成器的策略梯度相减,得到第一生成器的更新梯度,即第一生成器的更新梯度为:

其中,表示第一生成器的更新梯度,从而可以利用更新梯度对第一生成器进行更新。

步骤210,将第二生成器的对抗梯度与第二生成器的策略梯度合成,得到第二生成器的更新梯度。

具体地,可以将第二生成器的对抗梯度与第二生成器的策略梯度相减,得到第二生成器的更新梯度,即第二生成器的更新梯度为:

其中,表示第二生成器的更新梯度,从而可以利用更新梯度对第二生成器进行更新。

本申请实施例的训练方法,通过对第一生成器输出的第一文本,采用第一判别器进行质量判别,得到第一判别信息,其中,第一文本,是第一生成器根据对话上文输出的,用于回复对话上文,而后对第二生成器输出的第二文本,采用第二判别器进行质量判别,得到第二判别信息,其中,第二文本,是第二生成器根据对话下文输出的,用于作为上文接续在对话下文之前,最后在对偶关系的约束下,根据第一判别信息对第一生成器进行训练,以及根据第二判别信息对第二生成器进行训练。由此,无需从对话上文中提取主题或者关键词,从而无需引入新的任务,可以有效降低训练的难度。此外,由于无需计算最大化互信息,可以提升训练的效率。并且,在对偶关系的约束下,利用判别器的输出对生成器进行训练,可以提升对话生成网络的稳定性,且提升对话生成网络输出的逻辑性、真实性和多样性。

作为一种可能的实现方式,为了实现对第一判别器和第二判别器进行动态维护,从而提升对话生成网络输出的准确性,使得对话生成网络的输出更具真实性和逻辑性,本申请实施例中,在图1-图3所示实施例的基础上,该训练方法还可以包括:对第一判别器和第二判别器进行参数更新。

具体地,对于采用参数为φqr的第一判别器而言,其更新参数为:

其中,表示第一判别器对与回复对话上文的期望文本进行质量判别得到的期望值,表示第一判别器对第一生成器输出的第一文本进行质量判别得到的期望值,标记为则第一判别器的更新参数为:min[-(A+B)],即取[-(A+B)]的最小值,作为第一判别器的更新参数。

可以理解的是,第一生成器的输出并非真实数据,即第一文本并非真实数据,第一判别器对第一生成器的输出进行质量判别,质量评价越低则真实性越差,质量评价越高则真实性越高。由于,第一生成器输出的第一文本实际上为非真实数据,希望第一判别器能够判别出第一文本为非真实的,因此希望得到的期望值越小越好,即B的取值越小越好。而回复对话上文的期望文本为真实数据,第一判别器对该其进行质量判别,希望第一判别器能够判别出回复对话上文的期望文本为真实的,因此希望得到的期望值越大越好,即A越大越好。

对于采用参数为φrq的第二判别器而言,其更新参数为:

其中,表示第二判别器对与作为上文接续在对话下文之前的期望文本进行质量判别得到的期望值,表示第二判别器对第二生成器输出的第二文本进行质量判别得到的期望值,标记为则第二判别器的更新参数为:min[-(C+D)],即取[-(C+D)]的最小值,作为第二判别器的更新参数。

可以理解的是,第二生成器的输出并非真实数据,即第二文本并非真实数据,第二判别器对第二生成器的输出进行质量判别,质量评价越低则真实性越差,质量评价越高则真实性越高。由于,第二生成器输出的第二文本实际上为非真实数据,希望第二判别器能够判别出第二文本为非真实的,因此希望得到的期望值越小越好,即D的取值越小越好。而作为上文接续在对话下文之前的期望文本为真实数据,第二判别器对该其进行质量判别,希望第二判别器能够判别出作为上文接续在对话下文之前的期望文本为真实的,因此希望得到的期望值越大越好,即C越大越好。

需要说明的是,这里的真实或者非真实是指是否为机器生成,还是人工生成,如果是机器生成则表述为非真实,如果是人工生成则表述为真实。

本申请实施例中,根据公式(9),确定第一判别器的更新参数后,可以利用更新参数,对第一判别器进行更新,并且根据公式(10),确定第二判别器的更新参数后,同样可以利用更新参数,对第二判别器进行更新,从而可以实现对第一判别器和第二判别器进行动态维护,提升对话生成网络输出的准确性,使得对话生成网络的输出更具真实性和逻辑性。

为了实现上述实施例,本申请还提出一种训练装置。

图4为本申请实施例三所提供的训练装置的结构示意图。

本申请实施例的训练装置,应用于对话生成网络,对话生成网络包括具有对偶关系的第一生成器和第二生成器,用于对第一生成器的输出进行质量判别的第一判别器,以及用于对第二生成器的输出进行质量判别的第二判别器。

如图4所示,该训练装置包括:处理模块110和训练模块120。其中,

处理模块110,用于对第一生成器输出的第一文本,采用第一判别器进行质量判别,得到第一判别信息;第一文本,是第一生成器根据对话上文输出的,用于回复对话上文;对第二生成器输出的第二文本,采用第二判别器进行质量判别,得到第二判别信息;第二文本,是第二生成器根据对话下文输出的,用于作为上文接续在对话下文之前;

训练模块120,用于在对偶关系的约束下,根据第一判别信息对第一生成器进行训练,以及根据第二判别信息对第二生成器进行训练。

进一步地,在本申请实施例的一种可能的实现方式中,参见图5,在图4所示实施例的基础上,该训练装置还可以包括:

作为一种可能的实现方式,训练模块120,包括:

计算子模块121,用于采用策略梯度算法,计算所述对偶关系关于第一生成器参数的梯度,得到所述第一生成器的策略梯度,以及计算所述对偶关系关于第二生成器参数的梯度,得到所述第二生成器的策略梯度。

第一确定子模块122,用于根据所述第一文本与回复所述对话上文的期望文本之间的差异,以及根据所述第一判别信息,确定所述第一生成器的对抗梯度。

第二确定子模块123,用于根据所述第二文本与作为上文接续在所述对话下文之前的期望文本之间的差异,以及根据所述第二判别信息,确定所述第二生成器的对抗梯度。

第一合成子模块124,用于将所述第一生成器的对抗梯度与所述第一生成器的策略梯度合成,得到所述第一生成器的更新梯度。

第二合成子模块125,用于将所述第二生成器的对抗梯度与所述第二生成器的策略梯度合成,得到所述第二生成器的更新梯度。

参见图5,该训练装置还可以包括:

第一确定模块130,用于在所述采用策略梯度算法,计算所述对偶关系关于第一生成器参数的梯度,得到所述第一生成器的策略梯度,以及计算所述对偶关系关于第二生成器参数的梯度,得到所述第二生成器的策略梯度之前,确定对话下文r在对话中出现的概率Pr(r)。

第二确定模块140,用于确定对话上文q在对话中出现的概率Pq(q)。

第三确定模块150,用于根据所述概率Pr(r)和概率Pq(q),确定所述对偶关系为其中,为将对话上文q输入采用参数θqr的第一生成器,得到第一文本的概率;为将对话下文r输入采用参数θrq的第二生成器,得到第二文本的概率。

作为一种可能的实现方式,计算子模块121,具体用于:对所述对偶关系进行正则转化,得到损失函数γ,其中,对所述损失函数γ计算关于所述第一生成器参数θqr的梯度,得到所述第一生成器的策略梯度对所述损失函数γ计算关于所述第二生成器参数θrq的梯度,得到所述第二生成器的策略梯度

作为一种可能的实现方式,第一确定子模块122,具体用于:根据将对话上文q输入采用参数θqr的第一生成器后,输出第一文本的概率,确定所述第一生成器的损失函数其中,所述损失函数取值,是根据所述第一文本与回复所述对话上文的期望文本之间的差异确定的;根据所述第一判别信息,确定所述第一生成器参数θqr的调整方向根据所述第一生成器的参数调整方向以及所述第一生成器的损失函数得到所述第一生成器的对抗梯度其中,b为常数。

作为一种可能的实现方式,第二确定子模块123,具体用于:根据将对话下文r输入采用参数θrq的第二生成器后,输出第二文本的概率,确定所述第二生成器的损失函数其中,所述损失函数取值,是根据所述第二文本与作为上文接续在所述对话下文之前的期望文本之间的差异确定的;根据所述第二判别信息,确定所述第二生成器的参数θrq调整方向根据所述第一生成器的参数调整方向以及所述第一生成器的损失函数得到所述第一生成器的对抗梯度其中,

作为一种可能的实现方式,第一合成子模块124,具体用于:将所述第一生成器的对抗梯度与所述第一生成器的策略梯度相减,得到所述第一生成器的更新梯度。

作为一种可能的实现方式,第二合成子模块125,具体用于:将所述第二生成器的对抗梯度与所述第二生成器的策略梯度相减,得到所述第二生成器的更新梯度。

参见图5,该训练装置还可以包括:更新模块160。

更新模块160,用于对所述第一判别器和所述第二判别器进行参数更新。

需要说明的是,前述对训练方法实施例的解释说明也适用于该实施例的训练装置,此处不再赘述。

本申请实施例的训练装置,通过对第一生成器输出的第一文本,采用第一判别器进行质量判别,得到第一判别信息,其中,第一文本,是第一生成器根据对话上文输出的,用于回复对话上文,而后对第二生成器输出的第二文本,采用第二判别器进行质量判别,得到第二判别信息,其中,第二文本,是第二生成器根据对话下文输出的,用于作为上文接续在对话下文之前,最后在对偶关系的约束下,根据第一判别信息对第一生成器进行训练,以及根据第二判别信息对第二生成器进行训练。由此,无需从对话上文中提取主题或者关键词,从而无需引入新的任务,可以有效降低训练的难度。此外,由于无需计算最大化互信息,可以提升训练的效率。并且,在对偶关系的约束下,利用判别器的输出对生成器进行训练,可以提升对话生成网络的稳定性,且提升对话生成网络输出的逻辑性、真实性和多样性。

为了实现上述实施例,本申请还提出一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本申请前述实施例提出的训练方法。

为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本申请前述实施例提出的训练方法。

为了实现上述实施例,本申请还提出一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本申请前述实施例提出的训练方法。

图6示出了适于用来实现本申请实施方式的示例性计算机设备的框图。图6显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图6所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry Standard Architecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association;以下简称:VESA)局域总线以及外围组件互连(Peripheral Component Interconnection;以下简称:PCI)总线。

计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read Only Memory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read Only Memory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。

计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的训练方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1