当前位置: 代码迷 >> 综合 >> POLICY ADAPTATION FOR DEEP REINFORCEMENT LEARNING-BASED DIALOGUE MANAGEMENT翻译
  详细解决方案

POLICY ADAPTATION FOR DEEP REINFORCEMENT LEARNING-BASED DIALOGUE MANAGEMENT翻译

热度:54   发布时间:2024-01-25 10:14:08.0

摘要

策略优化是统计对话管理的核心部分。深度强化学习已成功用于静态预定义领域的对话策略优化。但是,当领域动态变化时,例如添加了一个之前未见过的新概念(或插槽),并且该概念随后可以用作数据库搜索约束,或者将一个领域的策略转移到另一个领域,对话状态空间和动作空间都将更改。因此,不同领域的模型结构必须不同。这使对话策略的适应/转移具有挑战性。本文提出了一种多agent对话策略(MADP)来解决这些问题。MADP由一些槽依赖的agent(S-Agent)和槽独立的agent(G-Agent)组成。除了每个私有参数外,S-Agent还具有共享参数。在策略转移期间,可以将S-Agent中的共享参数和G-Agent中的参数直接转移到扩展/新领域中的agent。仿真实验表明,MADP可以显着加速策略学习并促进策略适应

1.介绍

在这里插入图片描述
面向任务的口语对话系统(SDS)是可以与人连续交互以完成预定义任务(例如寻找饭店或预订航班)的系统。这些系统通常根据结构化的本体进行设计,该结构化的本体由用户可能希望用来构架查询的某些概念(或槽)组成。每个槽都具有两个属性:是否可请求和可通知。如果用户可以请求槽的值,则该槽能够向用户提供信息。信息槽是用户可以提供一个值以用作对其搜索进行约束的槽。图1是寻找餐馆的对话示例。这里的 f o o d food a r e a area 是可通知的槽,而 p h o n e phone 是可请求的槽。
在每轮对话中,对话状态跟踪器将为每个可通知的槽保持对话置信状态,即可能值的分布。这些具有数据库查询结果的信念状态形成对话状态 b b ,基于该对话状态,对话策略 π π (从 b b 到对话动作 a = π ( b ) a =π(b) 的映射函数)将决定如何响应用户。强化学习(RL)方法通常用于自动优化策略 π π 。最近,对话策略采用了深度强化学习(DRL)方法。这些策略通常由包括深层Q网络和策略网络在内的完全连接的神经网络表示,并在静态预定义的领域中很好地发挥作用。然而,与基于高斯过程的方法不同,它们不适合本体动态变化的情况。例如,如果添加了新的可通知槽 p r i c e r a n g e pricerange ,则对话状态空间和动作空间将更改,因此模型结构必须不同,这可能会大大降低性能。此外,不同领域之间的策略转移也具有挑战性,因为它们的状态空间和动作空间都根本不同。
在本文中,我们提出了一种多agent的对话策略(MADP),这有助于策略的适应/转移。MADP由一些槽依赖的agent(S-Agent)和槽独立的agent(G-Agent)组成。每个S-Agent专注于一个可通知槽,而G-Agent专注于与槽无关的方面。在做出决策时,每个agent首先根据自己的策略选择一个候选动作。然后从这些候选动作中选择最终动作。S-Agent除了其私有参数外,还具有共享参数。私有参数捕获每个槽的特定特征,而共享参数捕获所有槽的共同特征。使用共享参数,可以将一个S-Agent的技能转移到另一个S-Agent,这可以加快学习过程。此外,当添加了新的槽时,共享参数可以用于初始化对应的S-Agent,即,可以将其他S-Agent的一些通用技能转移到新的S-Agent。据我们所知,本文是研究基于DRL的对话策略中政策适应/转移的首次尝试。

2.提出的框架

在本节中,我们将首先详细介绍MADP,其中S-Agent仅具有共享参数。然后,我们介绍一种为S-Agent集成私有参数和共享参数的方法,然后介绍在MADP框架下进行对话策略调整的具体过程。
注意,提出的MADP不依赖于任何特定的DRL算法,因此与所有现有DRL算法兼容。在这里,我们在深度Q网络(DQN)框架中使用它,并将其称为多agent DQN(MADQN)。

2.1 多agent对话策略MADP

在这里插入图片描述
假设在一个领域中有 n n 个可通知的槽,并且对话状态 b b 通常可以分解为子状态 b 1 , . . . , b n b_1,...,b_n b g b_g ,即 b = b 1 ? ? ? ? ? ? b n ? b g b = b_1?····?b_n?b_g b j ( 1 j n ) b_j(1≤j≤n) 是与第 j j 个可通知槽相对应的置信状态,而 b g b_g 表示与槽无关的状态,例如数据库搜索结果。类似地,可以将汇总动作划分为 n + 1 n+1 个集合,包括 n n 个与槽相关的动作集合 A j ( 1 j n ) \mathbb A_j(1≤j≤n) ,例如, r e q u e s t _ s l o t j request \_slot_j c o n f i r m _ s l o t j confirm\_slot_j s e l e c t _ s l o t j select\_slot_j 以及一个与槽无关的动作集合 A g \mathbb A_g ,例如 r e p e a t repeat o f f e r offer
MADP由 n n 个与槽相关的agent(即S-Agent A j ( 1 j n ) \mathcal A_j(1≤j≤n) )组成,每个agent对应一个可通知的槽;以及一个与槽无关的agent(即G-Agent A g \mathcal A_g )。图2(a)概述了以DQN作为DRL算法的MADP。

  • A j \mathcal A_j 的输入是 b j b_j ,输出是与 A j \mathbb A_j 中的动作相对应的Q值 q j q_j ,即 q j = [ Q ( b j , a j 1 ) , ? ? , Q ( b j , a j m s ) ] q_j=[Q(b_j,a_{j1}),··,Q(b_j,a_{jm_s})] ,其中 a j k ( 1 k m s ) A j a_{jk}(1≤k≤ m_s)∈\mathbb A_j
  • A g \mathcal A_g 的输入为 b g b_g ,输出是与 A g \mathbb A_g 中的动作相对应的Q值 q g q_g ,即 q g = [ Q ( b g , a g 1 ) , ? ? , Q ( b g , a g m g ) ] q_g=[Q(b_g,a_{g1}),··,Q(b_g,a_{gm_g})] ,其中 a g k ( 1 k m g ) A g a_{gk}(1≤k≤m_g)∈\mathbb A_g

为了获得所有动作的Q值 q q ,如图2(a)所示,将所有agent的输出连接起来,即 q = q 1 ? ? ? ? ? q n ? q g q=q_1?· · · ?q_n?q_g 。进行决策时,将根据 q q 选择动作。
这些agent在计算自己的Q值时会有一些内部消息交换。如图2(b)所示,在第 i i 个隐藏层之后, A j \mathcal A_j A g \mathcal A_g 都将输出一些消息。在这里,我们仅将隐藏层的输出用作为消息,即 h j i h^i_j 表示 A j \mathcal A_j h g i h^i_g 表示 A g \mathcal Ag
(1)在第 ( i + 1 ) (i+1) 个隐藏层, A j \mathcal A_j 的输入包括:a.其前一层 h j h_j 的输出;b.来自其他S-Agent的消息 c j i c^i_j 1 n ? 1 1 l n , l =? j h j i \frac{1}{n-1}\sum_{1≤l≤n,l \not = j}h^i_j ;c.来自G-Agent g i g_i 的消息, g i = h i g g_i=h_{ig} 。根据 h j i h^i_j c j i c^i_j g i g_i A j A_j 的第 ( i + 1 ) (i + 1) 个隐藏层的输出显示在图2(c )的顶部,即:
h j i + 1 = σ ( H s i h j i + C s i c j i + G s i g i ) , (1) h^{i+1}_j=σ(H^i_sh^i_j + C^i_sc^i_j + G^i_sg^i), \tag{1}
其中 σ σ 是非线性激活函数,例如 RELU。 θ s ? { H s i , C s i , G s i } i 1 L θ_s\triangleq \{H^i_s,C^i_s,G^i_s\}^L_{i=1} 是权重矩阵,即在所有与槽相关的agent之间共享的参数
(2)同样地,在 A g \mathcal A_g 的第 ( i + 1 ) (i+1) 个隐藏层,输入包括:a.其上一层 h g i h^i_g 的输出;b.来自S-Agents的消息 c g i c^i_g 1 n 1 j n h j i \frac{1}{n}\sum_{1≤j≤n}h^i_j 。基于 h g i h^i_g c g i c^i_g ,图2(c )的底部显示了 A g \mathcal A_g 的第 ( i + 1 ) (i+1) 个隐藏层的输出,即:
h g i + 1 = σ ( H g i h g i + C g i c g i ) , (2) h^{i+1}_g=σ(H^i_gh^i_g + C^i_gc^i_g), \tag{2}
其中 θ g ? { H g i , C g i } i 1 L θ_g\triangleq \{H^i_g,C^i_g\}^L_{i=1} 是权重矩阵。
总之,MADQN可以看作是具有隐藏层 h i + 1 = σ ( T i h i ) h^{i+1}=σ(T^ih^i) 的结构化DQN,其中 h i h^i 是所有 h j i ( 1 j n ) h^i_j(1≤j≤n) h g i h^i_g 的串联表示,即 h i = h 1 i ? ? ? ? ? ? h n i ? h g i h^i = h^i_1?····?h^i_n?h^i_g T i T^i 采取如下形式:
T i = ( H s i C ? s i ? C ? s i G s i C ? s i H s i ? C ? s i G s i ? ? ? ? ? C ? s i C ? s i ? H s i G s i C ? g i C ? g i ? C ? g i H s i ) , (3) T^i=\left( \begin{matrix} H^i_s & \overline C^i_s & \cdots & \overline C^i_s & G^i_s \\ \overline C^i_s & H^i_s & \cdots & \overline C^i_s & G^i_s \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ \overline C^i_s & \overline C^i_s & \cdots & H^i_s & G^i_s \\ \overline C^i_g & \overline C^i_g & \cdots & \overline C^i_g & H^i_s \\ \end{matrix} \right),\tag{3}
其中 C ? s i = 1 n ? 1 C s i \overline C^i_s=\frac{1}{n-1}C^i_s C ? g i = 1 n C g i \overline C^i_g =\frac{1}{n}C^i_g MADQN的训练过程类似于vanilla DQN,只是权重矩阵由等式(3)构成。

2.2 共享-私有权重网络

在槽具有相似特征的简单领域中,共享参数足以捕获不同槽之间的差异。但是,在更复杂的域中,需要私有参数来捕获其特征。在这里,我们提出了一个共享-私有权重网络(SPWN),以在S-Agent中引入私有参数。
在SPWN中,除了所有槽上的共享参数 θ s ? { H s i , C s i , G s i } i 1 L θ_s\triangleq \{H^i_s,C^i_s,G^i_s\}^L_{i=1} 之外,每个S-Agent A j \mathcal A_j 还具有其自己的私有参数 θ j ? { H j i , C j i , G j i } i 1 L θ_j\triangleq \{H^i_j,C^i_j,G^i_j\}^L_{i=1} 。对于每个输入 b j b_j ,agent首先计算 θ j θ_j θ s θ_s 并行的输出,然后取两个输出的加权平均值以获得最终输出 q j q_j ,即:
q j = α N e t ( b j ; θ j ) + ( 1 ? α ) N e t ( b j ; θ s ) , (4) q_j = αNet(b_j; θ_j ) + (1 ? α)Net(b_j;θ_s),\tag{4}
其中 α [ 0 1 ] α∈[0,1] 是权重。Agent所在领域或任务越复杂, α α 应该越大。

2.3 策略适应

基于MADP的策略适应的一般过程,即共享私有适应(SP-Adapt)
(1)初始化S-Agent A j \mathcal A_j 的共享参数 θ s θ_s ,私有参数 θ j θ_j 和G-Agent A g \mathcal A_g 的参数 θ g θ_g
(2)在原始领域中训练多agent策略。
(3)扩展新领域时,新S-Agent的私有参数 θ j θ_j θ s θ_s 初始化;或者当它转移到新域时,S-Agent的共享参数 θ s θ'_s 和G-Agent的 θ g θ'_g 由原始领域中的相应参数初始化,即 θ s θ s θ'_s←θ_s θ g θ g θ'_g←θ_g 。私有参数 θ j θ'_j 由带有附加噪声的 θ s θ_s 初始化,即 θ j θ s + N ( 0 , σ n o i s e I ) θ'_j←θ_s+\mathcal N(0,σ_{noise}I)
(4)在扩展或新领域中不断训练策略。
另外,如果原始领域和扩展领域或新领域相对简单,并且它们的交互环境遵循相似的模式,则对S-Agent使用没有私有参数的简化MADP框架就足够了,以获得令人满意的结果,这时,S-Agent的共享参数和G-Agent的参数由原始领域中的相应参数初始化。这称为共享适应(S-Adapt)过程。

  相关解决方案