Domain Adaptive Dialog Generation via Meta Learning

应用meta learning进行对话系统的领域适配,在MAML基础上提出DAML,未开源代码,MAML作为meta learning的具体方法之一,值得学习。

来源: ACL 2019
原文链接: https:// arxiv.org/abs/1906.0352 0 有些格式没来得及转换,可以直接看我的知乎 https://zhuanlan.zhihu.com/p/81715745

Introduction

问题
领域适配是对话系统中的一项重要任务,因为根据不同的需求,每天都有许多新的对话任务产生,为这些新任务收集和注释训练数据的成本很高,因为它涉及到与真实用户的交互。因此将现有的丰富资源领域的数据适应于资源有限的新领域是对话系统研究中的一项重要任务。

现有解决方法 :Transfer learning、few-shot learning、meta-
learning等介绍了如何解决机器学习中的数据稀缺问题。由于每个对话域之间的差异很大,因此将信息从富资源域泛化到另一个低资源域非常困难。

本文的方法 :所以本文提出了一种基于元学习(meta-learning
)的领域自适应对话生成方法DAML。DAML是一个端到端可训练的对话系统模型,它从具有丰富资源的领域任务中学习,然后用最少的训练样本适应到新的领域。通过将模型无关的元学习算法(
model-agnostic meta-learning
MAML)应用于对话域,利用多个单域对话数据和丰富的资源来训练对话系统模型,将训练中的多个对话任务结合起来,学习适用于新领域的通用和可转移信息。使得该模型仅通过少量的训练实例,就能在一个新的领域有效地学习一个具有竞争力的对话系统。

meta-learning 即元学习,也可以称为“ learning to learn
”。常见的深度学习模型,目的是学习一个用于预测的数学模型。而元学习面向的不是学习的结果,而是学习的过程。其学习的不是一个直接用于预测的数学模型,而是学习“如何更快更好地学习一个数学模型”。
MAML model-agnostic meta-learning
)的思想在于学习一个好的初始化权重,从而在新任务上实现fast adaptation,即训练好的模型能够在小规模的训练样本上迅速收敛并完成fine-
tune。MAML算法试图建立多任务的通用内部表示,并在应用于新任务时最大限度地提高损失函数的灵敏度,从而当参数有微小的更新能够极大地提高新任务的损失值。这也使得对话系统不仅是只需要较少的目标域数据,而且能够以更有效的方式成功地适应新的领域。
徐安言:Model-Agnostic Meta-Learning (MAML)模型介绍及算法详解

具体来说,本文使用三个域: 餐馆、天气和公共汽车信息搜索 作为源数据,目标域则为 电影信息搜索 。通过更改seq2seq编解码器网络模型
Sequicity

,对其两阶段的CopyNet进行改进,通过实现MAML算法,使用源域的对话数据来实现最优初始化。然后使用常规梯度下降,用最少的对话框数据对目标域的初始化进行微调。最后,利用目标域的测试数据对自适应模型进行了评价。本文超越了最先进的zero
shot的基线, ZSDG (Zhao and
Eskenazi, 2018),以及其他迁移学习方法。

Problem Formulation

本文基于seq2seq的对话模型将对话上下文 $\displaystyle c$ 作为输入,并生成一个句子 $\displaystyle r$
作为响应。

K个不同的source domain有丰富的数据, 则我们在每个源域 $\displaystyle S_k$ 中都有训练数据,记作:

我们也将target domain T中的数据表示为:

在训练过程中,生成模型:

其中 $\displaystyle C$ 是上下文, $\displaystyle R$ 是系统响应。

为了进行领域的适应,对模型 $\displaystyle M{source}$ 进行微调 ,利用的是目标域训练数据 $\displaystyle
D
{train}^{T}$ ,得到一个新的模型 $\displaystyle M_{target}$
。目标是学习到一个模型,可以在新的目标领域表现良好:

Proposed Methods

首先介绍如何将MAML算法与序列模型相结合。如图1所示,典型的梯度下降包括 :

(1)初始化模型上训练更多的数据 (2)计算目标损失函数 (3)利用损失更新模型参数。

然而,对于MAML,有两个梯度更新步骤。

图中的序号表示执行的先后顺序, $\displaystyle M$ 为初始化模型,k=1,2,3分别代表不同的source
domain,可以看到MAML采用了两次梯度更新(local和global):

1)先结合源域训练数据和初始模型,更新一步,计算loss, 得到一个临时model $\displaystyle M_{k}^{‘}$ ;

2)再从每个域及其对应的临时更新的域模型 $\displaystyle M_{k}^{‘}$ 中计算出每个域新的meta-learning loss

3)然后将所有的新域损失求和得到最终的损失;

4)最后,使用final loss来更新原始模型M。

不同于常见的梯度,在MAML中,用来更新模型的目标损失函数并不直接从当前模型 $\displaystyle M$ 计算, 而是从临时
$\displaystyle M_{k}^{‘}$ 模型计算。此操作背后的idea是,
从更新的模型计算损失函数对原始域的变化更敏感,可以了解更多关于源域的常见的内部表示,而不是每个领域的独有的特征。然后在自适应阶段,由于基本的内部表示已经被捕获,模型对新域的独特特征就会非常敏感。因此,只需要一个或几个梯度步骤和最少的数据量来优化模型到新的领域。

接下来具体描述MAML算法和Sequicity模型结合的实现细节。如算法1所示,Sequicity模型以seq2seq的方式将自然语言理解、对话管理和响应生成结合起来,而元学习是一种调整损失函数值以实现更好优化的方法。

Sequcity模型
是在单一的seq2seq模型的基础上构造的,该模型结合了copying mechanism和 belief span 来记录对话状态。
为了使用Sequcity模型,在 $\displaystyle t$ 时刻将 $\displaystyle c$ 用 $\displaystyle
\{B{t - 1},R{t - 1},Ut\}$ 来表示,其中 $\displaystyle B{t - 1}$ 为在
$\displaystyle t - 1$ 时刻的belief span, $\displaystyle R_{t - 1}$ 为上一次的系统响应,
$\displaystyle U_t$ 是当前用户的话语。Sequicity模型引入了belief span来存储所有inform
slot的值,并在历史中记录request
slot的名称。通过这种方式,不需要将所有的历史语句放入一个RNN中来提取上下文特征,而是直接将存储在belief
span中的slot作为所有历史上下文的表示。belief span更准确、更简单地代表历史语境,需要在每一个环节进行更新。

Sequcity模型的具体过程是,给定上下文 ,
$\displaystyle t$ 时刻的belief span $\displaystyle Bt$ 则是根据在 $\displaystyle
t - 1$ 时刻的 $\displaystyle B
{t - 1}$ , $\displaystyle R_{t - 1}$ ,以及
$\displaystyle t$ 时刻的用户话语 $\displaystyle U_t$ 提取的:

然后,根据之前提取的上下文和 $\displaystyle t$ 时刻belief span生成系统响应 $\displaystyle R_t$ :

$\displaystyle m_t$ 是一个帮助生成响应的简单标签。它检查存储在Bt是否有在数据库中有可用的信息。

将Sequcity模型与MAML算法结合:

由于MAML与任何基于梯度下降的模型兼容,所以将当前生成对话模型表示为 $\displaystyle M$ , 可以随机初始化。根据该算法,对每个源域
$\displaystyle S_k$ 进行一定大小的训练数据采样 $\displaystyle (c^{(k)}, r^{(k)}) $
。在Sequicity模型中,输入训练数据 $\displaystyle (c^{(k)}, r^{(k)})$ ,得到生成的系统响应,
采用交叉熵作为所有域的损失函数:

对于每个源域 $\displaystyle Sk$ ,使用梯度下降来更新并得到一个临时模型 $\displaystyle M{k}^{‘}$ :

为了与(Finn et al., 2017)文章保持一致,本文只更新了一步,这样在每个源域中都有一个更新的模型,且距离 $\displaystyle M$
只有一步。在以后的工作中,可以考虑多个步骤 的梯度更新。然后,根据更新的模型计算损失函数(其中每个源域中训练数据相同):

在这一步之后,在每个域中都有元损失值。将所有源域的更新损失值汇总为meta learning的目标函数:

最后对模型进行更新,使元目标函数最小化:

Experiment

为了与最先进的领域自适应算法ZSDG (Zhao和 Eskenazi ,2018)相比较,本文使用SimDial数据集,该数据集首次用于评估ZSDG。

SimDial中总共有6个对话域:restaurant、weather、bus、movie、restaurant-slot和restaurant-
style,本文选择restaurant、weather、bus作为源域,对于每个源域,有900、100、500个对话分别对应训练、验证和测试,每个会话有9个回合。其余三个域用于评估,它们被视为目标域。生成9个对话(占源域的1%)对每个域进行适应训练(fine
tune),平均每个域包含约8.4轮。对于测试,为每个目标模型使用500个对话,
其中选择Movie作为新的评价目标域,是因为电影有完全不同的NLG模板和对话结构,几乎没有共同的特点。

Metrics

实验中有三个主要指标: BLEU分数,entity F1 score和adapting time。

前两个指标是Finn等人(2017)使用的具有说服力的指标,证明了MAML对新任务的快速适应速度。

  • 使用BLEU评分, 是因为生成自然语言也是任务的一部分,因此评估生成的反应句的质量。
  • 每个对话的实体F1得分为,比较生成的belief span,因为belief span包含所有限制响应的槽,所以这个分数也会检查任务的完整性。
  • 领域适应时间,在适应训练过程中,计算epochs的数量。



表1: 该模型在训练中对餐厅领域进行了额外的微调。“In Domain”使用所有三个源域 (餐厅、天气、公交车),而“New
Domain”指的是电影领域。当给定相似的目标域数据时,DAML的性能优于ZSDG和迁移学习。

Conclusion and Future Work

本文提出了一种基于元学习的领域自适应对话生成方法。构建了一个端到端可训练的对话系统,该系统利用两步梯度更新来获得对新领域更敏感的模型。在一个具有多个独立域的模拟数据集上评估模型。与zero-
shot学习方法和迁移学习方法相比,DAML在实体F1中达到了最先进的性能。因此认为DAML是一种有效的、鲁棒的低资源对话系统训练方法。

DAML还提供了很有潜力的扩展,例如将DAML应用于基于增强学习的对话系统。文中还计划使DAML适应多域对话任务。

Reference

  1. Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks

    https:// arxiv.org/pdf/1703.0340 0.pdf

  2. Zero-Shot Dialog Generation with Cross-Domain Latent Actions

    https:// arxiv.org/pdf/1805.0480 3

  3. Sequicity: Simplifying Task-oriented Dialogue Systems with Single
    Sequence-to-Sequence Architectures

    https://www. comp.nus.edu.sg/~kanmy/ papers/acl18-sequicity.pdf

    再次post一下我滴某乎~
    https://zhuanlan.zhihu.com/p/81715745

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×