Abstract
序列数据通常具有子序列之间具有复杂依赖关系的层次结构, 例如在对话中的话语之间找到的。为了在生成框架中对这些依赖关系进行建模, 我们提出了一种基于神经网络的生成体系结构, 该体系结构具有跨越可变时间步长数的随机潜在变量。将该模型应用于对话响应生成任务, 并与其他最近的神经网络架构进行了比较。我们通过人类评价研究来评价模型的性能。实验表明, 我们的模型改进了最近提出的模型, 潜在变量有助于产生有意义的、长期的和多样化的反应以及保持对话状态。
Introduction
但是, 底层的 rnn 通常遵循浅 (平面) 生成过程, 只有在对输出 (例如单词) 进行采样时, 才会发生模型的可变性或随机性。在输出级别注入所有可变性通常是有限的, 因为模型被迫逐步在本地生成所有高级结构。特别是, 对于序列数据 (如自然语言数据) 来说, 这是一个问题, 自然语言数据自然拥有具有复杂的序列内依赖关系的分层生成过程。例如, 自然语言对话至少有两个层次的结构;在话语中, 结构以语言的局部统计 (如词共现) 为主, 而在整个话语中, 有一个明显的差异来源, 其特点是话题和说话人的目标等方面。如果模型只在单词级别注入可变性, 它将不得不逐步决定会话主题和说话者的目标, 因为它生成每个话语中的单词。这可能会导致主题不一致和用户目标不一致
我们在自然语言生成设置中解决此问题, 特别是针对 (非结构化) 对话响应生成。考虑到自然语言的对话背景, 该模型的任务是逐字逐句地产生适当的反应。许多研究人员最近利用序列序列框架 这类模式并不是专门为最初开发对话系统的以目标为导向的环境而设计的 尽管如此, 各大软件公司现在正在开发非目标导向的模型, 这些模型每天都与数百万人互动。两个例子是微软的 Xiaolice (markoff 和 mozur 2015) 和谷歌的智能回复系统 (kannan 等人, 2016年), 其核心是序列到序列模型。目前, 这些模型不包含分层生成结构。因此, 它们不能代表更高层次的可变性, 往往无法产生有意义的、多样化的主题响应 (li 等人, 2016年)。
在这些缺点的推动下, 我们开发了一个分层的潜在变量 rnn 体系结构, 以显式建模具有多层次可变性的生成过程。该模型是一个分层序列序列模型, 每个对话话语都附加了一个连续的高维潜在变量, 通过最大限度地提高对数似然的变分下限来训练。为了生成响应, 模型首先生成连续潜在变量的示例--表示响应的高级语义内容--然后按基于潜在变量的单词生成响应词。我们应用该模型来生成推特对话的响应
Technical Background
Hierarchical Recurrent Encoder-Decoder (HRED)
这个方法是先把对话分为n个表达,Mn表示每个表达中的单词数量,然后先以单词为单位编码,
再以表达为单位编码
最后是解码器,通过输入当前解码的单词,以及表达,以及上一个解码的结果得到
The Restricted Shallow Generation Process
据观察, rnlm 和 hred 以及基于 rnn 架构的类似模型存在严重问题, 会产生有意义和多样化的对话响应。我们认为, 这些问题是由 rnlm 和 hred 遵循的平面顺序生成过程造成的, 在这一过程中, 每个单词的采样仅以前面的单词为条件。我们称之为浅生成过程, 因为唯一的变异源是通过条件输出分布建模的。从概率的角度来看, 这一过程是有问题的, 因为该模型被迫逐步在当地生成所有高级结构 (boulanger-wwandoski、bengio 和 vincent 2012;拜耳和奥森多弗 2014;chung 等人, 2015年;denton 等人, 2015年)。例如, 为了生成对话响应, 这样的模型必须在生成过程的中间决定对话主题--当它生成第一个与主题相关的单词时--然后, 对于将来的每个单词, 模型必须决定是否要更改或保留在同一主题上。这使得模型很难产生长期结构。从计算学习的角度来看, 浅生成过程也是有问题的: rnnlm--或者相应地说, 在 hred 中的解码器 rnn 的状态--必须总结所有过去的信息, 直到时间步骤 m, 以便 (a) 生成可能的下一个令牌 (短期目标) 和 (b) 在嵌入维持输出轨迹的空间中占据一个位置, 用于生成未来可能的令牌 (长期目标)。
由于梯度消失效应, 短期目标将主导输出分布。特别是, 对于具有高可变性的序列, 这些模型可能倾向于短期预测, 而不是长期预测, 因为与维持长期轨迹hm, hm+1, hm+2....,.相比, 只学习hm预测下一个token更容易, 它在每个时间都被嘈杂的输入 (例如作为输入的单词) 所困扰
Latent Variable Hierarchical Recurrent Encoder-Decoder (VHRED)
在受限浅生成过程的推动下, 提出了潜在变量分层递归编码器解码器 (vhred) 模型。该模型在话语层面用一个随机潜在变量增强了 hred 模型, 该模型是通过在对数似然上最大化变分下限来训练的。这使它能够在两步生成过程中对层次结构化序列进行建模 (首先对潜在变量进行采样, 然后生成输出序列), 同时保持长期上下文。
vhred 为每个话语 n = 1,..., n生成一个连续的高维随机潜在变量 Zn , 这是以所有以前观察到的标记为条件的。该模型通过两级分层生成过程生成 第n个话语令牌:
zn用两个矩阵应用在前馈神经的输出中,定义u和这个协方差
论文的图
自己总结的图
如下一节所示, vhred 缓解了由于浅生成不足而产生的问题
rnlm 和 hred 模型。输出序列的变化现在有两种方式: 在词法级 (序列级) 和条件先前分布在 z 上, 在词级 (子序列级) 以条件分布在单词令牌上。变量 z 的效果对应于有关生成什么的更高级别的决定, 如对话主题、说话人目标或话语的情绪。通过表示有关序列的高级信息, z 有助于对长期输出轨迹进行建模。这使得解码器 rnn 隐藏状态只专注于总结当前的话语。
Alternative Architectures、
这里写了一些实验的变体