《Meta Dialogue Policy Learning》Meta-DTQN (DP + RL)

《Meta Dialogue Policy Learning》

作者:微软2020

介绍:

  • 研究任务型对话中DP组件的few shot问题与新领域迁移。
  • 提出了DTQN以利用跨domains的low-level共享信号(如动作、槽位)。
  • 把DTQN嵌入到一个meta-Learning框架,引入了Meta-DTQN。

注意现在这个论文还在under review,所以源码就别想了,不过可以去ConvLab上搜下试试。

Introduction

多领域问答:复杂的系统比如Siri,通常包含thousands of task domains。总之,新领域迁移,或者few-shot,是一大问题。

DP = POL = 对话策略管理 = 给定state和user-goal,输出next-step-action。

由于对话会跨越多轮,DP通常需要使用强化学习。

传统方法在算法层面内在地无法实现向新领域的迁移。

我们提出了一个思想,即there is often shareable low-level information between different domains.它们可以在上下文表示与agent策略选择上构成相似性。提出了一个基于DQN的强化学习算法,DTQN,hierarchically model cross-domain relations at domain-level, act-level and slot-level。

【按:这里所谓的信息,就是两个领域拥有same-name的act和slot。至于3-level层级建模,说穿了,就是多利用底层的低维信息。】

元学习框架:元学习框架MAML用于adapt models to new tasks with a small number of data。过去的元学习框架主要都是NLG以及监督学习,POL以及强化学习的则少很多,而这就是本文的第二个创新点。作者基于MAML元学习框架进行魔改,引入了很多trick如dual-replay机制,warm-up RBS机制等等,使得其胜任了任务型对话POL的task。

【按: meta-learning即元学习,也可以称为“learning to learn”。常见的深度学习模型,目的是学习一个用于预测的数学模型。而元学习面向的不是学习的结果,而是学习的过程。其学习的不是一个直接用于预测的数学模型,而是学习“如何更快更好地学习一个数学模型”。 了解元学习框架需要多看参考文献,这里不赘述了。】

P.S. 作者在论文内多次提到附录,但是论文里根本没有附录,怎么回事?

2 参考文献

No.类型内容重要性
1早期RL与策略对话的结合Model-based RL3
2基于multi-hot的POLtemporal control。对话任务的完成需要的回合会越来越多。2
3基于multi-hot的POLBbq-networks2
4基于multi-hot的POLConvLab。这里的multi-hot state向量包括6个基本特征类,例如request和inform。4
5早期RLPlaying atari0
6Meta-learning框架Model-Agnostic Meta-Learning (MAML) framework。can applies to any optimizable system.4
7Meta-learning框架off-policy meta-reinforcement learning2
8Meta-learning框架用于NLGThe domain adaptive dialog generation method (DAML)。It places the state encoder and response generator into the MAML framework to learn general features across multiple tasks2
9早期RLMeta-supervised-learning0
10MultiWoz数据集1
11基于人工规则的POL-1
12早期RLRL的科普扫盲0
13早期RL2015年0
14早期RL与策略对话的结合Sample efficient on-line learning of optimal dialogue policies with kalman temporal differences.1
15层级POLsubgoal discovery for hierarchical dialogue policy learning1
16Meta-learning框架finding an effective prior as initialization for new task learning1
17Meta-learning框架by a meta-learner to optimize the model which can quickly adapt to new domains3
18早期RLDQN1
19早期RL与策略对话的结合Replay Buffer Spiking (RBS)2

RL扫盲的,太老的POL都不用管了。核心就是要了解基于MultiWOZ数据集做POL的基本程式,以及如何与RL结合。

一些参考:

https://www.zhihu.com/question/57159315

https://zhuanlan.zhihu.com/p/57864886

3 Problem Formulation

3.1 Reinforced Dialogue Agent

RL用于POL,则Reward r r r measures the degree of success of a dialogue。例如在ConvLab中,reward与对话轮数L有关。

RL内有state(envrioument, oveservation),有act。用于POL,state就是对话状态s,act就是系统动作a。Q函数就是Q(s, a)

给定s,agent根据 ϵ \epsilon ϵ-greedy策略选择a。这里和DQN就很像了,比如replay buffer也有。最终loss也是均方误差。

3.2 Environment and Domain

用户模拟器:首先,模拟器具化一个对话目标goal,然后,agent努力完成这个目标。目标可能涉及1到多个domains。

We split all domains into source domains and target domains to fit the meta-learning scenario。

【按:即是source domain用于training,target domain用于adaptation。而不是把全部领域都一股脑地训练,那样还怎么表现模型的跨领域迁移能力对吧】

3.3 State Representation

在这里插入图片描述

左:传统DQN系统。

缺陷:

(1)6个multi-hot特征向量彼此相对隔绝,缺乏内部联系的考虑。(state信息不共享)

(2)来自不同domain的act是独立建模的回归类。(action信息不共享)

总结就是action与state信息可以也应该跨领域共享。

右:DTQN

jointly optimizes the policy network and domain knowledge representations.

Framework

本节介绍核心创新点。4.1节介绍我们提出的DTQN强化学习算法。4.2节介绍我们如何将其用于元学习框架。

4.1 DTQN

system action space:A

dialogue state space:S

把state与actions层级分解为4个嵌入子空间:

领域空间D,动作空间C,槽位空间O,值空间V。

原来的state与actions则通过这4个子空间嵌入的联合编码获得。

【按:说的很绕。其实,就是指利用domain,slot,value,act的词向量,来构建system action 与dialogue state 的嵌入特征向量。由于数据集里system action 与dialogue state都是结构化的domain,slot,value,act实例的组合,所以就等于system action 与dialogue state的嵌入空间降维到了更加线性无关的子空间。】

(1)state encoder

过去已定义好的dialogue state特征类,我们保留。
在这里插入图片描述

【按:这里不太懂。依图看,6个feature对应6个act?inform,request,thank,bye,greet,booking?】

H = 6 H=6 H=6类对话状态特征向量用如下方法转化成最终该dialog state的向量:
s = R e L U ( W s [ s 1 , s 2 , . . . , s H ] ) s=\bold {ReLU}(W_s[s_1,s_2,...,s_H]) s=ReLU(Ws[s1,s2,...,sH])
s h s_h sh h ∈ [ 1 , H ] h\in[1,H] h[1,H])是每一个特征类的特征向量,H个拼起来,用线性层映射到 s s s,其是一个长度为 d s d_s ds的向量。

【按:每个domain都有自己特有的act特征集?这里需要翻引用的文献才能明白。】

接下来的问题就是怎么计算 s h s_h sh

注意每个 s h s_h sh都包含了 ∣ D h ∣ |D_h| Dh个domain-specific特征。将第 h h h个特征类的特征向量 s h s_h sh的第 i i i个( i ∈ [ 1 , ∣ D h ∣ ] i\in[1,|D_h|] i[1,Dh])domain-specific组成部分记为 s ^ h , i \hat s_{h,i} s^h,i,包含了该act-domain的信息,全部本体内的槽值对信息,以及标志domain是否active的二值信息(concat)
s ^ h , i = [ d h , i , a v g ( o ⊙ v ) , u h , i ] \hat s_{h,i}=[d_{h,i}, \bold{avg}(o \odot v),u_{h,i}] s^h,i=[dh,i,avg(ov),uh,i]

s h = 1 / ∣ D h ∣ ⋅ ∑ i = 1 ∣ D h ∣ ( R e s i d u a l ( s ^ h , i ) ) s_h=1/|D_h| ·\sum^{|D_h|}_{i=1}(\bold{Residual}(\hat s_{h,i})) sh=1/Dhi=1Dh(Residual(s^h,i))

把针对每个领域的特有特征加和求平均,作为最终第 h h h个特征类的特征向量。

(2)action encoder

传统DQN仅编码dialogue states。

而我们则用一个action encoder显式地建模system actions

对每一个act a a a,定义包含这个act的所有领域构成集合为 D a D_a Da

其中第 l l l个domain( l ∈ [ 1 , ∣ D a ∣ ] l\in[1, |D_a|] l[1,Da])的特征定义为
a ^ l = [ d l , c l , a v g ( o ) ] \hat a_{l}=[d_l, c_l, \bold {avg}(o)] a^l=[dl,cl,avg(o)]
即领域的嵌入向量;动作嵌入向量;全部槽位嵌入向量的平均——三者拼接。
a = 1 / ∣ D h ∣ ⋅ ∑ l = 1 ∣ D h ∣ ( R e s i d u a l ( a ^ l ) ) a=1/|D_h| ·\sum^{|D_h|}_{l=1}(\bold{Residual}(\hat a_l)) a=1/Dhl=1Dh(Residual(a^l))
定义上式为最终的该system action的特征向量。

是一个长度为 d a d_a da的向量。

【按:state encoders与action encoders的嵌入表是共享的】

一共有 ∣ A ∣ |A| A个这种act向量。将全部act的特征向量堆叠为一个矩阵 A ∈ R ∣ A ∣ × d a A\in R^{|A| \times d_a} ARA×da

(4)Q-values

上面得到dialogue states空间的特征向量 s ∈ R d s s\in R^{d_s} sRds,又得到了dialogue actions空间每一个act的特征向量 a ∈ R d a a\in R^{d_a} aRda,用一个双线性张量积将两个向量乘起来,得到一个标量:
v = 1 d a a W q s v = \frac {1}{\sqrt{d_a}}aW_qs v=da 1aWqs
它就是当前对话状态情况下,系统动作为a对应的Q值。

4.2 Meta Reinforcement Learning with Dual Replay

伪代码如下:

在这里插入图片描述

policy network: Q Q Q

target network: Q ′ Q' Q

训练时:

外循环:取样K个dialogue goal作训练用task

内循环:for k in range(K):

  • agent基于task t k t_k tk与环境交互,收集轨迹,存在一个replay buffer M t r M_{tr} Mtr里。
  • M t r M_{tr} Mtr中采样,得到一minibatch个该任务的实验对象: B t r t k B^{t_k}_{tr} Btrtk
  • 用DQN经典Loss公式,计算损失函数
  • 更新一次参数 θ Q ( k ) \theta_{Q}^{(k)} θQ(k) from θ Q \theta_{Q} θQ
  • 根据更新后的网络参数,agent再与环境交互,取得轨迹 B e v t k B_{ev}^{t_k} Bevtk

在这里插入图片描述

  • 这一步逐渐特殊。论理,应当把根据 B e v t k B_{ev}^{t_k} Bevtk计算的task eval loss用于更新 θ Q \theta_Q θQ。但是,这种on-policy学习,在初始阶段会遭受sparse rewards的问题。为什么会稀疏呢?因为跨领域对话场景下,一则要探索的state-action空间非常大,二则完成任务的回合数会非常多,三则前两个问题在未来随着新领域集成到系统里会变得越来越严重。因此,agent就容易过拟合on-policy data,掉入决策空间的局部最小点。故,作者提出了一个dual-replay framework以支持有效的off-poliicy学习。即,Apart from the main replay buffer M t r M_{tr} Mtr for meta-training, we construct a task evaluation memory M e v M_{ev} Mev。说穿了,就是训练阶段的task与估计阶段的task分开存储。【按:这一段是重点,以后细化】
  • 另外,我们还利用了一个imitation learning的变体,**Replay Buffer Spiking (RBS)**来warm up学习过程。在开始实验前,先拿一批数据以基于规则的方法对buffer做初始化。这样能让从 M e v M_{ev} Mev采用得到的 B e v t k B_{ev}^{t_k} Bevtk是混合了on-policy与off-policy数据。然后,根据 B e v t k B_{ev}^{t_k} Bevtk计算的task eval loss用于更新 θ Q \theta_Q θQ

在这里插入图片描述

测试时

for an unseen domain, we adopt a similar off-policy approach for meta-adaptation.

这种train-test consistency(训练-测试一致性)规避了the known difficulty in on-policy meta-adaptation with off-policy meta-training

事实上,传统的MAML-RL框架,可以视作我们的dual-replay结构的一个特例(set the task evaluation memory M e v M_{ev} Mev to ∣ B e v t k ∣ |B^{t_k} _{ev}| Bevtk

Experiment

5.1 Setup

数据集:multiwoz2.0

基本模式:training-and-adaptation

  • source domain:attraction, restaurant, taxi and hospital for training
  • target domain:hotel, train and police for adaptation

我们设置了两种实验环境:

  • single-domain:agents are trained and tested with only single-domain dialogue goals
  • composite-domain:for each task in meta-training, we first select a seed domain d ∗ d^* d and then sample domain composition which contains d ∗ d^* d. The trained model is then adapted and evaluated in various domain compositions containing d ∗ d^* d.

【按:原始数据集内以数据dial(goal)为单位,有些dial仅涉及1个domain,有些dial则涉及两到三个。总共本体里有7种domain。单领域环境很简单。组合领域环境则根据seed domain的选取衍生多种子环境。】

系统:DQN + DTQN两种RL算法,分有无RBS和有无dual replay来做消融实验。few shot上,选取1000个数据。

实施细节:所有agent都在ConvLab上开发。batch_size=16,training_replay_buffer.size() = evaluation_replay_buffer.size() = 50000。在训练阶段,前1000个episode对buffer初始化。在adapt阶段,single-domain为10个episode;composite-domain为前50个episode。

5.2 Evaluation Results


在这里插入图片描述

5.2.1 Few-shot Models

No.系统
1DQN-1K
2DTQN-1K

both models are trained from scratch with the 1,000 frames in the target domains.

DQN-1K在向Hotel迁移时完全失败了。而DTQN-1K全面胜利。

5.2.2 Adaptive Models

No.系统说明单领域多领域
1VANILLADQNDQN没有RBS最差
2DQN标准baseline,使用binary state representations次差
3DTQN我们的模型(没有使用元学习框架)次好
4META-DTQN-SR我们的模型(使用元学习框架,没有dual replay机制)(5的single replay版本)一般
5META-DTQN我们的模型最好最好

由表1:在单领域方面,META-DTQN虽然最好,但优势不明显,因为单领域比较简单,DTQN也能handle。

由表2:组合领域方面,DTQN在hotel上几乎失败。在train上还算成功,因为train与taxi相似度较高。META-DTQN全面胜利。

由表3:表3就是单纯的POL性能,不管adaptive能力了。这个情况下,META-DTQN和DTQN都很好。反而META-DTQN-SR还不如DQN,这是因为single replay设置使得它过拟合了。所以,如果没有dual replay机制,宁可不要元学习框架。

Effects of dual replay:

[

composite-domain情况下,DTQN更易遭受initial reward sparsity的影响,这 时候dual replay机制的作用就更明显。

图2:控制task eval memory的size ∣ M e v ∣ |M_{ev}| Mev的增大,从 ∣ M e v ∣ |M_{ev}| Mev = batch size ∣ B e v t k ∣ |B_{ev}^{t_k}| Bevtk = 16开始。size<5000时,训练loss在warm-up阶段结束后,会迅速下降,即过拟合确实是存在的,导致success rate无法提升。size > 5000时,success rate得以正常提升,说明增大size对帮助模型逃离局部最小点是有效的。

Effects of adaptation data size

在这里插入图片描述

接下来研究adaptation data on target domains的size对agent性能的影响。

图3:size从100增到2500,性能逐次提升。注意到,既然1个episode包含大约10个frames(samples),而我们在前50个episodes使用RBS,这意味着当size<500时,仅off-policy经历能够影响到agent。换言之,其实agent的adaptation能力主要提升自size - 500个on-policy数据,这再次印证了我们模型具有极强adaptation能力

Conclusion

略。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>